@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: Raleway, "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: #e31e24;
  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 */
  -webkit-text-decoration: underline dotted;
          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; }

/*
 * 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 */
  -webkit-box-sizing: border-box;
          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: Raleway, "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 */
  -webkit-box-sizing: content-box;
          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; }

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

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

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 #e31e24; }

/* 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) {
  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-child(n+2) {
  margin-top: 0; }

/* ========================================================================
   Component: Description list
 ========================================================================== */
/*
 * Term
 */
.uk-description-list > dt {
  color: #333; }

.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: 16px;
  font-weight: bold;
  color: #666; }

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

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

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

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

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

/*
 * Set the fill and stroke color of all SVG elements to the current text color
 * 1. Fix for uppercase attribute names in Edge. Will be fixed in Windows 10 builds 16251+
 */
.uk-icon [fill*='#']:not(.uk-preserve),
.uk-icon [FILL*='#']:not(.uk-preserve) {
  fill: currentcolor; }

.uk-icon [stroke*='#']:not(.uk-preserve),
.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 {
  -webkit-box-sizing: border-box;
          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; }

/* Hover + Focus */
.uk-icon-button:hover,
.uk-icon-button:focus {
  background-color: #ebebeb;
  color: #666;
  outline: none; }

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

/* ========================================================================
   Component: Form Range
 ========================================================================== */
/*
 * 1. Normalize and defaults
 * 2. Prevent content overflow if a fixed width is used
 * 3. Take the full width
 * 4. Remove default style
 * 5. Remove white background in Chrome
 * 6. Remove padding in IE11
 */
.uk-range {
  /* 1 */
  -webkit-box-sizing: border-box;
          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: #666; }

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

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

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

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

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

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

.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 */
  -webkit-box-sizing: border-box;
          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: 1px solid #ddd;
  /* 4 */
  padding: 0 10px;
  background: #f8f8f8;
  color: #666; }

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

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

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

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

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

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

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

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

/* 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: Does not work in IE11
 ========================================================================== */
/*
 * 1. Style
 * 2. Make box more robust so it clips the child element
 * 3. Vertical alignment
 * 4. Remove default style
 * 5. Fix black background on iOS
 * 6. Center icons
 */
.uk-radio,
.uk-checkbox {
  /* 1 */
  display: inline-block;
  height: 16px;
  width: 16px;
  /* 2 */
  overflow: hidden;
  /* 3 */
  margin-top: -4px;
  vertical-align: middle;
  /* 4 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 5 */
  background-color: #ebebeb;
  /* 6 */
  background-repeat: no-repeat;
  background-position: 50% 50%; }

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

/* Focus */
.uk-radio:focus,
.uk-checkbox:focus {
  outline: none; }

/*
 * Checked
 */
.uk-radio:checked,
.uk-checkbox:checked,
.uk-checkbox:indeterminate {
  background-color: #e31e24; }

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

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

.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
 ========================================================================== */
/* Layout
 ========================================================================== */
/*
 * Stacked
 */
.uk-form-stacked .uk-form-label {
  display: block;
  margin-bottom: 10px; }

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

/* 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. Remove border-radius in Chrome.
 * 4. Address `overflow` set to `hidden` in IE.
 * 5. Correct `font` properties and `color` not being inherited for `button`.
 * 6. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 7. Style
 * 8. `line-height` is used to create a height because it also centers the text vertically for `a` elements.
 *    Better would be to use height and flexbox to center the text vertically but flexbox doesn't work in Firefox on `button` elements.
 * 9. Align text if button has a width
 * 10. Required for `a`.
 */
.uk-button {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  border-radius: 0;
  /* 4 */
  overflow: visible;
  /* 5 */
  font: inherit;
  color: inherit;
  /* 6 */
  text-transform: none;
  /* 7 */
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 30px;
  vertical-align: middle;
  font-size: 16px;
  /* 8 */
  line-height: 40px;
  /* 9 */
  text-align: center;
  /* 10 */
  text-decoration: none; }

.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: #f8f8f8;
  color: #333; }

/* Hover + Focus */
.uk-button-default:hover,
.uk-button-default:focus {
  background-color: #ebebeb;
  color: #333; }

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

/*
 * Primary
 */
.uk-button-primary {
  background-color: #e31e24;
  color: #fff; }

/* Hover + Focus */
.uk-button-primary:hover,
.uk-button-primary:focus {
  background-color: #ce1a1f;
  color: #fff; }

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

/*
 * Secondary
 */
.uk-button-secondary {
  background-color: #ef7f1a;
  color: #fff; }

/* Hover + Focus */
.uk-button-secondary:hover,
.uk-button-secondary:focus {
  background-color: #e07210;
  color: #fff; }

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

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

/* 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: #f8f8f8;
  color: #999; }

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

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

/* Text modifiers
 ========================================================================== */
/*
 * Text
 * 1. Reset
 * 2. Style
 */
.uk-button-text {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #999; }

/* Hover + Focus */
.uk-button-text:hover,
.uk-button-text:focus {
  color: #666; }

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

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

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

/* ========================================================================
   Component: Section
 ========================================================================== */
/*
 * 1. Make it work with `100vh` and height in general
 */
.uk-section {
  -webkit-box-sizing: border-box;
          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: #e31e24; }

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

/* 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 {
  -webkit-box-sizing: content-box;
          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 list
 */
.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 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  /* 3 */
  -ms-flex: auto;
  -webkit-box-flex: 1;
          flex: auto; }

/* ========================================================================
   Component: Tile
 ========================================================================== */
.uk-tile {
  position: relative;
  -webkit-box-sizing: border-box;
          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: #e31e24; }

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

/* ========================================================================
   Component: Card
 ========================================================================== */
.uk-card {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

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

/* Style modifiers
 ========================================================================== */
/*
 * Default
 * Note: Header and Footer are only implemented for the default style
 */
.uk-card-default {
  background: #f8f8f8;
  color: #666; }

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

.uk-card-default.uk-card-hover:hover {
  background-color: #ebebeb; }

/*
 * Primary
 */
.uk-card-primary {
  background: #e31e24;
  color: #fff; }

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

.uk-card-primary.uk-card-hover:hover {
  background-color: #ce1a1f; }

/*
 * Secondary
 */
.uk-card-secondary {
  background: #ef7f1a;
  color: #fff; }

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

.uk-card-secondary.uk-card-hover:hover {
  background-color: #e07210; }

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

/* ========================================================================
   Component: Close
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-close {
  color: #999; }

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

/* 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: #ef7f1a;
  color: #fff; }

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

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

/*
 * Hover + Focus
 */
/* Style modifiers
 ========================================================================== */
/*
 * Primary
 */
.uk-alert-primary {
  background: #f9d3d4;
  color: #e31e24; }

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

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

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

/* ========================================================================
   Component: Badge
 ========================================================================== */
/*
 * 1. Style
 * 2. Center child vertically and horizontally
 */
.uk-badge {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 22px;
  height: 22px;
  line-height: 22px;
  padding: 0 5px;
  border-radius: 500px;
  vertical-align: middle;
  /* 1 */
  background: #e31e24;
  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: #e31e24;
  line-height: 1.5;
  font-size: 0.875rem;
  color: #fff;
  vertical-align: middle;
  white-space: nowrap; }

/* 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(51, 50, 118, 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; }

/* ========================================================================
   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
 ========================================================================== */
/* ========================================================================
   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 */
  -webkit-box-sizing: border-box;
          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`)
 ========================================================================== */
/*
 * 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: #f8f8f8; }

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

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

/*
 * 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 list
 */
.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 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 80px;
  padding: 0 15px;
  /* 3 */
  font-size: 16px;
  font-family: Raleway, "Helvetica Neue", Arial, sans-serif;
  /* 4 */
  text-decoration: none; }

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

/*
 * Hover
 * Apply hover style also to focus state and if dropdown is opened
 */
.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a:focus,
.uk-navbar-nav > li > a.uk-open {
  color: #666;
  outline: none; }

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

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

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

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

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

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

/* Style modifiers
 ========================================================================== */
/* Dropdown
 ========================================================================== */
/*
 * Adopts `uk-dropdown`
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 * 4. Style
 */
.uk-navbar-dropdown {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 200px;
  /* 4 */
  padding: 15px;
  background: #fff;
  color: #666; }

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

/*
 * Direction / Alignment modifiers
 */
/* Direction */
[class*='uk-navbar-dropdown-top'] {
  margin-top: 0; }

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

[class*='uk-navbar-dropdown-left'] {
  margin-left: 0; }

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

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

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

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

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

/* Dropdown Nav
 * Adopts `uk-nav`
 ========================================================================== */
/*
 * 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; }

/* ========================================================================
   Component: Subnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.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; }

/* 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: #e31e24;
  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 list
 */
.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 list
 */
.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; }

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

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

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

/* ========================================================================
   Component: Tab
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-tab {
  display: -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-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; }

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

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

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

/* Position modifier
 ========================================================================== */
/*
 * Bottom
 */
/*
 * 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 > * > a {
  text-align: left; }

.uk-tab-right > * > a {
  text-align: left; }

/* ========================================================================
   Component: Slidenav
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-slidenav {
  padding: 5px 10px;
  color: rgba(102, 102, 102, 0.6); }

/* 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
 */
/* Size modifier
 ========================================================================== */
.uk-slidenav-large {
  padding: 10px 10px; }

/* Container
 ========================================================================== */
.uk-slidenav-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

/* ========================================================================
   Component: Dotnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 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;
  -webkit-box-sizing: content-box;
          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; }

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

/* 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 */
  -webkit-box-sizing: border-box;
          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 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 200px;
  /* 4 */
  padding: 15px;
  background: #f8f8f8;
  color: #666; }

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

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

/*
 * 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;
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear; }

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

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

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

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

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

.uk-modal-footer {
  padding: 15px 30px;
  background: #f8f8f8; }

/*
 * 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
 * 1. Prevent scrollbar on small devices
 */
.uk-modal-close-outside {
  top: 0;
  /* 1 */
  right: -5px;
  -webkit-transform: translate(0, -100%);
  transform: translate(0, -100%);
  color: white; }

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

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

/*
 * Full
 */
/* ========================================================================
   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;
  -webkit-transition: opacity 0.15s linear;
  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. Optimize animation
 * 5. Responsiveness
 *    Using `vh` for `max-height` to fix image proportions after resize in Safari and Opera
 *    Using `vh` and `vw` to make responsive image work in IE11
 */
.uk-lightbox-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  display: none;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  /* 3 */
  color: rgba(255, 255, 255, 0.7);
  /* 4 */
  will-change: transform, opacity; }

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

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

.uk-lightbox-items > .uk-active {
  display: -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 {
  -webkit-box-sizing: border-box;
          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: Slideshow
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-slideshow {
  /* 1 */
  -webkit-tap-highlight-color: transparent; }

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

/* Item
 ========================================================================== */
/*
 * 1. Position items above each other
 * 2. Take the full width
 * 3. Clip child elements, e.g. for `uk-cover`
 * 4. Optimize animation
 */
.uk-slideshow-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  left: 0;
  /* 2 */
  right: 0;
  bottom: 0;
  /* 3 */
  overflow: hidden;
  /* 4 */
  will-change: transform, opacity; }

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

/* ========================================================================
   Component: Sticky
 ========================================================================== */
/*
 * 1. Resolve frame rate issues on devices with lower frame rates by forcing hardware acceleration
 */
.uk-sticky-fixed {
  z-index: 980;
  -webkit-box-sizing: border-box;
          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 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 270px;
  padding: 20px 20px;
  background: #333276;
  /* 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 {
  -webkit-transition: -webkit-transform 0.3s ease-out;
  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 */
  -webkit-transition: width 0.3s ease-out;
  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;
  -webkit-transition: opacity 0.15s linear;
  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;
  -webkit-transition: left 0.3s ease-out;
  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 list
 */
.uk-switcher {
  margin: 0;
  padding: 0;
  list-style: none; }

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

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

/* ========================================================================
   Component: Iconnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 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 */
  -webkit-box-sizing: border-box;
          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: #e31e24; }

/*
 * 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 */
  -webkit-box-sizing: border-box;
          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: #f8f8f8; }

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

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

/* 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: #e31e24;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease; }

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

.uk-progress::-ms-fill {
  background-color: #e31e24;
  -webkit-transition: width 0.6s ease;
  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'] > * {
  -webkit-box-sizing: border-box;
          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'] {
  -webkit-box-sizing: border-box;
          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; }

/* Size modifiers
 ========================================================================== */
.uk-text-small {
  font-size: 0.875rem;
  line-height: 1.5; }

.uk-text-large {
  font-size: 1.5rem;
  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: #e31e24 !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: #e31e24 !important; }

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

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

.uk-background-secondary {
  background-color: #ef7f1a; }

/* 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;
  -webkit-box-sizing: border-box;
          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'] {
  -webkit-box-sizing: border-box;
          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 {
  -webkit-box-sizing: border-box;
          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 {
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-medium {
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-large {
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

.uk-box-shadow-xlarge {
  -webkit-box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
          box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16); }

/*
 * Hover
 */
[class*='uk-box-shadow-hover'] {
  -webkit-transition: box-shadow 0.1s ease-in-out;
  -webkit-transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out, -webkit-box-shadow 0.1s ease-in-out; }

.uk-box-shadow-hover-small:hover {
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-hover-medium:hover {
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-hover-large:hover {
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

.uk-box-shadow-hover-xlarge:hover {
  -webkit-box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
          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; }

/* 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: Raleway, "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
 * 3. Fix for uppercase attribute names in Edge. Will be fixed in Windows 10 builds 16251+
 */
/* 1 */
.uk-svg,
.uk-svg:not(.uk-preserve) [fill*='#']:not(.uk-preserve),
.uk-svg:not(.uk-preserve) [FILL*='#']:not(.uk-preserve) {
  fill: currentcolor; }

.uk-svg:not(.uk-preserve) [stroke*='#']:not(.uk-preserve),
.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 {
  -webkit-box-shadow: 0 0 20px rgba(100, 100, 100, 0.3);
          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%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

/* Vertical */
[class*='uk-position-center-left'],
[class*='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; }

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

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

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

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

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

/* Cover
 ========================================================================== */
.uk-position-cover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

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

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

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

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

/* Margin modifier
 ========================================================================== */
/*
 * Small
 */
.uk-position-small {
  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[class*='uk-position-center-left'],
.uk-position-small[class*='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[class*='uk-position-center-left'],
.uk-position-medium[class*='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); }

/*
 * Large
 */
.uk-position-large {
  margin: 30px; }

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

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

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

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-position-large {
    margin: 50px; }
  .uk-position-large.uk-position-center {
    -webkit-transform: translate(-50%, -50%) translate(-50px, -50px);
            transform: translate(-50%, -50%) translate(-50px, -50px); }
  .uk-position-large[class*='uk-position-center-left'],
  .uk-position-large[class*='uk-position-center-right'] {
    -webkit-transform: translateY(-50%) translateY(-50px);
            transform: translateY(-50%) translateY(-50px); }
  .uk-position-large.uk-position-top-center,
  .uk-position-large.uk-position-bottom-center {
    -webkit-transform: translateX(-50%) translateX(-50px);
            transform: translateX(-50%) translateX(-50px); } }

/* ========================================================================
   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'] {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  -webkit-transition-property: opacity, transform, filter;
  -webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
  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'],
.uk-transition-active.uk-active [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'],
.uk-transition-active.uk-active [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 {
  -webkit-transition-duration: 0.7s;
          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); }
  .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 hr, .uk-section-primary:not(.uk-preserve-color) hr, .uk-section-secondary:not(.uk-preserve-color) hr, .uk-tile-primary:not(.uk-preserve-color) hr, .uk-tile-secondary:not(.uk-preserve-color) hr, .uk-card-primary.uk-card-body hr, .uk-card-primary > :not([class*='uk-card-media']) hr, .uk-card-secondary.uk-card-body hr, .uk-card-secondary > :not([class*='uk-card-media']) hr, .uk-overlay-primary hr, .uk-offcanvas-bar hr, .uk-light .uk-hr, .uk-section-primary:not(.uk-preserve-color) .uk-hr, .uk-section-secondary:not(.uk-preserve-color) .uk-hr, .uk-tile-primary:not(.uk-preserve-color) .uk-hr, .uk-tile-secondary:not(.uk-preserve-color) .uk-hr, .uk-card-primary.uk-card-body .uk-hr, .uk-card-primary > :not([class*='uk-card-media']) .uk-hr, .uk-card-secondary.uk-card-body .uk-hr, .uk-card-secondary > :not([class*='uk-card-media']) .uk-hr, .uk-overlay-primary .uk-hr, .uk-offcanvas-bar .uk-hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light a.uk-link-muted, .uk-section-primary:not(.uk-preserve-color) a.uk-link-muted, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted, .uk-card-primary.uk-card-body a.uk-link-muted, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-muted, .uk-card-secondary.uk-card-body a.uk-link-muted, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-muted, .uk-overlay-primary a.uk-link-muted, .uk-offcanvas-bar a.uk-link-muted,
  .uk-light .uk-link-muted a, .uk-section-primary:not(.uk-preserve-color) .uk-link-muted a, .uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a, .uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a, .uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a, .uk-card-primary.uk-card-body .uk-link-muted a, .uk-card-primary > :not([class*='uk-card-media']) .uk-link-muted a, .uk-card-secondary.uk-card-body .uk-link-muted a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-muted a, .uk-overlay-primary .uk-link-muted a, .uk-offcanvas-bar .uk-link-muted a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light a.uk-link-muted:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-card-primary.uk-card-body a.uk-link-muted:hover, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-muted:hover, .uk-card-secondary.uk-card-body a.uk-link-muted:hover, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-muted:hover, .uk-overlay-primary a.uk-link-muted:hover, .uk-offcanvas-bar a.uk-link-muted:hover,
  .uk-light .uk-link-muted a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-link-muted a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a:hover, .uk-card-primary.uk-card-body .uk-link-muted a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-link-muted a:hover, .uk-card-secondary.uk-card-body .uk-link-muted a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-muted a:hover, .uk-overlay-primary .uk-link-muted a:hover, .uk-offcanvas-bar .uk-link-muted a:hover {
    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) {
    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, 230, 230, 0.1);
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-input, .uk-section-primary:not(.uk-preserve-color) .uk-input, .uk-section-secondary:not(.uk-preserve-color) .uk-input, .uk-tile-primary:not(.uk-preserve-color) .uk-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-input, .uk-card-primary.uk-card-body .uk-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-input, .uk-card-secondary.uk-card-body .uk-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input, .uk-overlay-primary .uk-input, .uk-offcanvas-bar .uk-input,
  .uk-light .uk-select, .uk-section-primary:not(.uk-preserve-color) .uk-select, .uk-section-secondary:not(.uk-preserve-color) .uk-select, .uk-tile-primary:not(.uk-preserve-color) .uk-select, .uk-tile-secondary:not(.uk-preserve-color) .uk-select, .uk-card-primary.uk-card-body .uk-select, .uk-card-primary > :not([class*='uk-card-media']) .uk-select, .uk-card-secondary.uk-card-body .uk-select, .uk-card-secondary > :not([class*='uk-card-media']) .uk-select, .uk-overlay-primary .uk-select, .uk-offcanvas-bar .uk-select,
  .uk-light .uk-textarea, .uk-section-primary:not(.uk-preserve-color) .uk-textarea, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea, .uk-card-primary.uk-card-body .uk-textarea, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea, .uk-card-secondary.uk-card-body .uk-textarea, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea, .uk-overlay-primary .uk-textarea, .uk-offcanvas-bar .uk-textarea {
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7);
    background-clip: padding-box; }
    .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); }
  .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); }
  .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; }
  .uk-light .uk-radio:checked:focus, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-card-primary.uk-card-body .uk-radio:checked:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked:focus, .uk-card-secondary.uk-card-body .uk-radio:checked:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked:focus, .uk-overlay-primary .uk-radio:checked:focus, .uk-offcanvas-bar .uk-radio:checked:focus,
  .uk-light .uk-checkbox:checked:focus, .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus, .uk-card-primary.uk-card-body .uk-checkbox:checked:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:checked:focus, .uk-card-secondary.uk-card-body .uk-checkbox:checked:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:checked:focus, .uk-overlay-primary .uk-checkbox:checked:focus, .uk-offcanvas-bar .uk-checkbox:checked:focus,
  .uk-light .uk-checkbox:indeterminate:focus, .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus, .uk-card-primary.uk-card-body .uk-checkbox:indeterminate:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate:focus, .uk-card-secondary.uk-card-body .uk-checkbox:indeterminate:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate:focus, .uk-overlay-primary .uk-checkbox:indeterminate:focus, .uk-offcanvas-bar .uk-checkbox:indeterminate:focus {
    background-color: #e6e6e6; }
  .uk-light .uk-radio:checked, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-card-primary.uk-card-body .uk-radio:checked, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-card-secondary.uk-card-body .uk-radio:checked, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-overlay-primary .uk-radio:checked, .uk-offcanvas-bar .uk-radio:checked {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23666%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%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-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: #fff;
    color: #666; }
  .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: #f2f2f2;
    color: #666; }
  .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: #e6e6e6;
    color: #666; }
  .uk-light .uk-button-primary, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary, .uk-card-primary.uk-card-body .uk-button-primary, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary, .uk-card-secondary.uk-card-body .uk-button-primary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary, .uk-overlay-primary .uk-button-primary, .uk-offcanvas-bar .uk-button-primary {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-button-primary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-card-primary.uk-card-body .uk-button-primary:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:hover, .uk-card-secondary.uk-card-body .uk-button-primary:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:hover, .uk-overlay-primary .uk-button-primary:hover, .uk-offcanvas-bar .uk-button-primary:hover,
  .uk-light .uk-button-primary:focus, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:focus, .uk-card-primary.uk-card-body .uk-button-primary:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:focus, .uk-card-secondary.uk-card-body .uk-button-primary:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:focus, .uk-overlay-primary .uk-button-primary:focus, .uk-offcanvas-bar .uk-button-primary:focus {
    background-color: #f2f2f2;
    color: #666; }
  .uk-light .uk-button-primary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-card-primary.uk-card-body .uk-button-primary:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:active, .uk-card-secondary.uk-card-body .uk-button-primary:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:active, .uk-overlay-primary .uk-button-primary:active, .uk-offcanvas-bar .uk-button-primary:active,
  .uk-light .uk-button-primary.uk-active, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary.uk-active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary.uk-active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active, .uk-card-primary.uk-card-body .uk-button-primary.uk-active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary.uk-active, .uk-card-secondary.uk-card-body .uk-button-primary.uk-active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary.uk-active, .uk-overlay-primary .uk-button-primary.uk-active, .uk-offcanvas-bar .uk-button-primary.uk-active {
    background-color: #e6e6e6;
    color: #666; }
  .uk-light .uk-button-secondary, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-card-primary.uk-card-body .uk-button-secondary, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary, .uk-card-secondary.uk-card-body .uk-button-secondary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary, .uk-overlay-primary .uk-button-secondary, .uk-offcanvas-bar .uk-button-secondary {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-button-secondary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-card-primary.uk-card-body .uk-button-secondary:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:hover, .uk-card-secondary.uk-card-body .uk-button-secondary:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:hover, .uk-overlay-primary .uk-button-secondary:hover, .uk-offcanvas-bar .uk-button-secondary:hover,
  .uk-light .uk-button-secondary:focus, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:focus, .uk-card-primary.uk-card-body .uk-button-secondary:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:focus, .uk-card-secondary.uk-card-body .uk-button-secondary:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:focus, .uk-overlay-primary .uk-button-secondary:focus, .uk-offcanvas-bar .uk-button-secondary:focus {
    background-color: #f2f2f2;
    color: #666; }
  .uk-light .uk-button-secondary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-card-primary.uk-card-body .uk-button-secondary:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:active, .uk-card-secondary.uk-card-body .uk-button-secondary:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:active, .uk-overlay-primary .uk-button-secondary:active, .uk-offcanvas-bar .uk-button-secondary:active,
  .uk-light .uk-button-secondary.uk-active, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active, .uk-card-primary.uk-card-body .uk-button-secondary.uk-active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary.uk-active, .uk-card-secondary.uk-card-body .uk-button-secondary.uk-active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary.uk-active, .uk-overlay-primary .uk-button-secondary.uk-active, .uk-offcanvas-bar .uk-button-secondary.uk-active {
    background-color: #e6e6e6;
    color: #666; }
  .uk-light .uk-button-text, .uk-section-primary:not(.uk-preserve-color) .uk-button-text, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text, .uk-card-primary.uk-card-body .uk-button-text, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text, .uk-card-secondary.uk-card-body .uk-button-text, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text, .uk-overlay-primary .uk-button-text, .uk-offcanvas-bar .uk-button-text {
    color: rgba(255, 255, 255, 0.5); }
  .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: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-button-text:disabled, .uk-section-primary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-card-primary.uk-card-body .uk-button-text:disabled, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text:disabled, .uk-card-secondary.uk-card-body .uk-button-text:disabled, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text:disabled, .uk-overlay-primary .uk-button-text:disabled, .uk-offcanvas-bar .uk-button-text:disabled {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-button-link, .uk-section-primary:not(.uk-preserve-color) .uk-button-link, .uk-section-secondary:not(.uk-preserve-color) .uk-button-link, .uk-tile-primary:not(.uk-preserve-color) .uk-button-link, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link, .uk-card-primary.uk-card-body .uk-button-link, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link, .uk-card-secondary.uk-card-body .uk-button-link, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link, .uk-overlay-primary .uk-button-link, .uk-offcanvas-bar .uk-button-link {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-button-link:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-link:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-link:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-link:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:hover, .uk-card-primary.uk-card-body .uk-button-link:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link:hover, .uk-card-secondary.uk-card-body .uk-button-link:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link:hover, .uk-overlay-primary .uk-button-link:hover, .uk-offcanvas-bar .uk-button-link:hover,
  .uk-light .uk-button-link:focus, .uk-section-primary:not(.uk-preserve-color) .uk-button-link:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-button-link:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-button-link:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:focus, .uk-card-primary.uk-card-body .uk-button-link:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link:focus, .uk-card-secondary.uk-card-body .uk-button-link:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link:focus, .uk-overlay-primary .uk-button-link:focus, .uk-offcanvas-bar .uk-button-link:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-grid-divider > :not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-grid-divider > :not(.uk-first-column)::before, .uk-overlay-primary .uk-grid-divider > :not(.uk-first-column)::before, .uk-offcanvas-bar .uk-grid-divider > :not(.uk-first-column)::before {
    border-left-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-section-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-primary.uk-card-body .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-secondary.uk-card-body .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-overlay-primary .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-offcanvas-bar .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-close, .uk-section-primary:not(.uk-preserve-color) .uk-close, .uk-section-secondary:not(.uk-preserve-color) .uk-close, .uk-tile-primary:not(.uk-preserve-color) .uk-close, .uk-tile-secondary:not(.uk-preserve-color) .uk-close, .uk-card-primary.uk-card-body .uk-close, .uk-card-primary > :not([class*='uk-card-media']) .uk-close, .uk-card-secondary.uk-card-body .uk-close, .uk-card-secondary > :not([class*='uk-card-media']) .uk-close, .uk-overlay-primary .uk-close, .uk-offcanvas-bar .uk-close {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-close:hover, .uk-section-primary:not(.uk-preserve-color) .uk-close:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-close:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-close:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-close:hover, .uk-card-primary.uk-card-body .uk-close:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-close:hover, .uk-card-secondary.uk-card-body .uk-close:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-close:hover, .uk-overlay-primary .uk-close:hover, .uk-offcanvas-bar .uk-close:hover,
  .uk-light .uk-close:focus, .uk-section-primary:not(.uk-preserve-color) .uk-close:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-close:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-close:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-close:focus, .uk-card-primary.uk-card-body .uk-close:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-close:focus, .uk-card-secondary.uk-card-body .uk-close:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-close:focus, .uk-overlay-primary .uk-close:focus, .uk-offcanvas-bar .uk-close:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-totop, .uk-section-primary:not(.uk-preserve-color) .uk-totop, .uk-section-secondary:not(.uk-preserve-color) .uk-totop, .uk-tile-primary:not(.uk-preserve-color) .uk-totop, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop, .uk-card-primary.uk-card-body .uk-totop, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop, .uk-card-secondary.uk-card-body .uk-totop, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop, .uk-overlay-primary .uk-totop, .uk-offcanvas-bar .uk-totop {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-totop:hover, .uk-section-primary:not(.uk-preserve-color) .uk-totop:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-totop:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-totop:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:hover, .uk-card-primary.uk-card-body .uk-totop:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:hover, .uk-card-secondary.uk-card-body .uk-totop:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:hover, .uk-overlay-primary .uk-totop:hover, .uk-offcanvas-bar .uk-totop:hover,
  .uk-light .uk-totop:focus, .uk-section-primary:not(.uk-preserve-color) .uk-totop:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-totop:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-totop:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:focus, .uk-card-primary.uk-card-body .uk-totop:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:focus, .uk-card-secondary.uk-card-body .uk-totop:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:focus, .uk-overlay-primary .uk-totop:focus, .uk-offcanvas-bar .uk-totop:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-totop:active, .uk-section-primary:not(.uk-preserve-color) .uk-totop:active, .uk-section-secondary:not(.uk-preserve-color) .uk-totop:active, .uk-tile-primary:not(.uk-preserve-color) .uk-totop:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:active, .uk-card-primary.uk-card-body .uk-totop:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:active, .uk-card-secondary.uk-card-body .uk-totop:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:active, .uk-overlay-primary .uk-totop:active, .uk-offcanvas-bar .uk-totop:active {
    color: #fff; }
  .uk-light .uk-badge, .uk-section-primary:not(.uk-preserve-color) .uk-badge, .uk-section-secondary:not(.uk-preserve-color) .uk-badge, .uk-tile-primary:not(.uk-preserve-color) .uk-badge, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge, .uk-card-primary.uk-card-body .uk-badge, .uk-card-primary > :not([class*='uk-card-media']) .uk-badge, .uk-card-secondary.uk-card-body .uk-badge, .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge, .uk-overlay-primary .uk-badge, .uk-offcanvas-bar .uk-badge {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-badge:hover, .uk-section-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-card-primary.uk-card-body .uk-badge:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-badge:hover, .uk-card-secondary.uk-card-body .uk-badge:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge:hover, .uk-overlay-primary .uk-badge:hover, .uk-offcanvas-bar .uk-badge:hover,
  .uk-light .uk-badge:focus, .uk-section-primary:not(.uk-preserve-color) .uk-badge:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-badge:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-badge:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge:focus, .uk-card-primary.uk-card-body .uk-badge:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-badge:focus, .uk-card-secondary.uk-card-body .uk-badge:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge:focus, .uk-overlay-primary .uk-badge:focus, .uk-offcanvas-bar .uk-badge:focus {
    color: #666; }
  .uk-light .uk-label, .uk-section-primary:not(.uk-preserve-color) .uk-label, .uk-section-secondary:not(.uk-preserve-color) .uk-label, .uk-tile-primary:not(.uk-preserve-color) .uk-label, .uk-tile-secondary:not(.uk-preserve-color) .uk-label, .uk-card-primary.uk-card-body .uk-label, .uk-card-primary > :not([class*='uk-card-media']) .uk-label, .uk-card-secondary.uk-card-body .uk-label, .uk-card-secondary > :not([class*='uk-card-media']) .uk-label, .uk-overlay-primary .uk-label, .uk-offcanvas-bar .uk-label {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-article-meta, .uk-section-primary:not(.uk-preserve-color) .uk-article-meta, .uk-section-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-primary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-card-primary.uk-card-body .uk-article-meta, .uk-card-primary > :not([class*='uk-card-media']) .uk-article-meta, .uk-card-secondary.uk-card-body .uk-article-meta, .uk-card-secondary > :not([class*='uk-card-media']) .uk-article-meta, .uk-overlay-primary .uk-article-meta, .uk-offcanvas-bar .uk-article-meta {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input, .uk-card-primary.uk-card-body .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input, .uk-overlay-primary .uk-search-input, .uk-offcanvas-bar .uk-search-input {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-search-input:-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-search-input:-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input:-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-search-input:-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input:-ms-input-placeholder, .uk-overlay-primary .uk-search-input:-ms-input-placeholder, .uk-offcanvas-bar .uk-search-input:-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.5) !important; }
  .uk-light .uk-search-input::-moz-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-card-primary.uk-card-body .uk-search-input::-moz-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::-moz-placeholder, .uk-card-secondary.uk-card-body .uk-search-input::-moz-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::-moz-placeholder, .uk-overlay-primary .uk-search-input::-moz-placeholder, .uk-offcanvas-bar .uk-search-input::-moz-placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search-input::-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: rgba(255, 255, 255, 0.1); }
  .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: rgba(255, 255, 255, 0.1); }
  .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 > * > 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; }
  .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.4); }
  .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.4); }
  .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.5); }
  .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-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: Slider
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-slider {
  /* 1 */
  -webkit-tap-highlight-color: transparent; }

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

/* Items
 ========================================================================== */
/*
 * 1. Optimize animation
 */
.uk-slider-items {
  /* 1 */
  will-change: transform; }

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

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

/* Item
 ========================================================================== */
/*
 * 1. Let items take content dimensions (0 0 auto)
 * 2. Create position context
 */
.uk-slider-items > * {
  /* 1 */
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /* 2 */
  position: relative; }

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

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

/* Item
 ========================================================================== */
/*
 * 1. Position items above each other
 * 2. Take the full width
 * 3. Clip child elements, e.g. for `uk-cover`
 * 4. Optimize animation
 */
.uk-slideshow-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  left: 0;
  /* 2 */
  right: 0;
  bottom: 0;
  /* 3 */
  overflow: hidden;
  /* 4 */
  will-change: transform, opacity; }

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

/* ========================================================================
   Component: Print
 ========================================================================== */
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: black !important;
    -webkit-box-shadow: none !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-navbar-nav > li > a,
.uk-navbar-item,
.uk-navbar-toggle {
  text-transform: uppercase;
  padding: 0 10px;
  font-size: 14px;
  font-weight: 600; }

.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a:focus,
.uk-navbar-nav > li > a.uk-open {
  color: #e31e24; }

.cbf-navbar-thrid {
  background: #e31e24;
  z-index: 100; }
  .cbf-navbar-thrid .uk-navbar-dropdown-nav > li > a {
    color: #fff; }
  .cbf-navbar-thrid:after {
    right: 50%;
    top: -3%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(232, 94, 25, 0);
    border-bottom-color: #e31e24;
    border-width: 5px;
    margin-top: -5px; }

span.cbf-nav-icon.uk-icon {
  float: right; }

.uk-navbar-sticky {
  border-bottom: 2px solid #ff0000; }

.cbf-lang-dropdown {
  background: rgba(255, 255, 255, 0);
  width: 50px;
  max-width: 50px;
  min-width: 50px; }
  .cbf-lang-dropdown ul {
    padding-left: 0px; }
    .cbf-lang-dropdown ul li {
      list-style: none; }

.uk-navbar-sticky .cbf-lang-dropdown {
  background: white; }
  .uk-navbar-sticky .cbf-lang-dropdown a {
    color: #999; }

.cbf-slideshow-box p, .cbf-slideshow-box h3 {
  margin: 0px; }

.cbf-slideshow-box h3 {
  font-size: 15px; }

.cbf-slideshow-box a {
  color: #ffffff;
  font-weight: bold; }

.cbf-slideshow-box p {
  color: #97a3b8;
  font-size: 12px; }

.cbf-logo-white {
  min-height: 120px;
  position: absolute;
  left: 10px;
  top: 8px; }

.cbf-progress {
  background: transparent;
  border: 1px solid #ef7f1a;
  display: block;
  height: 5px;
  margin: 15px 0 0 0;
  overflow: hidden;
  width: 25%; }

.cbf-progress-bar {
  background: #ef7f1a;
  display: block;
  height: 6px;
  margin-left: -100%;
  -webkit-transition: margin 1s linear;
  transition: margin 1s linear;
  width: 100%;
  -webkit-transition-duration: 3s !important;
  transition-duration: 3s !important;
  -webkit-transition-property: margin-left;
  transition-property: margin-left; }

.cbf-progress-bar-active {
  margin-left: 0% !important; }

.cbf-card-body {
  background: rgba(47, 46, 110, 0.7);
  color: #fff; }
  .cbf-card-body h4 {
    color: #fff;
    font-weight: bold; }

.cbf-section-light-blue {
  background: #f2f4f5; }

.cbf-section-purple {
  background: #333276; }

.cbf-section-black {
  background: #333; }

.cbf-overlay-primary {
  background: #e31e24;
  color: #fff; }

.cbf-section-green {
  background: #487a2e;
  color: #fff; }

.cbf-section-blue {
  background: #008dd2;
  color: #fff; }

.cbf-tabs li a {
  border: 1px solid #333;
  color: #333;
  height: 40px;
  line-height: 40px;
  text-transform: uppercase; }

.cbf-tabs li.uk-active a {
  border: none; }

.cbf-shadow-box {
  -webkit-box-shadow: 0 2px 5px 0 rgba(160, 167, 169, 0.3);
  box-shadow: 0 2px 5px 0 rgba(160, 167, 169, 0.3);
  margin-bottom: 4px; }

.uk-card-body img {
  height: 201px;
  display: block;
  margin: 0 auto;
  text-align: center;
  vertical-align: middle; }

.cbf-color-dark {
  color: #aaa; }

.cbf-slider .uk-heading-primary {
  font-size: 40px; }

.cbf-icon-list span {
  color: #e31e24; }

.cbf-icon-list a {
  color: #a3a4a8; }

.cbf-blackqoute {
  font-family: Raleway, "Helvetica Neue", Arial, sans-serif;
  font-weight: 300;
  font-style: italic; }

.uk-card-default {
  background: #fff;
  color: #4F5260;
  -webkit-box-shadow: 2px 15px 50px rgba(41, 44, 61, 0.1);
          box-shadow: 2px 15px 50px rgba(41, 44, 61, 0.1); }

.uk-card {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: .1s ease-in-out;
  transition: .1s ease-in-out;
  -webkit-transition-property: color,background-color,border-color,top,-webkit-box-shadow;
  transition-property: color,background-color,border-color,top,-webkit-box-shadow;
  transition-property: color,background-color,border-color,box-shadow,top;
  transition-property: color,background-color,border-color,box-shadow,top,-webkit-box-shadow;
  border-radius: 2px; }

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

.uk-card .uk-button {
  height: 67px;
  line-height: 67px;
  text-align: center;
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  -webkit-box-shadow: 0 2px 5px 0 rgba(160, 167, 169, 0.3);
          box-shadow: 0 2px 5px 0 rgba(160, 167, 169, 0.3); }
  .uk-card .uk-button .cbf-button-icon {
    float: left;
    line-height: 65px; }
    .uk-card .uk-button .cbf-button-icon svg {
      height: 30px;
      width: 30px; }
  .uk-card .uk-button .cbf-nav-icon {
    line-height: 65px; }

.uk-card-body .cbf-nav-icon svg {
  height: 45px;
  width: 45px; }

.uk-button-third {
  background: #008dd2;
  color: #fff; }
  .uk-button-third:hover {
    color: #fff;
    background: rgba(0, 141, 210, 0.8); }

.uk-button-fourth {
  background: #487a2e;
  color: #fff; }
  .uk-button-fourth:hover {
    color: #fff;
    background: rgba(72, 122, 46, 0.8); }

.uk-button-fifth {
  background: #858db9;
  color: #fff; }
  .uk-button-fifth:hover {
    color: #ffffff;
    background: rgba(133, 141, 185, 0.8); }

/* Phone landscape and bigger */
@media (max-width: 640px) {
  .cbf-card-body {
    background: #2f2e6e; } }

@media (min-width: 640px) {
  .button-container {
    margin-top: 0px; }
  .cbf-card-body {
    background: #2f2e6e; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .button-container {
    margin-top: -432px;
    margin-bottom: 30px; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .button-container {
    margin-top: -485px;
    margin-bottom: 30px; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .button-container {
    margin-top: -490px; } }

.nav-tabs, .uk-tab {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -20px;
  padding: 0;
  list-style: none; }

.nav-tabs > li, .uk-tab > * {
  -ms-flex: none;
  -webkit-box-flex: 0;
          flex: none;
  padding-left: 20px;
  position: relative; }

.nav-tabs > li > a {
  display: block;
  text-align: center;
  padding: 10px 10px;
  color: #a3a4a8;
  -webkit-transition: .1s ease-in-out;
  transition: .1s ease-in-out;
  -webkit-transition-property: color,background-color,border-color,box-shadow;
  -webkit-transition-property: color,background-color,border-color,-webkit-box-shadow;
  transition-property: color,background-color,border-color,-webkit-box-shadow;
  transition-property: color,background-color,border-color,box-shadow;
  transition-property: color,background-color,border-color,box-shadow,-webkit-box-shadow;
  font-size: 15px;
  line-height: 20px;
  font-weight: 300;
  text-transform: none;
  letter-spacing: 0;
  border-bottom: 3px solid transparent; }

.uk-tab > * > a {
  display: block;
  text-align: center;
  padding: 10px 10px;
  color: #a3a4a8;
  -webkit-transition: .1s ease-in-out;
  transition: .1s ease-in-out;
  -webkit-transition-property: color,background-color,border-color,box-shadow;
  -webkit-transition-property: color,background-color,border-color,-webkit-box-shadow;
  transition-property: color,background-color,border-color,-webkit-box-shadow;
  transition-property: color,background-color,border-color,box-shadow;
  transition-property: color,background-color,border-color,box-shadow,-webkit-box-shadow;
  font-size: 15px;
  line-height: 20px;
  font-weight: 300;
  text-transform: none;
  letter-spacing: 0;
  border-bottom: 3px solid transparent; }
  .uk-tab > * > a:focus, .uk-tab > * > a:hover {
    color: #737373;
    text-decoration: none;
    border-color: #f03f37; }

.nav-tabs > .active > a {
  color: #242424;
  border-color: #f03f37; }

.uk-tab > .uk-active > a {
  color: #242424;
  border-color: #f03f37; }

.uk-tab > .uk-disabled > a {
  color: #a3a4a8; }

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

.uk-tab-left, .uk-tab-right {
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  margin-left: 0; }

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

.uk-tab-left > * > a {
  text-align: left;
  padding: 10px 10px;
  border-right: 3px solid transparent;
  border-bottom: 0 none; }

.uk-tab-right > * > a {
  text-align: left;
  padding: 10px 10px;
  border-left: 3px solid transparent;
  border-bottom: 0 none; }

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

.cbf-image img {
  margin: 0px auto;
  display: block; }

.cbf-category-slider {
  border-top: 4px solid #e31e24;
  border-bottom: 4px solid #e31e24; }
  .cbf-category-slider .cbf-overlay-primary {
    font-weight: bolder;
    color: #fff;
    padding: 5px;
    text-transform: uppercase;
    font-size: 0.775rem;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; }
  .cbf-category-slider li.uk-active {
    padding-left: 0px; }

.cbf-image-block h3, .cbf-image-block .cbf-sub-title {
  color: #fff; }

.tm-header-transparent {
  position: absolute;
  z-index: 980;
  left: 0;
  right: 0px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvYmFzZS5zY3NzIiwiY3VzdG9tL19jdXN0b21fdmFyaWFibGVzLnNjc3MiLCJsaWIvdWlraXQvdmFyaWFibGVzLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9saW5rLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9oZWFkaW5nLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9kaXZpZGVyLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9taXhpbi5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvbGlzdC5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvZGVzY3JpcHRpb24tbGlzdC5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvdGFibGUuc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL2ljb24uc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL2Zvcm0tcmFuZ2Uuc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL2Zvcm0uc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL2J1dHRvbi5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvc2VjdGlvbi5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvY29udGFpbmVyLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9ncmlkLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy90aWxlLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9jYXJkLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9jbG9zZS5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvc3Bpbm5lci5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvdG90b3Auc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL21hcmtlci5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvYWxlcnQuc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL2JhZGdlLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9sYWJlbC5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvb3ZlcmxheS5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvYXJ0aWNsZS5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvY29tbWVudC5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvc2VhcmNoLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9uYXYuc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL25hdmJhci5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvc3VibmF2LnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9icmVhZGNydW1iLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9wYWdpbmF0aW9uLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy90YWIuc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL3NsaWRlbmF2LnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9kb3RuYXYuc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL2FjY29yZGlvbi5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvZHJvcC5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvZHJvcGRvd24uc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL21vZGFsLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9saWdodGJveC5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvc2xpZGVzaG93LnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9zdGlja3kuc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL29mZmNhbnZhcy5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvc3dpdGNoZXIuc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL2ljb25uYXYuc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL25vdGlmaWNhdGlvbi5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvdG9vbHRpcC5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvcGxhY2Vob2xkZXIuc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL3Byb2dyZXNzLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9zb3J0YWJsZS5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvY291bnRkb3duLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9hbmltYXRpb24uc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL3dpZHRoLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy90ZXh0LnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9jb2x1bW4uc2NzcyIsImxpYi91aWtpdC9jb21wb25lbnRzL2NvdmVyLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9iYWNrZ3JvdW5kLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9hbGlnbi5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvdXRpbGl0eS5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvZmxleC5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvbWFyZ2luLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9wYWRkaW5nLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9wb3NpdGlvbi5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvdHJhbnNpdGlvbi5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvdmlzaWJpbGl0eS5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvaW52ZXJzZS5zY3NzIiwibGliL3Vpa2l0L21peGlucy5zY3NzIiwibGliL3Vpa2l0L2NvbXBvbmVudHMvc2xpZGVyLnNjc3MiLCJsaWIvdWlraXQvY29tcG9uZW50cy9wcmludC5zY3NzIiwiY3VzdG9tL19uYXYuc2NzcyIsImN1c3RvbS9fYmFzZS5zY3NzIiwiY3VzdG9tL19idXR0b24uc2NzcyIsImN1c3RvbS9fcmVzcG9uc2l2ZS5zY3NzIiwiY3VzdG9tL190YWJzLnNjc3MiLCJjdXN0b20vX3dp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O0kvRDluQkEsOFVBQTBDLEUrRDhuQmlGO0VBQzNIO0kvRC9uQkEsK1VBQTBDLEUrRCtuQnFHO0VBclYvSTtJQUNJLHVCbkU5Um1CO0ltRStSbkIsWW5FOVRXLEVtRWdVZDtFQUVEOztJQUVJLDBCbkUvRWdGO0ltRWdGaEYsWW5FclVXLEVtRXVVZDtFQUVEOztJQUVJLDBCbkVwRmtGO0ltRXFGbEYsWW5FNVVXLEVtRThVZDtFQU1EO0lBQ0ksdUJuRXRUbUI7SW1FdVRuQixZbkV0VlcsRW1Fd1ZkO0VBRUQ7O0lBRUksMEJuRWpHZ0Y7SW1Fa0doRixZbkU3VlcsRW1FK1ZkO0VBRUQ7O0lBRUksMEJuRXRHa0Y7SW1FdUdsRixZbkVwV1csRW1Fc1dkO0VBTUQ7SUFDSSx1Qm5FOVVtQjtJbUUrVW5CLFluRTlXVyxFbUVnWGQ7RUFFRDs7SUFFSSwwQm5FbkhvRjtJbUVvSHBGLFluRXJYVyxFbUV1WGQ7RUFFRDs7SUFFSSwwQm5FeEhzRjtJbUV5SHRGLFluRTVYVyxFbUU4WGQ7RUFNRDtJQUNJLGdDbkV0V21CLEVtRXdXdEI7RUFFRDs7SUFFSSxnQ25FNVdtQixFbUU4V3RCO0VBRUQ7SUFDSSxnQ25FalhtQixFbUVtWHRCO0VBTUQ7SUFDSSxnQ25FMVhtQixFbUU0WHRCO0VBRUQ7O0lBQ3dCLGdDbkUvWEQsRW1FK1g0QztFQThQaEQ7SUFBaUMsNENuRTduQjdCLEVtRTZuQmdGO0VBQ3RFO0lBQTBCLDJDbkU5bkJwQyxFbUU4bkJzRjtFQWhiN0c7SUFDSSxnQ25FL01tQixFbUVpTnRCO0VBRUQ7O0lBRUksZ0NuRXJObUIsRW1FdU50QjtFQWlsQkQ7SUFDSSxnQ25FenlCbUIsRW1FMnlCdEI7RUFFRDs7SUFFSSxnQ25FL3lCbUIsRW1FaXpCdEI7RUFFRDtJQUNJLFluRXB6Qm1CLEVtRXN6QnRCO0VBM3lCRDtJQUNJLHVCbkVabUI7SW1FYW5CLFluRTVDVyxFbUU4Q2Q7RUFFRDs7SUFFSSxZbkVsRFcsRW1Fb0RkO0VBc3lCRDtJQUNJLHVCbkU1ekJtQjtJbUU2ekJuQixZbkU1MUJXLEVtRTgxQmQ7RUFsMEJEO0lBQ0ksZ0NuRUVtQixFbUVBdEI7RUF3MEJEO0lBQW1CLGdDbkV4MEJJLEVtRXcwQjRCO0VBRW5EO0lBQXlDLDJDQUFtRCxFQUFJO0VBQ2hHO0lBQXFDLGdDbkUzMEJkLEVtRTIwQjBEO0VBQ2pGO0lBQThDLGdDbkU1MEJ2QixFbUU0MEJtRTtFQU8vRTtJQUFrQixnQ25FbjFCTixFbUVtMUIyQztFQUV2RDtJQUF3QixnQ25FcjFCWixFbUVxMUJpRDtFQU1yRDtJQUNmLDJDbkU1MUJtQixFbUU4MUJ0QjtFQUNrQjtJQUNmLDJDbkVoMkJtQixFbUVrMkJ0QjtFQUVpQjtJQUNkLDhCbkVySnNDLEVtRXVKekM7RUFFZ0I7SUFDYiw4Qm5FekpxQyxFbUUySnhDO0VBTUQ7SUFDSSxnQ25FbjNCbUIsRW1FcTNCdEI7RUFFRDs7SUFFSSxnQ25FejNCbUIsRW1FMjNCdEI7RUFTa0M7SS9EajVCbkMsa1lBQTBDLEUrRG81QnpDO0VBRTBDO0kvRHQ1QjNDLGlZQUEwQyxFK0RzNUIwRztFQU03SDtJQUNuQixnQ25FaDVCbUIsRW1FazVCdEI7RUFFc0I7O0lBRW5CLGdDbkV0NUJtQixFbUV3NUJ0QjtFQUVnQztJQUM3QixZbkUzNUJtQixFbUU2NUJ0QjtFQUVlO0lBQ1osWW5FaDZCbUIsRW1FazZCdEI7RUFFZTtJQUNaLDJDbkVyNkJtQixFbUV1NkJ0QjtFQUUyQjtJQUFJLGdDbkV6NkJULEVtRXk2QjJEO0VBRXREOztJQUNVLGdDbkU1NkJmLEVtRTQ2QnVFO0VBTXZFO0lBQ25CLGdDbkVuN0JtQixFbUVxN0J0QjtFQUVzQjs7SUFFbkIsZ0NuRXo3Qm1CLEVtRTI3QnRCO0VBRWdDO0lBQzdCLFluRTk3Qm1CLEVtRWc4QnRCO0VBRWU7SUFDWixZbkVuOEJtQixFbUVxOEJ0QjtFQUVlO0lBQ1osMkNuRXg4Qm1CLEVtRTA4QnRCO0VBRTJCO0lBQUksZ0NuRTU4QlQsRW1FNDhCMkQ7RUFFdEQ7O0lBQ1UsZ0NuRS84QmYsRW1FKzhCdUU7RUFLeEU7SUFDbEIsZ0NuRXI5Qm1CLEVtRXU5QnRCO0VBRTJCOzs7SUFHeEIsZ0NuRTU5Qm1CLEVtRTg5QnRCO0VBRXFCO0lBQ2xCLFluRWorQm1CLEVtRW0rQnRCO0VBRStCO0lBQzVCLFluRXQrQm1CLEVtRXcrQnRCO0VBRUQ7SUFDSSxnQ25FMytCbUIsRW1FNitCdEI7RUFFRDtJQUNJLGdDbkVoL0JtQixFbUVrL0J0QjtFQUVEOzs7SUFHSSxnQ25Fdi9CbUIsRW1FeS9CdEI7RUFLZ0I7SUFDYixnQ25FLy9CbUIsRW1FaWdDdEI7RUFFZ0I7O0lBRWIsZ0NuRXJnQ21CLEVtRXVnQ3RCO0VBRXlCO0lBQ3RCLFluRTFnQ21CLEVtRTRnQ3RCO0VBTW9CO0lBQ2pCLDRDbkVuaENtQixFbUVxaEN0QjtFQU1xQjtJQUNsQiw4Qm5FaFJ5QztJbUVpUnpDLGdDbkU3aENtQixFbUUraEN0QjtFQUVxQjs7SUFFbEIsMkNuRW5pQ21CO0ltRW9pQ25CLGdDbkVwaUNtQixFbUVzaUN0QjtFQUVxQjtJQUNsQiwyQ25FemlDbUI7SW1FMGlDbkIsZ0NuRTFpQ21CLEVtRTRpQ3RCO0VBRThCO0lBQzNCLHVCbkUvaUNtQjtJbUVnakNuQixZbkUva0NXLEVtRWlsQ2Q7RUFNMkI7SUFDeEIsZ0NuRXpqQ21CLEVtRTJqQ3RCO0VBcGhDb0I7SUFDakIsZ0NuRXhDbUIsRW1FMEN0QjtFQUVvQjs7SUFFakIsZ0NuRTlDbUIsRW1FZ0R0QjtFQU84QjtJQUMzQixnQ25FeERtQixFbUUwRHRCO0VBTWdCO0lBQ2IsZ0NuRWpFbUIsRW1FbUV0QjtFQTYvQm9CO0lBQ2pCLGdDbkVqa0NtQixFbUVta0N0QjtFQUVvQjs7SUFFakIsZ0NuRXZrQ21CLEVtRXlrQ3RCO0VBRTZCO0lBQzFCLGdDbkU1a0NtQixFbUU4a0N0QjtFQUUrQjtJQUM1QixnQ25FamxDbUIsRW1FbWxDdEI7RUFTYTtJQUNWLGdDbkU3bENtQixFbUUrbEN0QjtFQUVhOztJQUVWLGdDbkVubUNtQixFbUVxbUN0QjtFQUVzQjtJQUNuQixZbkV4bUNtQixFbUUwbUN0QjtFQUV3QjtJQUNyQixnQ25FN21DbUIsRW1FK21DdEI7RUFLRDtJQUNJLGdDbkUvWXFELEVtRWla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QUF5QjtJQUN6QixvQkFBbUI7SUFDbkIsd0JBQXVCO0lBQ3ZCLG9CQUFtQjtJQUNuQixpQkFBZ0IsRUFDakI7RUFaSDtJQWNJLGtCQUFpQixFQUNsQjs7QUFHSDtFQUVJLFlBQVcsRUFDWjs7QUNoQkg7RUFDRSxtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLFFBQU87RUFDUCxXQUFVLEVBQ1giLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IGBmb250LXNpemVgIHRvIHN1cHBvcnQgYHJlbWAgdW5pdHNcbiAqICAgIE5vdCB1c2luZyBgZm9udGAgcHJvcGVydHkgYmVjYXVzZSBhIGxlYWRpbmcgaHlwaGVuIChlLmcuIC1hcHBsZS1zeXN0ZW0pIGNhdXNlcyB0aGUgZm9udCB0byBicmVhayBpbiBJRTExIGFuZCBFZGdlXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG4gKiAzLiBTdHlsZVxuICovXG5odG1sIHtcbiAgLyogMSAqL1xuICBmb250LWZhbWlseTogUmFsZXdheSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICM2NjY7IH1cblxuLypcbiAqIFJlbW92ZXMgZGVmYXVsdCBtYXJnaW4uXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogTGlua3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuYSB7XG4gIC8qIDEgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFN0eWxlXG4gKi9cbmEsXG4udWstbGluayB7XG4gIGNvbG9yOiAjZTMxZTI0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5hOmhvdmVyLFxuLnVrLWxpbms6aG92ZXIge1xuICBjb2xvcjogIzBmNmVjZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKlxuICogMS4gUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG4vKiAxICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyogMiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLypcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvbnNvbGFzIGhhcyBhIGJldHRlciBiYXNlbGluZSBpbiBydW5uaW5nIHRleHQgY29tcGFyZWQgdG8gYENvdXJpZXJgXG4gKiAzLiBTdHlsZVxuICovXG46bm90KHByZSkgPiBjb2RlLFxuOm5vdChwcmUpID4ga2JkLFxuOm5vdChwcmUpID4gc2FtcCB7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLyogMiAqL1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlO1xuICAvKiAzICovXG4gIGNvbG9yOiAjZjA1MDZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qXG4gKiBFbXBoYXNpemVcbiAqL1xuZW0ge1xuICBjb2xvcjogI2YwNTA2ZTsgfVxuXG4vKlxuICogSW5zZXJ0XG4gKi9cbmlucyB7XG4gIGJhY2tncm91bmQ6ICNmZmQ7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLypcbiAqIE1hcmtcbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZmQ7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qXG4gKiBRdW90ZVxuICovXG5xIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKlxuICogUHJldmVudHMgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVtb3ZlIHRoZSBnYXAgYmV0d2VlbiBlbWJlZGRlZCBjb250ZW50IGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnMuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qXG4gKiBSZXNwb25zaXZlbmVzc1xuICogMS4gU2V0IGEgbWF4aW11bSB3aWR0aFxuICogMi4gQXV0byBzY2FsZSB0aGUgaGVpZ2h0LiBPbmx5IG5lZWRlZCBpZiBgaGVpZ2h0YCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICogMi4gQ29ycmVjdHMgYG1heC13aWR0aGAgYmVoYXZpb3IgaWYgcGFkZGluZyBhbmQgYm9yZGVyIGFyZSB1c2VkXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxuaW1nLFxudmlkZW8ge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBoZWlnaHQ6IGF1dG87XG4gIC8qIDMgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBCbG9jayBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTWFyZ2luc1xuICovXG5wLFxudWwsXG5vbCxcbmRsLFxucHJlLFxuYWRkcmVzcyxcbmZpZWxkc2V0LFxuZmlndXJlIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwOyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIHAsXG4qICsgdWwsXG4qICsgb2wsXG4qICsgZGwsXG4qICsgcHJlLFxuKiArIGFkZHJlc3MsXG4qICsgZmllbGRzZXQsXG4qICsgZmlndXJlIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKiBIZWFkaW5nc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5oMSwgLnVrLWgxLFxuaDIsIC51ay1oMixcbmgzLCAudWstaDMsXG5oNCwgLnVrLWg0LFxuaDUsIC51ay1oNSxcbmg2LCAudWstaDYge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGZvbnQtZmFtaWx5OiBSYWxld2F5LCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaDEsICogKyAudWstaDEsXG4qICsgaDIsICogKyAudWstaDIsXG4qICsgaDMsICogKyAudWstaDMsXG4qICsgaDQsICogKyAudWstaDQsXG4qICsgaDUsICogKyAudWstaDUsXG4qICsgaDYsICogKyAudWstaDYge1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbi8qXG4gKiBTaXplc1xuICovXG5oMSwgLnVrLWgxIHtcbiAgZm9udC1zaXplOiAyLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG5oMiwgLnVrLWgyIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG5cbmgzLCAudWstaDMge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5oNCwgLnVrLWg0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbmg1LCAudWstaDUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuaDYsIC51ay1oNiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLyogTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudWwsXG5vbCB7XG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxuXG4vKlxuICogUmVzZXQgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAqL1xudWwgPiBsaSA+IHVsLFxudWwgPiBsaSA+IG9sLFxub2wgPiBsaSA+IG9sLFxub2wgPiBsaSA+IHVsIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIERlc2NyaXB0aW9uIGxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4vKiBIb3Jpem9udGFsIHJ1bGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBhbmQgaGVpZ2h0IGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqIDMuIEFkZCB0aGUgY29ycmVjdCB0ZXh0LWFsaWduIGluIEVkZ2UgYW5kIElFLlxuICogNC4gU3R5bGVcbiAqL1xuaHIsIC51ay1ociB7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgLyogMiAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMyAqL1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAvKiA0ICovXG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBocixcbiogKyAudWstaHIge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIEFkZHJlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiBCbG9ja3F1b3Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBibG9ja3F1b3RlIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKlxuICogQ29udGVudFxuICovXG5ibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ibG9ja3F1b3RlIGZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLyogUHJlZm9ybWF0dGVkIHRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gT3ZlcnJpZGUgVUFcbiAqL1xucHJlIHtcbiAgZm9udDogMC44NzVyZW0gLyAxLjUgQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlO1xuICBjb2xvcjogIzY2NjtcbiAgLW1vei10YWItc2l6ZTogNDtcbiAgdGFiLXNpemU6IDQ7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxucHJlIGNvZGUge1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlOyB9XG5cbi8qIFNlbGVjdGlvbiBwc2V1ZG8tZWxlbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzM5ZjtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiBub25lOyB9XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzM5ZjtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiBub25lOyB9XG5cbi8qIEhUTUw1IGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xudGVtcGxhdGUsXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSWZyYW1lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKiBQcmV2ZW50IHRoZSAzMDBtcyBkZWxheSBmb3IgdG91Y2hzY3JlZW4gaW50ZXJhY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBNb3N0IGJyb3dzZXJzIHByZXZlbnQgdGhlIDMwMG1zIGRlbGF5IGF1dG9tYXRpY2FsbHkgZm9yIHNpdGVzIHRoYXQgdXNlIHRoZSBgd2lkdGg9ZGV2aWNlLXdpZHRoYCBwcm9wZXJ0eS5cbiAqIEZvciBTYWZhcmkgb24gaU9TIDkuMyssIElFIDExIGFuZCBFZGdlIG9uIGRlc2t0b3BzIGFuZCBJRSAxMSBvbiBXaW5kb3dzIFBob25lIDguMSBpdCBtdXN0IGJlIGFwcGxpZWQgbWFudWFsbHkuXG4gKi9cbmEsXG5hcmVhLFxuYnV0dG9uLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnN1bW1hcnksXG50ZXh0YXJlYSB7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG5cbi8qIFBhc3MgbWVkaWEgYnJlYWtwb2ludHMgdG8gSlNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEJyZWFrcG9pbnRzXG4gKi9cbi52YXItbWVkaWEtczpiZWZvcmUge1xuICBjb250ZW50OiBcIjY0MHB4XCI7IH1cblxuLnZhci1tZWRpYS1tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiOTYwcHhcIjsgfVxuXG4udmFyLW1lZGlhLWw6YmVmb3JlIHtcbiAgY29udGVudDogXCIxMjAwcHhcIjsgfVxuXG4udmFyLW1lZGlhLXhsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiMTYwMHB4XCI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpbmtcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTXV0ZWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYS51ay1saW5rLW11dGVkLFxuLnVrLWxpbmstbXV0ZWQgYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbmEudWstbGluay1tdXRlZDpob3Zlcixcbi51ay1saW5rLW11dGVkIGE6aG92ZXIge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBUZXh0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBgIWltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGludmVyc2UgY29tcG9uZW50XG4gKi9cbmEudWstbGluay10ZXh0Om5vdCg6aG92ZXIpLFxuLnVrLWxpbmstdGV4dCBhOm5vdCg6aG92ZXIpIHtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuXG5hLnVrLWxpbmstdGV4dDpob3Zlcixcbi51ay1saW5rLXRleHQgYTpob3ZlciB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIFJlc2V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBgIWltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGludmVyc2UgY29tcG9uZW50XG4gKi9cbmEudWstbGluay1yZXNldCxcbmEudWstbGluay1yZXNldDpob3Zlcixcbi51ay1saW5rLXJlc2V0IGEsXG4udWstbGluay1yZXNldCBhOmhvdmVyIHtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUHJpbWFyeVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstaGVhZGluZy1wcmltYXJ5IHtcbiAgZm9udC1zaXplOiAyLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDMuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTsgfSB9XG5cbi8qIEhlcm9cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWhlYWRpbmctaGVybyB7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1oZWFkaW5nLWhlcm8ge1xuICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1oZWFkaW5nLWhlcm8ge1xuICAgIGZvbnQtc2l6ZTogOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfSB9XG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWhlYWRpbmctZGl2aWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKiBCdWxsZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWhlYWRpbmctYnVsbGV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qXG4gKiAxLiBVc2luZyBgaW5saW5lLWJsb2NrYCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWdubWVudFxuICogMi4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDMuIFN0eWxlXG4gKi9cbi51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGNhbGMoLTAuMSAqIDFlbSk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDMgKi9cbiAgaGVpZ2h0OiAwLjllbTtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNlMzFlMjQ7IH1cblxuLyogTGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQ2xpcCB0aGUgY2hpbGQgZWxlbWVudFxuICovXG4udWstaGVhZGluZy1saW5lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogRXh0cmEgbWFya3VwIGlzIG5lZWRlZCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWduXG4gKi9cbi51ay1oZWFkaW5nLWxpbmUgPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLypcbiAqIDEuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAyLiBNYWtlIHRoZSBlbGVtZW50IGFzIGxhcmdlIGFzIHBvc3NpYmxlLiBJdCdzIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lci5cbiAqIDMuIFN0eWxlXG4gKi9cbi51ay1oZWFkaW5nLWxpbmUgPiA6YmVmb3JlLFxuLnVrLWhlYWRpbmctbGluZSA+IDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gKDFweCAvIDIpKTtcbiAgLyogMiAqL1xuICB3aWR0aDogMjAwMHB4O1xuICAvKiAzICovXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6YmVmb3JlIHtcbiAgcmlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMC42ZW07IH1cblxuLnVrLWhlYWRpbmctbGluZSA+IDphZnRlciB7XG4gIGxlZnQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwLjZlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVzZXQgZGVmYXVsdCBgaHJgXG4gKiAyLiBTZXQgbWFyZ2luIGlmIGEgYGRpdmAgaXMgdXNlZCBmb3Igc2VtYW50aWNhbCByZWFzb25cbiAqL1xuW2NsYXNzKj0ndWstZGl2aWRlciddIHtcbiAgLyogMSAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDIgKi9cbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBbY2xhc3MqPSd1ay1kaXZpZGVyJ10ge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWRpdmlkZXItaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjIwJTIyJTIwaGVpZ2h0JTNEJTIyMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMCUyMDIwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiUyM2U1ZTVlNSUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTNFJTNDJTJGY2lyY2xlJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSxcbi51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtICg1MHB4IC8gMikpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4udWstZGl2aWRlci1pY29uOjpiZWZvcmUge1xuICByaWdodDogY2FsYyg1MCUgKyAoNTBweCAvIDIpKTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICBsZWZ0OiBjYWxjKDUwJSArICg1MHB4IC8gMikpO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVzZXQgY2hpbGQgaGVpZ2h0LCBjYXVzZWQgYnkgYGlubGluZS1ibG9ja2BcbiAqL1xuLnVrLWRpdmlkZXItc21hbGwge1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG4udWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cbi51ay1saXN0ID4gbGk6OmJlZm9yZSxcbi51ay1saXN0ID4gbGk6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLnVrLWxpc3QgPiBsaTo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1saXN0ID4gbGkgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLypcbiAqIE5lc3RlZCBsaXN0c1xuICovXG4udWstbGlzdCB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG4gKiBTdHlsZVxuICovXG4udWstbGlzdCA+IGxpOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QgPiBsaSA+IHVsIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cbi51ay1saXN0LXN0cmlwZWQgPiBsaSB7XG4gIHBhZGRpbmc6IDEwcHggMTBweDsgfVxuXG4udWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7IH1cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogQnVsbGV0XG4gKi9cbi51ay1saXN0LWJ1bGxldCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMS41ZW0gKyAxMHB4KTsgfVxuXG4udWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjI2JTIyJTIwaGVpZ2h0JTNEJTIyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYlMjA2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwY3glM0QlMjIzJTIyJTIwY3klM0QlMjIzJTIyJTIwciUzRCUyMjMlMjIlM0UlM0MlMkZjaXJjbGUlM0UlMEElM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxpc3QtbGFyZ2UgPiBsaTpudGgtY2hpbGQobisyKSxcbi51ay1saXN0LWxhcmdlID4gbGkgPiB1bCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMjBweDsgfVxuXG4vKlxuICogU3RyaXBlZFxuICovXG4udWstbGlzdC1sYXJnZS51ay1saXN0LXN0cmlwZWQgPiBsaSB7XG4gIHBhZGRpbmc6IDIwcHggMTBweDsgfVxuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERlc2NyaXB0aW9uIGxpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFRlcm1cbiAqL1xuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdCB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi51ay1kZXNjcmlwdGlvbi1saXN0ID4gZHQ6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qXG4gKiBEZXNjcmlwdGlvblxuICovXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTGluZVxuICovXG4udWstZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyID4gZHQ6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKiAyLiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDMuIFN0eWxlXG4gKi9cbi51ay10YWJsZSB7XG4gIC8qIDEgKi9cbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstdGFibGUge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIEhlYWRlciBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTdHlsZVxuICovXG4udWstdGFibGUgdGgge1xuICBwYWRkaW5nOiAxNnB4IDEycHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogQ2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUgdGQge1xuICBwYWRkaW5nOiAxNnB4IDEycHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstdGFibGUgdGQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogRm9vdGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZSB0Zm9vdCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLyogQ2FwdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUgY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIFJvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUgPiB0ci51ay1hY3RpdmUsXG4udWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZDsgfVxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRhYmxlLW1pZGRsZSxcbi51ay10YWJsZS1taWRkbGUgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEaXZpZGVyXG4gKi9cbi51ay10YWJsZS1kaXZpZGVyID4gdHI6bm90KDpmaXJzdC1jaGlsZCksXG4udWstdGFibGUtZGl2aWRlciA+IDpub3QoOmZpcnN0LWNoaWxkKSA+IHRyLFxuLnVrLXRhYmxlLWRpdmlkZXIgPiA6Zmlyc3QtY2hpbGQgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cbi51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUob2RkKSxcbi51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4OyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG4udWstdGFibGUtaG92ZXIgPiB0cjpob3Zlcixcbi51ay10YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmQ7IH1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUtc21hbGwgdGgsXG4udWstdGFibGUtc21hbGwgdGQge1xuICBwYWRkaW5nOiAxMHB4IDEycHg7IH1cblxuLyogSnVzdGlmeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUtanVzdGlmeSB0aDpmaXJzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmxhc3QtY2hpbGQsXG4udWstdGFibGUtanVzdGlmeSB0ZDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKiBDZWxsIHNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRhYmxlLXNocmluayB7XG4gIHdpZHRoOiAxcHg7IH1cblxuLnVrLXRhYmxlLWV4cGFuZCB7XG4gIG1pbi13aWR0aDogMzAwcHg7IH1cblxuLyogQ2VsbCBsaW5rIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEb2VzIG5vdCB3b3JrIHdpdGggYHVrLXRhYmxlLWp1c3RpZnlgIGF0IHRoZSBtb21lbnRcbiAqL1xuLnVrLXRhYmxlLWxpbmsge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRhYmxlLWxpbmsgPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE2cHggMTJweDsgfVxuXG4udWstdGFibGUtc21hbGwgLnVrLXRhYmxlLWxpbmsgPiBhIHtcbiAgcGFkZGluZzogMTBweCAxMnB4OyB9XG5cbi8qIFJlc3BvbnNpdmUgdGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUsXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRib2R5LFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQsXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGg6bm90KDpmaXJzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpmaXJzdC1jaGlsZCkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGg6bm90KDpsYXN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIC51ay10YWJsZS1saW5rOm5vdCg6bGFzdC1jaGlsZCkgPiBhIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRhYmxlLWp1c3RpZnkudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgLnVrLXRhYmxlLWp1c3RpZnkudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTm90ZTogMS4gLSA3LiBpcyByZXF1aXJlZCBmb3IgYGJ1dHRvbmAgZWxlbWVudHMuIE5lZWRlZCBmb3IgQ2xvc2UgYW5kIEZvcm0gSWNvbiBjb21wb25lbnQuXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBSZW1vdmUgYm9yZGVyLXJhZGl1cyBpbiBDaHJvbWUuXG4gKiA0LiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNS4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDYuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNy4gUmVtb3ZlIGRlZmF1bHQgYGJ1dHRvbmAgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBjb2xvclxuICogOC4gU3R5bGVcbiAqIDkuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDEwLiBMZXQgdGhlIGNvbnRhaW5lciBmaXQgdGhlIGhlaWdodCBvZiB0aGUgaWNvblxuICovXG4udWstaWNvbiB7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMyAqL1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKiA0ICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiA1ICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiA2ICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiA3LiAqL1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogOCAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDkgKi9cbiAgZmlsbDogY3VycmVudGNvbG9yO1xuICAvKiAxMCAqL1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG4vKiBSZXF1aXJlZCBmb3IgYGJ1dHRvbmAuICovXG5idXR0b24udWstaWNvbjpub3QoOmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuLnVrLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLypcbiAqIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICogMS4gRml4IGZvciB1cHBlcmNhc2UgYXR0cmlidXRlIG5hbWVzIGluIEVkZ2UuIFdpbGwgYmUgZml4ZWQgaW4gV2luZG93cyAxMCBidWlsZHMgMTYyNTErXG4gKi9cbi51ay1pY29uIFtmaWxsKj0nIyddOm5vdCgudWstcHJlc2VydmUpLFxuLnVrLWljb24gW0ZJTEwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkge1xuICBmaWxsOiBjdXJyZW50Y29sb3I7IH1cblxuLnVrLWljb24gW3N0cm9rZSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSxcbi51ay1pY29uIFtTVFJPS0UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkge1xuICBzdHJva2U6IGN1cnJlbnRjb2xvcjsgfVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuLnVrLWljb24gPiAqIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLyogSW1hZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERpc3BsYXkgaW1hZ2VzIGluIGljb24gZGltZW5zaW9uc1xuICovXG4udWstaWNvbi1pbWFnZSB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIExpbmtcbiAqL1xuLnVrLWljb24tbGluayB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi51ay1pY29uLWxpbms6aG92ZXIsXG4udWstaWNvbi1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tbGluazphY3RpdmUsXG4udWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gIGNvbG9yOiAjNTk1OTU5OyB9XG5cbi8qXG4gKiBCdXR0b25cbiAqIDEuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG4udWstaWNvbi1idXR0b24ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgY29sb3I6ICM5OTk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1pY29uLWJ1dHRvbjpob3Zlcixcbi51ay1pY29uLWJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWJ1dHRvbjphY3RpdmUsXG4udWstYWN0aXZlID4gLnVrLWljb24tYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm0gUmFuZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIE5vcm1hbGl6ZSBhbmQgZGVmYXVsdHNcbiAqIDIuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDMuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBSZW1vdmUgd2hpdGUgYmFja2dyb3VuZCBpbiBDaHJvbWVcbiAqIDYuIFJlbW92ZSBwYWRkaW5nIGluIElFMTFcbiAqL1xuLnVrLXJhbmdlIHtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDIgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAzICovXG4gIHdpZHRoOiAxMDAlO1xuICAvKiA0ICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogNSAqL1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgLyogNiAqL1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIEZvY3VzICovXG4udWstcmFuZ2U6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi51ay1yYW5nZTo6LW1vei1mb2N1cy1vdXRlciB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4vKiBJRTExIFJlc2V0ICovXG4udWstcmFuZ2U6Oi1tcy10cmFjayB7XG4gIGhlaWdodDogMTVweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbXMtdGh1bWIge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyogVGh1bWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAvKiAxICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTdweDtcbiAgLyogMiAqL1xuICBoZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgYmFja2dyb3VuZDogIzY2NjsgfVxuXG4vKiBGaXJlZm94ICovXG4udWstcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAvKiAxICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMiAqL1xuICBoZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgYmFja2dyb3VuZDogIzY2NjsgfVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy10aHVtYiB7XG4gIC8qIDEgKi9cbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKiBJRTExICovXG4udWstcmFuZ2U6Oi1tcy10aHVtYiB7XG4gIC8qIDEgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAyICovXG4gIGhlaWdodDogMTVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjNjY2OyB9XG5cbi8qIEVkZ2UgKyBJRTExICovXG4udWstcmFuZ2U6Oi1tcy10b29sdGlwIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBUcmFja1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2FmYXJpIGRvZXNuJ3QgaGF2ZSBhIGZvY3VzIHN0YXRlLiBVc2luZyBhY3RpdmUgaW5zdGVhZC5cbiAqL1xuLyogV2Via2l0ICovXG4udWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQ6ICNlYmViZWI7IH1cblxuLnVrLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayxcbi51ay1yYW5nZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI2QyZDJkMjsgfVxuXG4vKiBGaXJlZm94ICovXG4udWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogI2ViZWJlYjsgfVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAjZDJkMmQyOyB9XG5cbi8qIEVkZ2UgKi9cbi51ay1yYW5nZTo6LW1zLWZpbGwtbG93ZXIsXG4udWstcmFuZ2U6Oi1tcy1maWxsLXVwcGVyIHtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQ6ICNlYmViZWI7IH1cblxuLnVrLXJhbmdlOmZvY3VzOjotbXMtZmlsbC1sb3dlcixcbi51ay1yYW5nZTpmb2N1czo6LW1zLWZpbGwtdXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjZDJkMmQyOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogICAgRGVmYXVsdCBpcyBgY29udGVudC1ib3hgIHdpdGggZm9sbG93aW5nIGV4Y2VwdGlvbnMgc2V0IHRvIGBib3JkZXItYm94YFxuICogICAgYHNlbGVjdGAsIGBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1gIGFuZCBgaW5wdXRbdHlwZT1cInJhZGlvXCJdYFxuICogICAgYGlucHV0W3R5cGU9XCJzZWFyY2hcIl1gIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYVxuICogICAgYGlucHV0W3R5cGU9XCJjb2xvclwiXWAgaW4gRmlyZWZveFxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSxcbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi9cbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLyogNCAqL1xuICBmb250OiBpbmhlcml0OyB9XG5cbi8qXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG4udWstaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG4udWstc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLypcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogMi4gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCBhbmQgdXNlIGBib2xkYCBpbnN0ZWFkLlxuICogTk9URTogQm90aCBkZWNsYXJhdGlvbnMgZG9uJ3Qgd29yayBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKi9cbi51ay1zZWxlY3Qgb3B0Z3JvdXAge1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cbi51ay10ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG4udWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsXG4udWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG4udWstcmFkaW86bm90KDpkaXNhYmxlZCksXG4udWstY2hlY2tib3g6bm90KDpkaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuLnVrLWZpZWxkc2V0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogSW5wdXQsIHNlbGVjdCBhbmQgdGV4dGFyZWFcbiAqIEFsbG93ZWQ6IGB0ZXh0YCwgYHBhc3N3b3JkYCwgYGRhdGV0aW1lYCwgYGRhdGV0aW1lLWxvY2FsYCwgYGRhdGVgLCAgYG1vbnRoYCxcbiAgICAgICAgICAgIGB0aW1lYCwgYHdlZWtgLCBgbnVtYmVyYCwgYGVtYWlsYCwgYHVybGAsIGBzZWFyY2hgLCBgdGVsYCwgYGNvbG9yYFxuICogRGlzYWxsb3dlZDogYHJhbmdlYCwgYHJhZGlvYCwgYGNoZWNrYm94YCwgYGZpbGVgLCBgc3VibWl0YCwgYHJlc2V0YCBhbmQgYGltYWdlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gaU9TLlxuICovXG4udWstaW5wdXQsXG4udWstdGV4dGFyZWEge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIFJlc2V0IGRlZmF1bHRcbiAqIDQuIFN0eWxlXG4gKi9cbi51ay1pbnB1dCxcbi51ay1zZWxlY3QsXG4udWstdGV4dGFyZWEge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogMyAqL1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAvKiA0ICovXG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgY29sb3I6ICM2NjY7IH1cblxuLypcbiAqIFNpbmdsZS1saW5lXG4gKiAxLiBBbGxvdyBhbnkgZWxlbWVudCB0byBsb29rIGxpa2UgYW4gYGlucHV0YCBvciBgc2VsZWN0YCBlbGVtZW50XG4gKiAyLiBNYWtlIHN1cmUgbGluZS1oZWlnaHQgaXMgbm90IGxhcmdlciB0aGFuIGhlaWdodFxuICogICAgQWxzbyBuZWVkZWQgdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHlcbiAqL1xuLnVrLWlucHV0LFxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIDIgKi9cbi51ay1pbnB1dDpub3QoaW5wdXQpLFxuLnVrLXNlbGVjdDpub3Qoc2VsZWN0KSB7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4OyB9XG5cbi8qXG4gKiBNdWx0aS1saW5lXG4gKi9cbi51ay1zZWxlY3RbbXVsdGlwbGVdLFxuLnVrLXNlbGVjdFtzaXplXSxcbi51ay10ZXh0YXJlYSB7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLyogRm9jdXMgKi9cbi51ay1pbnB1dDpmb2N1cyxcbi51ay1zZWxlY3Q6Zm9jdXMsXG4udWstdGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWlucHV0OmRpc2FibGVkLFxuLnVrLXNlbGVjdDpkaXNhYmxlZCxcbi51ay10ZXh0YXJlYTpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qXG4gKiBQbGFjZWhvbGRlclxuICovXG4udWstaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTkgIWltcG9ydGFudDsgfVxuXG4udWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTkgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTbWFsbFxuICovXG4udWstZm9ybS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnVrLWZvcm0tc21hbGw6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7IH1cblxuLnVrLWZvcm0tc21hbGw6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cbi51ay1mb3JtLWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbi51ay1mb3JtLWxhcmdlOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgaGVpZ2h0OiA1NXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cblxuLnVrLWZvcm0tbGFyZ2U6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHtcbiAgbGluZS1oZWlnaHQ6IDU1cHg7IH1cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRXJyb3JcbiAqL1xuLnVrLWZvcm0tZGFuZ2VyLFxuLnVrLWZvcm0tZGFuZ2VyOmZvY3VzIHtcbiAgY29sb3I6ICNmMDUwNmU7IH1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuLnVrLWZvcm0tc3VjY2Vzcyxcbi51ay1mb3JtLXN1Y2Nlc3M6Zm9jdXMge1xuICBjb2xvcjogIzMyZDI5NjsgfVxuXG4vKlxuICogQmxhbmtcbiAqL1xuLnVrLWZvcm0tYmxhbmsge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi8qIFdpZHRoIG1vZGlmaWVycyAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBGaXhlZCB3aWR0aHNcbiAqIERpZmZlcmVudCB3aWR0aHMgZm9yIG1pbmkgc2l6ZWQgYGlucHV0YCBhbmQgYHNlbGVjdGAgZWxlbWVudHNcbiAqL1xuaW5wdXQudWstZm9ybS13aWR0aC14c21hbGwge1xuICB3aWR0aDogNTBweDsgfVxuXG5zZWxlY3QudWstZm9ybS13aWR0aC14c21hbGwge1xuICB3aWR0aDogNzVweDsgfVxuXG4udWstZm9ybS13aWR0aC1zbWFsbCB7XG4gIHdpZHRoOiAxMzBweDsgfVxuXG4udWstZm9ybS13aWR0aC1tZWRpdW0ge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLnVrLWZvcm0td2lkdGgtbGFyZ2Uge1xuICB3aWR0aDogNTAwcHg7IH1cblxuLyogU2VsZWN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZS4gQWxzbyB3b3JrcyBpbiBGaXJlZm94XG4gKiAyLiBTdHlsZVxuICogMy4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gSUUgMTAvMTFcbiAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAvKiAxICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiAyICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTsgfVxuXG4vKiAzICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk5OSUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0UlMEFcIik7IH1cblxuLyogUmFkaW8gYW5kIGNoZWNrYm94XG4gKiBOb3RlOiBEb2VzIG5vdCB3b3JrIGluIElFMTFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBNYWtlIGJveCBtb3JlIHJvYnVzdCBzbyBpdCBjbGlwcyB0aGUgY2hpbGQgZWxlbWVudFxuICogMy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA0LiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogNS4gRml4IGJsYWNrIGJhY2tncm91bmQgb24gaU9TXG4gKiA2LiBDZW50ZXIgaWNvbnNcbiAqL1xuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTZweDtcbiAgd2lkdGg6IDE2cHg7XG4gIC8qIDIgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogMyAqL1xuICBtYXJnaW4tdG9wOiAtNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiA0ICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiA1ICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gIC8qIDYgKi9cbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuXG4udWstcmFkaW8ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpmb2N1cyxcbi51ay1jaGVja2JveDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIENoZWNrZWRcbiAqL1xuLnVrLXJhZGlvOmNoZWNrZWQsXG4udWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UzMWUyNDsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I3MTcxYzsgfVxuXG4vKlxuICogSWNvbnNcbiAqL1xuLnVrLXJhZGlvOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlM0UlM0MlMkZjaXJjbGUlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cblxuLnVrLWNoZWNrYm94OmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIweCUzRCUyMjMlMjIlMjB5JTNEJTIyOCUyMiUyMHdpZHRoJTNEJTIyMTAlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTNFJTNDJTJGcmVjdCUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuLnVrLXJhZGlvOmRpc2FibGVkLFxuLnVrLWNoZWNrYm94OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsgfVxuXG4udWstcmFkaW86ZGlzYWJsZWQ6Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4udWstY2hlY2tib3g6ZGlzYWJsZWQ6Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzOTk5JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi51ay1jaGVja2JveDpkaXNhYmxlZDppbmRldGVybWluYXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlM0UlM0MlMkZyZWN0JTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi8qIExlZ2VuZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTGVnZW5kXG4gKiAxLiBCZWhhdmUgbGlrZSBibG9jayBlbGVtZW50XG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiA0LiBTdHlsZVxuICovXG4udWstbGVnZW5kIHtcbiAgLyogMSAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMyAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiA0ICovXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbi8qIEN1c3RvbSBjb250cm9sc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKi9cbi51ay1mb3JtLWN1c3RvbSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMyAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDQgKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKlxuICogMS4gUG9zaXRpb24gYW5kIHJlc2l6ZSB0aGUgZm9ybSBjb250cm9sIHRvIGFsd2F5cyBjb3ZlciBpdHMgY29udGFpbmVyXG4gKiAyLiBSZXF1aXJlZCBmb3IgRmlyZWZveCBmb3IgcG9zaXRpb25pbmcgdG8gdGhlIGxlZnRcbiAqIDMuIFJlcXVpcmVkIGZvciBXZWJraXQgdG8gbWFrZSBgaGVpZ2h0YCB3b3JrXG4gKiA0LiBIaWRlIGNvbnRyb2xlIGFuZCBzaG93IGN1cnNvclxuICogNS4gTmVlZGVkIGZvciB0aGUgY3Vyc29yXG4gKiA2LiBDbGlwIGhlaWdodCBjYXVzZWQgYnkgNS4gTmVlZGVkIGZvciBXZWJraXQgb25seVxuICovXG4udWstZm9ybS1jdXN0b20gc2VsZWN0LFxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLyogMiAqL1xuICBsZWZ0OiAwO1xuICAvKiAzICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogNCAqL1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgLyogNSAqL1xuICBmb250LXNpemU6IDUwMHB4O1xuICAvKiA2ICovXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogTGFiZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTGF5b3V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTdGFja2VkXG4gKi9cbi51ay1mb3JtLXN0YWNrZWQgLnVrLWZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4vKlxuICogSG9yaXpvbnRhbFxuICovXG4vKiBUYWJsZXQgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5NTlweCkge1xuICAvKiBCZWhhdmUgbGlrZSBgdWstZm9ybS1zdGFja2VkYCAqL1xuICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzIHtcbiAgICBtYXJnaW4tbGVmdDogMjE1cHg7IH1cbiAgLyogQmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudCBpZiBjb250cm9scyBhcmUgY2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9ucyB3aXRoIHRleHQgKi9cbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scy10ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogN3B4OyB9IH1cblxuLyogSWNvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2V0IHdpZHRoXG4gKiAzLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDQuIFN0eWxlXG4gKi9cbi51ay1mb3JtLWljb24ge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDQwcHg7XG4gIC8qIDMgKi9cbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiA0ICovXG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG4udWstZm9ybS1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG4udWstZm9ybS1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIElucHV0IHBhZGRpbmdcbiAqL1xuLnVrLWZvcm0taWNvbjpub3QoLnVrLWZvcm0taWNvbi1mbGlwKSArIC51ay1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuLnVrLWZvcm0taWNvbi1mbGlwIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnVrLWZvcm0taWNvbi1mbGlwICsgLnVrLWlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogNDBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnV0dG9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBSZW1vdmUgYm9yZGVyLXJhZGl1cyBpbiBDaHJvbWUuXG4gKiA0LiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNS4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDYuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNy4gU3R5bGVcbiAqIDguIGBsaW5lLWhlaWdodGAgaXMgdXNlZCB0byBjcmVhdGUgYSBoZWlnaHQgYmVjYXVzZSBpdCBhbHNvIGNlbnRlcnMgdGhlIHRleHQgdmVydGljYWxseSBmb3IgYGFgIGVsZW1lbnRzLlxuICogICAgQmV0dGVyIHdvdWxkIGJlIHRvIHVzZSBoZWlnaHQgYW5kIGZsZXhib3ggdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHkgYnV0IGZsZXhib3ggZG9lc24ndCB3b3JrIGluIEZpcmVmb3ggb24gYGJ1dHRvbmAgZWxlbWVudHMuXG4gKiA5LiBBbGlnbiB0ZXh0IGlmIGJ1dHRvbiBoYXMgYSB3aWR0aFxuICogMTAuIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cbi51ay1idXR0b24ge1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDMgKi9cbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLyogNCAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogNSAqL1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogNiAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgLyogNyAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDAgMzBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICAvKiA4ICovXG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAvKiA5ICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogMTAgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi51ay1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbi51ay1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogSG92ZXIgKi9cbi51ay1idXR0b246aG92ZXIge1xuICAvKiA4ICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi51ay1idXR0b24tZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tZGVmYXVsdDpob3Zlcixcbi51ay1idXR0b24tZGVmYXVsdDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsXG4udWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcbiAgY29sb3I6ICMzMzM7IH1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UzMWUyNDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlMWExZjtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjcxNzFjO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmN2YxYTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsXG4udWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDcyMTA7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjODY2MGU7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuLnVrLWJ1dHRvbi1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA1MDZlO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRhbmdlcjpob3Zlcixcbi51ay1idXR0b24tZGFuZ2VyOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlMzk1YjtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kYW5nZXIudWstYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjMjE0NztcbiAgY29sb3I6ICNmZmY7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuICovXG4udWstYnV0dG9uLWRlZmF1bHQ6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXByaW1hcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXNlY29uZGFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tZGFuZ2VyOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJ1dHRvbi1zbWFsbCB7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnVrLWJ1dHRvbi1sYXJnZSB7XG4gIHBhZGRpbmc6IDAgNDBweDtcbiAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4vKiBUZXh0IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogVGV4dFxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cbi51ay1idXR0b24tdGV4dCB7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgLyogMiAqL1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXRleHQ6aG92ZXIsXG4udWstYnV0dG9uLXRleHQ6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLypcbiAqIExpbmtcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG4udWstYnV0dG9uLWxpbmsge1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIC8qIDIgKi9cbiAgY29sb3I6ICNlMzFlMjQ7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1saW5rOmhvdmVyLFxuLnVrLWJ1dHRvbi1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICMwZjZlY2Q7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLWxpbms6ZGlzYWJsZWQge1xuICBjb2xvcjogIzk5OTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIEdyb3VwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBVc2luZyBgZmxleGAgaW5zdGVhZCBvZiBgaW5saW5lLWJsb2NrYCB0byBwcmV2ZW50IHdoaXRlc3BhY2UgYmV0d2VlbnQgY2hpbGQgZWxlbWVudHNcbiAqIDIuIEJlaGF2ZSBsaWtlIGJ1dHRvblxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqL1xuLnVrLWJ1dHRvbi1ncm91cCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLyogMiAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAzICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2VjdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gTWFrZSBpdCB3b3JrIHdpdGggYDEwMHZoYCBhbmQgaGVpZ2h0IGluIGdlbmVyYWxcbiAqL1xuLnVrLXNlY3Rpb24ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDcwcHg7IH0gfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLXNlY3Rpb246OmJlZm9yZSxcbi51ay1zZWN0aW9uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi51ay1zZWN0aW9uOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFhTbWFsbFxuICovXG4udWstc2VjdGlvbi14c21hbGwge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cblxuLypcbiAqIFNtYWxsXG4gKi9cbi51ay1zZWN0aW9uLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG4udWstc2VjdGlvbi1sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiA3MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstc2VjdGlvbi1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDsgfSB9XG5cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDE0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMjEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIxMHB4OyB9IH1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi51ay1zZWN0aW9uLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi8qXG4gKiBNdXRlZFxuICovXG4udWstc2VjdGlvbi1tdXRlZCB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7IH1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuLnVrLXNlY3Rpb24tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICNlMzFlMjQ7IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG4udWstc2VjdGlvbi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjZWY3ZjFhOyB9XG5cbi8qIE92ZXJsYXAgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlc2VydmVkIG1vZGlmaWVyIHRvIG1ha2UgYSBzZWN0aW9uIG92ZXJsYXAgYW5vdGhlciBzZWN0aW9uIHdpdGggYW4gYm9yZGVyIGltYWdlXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQm94IHNpemluZyBoYXMgdG8gYmUgYGNvbnRlbnQtYm94YCBzbyB0aGUgbWF4LXdpZHRoIGlzIGFsd2F5cyB0aGUgc2FtZSBhbmRcbiAqICAgIHVuYWZmZWN0ZWQgYnkgdGhlIHBhZGRpbmcgb24gZGlmZmVyZW50IGJyZWFrcG9pbnRzLiBJdCdzIGltcG9ydGFudCBmb3IgdGhlIHNpemUgbW9kaWZpZXJzLlxuICovXG4udWstY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLWNvbnRhaW5lcjo6YmVmb3JlLFxuLnVrLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4udWstY29udGFpbmVyOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWNvbnRhaW5lciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICogUmVtb3ZlIHBhZGRpbmcgZnJvbSBuZXN0ZWQgY29udGFpbmVyc1xuICovXG4udWstY29udGFpbmVyIC51ay1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29udGFpbmVyLXNtYWxsIHtcbiAgbWF4LXdpZHRoOiA5MDBweDsgfVxuXG4udWstY29udGFpbmVyLWxhcmdlIHtcbiAgbWF4LXdpZHRoOiAxNjAwcHg7IH1cblxuLnVrLWNvbnRhaW5lci1leHBhbmQge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEdyaWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGNlbGxzIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKi9cbi51ay1ncmlkIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKlxuICogR3JpZCBjZWxsXG4gKiBOb3RlOiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3M6IDAgMSBhdXRvXG4gKiBSZXNldCBtYXJnaW4gZm9yIGUuZy4gcGFyYWdyYXBoc1xuICovXG4udWstZ3JpZCA+ICoge1xuICBtYXJnaW46IDA7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstZ3JpZCA+ICogPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogR3V0dGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4OyB9XG5cbi51ay1ncmlkID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZCxcbi51ay1ncmlkID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qIEhvcml6b250YWwgKi9cbiAgLnVrLWdyaWQge1xuICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsgfVxuICAudWstZ3JpZCA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICAvKiBWZXJ0aWNhbCAqL1xuICAudWstZ3JpZCArIC51ay1ncmlkLFxuICAudWstZ3JpZCA+IC51ay1ncmlkLW1hcmdpbixcbiAgKiArIC51ay1ncmlkLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG5cbi8qXG4gKiBTbWFsbFxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1zbWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuXG4udWstZ3JpZC1zbWFsbCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtc21hbGwsXG4udWstZ3JpZC1zbWFsbCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tc21hbGwge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtbWVkaXVtIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4OyB9XG5cbi51ay1ncmlkLW1lZGl1bSA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbWVkaXVtLFxuLnVrLWdyaWQtbWVkaXVtID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1tZWRpdW0ge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiAtNDBweDsgfVxuXG4udWstZ3JpZC1sYXJnZSA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZC1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBIb3Jpem9udGFsICovXG4gIC51ay1ncmlkLWxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTcwcHg7IH1cbiAgLnVrLWdyaWQtbGFyZ2UgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7IH1cbiAgLyogVmVydGljYWwgKi9cbiAgLnVrLWdyaWQgKyAudWstZ3JpZC1sYXJnZSxcbiAgLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4gICogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDcwcHg7IH0gfVxuXG4vKlxuICogQ29sbGFwc2VcbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtY29sbGFwc2Uge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4udWstZ3JpZC1jb2xsYXBzZSA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtY29sbGFwc2UsXG4udWstZ3JpZC1jb2xsYXBzZSA+IC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZ3JpZC1kaXZpZGVyID4gKiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIge1xuICBtYXJnaW4tbGVmdDogLTYwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlciA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gIGxlZnQ6IDMwcHg7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDYwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICB0b3A6IC0zMHB4O1xuICBsZWZ0OiA2MHB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBIb3Jpem9udGFsICovXG4gIC51ay1ncmlkLWRpdmlkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAtODBweDsgfVxuICAudWstZ3JpZC1kaXZpZGVyID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG4gIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGxlZnQ6IDQwcHg7IH1cbiAgLyogVmVydGljYWwgKi9cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4OyB9XG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6IC00MHB4O1xuICAgIGxlZnQ6IDgwcHg7IH0gfVxuXG4vKlxuICogU21hbGxcbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgbGVmdDogMTVweDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICB0b3A6IC0xNXB4O1xuICBsZWZ0OiAzMHB4OyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSB7XG4gIG1hcmdpbi1sZWZ0OiAtNjBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gKiB7XG4gIHBhZGRpbmctbGVmdDogNjBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgbGVmdDogMzBweDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogNjBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIHRvcDogLTMwcHg7XG4gIGxlZnQ6IDYwcHg7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiAtODBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gIGxlZnQ6IDQwcHg7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogODBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgdG9wOiAtNDBweDtcbiAgbGVmdDogODBweDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLyogSG9yaXpvbnRhbCAqL1xuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTQwcHg7IH1cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGxlZnQ6IDcwcHg7IH1cbiAgLyogVmVydGljYWwgKi9cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDE0MHB4OyB9XG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogLTcwcHg7XG4gICAgbGVmdDogMTQwcHg7IH0gfVxuXG4vKiBNYXRjaCBjaGlsZCBvZiBhIGdyaWQgY2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAxLiBXcmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aCwgYXQgbGVhc3QgMTAwJS4gT25seSBpZiBubyBjbGFzcyBmcm9tIHRoZSBXaWR0aCBjb21wb25lbnQgaXMgc2V0LlxuICogMy4gRXhwYW5kIHdpZHRoIGV2ZW4gaWYgbGFyZ2VyIHRoYW4gMTAwJSwgZS5nLiBiZWNhdXNlIG9mIG5lZ2F0aXZlIG1hcmdpbiAoTmVlZGVkIGZvciBuZXN0ZWQgZ3JpZHMpXG4gKi9cbi51ay1ncmlkLW1hdGNoID4gKixcbi51ay1ncmlkLWl0ZW0tbWF0Y2gge1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnVrLWdyaWQtbWF0Y2ggPiAqID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSxcbi51ay1ncmlkLWl0ZW0tbWF0Y2ggPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgLyogMyAqL1xuICAtbXMtZmxleDogYXV0bztcbiAgLXdlYmtpdC1mbGV4OiBhdXRvO1xuICBmbGV4OiBhdXRvOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUaWxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10aWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay10aWxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay10aWxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfSB9XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG4udWstdGlsZTo6YmVmb3JlLFxuLnVrLXRpbGU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLnVrLXRpbGU6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstdGlsZSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogWFNtYWxsXG4gKi9cbi51ay10aWxlLXhzbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuXG4vKlxuICogU21hbGxcbiAqL1xuLnVrLXRpbGUtc21hbGwge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cbi51ay10aWxlLWxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA3MHB4OyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay10aWxlLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE0MHB4OyB9IH1cblxuLypcbiAqIFhMYXJnZVxuICovXG4udWstdGlsZS14bGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogMTQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNDBweDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstdGlsZS14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAyMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjEwcHg7IH0gfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLXRpbGUtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLypcbiAqIE11dGVkXG4gKi9cbi51ay10aWxlLW11dGVkIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstdGlsZS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogI2UzMWUyNDsgfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cbi51ay10aWxlLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICNlZjdmMWE7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENhcmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQtYm9keSB7XG4gIHBhZGRpbmc6IDMwcHggMzBweDsgfVxuXG4udWstY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7IH1cblxuLnVrLWNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogMTVweCAzMHB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHg7IH1cbiAgLnVrLWNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHg7IH1cbiAgLnVrLWNhcmQtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHg7IH0gfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLWNhcmQtYm9keTo6YmVmb3JlLFxuLnVrLWNhcmQtYm9keTo6YWZ0ZXIsXG4udWstY2FyZC1oZWFkZXI6OmJlZm9yZSxcbi51ay1jYXJkLWhlYWRlcjo6YWZ0ZXIsXG4udWstY2FyZC1mb290ZXI6OmJlZm9yZSxcbi51ay1jYXJkLWZvb3Rlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4udWstY2FyZC1ib2R5OjphZnRlcixcbi51ay1jYXJkLWhlYWRlcjo6YWZ0ZXIsXG4udWstY2FyZC1mb290ZXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstY2FyZC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY2FyZC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWZvb3RlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBNZWRpYVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVzZXJ2ZWQgYWxpZ25tZW50IG1vZGlmaWVyIHRvIHN0eWxlIHRoZSBtZWRpYSBlbGVtZW50LCBlLmcuIHdpdGggYGJvcmRlci1yYWRpdXNgXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQtdGl0bGUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4vKiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY2FyZC1iYWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMHB4O1xuICByaWdodDogMzBweDtcbiAgei1pbmRleDogMTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuLnVrLWNhcmQtYmFkZ2U6Zmlyc3QtY2hpbGQgKyAqIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKiBIb3ZlciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY2FyZC1ob3Zlcjpub3QoLnVrLWNhcmQtZGVmYXVsdCk6bm90KC51ay1jYXJkLXByaW1hcnkpOm5vdCgudWstY2FyZC1zZWNvbmRhcnkpOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqIE5vdGU6IEhlYWRlciBhbmQgRm9vdGVyIGFyZSBvbmx5IGltcGxlbWVudGVkIGZvciB0aGUgZGVmYXVsdCBzdHlsZVxuICovXG4udWstY2FyZC1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgY29sb3I6ICM2NjY7IH1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC10aXRsZSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi51ay1jYXJkLWRlZmF1bHQudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7IH1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuLnVrLWNhcmQtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICNlMzFlMjQ7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi51ay1jYXJkLXByaW1hcnkgLnVrLWNhcmQtdGl0bGUge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2UxYTFmOyB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuLnVrLWNhcmQtc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogI2VmN2YxYTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTA3MjEwOyB9XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFNtYWxsXG4gKi9cbi51ay1jYXJkLXNtYWxsLnVrLWNhcmQtYm9keSxcbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWJvZHkge1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cblxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogMTNweCAyMHB4OyB9XG5cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IDEzcHggMjBweDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jYXJkLWxhcmdlLnVrLWNhcmQtYm9keSxcbiAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogNzBweCA3MHB4OyB9XG4gIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWhlYWRlciB7XG4gICAgcGFkZGluZzogMzVweCA3MHB4OyB9XG4gIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWZvb3RlciB7XG4gICAgcGFkZGluZzogMzVweCA3MHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENsb3NlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cbi51ay1jbG9zZSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1jbG9zZTpob3Zlcixcbi51ay1jbG9zZTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTcGlubmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cbi8qIFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc3Bpbm5lciA+ICoge1xuICAtd2Via2l0LWFuaW1hdGlvbjogdWstc3Bpbm5lci1yb3RhdGUgMS40cyBsaW5lYXIgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogdWstc3Bpbm5lci1yb3RhdGUgMS40cyBsaW5lYXIgaW5maW5pdGU7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLXNwaW5uZXItcm90YXRlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLXJvdGF0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9IH1cblxuLypcbiAqIENpcmNsZVxuICovXG4udWstc3Bpbm5lciA+ICogPiAqIHtcbiAgc3Ryb2tlLWRhc2hhcnJheTogODhweDtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAxLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICBhbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAxLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICBzdHJva2Utd2lkdGg6IDE7XG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstc3Bpbm5lci1kYXNoIHtcbiAgMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA4OHB4OyB9XG4gIDUwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDIycHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA4OHB4O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDUwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1kYXNoIHtcbiAgMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA4OHB4OyB9XG4gIDUwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDIycHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogODhweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NTBkZWcpOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvdG9wXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGRvcHRzIGB1ay1pY29uYFxuICovXG4udWstdG90b3Age1xuICBwYWRkaW5nOiA1cHg7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10b3RvcDpob3Zlcixcbi51ay10b3RvcDpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay10b3RvcDphY3RpdmUge1xuICBjb2xvcjogIzMzMzsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFya2VyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGRvcHRzIGB1ay1pY29uYFxuICovXG4udWstbWFya2VyIHtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kOiAjZWY3ZjFhO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbWFya2VyOmhvdmVyLFxuLnVrLW1hcmtlcjpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGVydFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDE1cHggMjlweCAxNXB4IDE1cHg7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1hbGVydCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstYWxlcnQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hbGVydC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICByaWdodDogMTVweDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuLnVrLWFsZXJ0LWNsb3NlOmZpcnN0LWNoaWxkICsgKiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyICsgRm9jdXNcbiAqL1xuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmltYXJ5XG4gKi9cbi51ay1hbGVydC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogI2Y5ZDNkNDtcbiAgY29sb3I6ICNlMzFlMjQ7IH1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuLnVrLWFsZXJ0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjZWRmYmY2O1xuICBjb2xvcjogIzMyZDI5NjsgfVxuXG4vKlxuICogV2FybmluZ1xuICovXG4udWstYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNmZWY1ZWU7XG4gIGNvbG9yOiAjZmFhMDVhOyB9XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuLnVrLWFsZXJ0LWRhbmdlciB7XG4gIGJhY2tncm91bmQ6ICNmZWY0ZjY7XG4gIGNvbG9yOiAjZjA1MDZlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIENlbnRlciBjaGlsZCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuLnVrLWJhZGdlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLXdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBwYWRkaW5nOiAwIDVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDEgKi9cbiAgYmFja2dyb3VuZDogI2UzMWUyNDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cbi51ay1iYWRnZTpob3Zlcixcbi51ay1iYWRnZTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMCAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZTMxZTI0O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuLnVrLWxhYmVsLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzJkMjk2O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogV2FybmluZ1xuICovXG4udWstbGFiZWwtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWEwNWE7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuLnVrLWxhYmVsLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDUwNmU7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBPdmVybGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1vdmVybGF5IHtcbiAgcGFkZGluZzogMzBweCAzMHB4OyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLW92ZXJsYXkgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLW92ZXJsYXktZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstb3ZlcmxheS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogcmdiYSg1MSwgNTAsIDExOCwgMC44KTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQXJ0aWNsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLWFydGljbGU6OmJlZm9yZSxcbi51ay1hcnRpY2xlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi51ay1hcnRpY2xlOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWFydGljbGUgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogQWRqYWNlbnQgc2libGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYXJ0aWNsZSArIC51ay1hcnRpY2xlIHtcbiAgbWFyZ2luLXRvcDogNzBweDsgfVxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYXJ0aWNsZS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMi42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYXJ0aWNsZS1tZXRhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbW1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNvbW1lbnQtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLWNvbW1lbnQtYm9keTo6YmVmb3JlLFxuLnVrLWNvbW1lbnQtYm9keTo6YWZ0ZXIsXG4udWstY29tbWVudC1oZWFkZXI6OmJlZm9yZSxcbi51ay1jb21tZW50LWhlYWRlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4udWstY29tbWVudC1ib2R5OjphZnRlcixcbi51ay1jb21tZW50LWhlYWRlcjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1jb21tZW50LWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jb21tZW50LWhlYWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29tbWVudC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4vKiBNZXRhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb21tZW50LW1ldGEge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBBdmF0YXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29tbWVudC1saXN0IHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCA+IDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDcwcHg7IH1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKiBOb3RlOiBHZW5lcmFsIHNpYmxpbmcgc2VsZWN0b3IgYWxsb3dzIHJlcGx5IGJsb2NrIGJldHdlZW4gY29tbWVudCBhbmQgc3VibGlzdFxuICovXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwge1xuICBtYXJnaW46IDcwcHggMCAwIDA7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiBUYWJsZXQgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDBweDsgfSB9XG5cbi8qIEFkamFjZW50IHNpYmxpbmdzICovXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwgPiA6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiA3MHB4OyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWFyY2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBSZXNldCBgZm9ybWBcbiAqL1xuLnVrLXNlYXJjaCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMyAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDQgKi9cbiAgbWFyZ2luOiAwOyB9XG5cbi8qIElucHV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cbi51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDUuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKiA2LiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBpT1MuXG4gKiA3LiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDguIFRha2UgdGhlIGZ1bGwgY29udGFpbmVyIHdpZHRoXG4gKiA5LiBTdHlsZVxuICovXG4udWstc2VhcmNoLWlucHV0IHtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqL1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKiA0ICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDUgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDYgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiA3ICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDggKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDkgKi9cbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogIzY2NjsgfVxuXG4udWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBQbGFjZWhvbGRlciAqL1xuLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OSAhaW1wb3J0YW50OyB9XG5cbi51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogSWNvbiAoQWRvcHRzIGB1ay1pY29uYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSBkZWZhdWx0IGZvY3VzIHN0eWxlXG4gKi9cbi51ay1zZWFyY2gtaWNvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFBvc2l0aW9uIGFib3ZlIGlucHV0XG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMy4gU3R5bGVcbiAqL1xuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24ge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiAzICovXG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qXG4gKiBNYWtlIGBpbnB1dGAgZWxlbWVudCBjbGlja2FibGUgdGhyb3VnaCBpY29uLCBlLmcuIGlmIGl0J3MgYSBgc3BhbmBcbiAqL1xuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24tZmxpcCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi8qIERlZmF1bHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IHtcbiAgd2lkdGg6IDE4MHB4OyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4OyB9XG5cbi8qXG4gKiBJY29uXG4gKi9cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb24ge1xuICB3aWR0aDogNDBweDsgfVxuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgKyAudWstc2VhcmNoLWlucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb24tZmxpcCArIC51ay1zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XG5cbi8qIE5hdmJhciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc2VhcmNoLW5hdmJhciB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIGhlaWdodDogNDBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbi8qXG4gKiBJY29uXG4gKi9cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbiB7XG4gIHdpZHRoOiA0MHB4OyB9XG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApICsgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24tZmxpcCArIC51ay1zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XG5cbi8qIExhcmdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zZWFyY2gtbGFyZ2Uge1xuICB3aWR0aDogNTAwcHg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIGhlaWdodDogODBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMi42MjVyZW07IH1cblxuLypcbiAqIEljb25cbiAqL1xuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24ge1xuICB3aWR0aDogODBweDsgfVxuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApICsgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogODBweDsgfVxuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbi1mbGlwICsgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsXG4udWstc2VhcmNoLXRvZ2dsZTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBOYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlc2V0XG4gKiAxLiBQcmVwYXJlIGxpc3RzXG4gKiAyLiBQcmVwYXJlIGxpbmtzXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG4vKiAxICovXG4udWstbmF2LFxuLnVrLW5hdiB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiAyICovXG4udWstbmF2IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogMyAqL1xuLnVrLW5hdiBsaSA+IGE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBJdGVtc1xuICogTXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gbGlzdHMpXG4gKi9cbi51ay1uYXYgPiBsaSA+IGEge1xuICBwYWRkaW5nOiA1cHggMDsgfVxuXG4vKiBTdWJsaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTGV2ZWwgMlxuICogYHVsYCBuZWVkZWQgZm9yIGhpZ2hlciBzcGVjaWZpY2l0eSB0byBvdmVycmlkZSBwYWRkaW5nXG4gKi9cbnVsLnVrLW5hdi1zdWIge1xuICBwYWRkaW5nOiA1cHggMCA1cHggMTVweDsgfVxuXG4vKlxuICogTGV2ZWwgMyBhbmQgZGVlcGVyXG4gKi9cbi51ay1uYXYtc3ViIHVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG5cbi8qXG4gKiBJdGVtc1xuICovXG4udWstbmF2LXN1YiBhIHtcbiAgcGFkZGluZzogMnB4IDA7IH1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyJTIzNjY2JTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTNFJTNDJTJGcG9seWxpbmUlM0UlMEElM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiUyMzY2NiUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjElMjA0JTIwNyUyMDEwJTIwMTMlMjA0JTIyJTNFJTNDJTJGcG9seWxpbmUlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cblxuLyogSGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtaGVhZGVyIHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnVrLW5hdi1oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdi1kaXZpZGVyIHtcbiAgbWFyZ2luOiA1cHggMDsgfVxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtc1xuICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGEge1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMzsgfVxuXG4vKlxuICogSGVhZGVyXG4gKi9cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogUHJpbWFyeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSXRlbXNcbiAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3Zlcixcbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogU3VibGlzdHMgKi9cbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViLFxuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIgdWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXIgICovXG4udWstbmF2LWNlbnRlci51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdmJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgdG8gY2VudGVyIG5hdmJhciBncm91cFxuICovXG4udWstbmF2YmFyIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uIChpZiBDb250YWluZXIgY29tcG9uZW50IGlzIHVzZWQpXG4gKi9cbi51ay1uYXZiYXItY29udGFpbmVyID4gOjpiZWZvcmUsXG4udWstbmF2YmFyLWNvbnRhaW5lciA+IDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogR3JvdXBzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGlnbiBuYXZzIGFuZCBpdGVtcyB2ZXJ0aWNhbGx5IGlmIHRoZXkgaGF2ZSBhIGRpZmZlcmVudCBoZWlnaHRcbiAqIDIuIE5vdGU6IElFIDExIHJlcXVpcmVzIGFuIGV4dHJhIGBkaXZgIHdoaWNoIGFmZmVjdHMgdGhlIGNlbnRlciBzZWxlY3RvclxuICovXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuLnVrLW5hdmJhci1jZW50ZXIsXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0ID4gKixcbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0ID4gKiB7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qXG4gKiBIb3Jpem9udGFsIGFsaWdubWVudFxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGNlbnRlcmVkIG5hdmJhciB3aXRoIHN1YiBncm91cHMgKGxlZnQvcmlnaHQpXG4gKiAyLiBOZWVkZWQgZm9yIGRyb3Bkb3ducyBiZWNhdXNlIGEgbmV3IHBvc2l0aW9uIGNvbnRleHQgaXMgY3JlYXRlZFxuICogICAgYHotaW5kZXhgIG11c3QgYmUgc21hbGxlciB0aGFuIG9mZi1jYW52YXNcbiAqIDMuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIHRoZSBjZW50ZXJlZCBzZWN0aW9uIGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgbmF2YmFyXG4gKiA0LiBBbGlnbiBzdWIgZ3JvdXBzIGZvciBjZW50ZXJlZCBuYXZiYXJcbiAqL1xuLnVrLW5hdmJhci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi51ay1uYXZiYXItY2VudGVyOm9ubHktY2hpbGQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLyogMiAqL1xuICB6LWluZGV4OiA5OTA7IH1cblxuLyogMyAqL1xuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSxcbi51ay1uYXZiYXItY2VudGVyOm5vdCg6b25seS1jaGlsZCkgLnVrLW5hdmJhci1pdGVtLFxuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSAudWstbmF2YmFyLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogNCAqL1xuLnVrLW5hdmJhci1jZW50ZXItbGVmdCxcbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7IH1cblxuLnVrLW5hdmJhci1jZW50ZXItbGVmdCB7XG4gIHJpZ2h0OiAxMDAlOyB9XG5cbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0IHtcbiAgbGVmdDogMTAwJTsgfVxuXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLFxuW2NsYXNzKj0ndWstbmF2YmFyLWNlbnRlci0nXSAudWstbmF2YmFyLWl0ZW0sXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIC51ay1uYXZiYXItdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBOYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlc2V0IGxpc3RcbiAqL1xuLnVrLW5hdmJhci1uYXYge1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKlxuICogQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIE9ubHkgbm90IGBhYnNvbHV0ZWAgcG9zaXRpb25lZCBncm91cHNcbiAqL1xuLnVrLW5hdmJhci1sZWZ0LFxuLnVrLW5hdmJhci1yaWdodCxcbi51ay1uYXZiYXItY2VudGVyOm9ubHktY2hpbGQge1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi8qXG4gKiBJdGVtc1xuICogMS4gQ2VudGVyIGNvbnRlbnQgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBTdHlsZVxuICogNC4gUmVxdWlyZWQgZm9yIGBhYFxuICovXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSxcbi51ay1uYXZiYXItaXRlbSxcbi51ay1uYXZiYXItdG9nZ2xlIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIC8qIDMgKi9cbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LWZhbWlseTogUmFsZXdheSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgLyogNCAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLypcbiAqIE5hdiBpdGVtc1xuICovXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qXG4gKiBIb3ZlclxuICogQXBwbHkgaG92ZXIgc3R5bGUgYWxzbyB0byBmb2N1cyBzdGF0ZSBhbmQgaWYgZHJvcGRvd24gaXMgb3BlbmVkXG4gKi9cbi51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuIHtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogT25DbGljayAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLyogQWN0aXZlICovXG4udWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMzsgfVxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXZiYXItaXRlbSB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2YmFyLXRvZ2dsZSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4udWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuIHtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKlxuICogSWNvblxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG4vKiBIb3ZlciArIEZvY3VzICovXG4vKiBTdWJ0aXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2YmFyLXN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRHJvcGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkb3B0cyBgdWstZHJvcGRvd25gXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93biB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMjA7XG4gIC8qIDMgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDIwMHB4O1xuICAvKiA0ICovXG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIFNob3cgKi9cbi51ay1uYXZiYXItZHJvcGRvd24udWstb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gKi9cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLXRvcCddIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tYm90dG9tJ10ge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1sZWZ0J10ge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tcmlnaHQnXSB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi8qXG4gKiBHcmlkXG4gKiBBZG9wdHMgYHVrLWdyaWRgXG4gKi9cbi8qIEd1dHRlciBIb3Jpem9udGFsICovXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQge1xuICBtYXJnaW4tbGVmdDogLTMwcHg7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxuXG4vKiBHdXR0ZXIgVmVydGljYWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+IC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLyogU3RhY2sgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tc3RhY2sgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gKiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFdpZHRoIG1vZGlmaWVyXG4gKi9cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtMjpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0zOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7XG4gIHdpZHRoOiA2MDBweDsgfVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTQ6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHtcbiAgd2lkdGg6IDgwMHB4OyB9XG5cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNTpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykge1xuICB3aWR0aDogMTAwMHB4OyB9XG5cbi8qXG4gKiBEcm9wYmFyIG1vZGlmaWVyXG4gKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZHJvcGJhciB7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIERyb3Bkb3duIE5hdlxuICogQWRvcHRzIGB1ay1uYXZgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtc1xuICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaSA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1oZWFkZXIge1xuICBjb2xvcjogIzMzMzsgfVxuXG4vKlxuICogRGl2aWRlclxuICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogRHJvcGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2YmFyLWRyb3BiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIFNsaWRlIG1vZGlmaWVyXG4gKi9cbi51ay1uYXZiYXItZHJvcGJhci1zbGlkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAyMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN1Ym5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG4udWstc3VibmF2IHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvKiAyICovXG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgLyogMyAqL1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG4udWstc3VibmF2ID4gKiB7XG4gIC8qIDEgKi9cbiAgLW1zLWZsZXg6IG5vbmU7XG4gIC13ZWJraXQtZmxleDogbm9uZTtcbiAgZmxleDogbm9uZTtcbiAgLyogMiAqL1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIDMgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiBVc2luZyBgOmZpcnN0LWNoaWxkYCBpbnN0ZWFkIG9mIGBhYCB0byBzdXBwb3J0IGBzcGFuYCBlbGVtZW50cyBmb3IgdGV4dFxuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG4udWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIDIgKi9cbiAgY29sb3I6ICM5OTk7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLFxuLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qIERpdmlkZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsaWduIGl0ZW1zIGFuZCBkaXZpZGVyIHZlcnRpY2FsbHlcbiAqL1xuLnVrLXN1Ym5hdi1kaXZpZGVyID4gKiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qXG4gKiBEaXZpZGVyXG4gKiBgbnRoLWNoaWxkYCBtYWtlcyBpdCBhbHNvIHdvcmsgd2l0aG91dCBKUyBpZiBpdCdzIG9ubHkgb25lIHJvd1xuICovXG4udWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKiBQaWxsIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLFxuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBPbkNsaWNrICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UzMWUyNDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJyZWFkY3J1bWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKi9cbi51ay1icmVhZGNydW1iIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvKiAyICovXG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICovXG4udWstYnJlYWRjcnVtYiA+ICoge1xuICAtbXMtZmxleDogbm9uZTtcbiAgLXdlYmtpdC1mbGV4OiBub25lO1xuICBmbGV4OiBub25lOyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1icmVhZGNydW1iID4gKiA+IDpob3Zlcixcbi51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogRGlzYWJsZWQgKi9cbi8qIEFjdGl2ZSAqL1xuLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICoge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKlxuICogRGl2aWRlclxuICogYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqL1xuLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBjb250ZW50OiBcIi9cIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMjBweDtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBhZ2luYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuLnVrLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8qIDIgKi9cbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAvKiAzICovXG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cbi51ay1wYWdpbmF0aW9uID4gKiB7XG4gIC8qIDEgKi9cbiAgLW1zLWZsZXg6IG5vbmU7XG4gIC13ZWJraXQtZmxleDogbm9uZTtcbiAgZmxleDogbm9uZTtcbiAgLyogMiAqL1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIDMgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cbi51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvKiAyICovXG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1wYWdpbmF0aW9uID4gKiA+IDpob3Zlcixcbi51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogQWN0aXZlICovXG4udWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUYWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuLnVrLXRhYiB7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIC8qIDMgKi9cbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuLnVrLXRhYiA+ICoge1xuICAvKiAxICovXG4gIC1tcy1mbGV4OiBub25lO1xuICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gIGZsZXg6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiAzICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogMS4gQ2VudGVyIHRleHQgaWYgYSB3aWR0aCBpcyBzZXRcbiAqIDIuIFN0eWxlXG4gKi9cbi51ay10YWIgPiAqID4gYSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogMiAqL1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuLnVrLXRhYiA+ICogPiBhOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay10YWIgPiAudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qIERpc2FibGVkICovXG4udWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBCb3R0b21cbiAqL1xuLypcbiAqIExlZnQgKyBSaWdodFxuICogMS4gUmVzZXQgR3V0dGVyXG4gKi9cbi51ay10YWItbGVmdCxcbi51ay10YWItcmlnaHQge1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvKiAxICovXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi8qIDEgKi9cbi51ay10YWItbGVmdCA+ICosXG4udWstdGFiLXJpZ2h0ID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4udWstdGFiLWxlZnQgPiAqID4gYSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnVrLXRhYi1yaWdodCA+ICogPiBhIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2xpZGVuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuLnVrLXNsaWRlbmF2IHtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuNik7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXNsaWRlbmF2OmhvdmVyLFxuLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMC44KTtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBPbkNsaWNrICovXG4udWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMC45KTsgfVxuXG4vKiBJY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmV2aW91c1xuICovXG4vKlxuICogTmV4dFxuICovXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zbGlkZW5hdi1sYXJnZSB7XG4gIHBhZGRpbmc6IDEwcHggMTBweDsgfVxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNsaWRlbmF2LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERvdG5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG4udWstZG90bmF2IHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgLyogMyAqL1xuICBtYXJnaW4tbGVmdDogLTE1cHg7IH1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKi9cbi51ay1kb3RuYXYgPiAqIHtcbiAgLyogMSAqL1xuICAtbXMtZmxleDogbm9uZTtcbiAgLXdlYmtpdC1mbGV4OiBub25lO1xuICBmbGV4OiBub25lO1xuICAvKiAyICovXG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSXRlbXNcbiAqIDEuIEhpZGUgdGV4dCBpZiBwcmVzZW50XG4gKi9cbi51ay1kb3RuYXYgPiAqID4gKiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuMSk7XG4gIC8qIDEgKi9cbiAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsXG4udWstZG90bmF2ID4gKiA+IDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMC40KTtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBPbkNsaWNrICovXG4udWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuNik7IH1cblxuLyogQWN0aXZlICovXG4udWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuNCk7IH1cblxuLyogTW9kaWZpZXI6ICd1ay1kb3RuYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuLnVrLWRvdG5hdi12ZXJ0aWNhbCB7XG4gIC8qIDEgKi9cbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLyogMiAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLTE1cHg7IH1cblxuLyogMiAqL1xuLnVrLWRvdG5hdi12ZXJ0aWNhbCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctdG9wOiAxNXB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBY2NvcmRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFjY29yZGlvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYWNjb3JkaW9uID4gOm50aC1jaGlsZChuKzIpIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYWNjb3JkaW9uLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKiBDb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hY2NvcmRpb24tY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cbi51ay1hY2NvcmRpb24tY29udGVudDpiZWZvcmUsXG4udWstYWNjb3JkaW9uLWNvbnRlbnQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4udWstYWNjb3JkaW9uLWNvbnRlbnQ6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1hY2NvcmRpb24tY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRHJvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIFNldCBhIGRlZmF1bHQgd2lkdGhcbiAqL1xuLnVrLWRyb3Age1xuICAvKiAxICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDIwO1xuICAvKiAzICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAzMDBweDsgfVxuXG4vKiBTaG93ICovXG4udWstZHJvcC51ay1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLWRyb3AtdG9wJ10ge1xuICBtYXJnaW4tdG9wOiAtMjBweDsgfVxuXG5bY2xhc3MqPSd1ay1kcm9wLWJvdHRvbSddIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG5bY2xhc3MqPSd1ay1kcm9wLWxlZnQnXSB7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDsgfVxuXG5bY2xhc3MqPSd1ay1kcm9wLXJpZ2h0J10ge1xuICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZHJvcC1zdGFjayAudWstZHJvcC1ncmlkID4gKiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERyb3Bkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuLnVrLWRyb3Bkb3duIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAyMDtcbiAgLyogMyAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICAvKiA0ICovXG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIFNob3cgKi9cbi51ay1kcm9wZG93bi51ay1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogTmF2XG4gKiBBZG9wdHMgYHVrLW5hdmBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWRyb3Bkb3duLW5hdiB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLypcbiAqIEl0ZW1zXG4gKi9cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGEge1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICsgQWN0aXZlICovXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhOmhvdmVyLFxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1kcm9wZG93bi1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLypcbiAqIEhlYWRlclxuICovXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLWRyb3Bkb3duLXRvcCddIHtcbiAgbWFyZ2luLXRvcDogLTEwcHg7IH1cblxuW2NsYXNzKj0ndWstZHJvcGRvd24tYm90dG9tJ10ge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbltjbGFzcyo9J3VrLWRyb3Bkb3duLWxlZnQnXSB7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuXG5bY2xhc3MqPSd1ay1kcm9wZG93bi1yaWdodCddIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuLyogR3JpZCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWRyb3Bkb3duLXN0YWNrIC51ay1kcm9wZG93bi1ncmlkID4gKiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1vZGFsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cbi51ay1tb2RhbCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAxMDtcbiAgLyogMyAqL1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC8qIDQgKi9cbiAgcGFkZGluZzogMTVweCAxNXB4O1xuICAvKiA1ICovXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgLyogNiAqL1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1tb2RhbCB7XG4gICAgcGFkZGluZzogNTBweCAzMHB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLW1vZGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG5cbi8qXG4gKiBPcGVuXG4gKi9cbi51ay1tb2RhbC51ay1vcGVuIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBQYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuLnVrLW1vZGFsLXBhZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIERpYWxvZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIHNwaW5uZXIgYW5kIGNsb3NlIGJ1dHRvblxuICogMi4gRGltZW5zaW9uc1xuICogMy4gRml4IGBtYXgtd2lkdGg6IDEwMCVgIG5vdCB3b3JraW5nIGluIGNvbWJpbmF0aW9uIHdpdGggZmxleCBhbmQgcmVzcG9uc2l2ZSBpbWFnZXMgaW4gSUUxMVxuICogICAgYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVyd3JpdGUgYHVrLXdpZHRoLWF1dG9gLiBTZWUgYCNtb2RhbC1tZWRpYS1pbWFnZWAgaW4gdGVzdHNcbiAqIDQuIFN0eWxlXG4gKiA1LiBTbGlkZS1pbiB0cmFuc2l0aW9uXG4gKi9cbi51ay1tb2RhbC1kaWFsb2cge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDYwMHB4O1xuICAvKiAzICovXG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMC4wMXB4KSAhaW1wb3J0YW50O1xuICAvKiA0ICovXG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC8qIDUgKi9cbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zcyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IDAuM3MgbGluZWFyO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtOyB9XG5cbi8qXG4gKiBPcGVuXG4gKi9cbi51ay1vcGVuID4gLnVrLW1vZGFsLWRpYWxvZyB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQ29udGFpbmVyIHNpemVcbiAqIFRha2UgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgQ29udGFpbmVyIGNvbXBvbmVudFxuICovXG4udWstbW9kYWwtY29udGFpbmVyIC51ay1tb2RhbC1kaWFsb2cge1xuICB3aWR0aDogMTIwMHB4OyB9XG5cbi8qXG4gKiBGdWxsIHNpemVcbiAqIDEuIFJlbW92ZSBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGZyb20gbW9kYWxcbiAqIDIuIFJlc2V0IGFsbCBkZWZhdWx0IGRlY2xhcmF0aW9ucyBmcm9tIG1vZGFsIGRpYWxvZ1xuICovXG4vKiAxICovXG4udWstbW9kYWwtZnVsbCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLyogMiAqL1xuLnVrLW1vZGFsLWZ1bGwgLnVrLW1vZGFsLWRpYWxvZyB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbW9kYWwtYm9keSB7XG4gIHBhZGRpbmc6IDMwcHggMzBweDsgfVxuXG4udWstbW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogMTVweCAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4OyB9XG5cbi51ay1tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7IH1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cbi51ay1tb2RhbC1ib2R5OjpiZWZvcmUsXG4udWstbW9kYWwtYm9keTo6YWZ0ZXIsXG4udWstbW9kYWwtaGVhZGVyOjpiZWZvcmUsXG4udWstbW9kYWwtaGVhZGVyOjphZnRlcixcbi51ay1tb2RhbC1mb290ZXI6OmJlZm9yZSxcbi51ay1tb2RhbC1mb290ZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLnVrLW1vZGFsLWJvZHk6OmFmdGVyLFxuLnVrLW1vZGFsLWhlYWRlcjo6YWZ0ZXIsXG4udWstbW9kYWwtZm9vdGVyOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLW1vZGFsLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1mb290ZXIgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1vZGFsLXRpdGxlIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAxMDtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTBweDtcbiAgcGFkZGluZzogNXB4OyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXTpmaXJzdC1jaGlsZCArICoge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG4vKlxuICogRGVmYXVsdFxuICovXG4vKlxuICogT3V0c2lkZVxuICogMS4gUHJldmVudCBzY3JvbGxiYXIgb24gc21hbGwgZGV2aWNlc1xuICovXG4udWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gIHRvcDogMDtcbiAgLyogMSAqL1xuICByaWdodDogLTVweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDAlKTtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLyogMSAqL1xuICAudWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAtMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgLTEwMCUpOyB9IH1cblxuLypcbiAqIEZ1bGxcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpZ2h0Ym94XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cbi51ay1saWdodGJveCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAxMDtcbiAgLyogNSAqL1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAvKiA2ICovXG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyOyB9XG5cbi8qXG4gKiBPcGVuXG4gKiAxLiBDZW50ZXIgY2hpbGRcbiAqIDIuIEZhZGUtaW5cbiAqL1xuLnVrLWxpZ2h0Ym94LnVrLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLyogMiAqL1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG4udWstbGlnaHRib3gtcGFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ2VudGVyIGNoaWxkIHdpdGhpbiB0aGUgdmlld3BvcnRcbiAqIDIuIE5vdCB2aXNpYmxlIGJ5IGRlZmF1bHRcbiAqIDMuIENvbG9yIG5lZWRlZCBmb3Igc3Bpbm5lciBpY29uXG4gKiA0LiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqIDUuIFJlc3BvbnNpdmVuZXNzXG4gKiAgICBVc2luZyBgdmhgIGZvciBgbWF4LWhlaWdodGAgdG8gZml4IGltYWdlIHByb3BvcnRpb25zIGFmdGVyIHJlc2l6ZSBpbiBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBVc2luZyBgdmhgIGFuZCBgdndgIHRvIG1ha2UgcmVzcG9uc2l2ZSBpbWFnZSB3b3JrIGluIElFMTFcbiAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiAzICovXG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIC8qIDQgKi9cbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTsgfVxuXG4vKiA1ICovXG4udWstbGlnaHRib3gtaXRlbXMgPiAqID4gKiB7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIG1heC1oZWlnaHQ6IDEwMHZoOyB9XG5cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiA6bm90KGlmcmFtZSkge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi51ay1saWdodGJveC1pdGVtcyA+IC51ay1hY3RpdmUge1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi8qIFRvb2xiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxpZ2h0Ym94LXRvb2xiYXIge1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuXG4udWstbGlnaHRib3gtdG9vbGJhciAqIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuXG4vKiBUb29sYmFyIEljb24gKENsb3NlKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uIHtcbiAgcGFkZGluZzogNXB4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogQnV0dG9uIChTbGlkZW5hdilcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG4udWstbGlnaHRib3gtYnV0dG9uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuLnVrLWxpZ2h0Ym94LWJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSWZyYW1lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saWdodGJveC1pZnJhbWUge1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IDgwJTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2xpZGVzaG93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG4udWstc2xpZGVzaG93IHtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gYW5kIHN0YWNraW5nIGNvbnRleHRcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqIDQuIFByZXZlbnQgZGlzcGxheWluZyB0aGUgY2FsbG91dCBpbmZvcm1hdGlvbiBvbiBpT1MuXG4gKi9cbi51ay1zbGlkZXNob3ctaXRlbXMge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8qIDMgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogNCAqL1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IH1cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUG9zaXRpb24gaXRlbXMgYWJvdmUgZWFjaCBvdGhlclxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50cywgZS5nLiBmb3IgYHVrLWNvdmVyYFxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKi9cbi51ay1zbGlkZXNob3ctaXRlbXMgPiAqIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICAvKiAzICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDQgKi9cbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTsgfVxuXG4vKlxuICogSGlkZSBub3QgYWN0aXZlIGl0ZW1zXG4gKi9cbi51ay1zbGlkZXNob3ctaXRlbXMgPiA6bm90KC51ay1hY3RpdmUpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3RpY2t5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZXNvbHZlIGZyYW1lIHJhdGUgaXNzdWVzIG9uIGRldmljZXMgd2l0aCBsb3dlciBmcmFtZSByYXRlcyBieSBmb3JjaW5nIGhhcmR3YXJlIGFjY2VsZXJhdGlvblxuICovXG4udWstc3RpY2t5LWZpeGVkIHtcbiAgei1pbmRleDogOTgwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG4gKiBGYXN0ZXIgYW5pbWF0aW9uc1xuICovXG4udWstc3RpY2t5W2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuMnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4yczsgfVxuXG4udWstc3RpY2t5LnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuMnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4yczsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT2ZmLWNhbnZhc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqL1xuLnVrLW9mZmNhbnZhcyB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi8qXG4gKiBGbGlwIG1vZGlmaWVyXG4gKi9cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLyogQmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIFNpemUgYW5kIHN0eWxlXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmdcbiAqIDQuIFRyYW5zZm9ybVxuICovXG4udWstb2ZmY2FudmFzLWJhciB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMjcwcHg7XG4gIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgYmFja2dyb3VuZDogIzMzMzI3NjtcbiAgLyogMyAqL1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC8qIDQgKi9cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICB3aWR0aDogMzUwcHg7XG4gICAgcGFkZGluZzogNDBweCA0MHB4OyB9IH1cblxuLyogRmxpcCBtb2RpZmllciAqL1xuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLypcbiAqIE9wZW5cbiAqL1xuLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLWJhciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLypcbiAqIFNsaWRlIEFuaW1hdGlvbiAoVXNlZCBpbiBzbGlkZSBhbmQgcHVzaCBtb2RlKVxuICovXG4udWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0OyB9XG5cbi8qXG4gKiBSZXZlYWwgQW5pbWF0aW9uXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENsaXAgdGhlIGJhclxuICogMy4gQW5pbWF0aW9uXG4gKiA0LiBSZXNldCB0cmFuc2Zvcm1cbiAqL1xuLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0OyB9XG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgLyogNCAqL1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICB3aWR0aDogMjcwcHg7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLXJldmVhbCB7XG4gICAgd2lkdGg6IDM1MHB4OyB9IH1cblxuLypcbiAqIEZsaXAgbW9kaWZpZXJcbiAqL1xuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1vZmZjYW52YXMtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDVweDsgfVxuXG4vKiBPdmVybGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBPdmVybGF5IHRoZSB3aG9sZSBwYWdlLiBOZWVkZWQgZm9yIHRoZSBgOjpiZWZvcmVgXG4gKiAxLiBVc2luZyBgMTAwdndgIHNvIG5vIG1vZGlmaWNhdGlvbiBpcyBuZWVkZWQgd2hlbiBvZmYtY2FudmFzIGlzIGZsaXBwZWRcbiAqIDIuIEFsbG93IGZvciBjbG9zaW5nIHdpdGggc3dpcGUgZ2VzdHVyZSBvbiBkZXZpY2VzIHdpdGggcG9pbnRlciBldmVudHMuXG4gKi9cbi51ay1vZmZjYW52YXMtb3ZlcmxheSB7XG4gIC8qIDEgKi9cbiAgd2lkdGg6IDEwMHZ3O1xuICAvKiAyICovXG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4vKlxuICogMS4gTWFzayB0aGUgd2hvbGUgcGFnZVxuICogMi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cbi51ay1vZmZjYW52YXMtb3ZlcmxheTo6YmVmb3JlIHtcbiAgLyogMSAqL1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAvKiAyICovXG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyOyB9XG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheS51ay1vcGVuOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJldmVudCBob3Jpem9udGFsIHNjcm9sbGJhciB3aGVuIHRoZSBjb250ZW50IGlzIHNsaWRlLW91dFxuICogSGFzIHRvIGJlIG9uIHRoZSBgaHRtbGAgZWxlbWVudCB0b28gdG8gbWFrZSBpdCB3b3JrIG9uIHRoZSBgYm9keWBcbiAqL1xuLnVrLW9mZmNhbnZhcy1wYWdlLFxuLnVrLW9mZmNhbnZhcy1jb250YWluZXIge1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuLypcbiAqIFByZXZlbnQgYWxsIHNjcm9sbGJhcnMgaWYgb3ZlcmxheSBpcyB1c2VkXG4gKi9cbi51ay1vZmZjYW52YXMtY29udGFpbmVyLW92ZXJsYXkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIENvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXBhcmUgc2xpZGUtb3V0IGFuaW1hdGlvbiAoVXNlZCBpbiByZXZlYWwgYW5kIHB1c2ggbW9kZSlcbiAqIFVzaW5nIGBwb3NpdGlvbjogbGVmdGAgaW5zdGVhZCBvZiBgdHJhbnNmb3JtYCBiZWNhdXNlIHBvc2l0aW9uIGBmaXhlZGAgZWxlbWVudHMgbGlrZSBzdGlja3kgbmF2YmFyc1xuICogbG9zZSB0aGVpciBmaXhlZCBzdGF0ZSBhbmQgYmVoYXZlcyBsaWtlIGBhYnNvbHV0ZWAgd2l0aGluIGEgdHJhbnNmb3JtZWQgY29udGFpbmVyXG4gKiBOb3RlOiBKUyBzZXRzIGEgZml4ZWQgd2lkdGggYW5kIGhlaWdodCBzbyB0aGUgcGFnZSBjYW4gc2xpZGUtb3V0IHdpdGhvdXQgc2hyaW5raW5nXG4gKiAxLiBTbW9vdGggc2Nyb2xsaW5nXG4gKi9cbi51ay1vZmZjYW52YXMtY29udGFpbmVyIC51ay1vZmZjYW52YXMtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLW91dDtcbiAgLyogMSAqL1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLyogRGlzYWJsZSBzY3JvbGxpbmcgaWYgb3ZlcmxheSBtb2RlICovXG4udWstb2ZmY2FudmFzLW92ZXJsYXkgLnVrLW9mZmNhbnZhcy1jb250ZW50IHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbi8qXG4gKiBBY3RpdmF0ZSBzbGlkZS1vdXQgYW5pbWF0aW9uXG4gKi9cbjpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKSA+IC51ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb24ge1xuICBsZWZ0OiAyNzBweDsgfVxuXG4udWstb2ZmY2FudmFzLWZsaXAgPiAudWstb2ZmY2FudmFzLWNvbnRlbnQtYW5pbWF0aW9uIHtcbiAgbGVmdDogLTI3MHB4OyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIDpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKSA+IC51ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb24ge1xuICAgIGxlZnQ6IDM1MHB4OyB9XG4gIC51ay1vZmZjYW52YXMtZmxpcCA+IC51ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb24ge1xuICAgIGxlZnQ6IC0zNTBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTd2l0Y2hlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVzZXQgbGlzdFxuICovXG4udWstc3dpdGNoZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG4udWstc3dpdGNoZXIgPiA6bm90KC51ay1hY3RpdmUpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1zd2l0Y2hlciA+ICogPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25uYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuLnVrLWljb25uYXYge1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAvKiAzICovXG4gIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqL1xuLnVrLWljb25uYXYgPiAqIHtcbiAgLyogMSAqL1xuICAtbXMtZmxleDogbm9uZTtcbiAgLXdlYmtpdC1mbGV4OiBub25lO1xuICBmbGV4OiBub25lO1xuICAvKiAyICovXG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSXRlbXNcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuLnVrLWljb25uYXYgPiAqID4gKiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIDIgKi9cbiAgY29sb3I6ICM5OTk7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb25uYXYgPiAqID4gOmhvdmVyLFxuLnVrLWljb25uYXYgPiAqID4gOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogQWN0aXZlICovXG4udWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogTW9kaWZpZXI6ICd1ay1pY29ubmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cbi51ay1pY29ubmF2LXZlcnRpY2FsIHtcbiAgLyogMSAqL1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvKiAyICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuXG4vKiAyICovXG4udWstaWNvbm5hdi12ZXJ0aWNhbCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBOb3RpZmljYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gRGltZW5zaW9uc1xuICovXG4udWstbm90aWZpY2F0aW9uIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogMTBweDtcbiAgei1pbmRleDogMTA0MDtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMzUwcHg7IH1cblxuLyogUG9zaXRpb24gbW9kaWZpZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMHB4OyB9XG5cbi51ay1ub3RpZmljYXRpb24tdG9wLWNlbnRlcixcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlciB7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0xNzVweDsgfVxuXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1sZWZ0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMTBweDsgfVxuXG4vKiBSZXNwb25zaXZlbmVzc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBob25lcyBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC51ay1ub3RpZmljYXRpb24ge1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwOyB9IH1cblxuLyogTWVzc2FnZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbm90aWZpY2F0aW9uLWNsb3NlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAxNXB4OyB9XG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZTpob3ZlciAudWstbm90aWZpY2F0aW9uLWNsb3NlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmltYXJ5XG4gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5IHtcbiAgY29sb3I6ICNlMzFlMjQ7IH1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzMyZDI5NjsgfVxuXG4vKlxuICogV2FybmluZ1xuICovXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZyB7XG4gIGNvbG9yOiAjZmFhMDVhOyB9XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlciB7XG4gIGNvbG9yOiAjZjA1MDZlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUb29sdGlwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFBvc2l0aW9uXG4gKiAzLiBEaW1lbnNpb25zXG4gKiA0LiBTdHlsZVxuICovXG4udWstdG9vbHRpcCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMzA7XG4gIC8qIDMgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZzogM3B4IDZweDtcbiAgLyogNCAqL1xuICBiYWNrZ3JvdW5kOiAjNjY2O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEycHg7IH1cblxuLyogU2hvdyAqL1xuLnVrLXRvb2x0aXAudWstYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLXRvb2x0aXAtdG9wJ10ge1xuICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuXG5bY2xhc3MqPSd1ay10b29sdGlwLWJvdHRvbSddIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG5bY2xhc3MqPSd1ay10b29sdGlwLWxlZnQnXSB7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuXG5bY2xhc3MqPSd1ay10b29sdGlwLXJpZ2h0J10ge1xuICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGxhY2Vob2xkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXBsYWNlaG9sZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZzogMzBweCAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4OyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1wbGFjZWhvbGRlciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstcGxhY2Vob2xkZXIgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByb2dyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogMi4gQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAzLiBSZW1vdmUgYm9yZGVycyBpbiBGaXJlZm94IGFuZCBFZGdlXG4gKiA0LiBTZXQgYmFja2dyb3VuZCBjb2xvciBmb3IgcHJvZ3Jlc3MgY29udGFpbmVyIGluIEZpcmVmb3gsIElFMTEgYW5kIEVkZ2VcbiAqIDUuIFN0eWxlXG4gKi9cbi51ay1wcm9ncmVzcyB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiAzICovXG4gIGJvcmRlcjogMDtcbiAgLyogNCAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAvKiA1ICovXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGhlaWdodDogMTVweDsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcHJvZ3Jlc3Mge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qXG4gKiBSZW1vdmUgYW5pbWF0ZWQgY2lyY2xlcyBmb3IgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBpbiBJRTExIGFuZCBFZGdlXG4gKi9cbi51ay1wcm9ncmVzczppbmRldGVybWluYXRlIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qXG4gKiBQcm9ncmVzcyBjb250YWluZXJcbiAqIDIuIFJlbW92ZSBwcm9ncmVzcyBiYXIgZm9yIGluZGV0ZXJtaW5hdGUgc3RhdGUgaW4gRmlyZWZveFxuICovXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsgfVxuXG4vKiAyICovXG4udWstcHJvZ3Jlc3M6aW5kZXRlcm1pbmF0ZTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICB3aWR0aDogMDsgfVxuXG4vKlxuICogUHJvZ3Jlc3MgYmFyXG4gKiAxLiBSZW1vdmUgcmlnaHQgYm9yZGVyIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuLnVrLXByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UzMWUyNDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlOyB9XG5cbi51ay1wcm9ncmVzczo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTMxZTI0OyB9XG5cbi51ay1wcm9ncmVzczo6LW1zLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTMxZTI0O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gIC8qIDEgKi9cbiAgYm9yZGVyOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTb3J0YWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc29ydGFibGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLypcbiAqIERlYWN0aXZhdGUgYnJvd3NlciB0b3VjaCBhY3Rpb25zIGluIElFMTFcbiAqL1xuLnVrLXNvcnRhYmxlID4gKiB7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4vKlxuICogRGVhY3RpdmF0ZSBwb2ludGVyLWV2ZW50cyBvbiBTVkdzIGluIFNhZmFyaVxuICovXG4udWstc29ydGFibGUgc3ZnIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstc29ydGFibGUgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogRHJhZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc29ydGFibGUtZHJhZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAxMDUwICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qIFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zb3J0YWJsZS1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLyogRW1wdHkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNvcnRhYmxlLWVtcHR5IHtcbiAgbWluLWhlaWdodDogNTBweDsgfVxuXG4vKiBIYW5kbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSG92ZXIgKi9cbi51ay1zb3J0YWJsZS1oYW5kbGU6aG92ZXIge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvdW50ZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDZW50ZXIgbnVtYmVycyBhbmQgc2VwYXJhdG9ycyB2ZXJ0aWNhbGx5XG4gKi9cbi51ay1jb3VudGRvd24tbnVtYmVyLFxuLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiA3MHB4OyB9XG5cbi8qIE51bWJlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY291bnRkb3duLW51bWJlciB7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1jb3VudGRvd24tbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDRyZW07IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstY291bnRkb3duLW51bWJlciB7XG4gICAgZm9udC1zaXplOiA2cmVtOyB9IH1cblxuLyogU2VwYXJhdG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICBmb250LXNpemU6IDNyZW07IH0gfVxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQW5pbWF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbltjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLyogRGlyZWN0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hbmltYXRpb24tcmV2ZXJzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbi8qIEFuaW1hdGlvbnMgZm9yIHNjcm9sbHNweVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRmFkZVxuICovXG4udWstYW5pbWF0aW9uLWZhZGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlO1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuOHM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC44cztcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxuXG4vKlxuICogU2NhbGVcbiAqL1xuLnVrLWFuaW1hdGlvbi1zY2FsZS11cCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMDI7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTAyOyB9XG5cbi51ay1hbmltYXRpb24tc2NhbGUtZG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMTg7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTE4OyB9XG5cbi8qXG4gKiBTbGlkZVxuICovXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wO1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3A7IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdDsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQ7IH1cblxuLypcbiAqIFNsaWRlIFNtYWxsXG4gKi9cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLXNtYWxsIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS10b3Atc21hbGw7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1zbWFsbDsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1zbWFsbCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLXNtYWxsO1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tc21hbGw7IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LXNtYWxsO1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LXNtYWxsOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtc21hbGwge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LXNtYWxsO1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1zbWFsbDsgfVxuXG4vKlxuICogU2xpZGUgTWVkaXVtXG4gKi9cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLW1lZGl1bSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLW1lZGl1bTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLW1lZGl1bTsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1tZWRpdW07XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1tZWRpdW07IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1tZWRpdW07XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtbWVkaXVtOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1tZWRpdW07XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LW1lZGl1bTsgfVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuLnVrLWFuaW1hdGlvbi1rZW5idXJucyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLXNjYWxlLWtlbmJ1cm5zO1xuICBhbmltYXRpb24tbmFtZTogdWstc2NhbGUta2VuYnVybnM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxNXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTVzOyB9XG5cbi8qXG4gKiBTaGFrZVxuICovXG4udWstYW5pbWF0aW9uLXNoYWtlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1zaGFrZTsgfVxuXG4vKiBEdXJhdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYW5pbWF0aW9uLWZhc3Qge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4xcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFzOyB9XG5cbi8qIEVuYWJsZSBhbmltYXRpb24gb25seSBvbiBob3ZlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBOb3RlOiBGaXJlZm94IGFuZCBJRSBuZWVkcyB0aGlzIGJlY2F1c2UgYW5pbWF0aW9ucyBhcmUgbm90IHRyaWdnZXJlZCB3aGVuIHN3aXRjaGluZyBiZXR3ZWVuIGRpc3BsYXkgYG5vbmVgIGFuZCBgYmxvY2tgXG4gKi9cbi51ay1hbmltYXRpb24tdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCgudWstaG92ZXIpIFtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IG5vbmU7XG4gIGFuaW1hdGlvbi1uYW1lOiBub25lOyB9XG5cbi8qIEtleWZyYW1lcyB1c2VkIGJ5IGFuaW1hdGlvbiBjbGFzc2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBGYWRlXG4gKi9cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgdWstZmFkZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4vKlxuICogU2xpZGUgVG9wXG4gKi9cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLXRvcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgQm90dG9tXG4gKi9cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIExlZnRcbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtbGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIFJpZ2h0XG4gKi9cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBUb3AgU21hbGxcbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtdG9wLXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBCb3R0b20gU21hbGxcbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgTGVmdCBTbWFsbFxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1sZWZ0LXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1zbWFsbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgUmlnaHQgU21hbGxcbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIFRvcCBNZWRpdW1cbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtdG9wLW1lZGl1bSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcC1tZWRpdW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIEJvdHRvbSBNZWRpdW1cbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLW1lZGl1bSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLW1lZGl1bSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IE1lZGl1bVxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1sZWZ0LW1lZGl1bSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtbWVkaXVtIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBNZWRpdW1cbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtbWVkaXVtIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodC1tZWRpdW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4vKlxuICogU2NhbGUgVXBcbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMDIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0wMiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4vKlxuICogU2NhbGUgRG93blxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0xOCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTE4IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstc2NhbGUta2VuYnVybnMge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9IH1cblxuQGtleWZyYW1lcyB1ay1zY2FsZS1rZW5idXJucyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfSB9XG5cbi8qXG4gKiBTaGFrZVxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstc2hha2Uge1xuICAwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOXB4KTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtN3B4KTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgdWstc2hha2Uge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05cHgpOyB9XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTdweCk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCk7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogV2lkdGhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRXF1YWwgY2hpbGQgd2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbltjbGFzcyo9J3VrLWNoaWxkLXdpZHRoJ10gPiAqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnVrLWNoaWxkLXdpZHRoLTEtMiA+ICoge1xuICB3aWR0aDogNTAlOyB9XG5cbi51ay1jaGlsZC13aWR0aC0xLTMgPiAqIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cblxuLnVrLWNoaWxkLXdpZHRoLTEtNCA+ICoge1xuICB3aWR0aDogMjUlOyB9XG5cbi51ay1jaGlsZC13aWR0aC0xLTUgPiAqIHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4udWstY2hpbGQtd2lkdGgtMS02ID4gKiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG5cbi51ay1jaGlsZC13aWR0aC1hdXRvID4gKiB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi8qXG4gKiAgICBJbnN0ZWFkIG9mIDAsIDFweCBpcyBuZWVkZWQgdG8gbWFrZSBjZWxsIHdyYXAgaW50byBuZXh0IHJvdyBpZiBwcmVkZWNlc3NvciBpcyAxMDAlIHdpZGVcbiAqICAgIGFuZCB0aGUgZ3JpZCBndXR0ZXIgaXMgMCBwaXhlbHMgd2lkZVxuICovXG4udWstY2hpbGQtd2lkdGgtZXhwYW5kID4gKiB7XG4gIHdpZHRoOiAxcHg7IH1cblxuLypcbiAqIDEuIE1ha2UgYHdpZHRoOiAxcHhgIHdvcmssIGJlY2F1c2UgYWNjb3JkaW5nIHRvIHRoZSBzcGVjIGZsZXggaXRlbXMgd29u4oCZdCBzaHJpbmtcbiAqICAgIGJlbG93IHRoZWlyIG1pbmltdW0gY29udGVudCBzaXplLiBUbyBjaGFuZ2UgdGhpcywgc2V0IHRoZSBtaW4td2lkdGguXG4gKiAgICBPbmx5IG5lZWRlZCBmb3IgRmlyZWZveC4gQWxsIG90aGVyIGJyb3dzZXJzIGlnbm9yZSB0aGlzLlxuICpcbiAqIDIuIGB3aWR0aGAgaXMgaWdub3JlZCB3aGVuIHdyYXBwaW5nIGZsZXggaXRlbXMgaW4gU2FmYXJpXG4gKiAgICBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzIzExLW1pbi1hbmQtbWF4LXNpemUtZGVjbGFyYXRpb25zLWFyZS1pZ25vcmVkLXdoZW4td3JhcHBpbmctZmxleC1pdGVtc1xuICovXG4udWstY2hpbGQtd2lkdGgtZXhwYW5kID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gIC1tcy1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDE7XG4gIGZsZXg6IDE7XG4gIC8qIDEgKi9cbiAgbWluLXdpZHRoOiAwO1xuICAvKiAyICovXG4gIGZsZXgtYmFzaXM6IDFweDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1jaGlsZC13aWR0aC0xLTFcXEBzID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHMgPiAqIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEBzID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHMgPiAqIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTVcXEBzID4gKiB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAcyA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAcyA+ICoge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBzID4gKiB7XG4gICAgd2lkdGg6IDFweDsgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAcyA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIC1tcy1mbGV4OiAxO1xuICAgIC13ZWJraXQtZmxleDogMTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4LWJhc2lzOiAxcHg7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbSA+ICoge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTJcXEBtID4gKiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbSA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTRcXEBtID4gKiB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS01XFxAbSA+ICoge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQG0gPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQG0gPiAqIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbSA+ICoge1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQG0gPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAtbXMtZmxleDogMTtcbiAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleC1iYXNpczogMXB4OyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jaGlsZC13aWR0aC0xLTFcXEBsID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQGwgPiAqIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEBsID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQGwgPiAqIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTVcXEBsID4gKiB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAbCA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbCA+ICoge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBsID4gKiB7XG4gICAgd2lkdGg6IDFweDsgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIC1tcy1mbGV4OiAxO1xuICAgIC13ZWJraXQtZmxleDogMTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4LWJhc2lzOiAxcHg7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstY2hpbGQtd2lkdGgtMS0xXFxAeGwgPiAqIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS0yXFxAeGwgPiAqIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEB4bCA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTRcXEB4bCA+ICoge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHhsID4gKiB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAeGwgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHhsID4gKiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHhsID4gKiB7XG4gICAgd2lkdGg6IDFweDsgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAeGwgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAtbXMtZmxleDogMTtcbiAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleC1iYXNpczogMXB4OyB9IH1cblxuLyogU2luZ2xlIFdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gYG1heC13aWR0aGAgaXMgbmVlZGVkIGZvciB0aGUgcGl4ZWwtYmFzZWQgY2xhc3Nlc1xuICovXG5bY2xhc3MqPSd1ay13aWR0aCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qIEhhbHZlcyAqL1xuLnVrLXdpZHRoLTEtMiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLyogVGhpcmRzICovXG4udWstd2lkdGgtMS0zIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cblxuLnVrLXdpZHRoLTItMyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKiAyIC8gMy4wMDEpOyB9XG5cbi8qIFF1YXJ0ZXJzICovXG4udWstd2lkdGgtMS00IHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4udWstd2lkdGgtMy00IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4vKiBGaWZ0aHMgKi9cbi51ay13aWR0aC0xLTUge1xuICB3aWR0aDogMjAlOyB9XG5cbi51ay13aWR0aC0yLTUge1xuICB3aWR0aDogNDAlOyB9XG5cbi51ay13aWR0aC0zLTUge1xuICB3aWR0aDogNjAlOyB9XG5cbi51ay13aWR0aC00LTUge1xuICB3aWR0aDogODAlOyB9XG5cbi8qIFNpeHRocyAqL1xuLnVrLXdpZHRoLTEtNiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG5cbi51ay13aWR0aC01LTYge1xuICB3aWR0aDogY2FsYygxMDAlICogNSAvIDYuMDAxKTsgfVxuXG4vKiBQaXhlbCAqL1xuLnVrLXdpZHRoLXNtYWxsIHtcbiAgd2lkdGg6IDE1MHB4OyB9XG5cbi51ay13aWR0aC1tZWRpdW0ge1xuICB3aWR0aDogMzAwcHg7IH1cblxuLnVrLXdpZHRoLWxhcmdlIHtcbiAgd2lkdGg6IDQ1MHB4OyB9XG5cbi51ay13aWR0aC14bGFyZ2Uge1xuICB3aWR0aDogNjAwcHg7IH1cblxuLnVrLXdpZHRoLXh4bGFyZ2Uge1xuICB3aWR0aDogNzUwcHg7IH1cblxuLyogQXV0byAqL1xuLnVrLXdpZHRoLWF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4vKiBFeHBhbmQgKi9cbi51ay13aWR0aC1leHBhbmQge1xuICB3aWR0aDogMXB4O1xuICAtbXMtZmxleDogMTtcbiAgLXdlYmtpdC1mbGV4OiAxO1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGZsZXgtYmFzaXM6IDFweDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC8qIFdob2xlICovXG4gIC51ay13aWR0aC0xLTFcXEBzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBIYWx2ZXMgKi9cbiAgLnVrLXdpZHRoLTEtMlxcQHMge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogVGhpcmRzICovXG4gIC51ay13aWR0aC0xLTNcXEBzIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuICAudWstd2lkdGgtMi0zXFxAcyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDIgLyAzLjAwMSk7IH1cbiAgLyogUXVhcnRlcnMgKi9cbiAgLnVrLXdpZHRoLTEtNFxcQHMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLXdpZHRoLTMtNFxcQHMge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogRmlmdGhzICovXG4gIC51ay13aWR0aC0xLTVcXEBzIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC51ay13aWR0aC0yLTVcXEBzIHtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC51ay13aWR0aC0zLTVcXEBzIHtcbiAgICB3aWR0aDogNjAlOyB9XG4gIC51ay13aWR0aC00LTVcXEBzIHtcbiAgICB3aWR0aDogODAlOyB9XG4gIC8qIFNpeHRocyAqL1xuICAudWstd2lkdGgtMS02XFxAcyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cbiAgLnVrLXdpZHRoLTUtNlxcQHMge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiA1IC8gNi4wMDEpOyB9XG4gIC8qIFBpeGVsICovXG4gIC51ay13aWR0aC1zbWFsbFxcQHMge1xuICAgIHdpZHRoOiAxNTBweDsgfVxuICAudWstd2lkdGgtbWVkaXVtXFxAcyB7XG4gICAgd2lkdGg6IDMwMHB4OyB9XG4gIC51ay13aWR0aC1sYXJnZVxcQHMge1xuICAgIHdpZHRoOiA0NTBweDsgfVxuICAudWstd2lkdGgteGxhcmdlXFxAcyB7XG4gICAgd2lkdGg6IDYwMHB4OyB9XG4gIC51ay13aWR0aC14eGxhcmdlXFxAcyB7XG4gICAgd2lkdGg6IDc1MHB4OyB9XG4gIC8qIEF1dG8gKi9cbiAgLnVrLXdpZHRoLWF1dG9cXEBzIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAvKiBFeHBhbmQgKi9cbiAgLnVrLXdpZHRoLWV4cGFuZFxcQHMge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgLW1zLWZsZXg6IDE7XG4gICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXgtYmFzaXM6IDFweDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC8qIFdob2xlICovXG4gIC51ay13aWR0aC0xLTFcXEBtIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBIYWx2ZXMgKi9cbiAgLnVrLXdpZHRoLTEtMlxcQG0ge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogVGhpcmRzICovXG4gIC51ay13aWR0aC0xLTNcXEBtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuICAudWstd2lkdGgtMi0zXFxAbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDIgLyAzLjAwMSk7IH1cbiAgLyogUXVhcnRlcnMgKi9cbiAgLnVrLXdpZHRoLTEtNFxcQG0ge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLXdpZHRoLTMtNFxcQG0ge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogRmlmdGhzICovXG4gIC51ay13aWR0aC0xLTVcXEBtIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC51ay13aWR0aC0yLTVcXEBtIHtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC51ay13aWR0aC0zLTVcXEBtIHtcbiAgICB3aWR0aDogNjAlOyB9XG4gIC51ay13aWR0aC00LTVcXEBtIHtcbiAgICB3aWR0aDogODAlOyB9XG4gIC8qIFNpeHRocyAqL1xuICAudWstd2lkdGgtMS02XFxAbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cbiAgLnVrLXdpZHRoLTUtNlxcQG0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiA1IC8gNi4wMDEpOyB9XG4gIC8qIFBpeGVsICovXG4gIC51ay13aWR0aC1zbWFsbFxcQG0ge1xuICAgIHdpZHRoOiAxNTBweDsgfVxuICAudWstd2lkdGgtbWVkaXVtXFxAbSB7XG4gICAgd2lkdGg6IDMwMHB4OyB9XG4gIC51ay13aWR0aC1sYXJnZVxcQG0ge1xuICAgIHdpZHRoOiA0NTBweDsgfVxuICAudWstd2lkdGgteGxhcmdlXFxAbSB7XG4gICAgd2lkdGg6IDYwMHB4OyB9XG4gIC51ay13aWR0aC14eGxhcmdlXFxAbSB7XG4gICAgd2lkdGg6IDc1MHB4OyB9XG4gIC8qIEF1dG8gKi9cbiAgLnVrLXdpZHRoLWF1dG9cXEBtIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAvKiBFeHBhbmQgKi9cbiAgLnVrLXdpZHRoLWV4cGFuZFxcQG0ge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgLW1zLWZsZXg6IDE7XG4gICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXgtYmFzaXM6IDFweDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBXaG9sZSAqL1xuICAudWstd2lkdGgtMS0xXFxAbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogSGFsdmVzICovXG4gIC51ay13aWR0aC0xLTJcXEBsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC8qIFRoaXJkcyAqL1xuICAudWstd2lkdGgtMS0zXFxAbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLXdpZHRoLTItM1xcQGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAyIC8gMy4wMDEpOyB9XG4gIC8qIFF1YXJ0ZXJzICovXG4gIC51ay13aWR0aC0xLTRcXEBsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay13aWR0aC0zLTRcXEBsIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC8qIEZpZnRocyAqL1xuICAudWstd2lkdGgtMS01XFxAbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstd2lkdGgtMi01XFxAbCB7XG4gICAgd2lkdGg6IDQwJTsgfVxuICAudWstd2lkdGgtMy01XFxAbCB7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAudWstd2lkdGgtNC01XFxAbCB7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAvKiBTaXh0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNlxcQGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay13aWR0aC01LTZcXEBsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogNSAvIDYuMDAxKTsgfVxuICAvKiBQaXhlbCAqL1xuICAudWstd2lkdGgtc21hbGxcXEBsIHtcbiAgICB3aWR0aDogMTUwcHg7IH1cbiAgLnVrLXdpZHRoLW1lZGl1bVxcQGwge1xuICAgIHdpZHRoOiAzMDBweDsgfVxuICAudWstd2lkdGgtbGFyZ2VcXEBsIHtcbiAgICB3aWR0aDogNDUwcHg7IH1cbiAgLnVrLXdpZHRoLXhsYXJnZVxcQGwge1xuICAgIHdpZHRoOiA2MDBweDsgfVxuICAudWstd2lkdGgteHhsYXJnZVxcQGwge1xuICAgIHdpZHRoOiA3NTBweDsgfVxuICAvKiBBdXRvICovXG4gIC51ay13aWR0aC1hdXRvXFxAbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLyogRXhwYW5kICovXG4gIC51ay13aWR0aC1leHBhbmRcXEBsIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIC1tcy1mbGV4OiAxO1xuICAgIC13ZWJraXQtZmxleDogMTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4LWJhc2lzOiAxcHg7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAvKiBXaG9sZSAqL1xuICAudWstd2lkdGgtMS0xXFxAeGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIEhhbHZlcyAqL1xuICAudWstd2lkdGgtMS0yXFxAeGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogVGhpcmRzICovXG4gIC51ay13aWR0aC0xLTNcXEB4bCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLXdpZHRoLTItM1xcQHhsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMiAvIDMuMDAxKTsgfVxuICAvKiBRdWFydGVycyAqL1xuICAudWstd2lkdGgtMS00XFxAeGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLXdpZHRoLTMtNFxcQHhsIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC8qIEZpZnRocyAqL1xuICAudWstd2lkdGgtMS01XFxAeGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnVrLXdpZHRoLTItNVxcQHhsIHtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC51ay13aWR0aC0zLTVcXEB4bCB7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAudWstd2lkdGgtNC01XFxAeGwge1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLyogU2l4dGhzICovXG4gIC51ay13aWR0aC0xLTZcXEB4bCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cbiAgLnVrLXdpZHRoLTUtNlxcQHhsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogNSAvIDYuMDAxKTsgfVxuICAvKiBQaXhlbCAqL1xuICAudWstd2lkdGgtc21hbGxcXEB4bCB7XG4gICAgd2lkdGg6IDE1MHB4OyB9XG4gIC51ay13aWR0aC1tZWRpdW1cXEB4bCB7XG4gICAgd2lkdGg6IDMwMHB4OyB9XG4gIC51ay13aWR0aC1sYXJnZVxcQHhsIHtcbiAgICB3aWR0aDogNDUwcHg7IH1cbiAgLnVrLXdpZHRoLXhsYXJnZVxcQHhsIHtcbiAgICB3aWR0aDogNjAwcHg7IH1cbiAgLnVrLXdpZHRoLXh4bGFyZ2VcXEB4bCB7XG4gICAgd2lkdGg6IDc1MHB4OyB9XG4gIC8qIEF1dG8gKi9cbiAgLnVrLXdpZHRoLWF1dG9cXEB4bCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLyogRXhwYW5kICovXG4gIC51ay13aWR0aC1leHBhbmRcXEB4bCB7XG4gICAgd2lkdGg6IDFweDtcbiAgICAtbXMtZmxleDogMTtcbiAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleC1iYXNpczogMXB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LWxlYWQge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMzMzM7IH1cblxuLnVrLXRleHQtbWV0YSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LXNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4udWstdGV4dC1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi8qIFdlaWdodCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKiBUcmFuc2Zvcm0gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtbXV0ZWQge1xuICBjb2xvcjogIzk5OSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXByaW1hcnkge1xuICBjb2xvcjogI2UzMWUyNCAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXN1Y2Nlc3Mge1xuICBjb2xvcjogIzMyZDI5NiAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogI2ZhYTA1YSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWRhbmdlciB7XG4gIGNvbG9yOiAjZjA1MDZlICFpbXBvcnRhbnQ7IH1cblxuLyogQmFja2dyb3VuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gVGhlIGJhY2tncm91bmQgY2xpcHMgdG8gdGhlIGZvcmVncm91bmQgdGV4dC4gV29ya3MgaW4gQ2hyb21lLCBGaXJlZm94LCBTYWZhcmksIEVkZ2UgYW5kIE9wZXJhXG4gKiAgICBEZWZhdWx0IGNvbG9yIGlzIHNldCB0byB0cmFuc3BhcmVudFxuICogMi4gQ29udGFpbmVyIGZpdHMgdGhlIHRleHRcbiAqIDMuIEZhbGxiYWNrIGNvbG9yIGZvciBJRTExXG4gKi9cbi51ay10ZXh0LWJhY2tncm91bmQge1xuICAvKiAxICovXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAzICovXG4gIGNvbG9yOiAjZTMxZTI0ICFpbXBvcnRhbnQ7IH1cblxuQHN1cHBvcnRzICgtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCkge1xuICAudWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTMxZTI0OyB9IH1cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLXRleHQtbGVmdFxcQHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1yaWdodFxcQHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtY2VudGVyXFxAcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstdGV4dC1sZWZ0XFxAbSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LXJpZ2h0XFxAbSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1jZW50ZXJcXEBtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstdGV4dC1sZWZ0XFxAbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LXJpZ2h0XFxAbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1jZW50ZXJcXEBsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay10ZXh0LWxlZnRcXEB4bCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LXJpZ2h0XFxAeGwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtY2VudGVyXFxAeGwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuLypcbiAqIFZlcnRpY2FsXG4gKi9cbi51ay10ZXh0LXRvcCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWJhc2VsaW5lIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cblxuLyogV3JhcCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXNcbiAqL1xuLnVrLXRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKlxuICogMS4gTWFrZSBzdXJlIGEgbWF4LXdpZHRoIGlzIHNldCBhZnRlciB3aGljaCB0cnVuY2F0aW9uIGNhbiBvY2N1clxuICogMi4gUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lcywgYW5kIHRydW5jYXRlIHdpdGggYW4gZWxsaXBzaXNcbiAqIDMuIEZpeCBmb3IgdGFibGUgY2VsbHNcbiAqL1xuLnVrLXRleHQtdHJ1bmNhdGUge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiAyICovXG50aC51ay10ZXh0LXRydW5jYXRlLFxudGQudWstdGV4dC10cnVuY2F0ZSB7XG4gIG1heC13aWR0aDogMDsgfVxuXG4vKlxuICogMS4gV3JhcCBsb25nIHdvcmRzIG9udG8gdGhlIG5leHQgbGluZSBhbmQgYnJlYWsgdGhlbSBpZiB0aGV5IGFyZSB0b28gbG9uZyB0byBmaXRcbiAqIDIuIExlZ2FjeSBgd29yZC13cmFwYCBhcyBmYWxsYmFjayBmb3IgYG92ZXJmbG93LXdyYXBgXG4gKiAzLiBBZGQgYSBoeXBoZW4gd2hlcmUgdGhlIHdvcmQgYnJlYWtzXG4gKiA0LiBGaXggYG92ZXJmbG93LXdyYXBgIHdoaWNoIGRvZXNuJ3Qgd29yayB3aXRoIHRhYmxlIGNlbGxzIGluIENocm9tZSwgT3BlcmEsIElFMTEgYW5kIEVkZ2VcbiAqICAgIE11c3QgdXNlIGBicmVhay1hbGxgIHRvIHN1cHBvcnQgSUUxMSBhbmQgRWRnZVxuICovXG4udWstdGV4dC1icmVhayB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgLyogMiAqL1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvOyB9XG5cbi8qIDQgKi9cbnRoLnVrLXRleHQtYnJlYWssXG50ZC51ay10ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb2x1bW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuW2NsYXNzKj0ndWstY29sdW1uLSddIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAzMHB4O1xuICAtbW96LWNvbHVtbi1nYXA6IDMwcHg7XG4gIGNvbHVtbi1nYXA6IDMwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIFtjbGFzcyo9J3VrLWNvbHVtbi0nXSB7XG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA0MHB4O1xuICAgIC1tb3otY29sdW1uLWdhcDogNDBweDtcbiAgICBjb2x1bW4tZ2FwOiA0MHB4OyB9IH1cblxuLypcbiAqIEZpeCBpbWFnZSAxcHggbGluZSB3cmFwcGluZyBpbnRvIHRoZSBuZXh0IGNvbHVtbiBpbiBDaHJvbWVcbiAqL1xuW2NsYXNzKj0ndWstY29sdW1uLSddIGltZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gRG91YmxlIHRoZSBjb2x1bW4gZ2FwXG4gKi9cbi51ay1jb2x1bW4tZGl2aWRlciB7XG4gIC13ZWJraXQtY29sdW1uLXJ1bGU6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAtbW96LWNvbHVtbi1ydWxlOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgY29sdW1uLXJ1bGU6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAvKiAxICovXG4gIC13ZWJraXQtY29sdW1uLWdhcDogNjBweDtcbiAgLW1vei1jb2x1bW4tZ2FwOiA2MHB4O1xuICBjb2x1bW4tZ2FwOiA2MHB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY29sdW1uLWRpdmlkZXIge1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogODBweDtcbiAgICAtbW96LWNvbHVtbi1nYXA6IDgwcHg7XG4gICAgY29sdW1uLWdhcDogODBweDsgfSB9XG5cbi8qIFdpZHRoIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29sdW1uLTEtMiB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgY29sdW1uLWNvdW50OiAyOyB9XG5cbi51ay1jb2x1bW4tMS0zIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICBjb2x1bW4tY291bnQ6IDM7IH1cblxuLnVrLWNvbHVtbi0xLTQge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogNDtcbiAgLW1vei1jb2x1bW4tY291bnQ6IDQ7XG4gIGNvbHVtbi1jb3VudDogNDsgfVxuXG4udWstY29sdW1uLTEtNSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiA1O1xuICAtbW96LWNvbHVtbi1jb3VudDogNTtcbiAgY29sdW1uLWNvdW50OiA1OyB9XG5cbi51ay1jb2x1bW4tMS02IHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDY7XG4gIC1tb3otY29sdW1uLWNvdW50OiA2O1xuICBjb2x1bW4tY291bnQ6IDY7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudWstY29sdW1uLTEtMlxcQHMge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1jb3VudDogMjsgfVxuICAudWstY29sdW1uLTEtM1xcQHMge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgIGNvbHVtbi1jb3VudDogMzsgfVxuICAudWstY29sdW1uLTEtNFxcQHMge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA0O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA0O1xuICAgIGNvbHVtbi1jb3VudDogNDsgfVxuICAudWstY29sdW1uLTEtNVxcQHMge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA1O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICAgIGNvbHVtbi1jb3VudDogNTsgfVxuICAudWstY29sdW1uLTEtNlxcQHMge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA2O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA2O1xuICAgIGNvbHVtbi1jb3VudDogNjsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1jb2x1bW4tMS0yXFxAbSB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWNvdW50OiAyOyB9XG4gIC51ay1jb2x1bW4tMS0zXFxAbSB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWNvdW50OiAzOyB9XG4gIC51ay1jb2x1bW4tMS00XFxAbSB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDQ7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDQ7XG4gICAgY29sdW1uLWNvdW50OiA0OyB9XG4gIC51ay1jb2x1bW4tMS01XFxAbSB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDU7XG4gICAgY29sdW1uLWNvdW50OiA1OyB9XG4gIC51ay1jb2x1bW4tMS02XFxAbSB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDY7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDY7XG4gICAgY29sdW1uLWNvdW50OiA2OyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jb2x1bW4tMS0yXFxAbCB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWNvdW50OiAyOyB9XG4gIC51ay1jb2x1bW4tMS0zXFxAbCB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWNvdW50OiAzOyB9XG4gIC51ay1jb2x1bW4tMS00XFxAbCB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDQ7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDQ7XG4gICAgY29sdW1uLWNvdW50OiA0OyB9XG4gIC51ay1jb2x1bW4tMS01XFxAbCB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDU7XG4gICAgY29sdW1uLWNvdW50OiA1OyB9XG4gIC51ay1jb2x1bW4tMS02XFxAbCB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDY7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDY7XG4gICAgY29sdW1uLWNvdW50OiA2OyB9IH1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLnVrLWNvbHVtbi0xLTJcXEB4bCB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWNvdW50OiAyOyB9XG4gIC51ay1jb2x1bW4tMS0zXFxAeGwge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgIGNvbHVtbi1jb3VudDogMzsgfVxuICAudWstY29sdW1uLTEtNFxcQHhsIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNDtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgICBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgLnVrLWNvbHVtbi0xLTVcXEB4bCB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDU7XG4gICAgY29sdW1uLWNvdW50OiA1OyB9XG4gIC51ay1jb2x1bW4tMS02XFxAeGwge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA2O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA2O1xuICAgIGNvbHVtbi1jb3VudDogNjsgfSB9XG5cbi8qIE1ha2UgZWxlbWVudCBzcGFuIGFjcm9zcyBhbGwgY29sdW1uc1xuICogRG9lcyBub3Qgd29yayBpbiBGaXJlZm94IHlldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29sdW1uLXNwYW4ge1xuICAtd2Via2l0LWNvbHVtbi1zcGFuOiBhbGw7XG4gIC1tb3otY29sdW1uLXNwYW46IGFsbDtcbiAgY29sdW1uLXNwYW46IGFsbDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFdvcmtzIHdpdGggaWZyYW1lcyBhbmQgZW1iZWRkZWQgY29udGVudFxuICogMS4gUmVzZXQgcmVzcG9uc2l2ZW5lc3MgZm9yIGVtYmVkZGVkIGNvbnRlbnRcbiAqIDIuIENlbnRlciBvYmplY3RcbiAqIE5vdGU6IFBlcmNlbnQgdmFsdWVzIG9uIHRoZSBgdG9wYCBwcm9wZXJ0eSBvbmx5IHdvcmtzIGlmIHRoaXMgZWxlbWVudFxuICogICAgICAgaXMgYWJzb2x1dGUgcG9zaXRpb25lZCBvciBpZiB0aGUgY29udGFpbmVyIGhhcyBhIGhlaWdodFxuICovXG4udWstY292ZXIge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUGFyZW50IGNvbnRhaW5lciB3aGljaCBjbGlwcyByZXNpemVkIG9iamVjdFxuICogMi4gTmVlZGVkIGlmIHRoZSBjaGlsZCBpcyBwb3NpdGlvbmVkIGFic29sdXRlLiBTZWUgbm90ZSBhYm92ZVxuICovXG4udWstY292ZXItY29udGFpbmVyIHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFja2dyb3VuZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYmFja2dyb3VuZC1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4udWstYmFja2dyb3VuZC1tdXRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7IH1cblxuLnVrLWJhY2tncm91bmQtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMzFlMjQ7IH1cblxuLnVrLWJhY2tncm91bmQtc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmN2YxYTsgfVxuXG4vKiBTaXplXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1iYWNrZ3JvdW5kLWNvdmVyLFxuLnVrLWJhY2tncm91bmQtY29udGFpbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnVrLWJhY2tncm91bmQtY292ZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWNvbnRhaW4ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuLyogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJhY2tncm91bmQtdG9wLWxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cblxuLnVrLWJhY2tncm91bmQtdG9wLWNlbnRlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwOyB9XG5cbi51ay1iYWNrZ3JvdW5kLXRvcC1yaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDsgfVxuXG4udWstYmFja2dyb3VuZC1jZW50ZXItbGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1jZW50ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1yaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1sZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1jZW50ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTsgfVxuXG4udWstYmFja2dyb3VuZC1ib3R0b20tcmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7IH1cblxuLyogUmVwZWF0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1iYWNrZ3JvdW5kLW5vcmVwZWF0IHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4vKiBBdHRhY2htZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1iYWNrZ3JvdW5kLWZpeGVkIHtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsgfVxuXG4vKlxuICogRXhjbHVkZSB0b3VjaCBkZXZpY2VzIGJlY2F1c2UgYGZpeGVkYCBkb2Vzbid0IHdvcmsgb24gaU9TIGFuZCBBbmRyb2lkXG4gKi9cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gIC51ay1iYWNrZ3JvdW5kLWZpeGVkIHtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDsgfSB9XG5cbi8qIEltYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBob25lIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5NTlweCkge1xuICAudWstYmFja2dyb3VuZC1pbWFnZVxcQG0ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogMTU5OXB4KSB7XG4gIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAeGwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIEJsZW5kIG1vZGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLW11bHRpcGx5IHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1zY3JlZW4ge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNjcmVlbjsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRhcmtlbiB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogZGFya2VuOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWxpZ2h0ZW4ge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGxpZ2h0ZW47IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3ItZG9kZ2Uge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yLWJ1cm4ge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWJ1cm47IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtaGFyZC1saWdodCB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogaGFyZC1saWdodDsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1zb2Z0LWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRpZmZlcmVuY2Uge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtZXhjbHVzaW9uIHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBleGNsdXNpb247IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtaHVlIHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBodWU7IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtc2F0dXJhdGlvbiB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2F0dXJhdGlvbjsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3I7IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtbHVtaW5vc2l0eSB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWxpZ25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuW2NsYXNzKj0ndWstYWxpZ24nXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbiogKyBbY2xhc3MqPSd1ay1hbGlnbiddIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4vKlxuICogQ2VudGVyXG4gKi9cbi51ay1hbGlnbi1jZW50ZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi8qXG4gKiBMZWZ0L1JpZ2h0XG4gKi9cbi51ay1hbGlnbi1sZWZ0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICBmbG9hdDogbGVmdDsgfVxuXG4udWstYWxpZ24tcmlnaHQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWFsaWduLWxlZnRcXEBzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAudWstYWxpZ24tcmlnaHRcXEBzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1hbGlnbi1sZWZ0XFxAbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnVrLWFsaWduLXJpZ2h0XFxAbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWFsaWduLWxlZnRcXEBsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC51ay1hbGlnbi1yaWdodFxcQGwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC51ay1hbGlnbi1sZWZ0LFxuICAudWstYWxpZ24tbGVmdFxcQHMsXG4gIC51ay1hbGlnbi1sZWZ0XFxAbSxcbiAgLnVrLWFsaWduLWxlZnRcXEBsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cbiAgLnVrLWFsaWduLXJpZ2h0LFxuICAudWstYWxpZ24tcmlnaHRcXEBzLFxuICAudWstYWxpZ24tcmlnaHRcXEBtLFxuICAudWstYWxpZ24tcmlnaHRcXEBsIHtcbiAgICBtYXJnaW4tbGVmdDogNDBweDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay1hbGlnbi1sZWZ0XFxAeGwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC51ay1hbGlnbi1yaWdodFxcQHhsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBhbmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wYW5lbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLXBhbmVsOjpiZWZvcmUsXG4udWstcGFuZWw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLnVrLXBhbmVsOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLXBhbmVsID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBTY3JvbGxhYmxlXG4gKi9cbi51ay1wYW5lbC1zY3JvbGxhYmxlIHtcbiAgaGVpZ2h0OiAxNzBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgcmVzaXplOiBib3RoOyB9XG5cbi8qIENsZWFyZml4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBgdGFibGUtY2VsbGAgaXMgdXNlZCB3aXRoIGA6OmJlZm9yZWAgYmVjYXVzZSBgdGFibGVgIGNyZWF0ZXMgYSAxcHggZ2FwIHdoZW4gaXQgYmVjb21lcyBhIGZsZXggaXRlbSwgb25seSBpbiBXZWJraXRcbiAqIDIuIGB0YWJsZWAgaXMgdXNlZCBhZ2FpbiB3aXRoIGA6OmFmdGVyYCBiZWNhdXNlIGBjbGVhcmAgb25seSB3b3JrcyB3aXRoIGJsb2NrIGVsZW1lbnRzLlxuICogTm90ZTogYGRpc3BsYXk6IGJsb2NrYCB3aXRoIGBvdmVyZmxvdzogaGlkZGVuYCBpcyBjdXJyZW50bHkgbm90IHdvcmtpbmcgaW4gdGhlIGxhdGVzdCBTYWZhcmlcbiAqL1xuLyogMSAqL1xuLnVrLWNsZWFyZml4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbi8qIDIgKi9cbi51ay1jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLyogRmxvYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICovXG4udWstZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi51ay1mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4vKiAxICovXG5bY2xhc3MqPSd1ay1mbG9hdC0nXSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiBPdmVyZm93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFbmFibGUgc2Nyb2xsYmFycyBpZiBjb250ZW50IGlzIGNsaXBwZWRcbiAqL1xuLnVrLW92ZXJmbG93LWF1dG8ge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi51ay1vdmVyZmxvdy1hdXRvID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFJlc2l6ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcmVzaXplIHtcbiAgcmVzaXplOiBib3RoOyB9XG5cbi51ay1yZXNpemUtdmVydGljYWwge1xuICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbi8qIERpc3BsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWRpc3BsYXktYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi51ay1kaXNwbGF5LWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG5cbi51ay1kaXNwbGF5LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cbi8qIElubGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKiA1LiBGb3JjZSBoYXJkd2FyZSBhY2NlbGVyYXRpb24gd2l0aG91dCBjcmVhdGluZyBhIG5ldyBzdGFja2luZyBjb250ZXh0XG4gKiAgICB0byBmaXggMXB4IGdsaXRjaCB3aGVuIGNvbWJpbmVkIHdpdGggb3ZlcmxheXMgYW5kIHRyYW5zaXRpb25zIGluIFdlYmtpdFxuICogNi4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICovXG5bY2xhc3MqPSd1ay1pbmxpbmUnXSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMyAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDQgKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogNSAqL1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udWstaW5saW5lLWNsaXAge1xuICAvKiA2ICovXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogSGVpZ2h0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbltjbGFzcyo9J3VrLWhlaWdodCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogT25seSB3b3JrcyBpZiBwYXJlbnQgZWxlbWVudCBoYXMgYSBoZWlnaHQgc2V0XG4gKi9cbi51ay1oZWlnaHQtMS0xIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qXG4gKiBVc2VmdWwgdG8gY3JlYXRlIGltYWdlIHRlYXNlcnNcbiAqL1xuLnVrLWhlaWdodC12aWV3cG9ydCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG5cbi8qXG4gKiBQaXhlbFxuICogVXNlZnVsIGZvciBgb3ZlcmZsb3c6IGF1dG9gXG4gKi9cbi51ay1oZWlnaHQtc21hbGwge1xuICBoZWlnaHQ6IDE1MHB4OyB9XG5cbi51ay1oZWlnaHQtbWVkaXVtIHtcbiAgaGVpZ2h0OiAzMDBweDsgfVxuXG4udWstaGVpZ2h0LWxhcmdlIHtcbiAgaGVpZ2h0OiA0NTBweDsgfVxuXG4udWstaGVpZ2h0LW1heC1zbWFsbCB7XG4gIG1heC1oZWlnaHQ6IDE1MHB4OyB9XG5cbi51ay1oZWlnaHQtbWF4LW1lZGl1bSB7XG4gIG1heC1oZWlnaHQ6IDMwMHB4OyB9XG5cbi51ay1oZWlnaHQtbWF4LWxhcmdlIHtcbiAgbWF4LWhlaWdodDogNDUwcHg7IH1cblxuLyogUmVzcG9uc2l2ZSBvYmplY3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmVzZXJ2ZSBvcmlnaW5hbCBkaW1lbnNpb25zXG4gKiBCZWNhdXNlIGBpbWcsIGB2aWRlb2AsIGBjYW52YXNgIGFuZCAgYGF1ZGlvYCBhcmUgYWxyZWFkeSByZXNwb25zaXZlIGJ5IGRlZmF1bHQsIHNlZSBCYXNlIGNvbXBvbmVudFxuICovXG4udWstcHJlc2VydmUtd2lkdGgsXG4udWstcHJlc2VydmUtd2lkdGggYXVkaW8sXG4udWstcHJlc2VydmUtd2lkdGggY2FudmFzLFxuLnVrLXByZXNlcnZlLXdpZHRoIGltZyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBzdmcsXG4udWstcHJlc2VydmUtd2lkdGggdmlkZW8ge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLypcbiAqIFJlc3BvbnNpdmVuZXNzXG4gKiBDb3JyZWN0cyBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZFxuICovXG4udWstcmVzcG9uc2l2ZS13aWR0aCxcbi51ay1yZXNwb25zaXZlLWhlaWdodCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLypcbiAqIDEuIFNldCBhIG1heGltdW0gd2lkdGguIGBpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVycmlkZSBgdWstcHJlc2VydmUtd2lkdGggaW1nYFxuICogMi4gQXV0byBzY2FsZSB0aGUgaGVpZ2h0LiBPbmx5IG5lZWRlZCBpZiBgaGVpZ2h0YCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICovXG4udWstcmVzcG9uc2l2ZS13aWR0aCB7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIC8qIDIgKi9cbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIGhlaWdodC4gT25seSB3b3JrcyBpZiB0aGUgcGFyZW50IGVsZW1lbnQgaGFzIGEgZml4ZWQgaGVpZ2h0XG4gKiAyLiBBdXRvIHNjYWxlIHRoZSB3aWR0aC4gT25seSBuZWVkZWQgaWYgYHdpZHRoYCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICogMy4gUmVzZXQgbWF4LXdpZHRoLCB3aGljaCBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYWxyZWFkeSBoYXZlIGJ5IGRlZmF1bHRcbiAqL1xuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHtcbiAgLyogMSAqL1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAvKiAyICovXG4gIHdpZHRoOiBhdXRvO1xuICAvKiAzICovXG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4vKiBCb3JkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJvcmRlci1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLnVrLWJvcmRlci1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi8qXG4gKiBGaXggYG92ZXJmbG93OiBoaWRkZW5gIHRvIGJlIGlnbm9yZWQgd2l0aCBib3JkZXItcmFkaXVzIGFuZCBDU1MgdHJhbnNmb3JtcyBpbiBXZWJraXRcbiAqL1xuLnVrLWlubGluZS1jbGlwW2NsYXNzKj0ndWstYm9yZGVyLSddIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cblxuLyogQm94LXNoYWRvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYm94LXNoYWRvdy1zbWFsbCB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDgpOyB9XG5cbi51ay1ib3gtc2hhZG93LW1lZGl1bSB7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjA4KTsgfVxuXG4udWstYm94LXNoYWRvdy1sYXJnZSB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cblxuLnVrLWJveC1zaGFkb3cteGxhcmdlIHtcbiAgYm94LXNoYWRvdzogMCAyOHB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjE2KTsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuW2NsYXNzKj0ndWstYm94LXNoYWRvdy1ob3ZlciddIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLWluLW91dDsgfVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci1zbWFsbDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDgpOyB9XG5cbi51ay1ib3gtc2hhZG93LWhvdmVyLW1lZGl1bTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjA4KTsgfVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci1sYXJnZTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cblxuLnVrLWJveC1zaGFkb3ctaG92ZXIteGxhcmdlOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAyOHB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjE2KTsgfVxuXG4vKiBCb3gtc2hhZG93IGJvdHRvbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uLlxuICogMi4gU2V0IHN0eWxlXG4gKiAzLiBCbHVyIGRvZXNuJ3Qgd29yayBvbiBwc2V1ZG8gZWxlbWVudHMgd2l0aCBuZWdhdGl2ZSBgei1pbmRleGAgaW4gRWRnZS5cbiAqICAgIFNvbHZlZCBieSB1c2luZyBgYmVmb3JlYCBhbmQgYWRkIHBvc2l0aW9uIGNvbnRleHQgdG8gY2hpbGQgZWxlbWVudHMuXG4gKi9cbkBzdXBwb3J0cyAoZmlsdGVyOiBibHVyKDApKSBvciAoLXdlYmtpdC1maWx0ZXI6IGJsdXIoMCkpIHtcbiAgLnVrLWJveC1zaGFkb3ctYm90dG9tIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC51ay1ib3gtc2hhZG93LWJvdHRvbTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTMwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzQ0NDtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cigyMHB4KTtcbiAgICBmaWx0ZXI6IGJsdXIoMjBweCk7IH1cbiAgLyogMyAqL1xuICAudWstYm94LXNoYWRvdy1ib3R0b20gPiAqIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG4vKiBEcm9wIGNhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDQuNWVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4vKiBMZWFkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxlYWRlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIDEuIFBsYWNlIGVsZW1lbnQgaW4gdGV4dCBmbG93XG4gKiAyLiBOZXZlciBicmVhayBpbnRvIGEgbmV3IGxpbmVcbiAqIDMuIEdldCBhIHN0cmluZyBiYWNrIHdpdGggYXMgbWFueSByZXBlYXRpbmcgY2hhcmFjdGVycyB0byBmaWxsIHRoZSBjb250YWluZXJcbiAqIDQuIFByZXZlbnQgd3JhcHBpbmcuIE92ZXJmbG93aW5nIGNoYXJhY3RlcnMgd2lsbCBiZSBjbGlwcGVkIGJ5IHRoZSBjb250YWluZXJcbiAqL1xuLnVrLWxlYWRlci1maWxsOjphZnRlciB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgLyogMiAqL1xuICB3aWR0aDogMDtcbiAgLyogMyAqL1xuICBjb250ZW50OiBhdHRyKGRhdGEtZmlsbCk7XG4gIC8qIDQgKi9cbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKlxuICogSGlkZSBpZiBtZWRpYSBkb2VzIG5vdCBtYXRjaFxuICovXG4udWstbGVhZGVyLWZpbGwudWstbGVhZGVyLWhpZGU6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBQYXNzIGZpbGwgY2hhcmFjdGVyIHRvIEpTICovXG4udmFyLWxlYWRlci1maWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiLlwiOyB9XG5cbi8qIExvZ29cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuLnVrLWxvZ28ge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFJhbGV3YXksIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjNjY2O1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbG9nbzpob3Zlcixcbi51ay1sb2dvOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi51ay1sb2dvLWludmVyc2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMi4gU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKiAzLiBGaXggZm9yIHVwcGVyY2FzZSBhdHRyaWJ1dGUgbmFtZXMgaW4gRWRnZS4gV2lsbCBiZSBmaXhlZCBpbiBXaW5kb3dzIDEwIGJ1aWxkcyAxNjI1MStcbiAqL1xuLyogMSAqL1xuLnVrLXN2Zyxcbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSksXG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtGSUxMKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHtcbiAgZmlsbDogY3VycmVudGNvbG9yOyB9XG5cbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW3N0cm9rZSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSxcbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW1NUUk9LRSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7XG4gIHN0cm9rZTogY3VycmVudGNvbG9yOyB9XG5cbi8qXG4gKiBGaXggRmlyZWZveCBibHVycnkgU1ZHIHJlbmRlcmluZzogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgzNVxuICovXG4udWstc3ZnIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLyogRGlzYWJsZWQgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyogRHJhZyBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gTmVlZGVkIGlmIG1vdmluZyBvdmVyIGVsZW1lbnRzIHdpdGggaGF2ZSB0aGVpciBvd24gY3Vyc29yIG9uIGhvdmVyLCBlLmcuIGxpbmtzIG9yIGJ1dHRvbnNcbiAqIDIuIEZpeCBkcmFnZ2luZyBvdmVyIGlmcmFtZXNcbiAqL1xuLnVrLWRyYWcsXG4udWstZHJhZyAqIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIDIgKi9cbi51ay1kcmFnIGlmcmFtZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qIERyYWdvdmVyIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBDcmVhdGUgYSBib3gtc2hhZG93IHdoZW4gZHJhZ2dpbmcgYSBmaWxlIG92ZXIgdGhlIHVwbG9hZCBhcmVhXG4gKi9cbi51ay1kcmFnb3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC4zKTsgfVxuXG4vKiBCbGVuZCBtb2Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYmxlbmQtbXVsdGlwbHkge1xuICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cblxuLnVrLWJsZW5kLXNjcmVlbiB7XG4gIG1peC1ibGVuZC1tb2RlOiBzY3JlZW47IH1cblxuLnVrLWJsZW5kLW92ZXJsYXkge1xuICBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTsgfVxuXG4udWstYmxlbmQtZGFya2VuIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuXG4udWstYmxlbmQtbGlnaHRlbiB7XG4gIG1peC1ibGVuZC1tb2RlOiBsaWdodGVuOyB9XG5cbi51ay1ibGVuZC1jb2xvci1kb2RnZSB7XG4gIG1peC1ibGVuZC1tb2RlOiBjb2xvci1kb2RnZTsgfVxuXG4udWstYmxlbmQtY29sb3ItYnVybiB7XG4gIG1peC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG5cbi51ay1ibGVuZC1oYXJkLWxpZ2h0IHtcbiAgbWl4LWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7IH1cblxuLnVrLWJsZW5kLXNvZnQtbGlnaHQge1xuICBtaXgtYmxlbmQtbW9kZTogc29mdC1saWdodDsgfVxuXG4udWstYmxlbmQtZGlmZmVyZW5jZSB7XG4gIG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG5cbi51ay1ibGVuZC1leGNsdXNpb24ge1xuICBtaXgtYmxlbmQtbW9kZTogZXhjbHVzaW9uOyB9XG5cbi51ay1ibGVuZC1odWUge1xuICBtaXgtYmxlbmQtbW9kZTogaHVlOyB9XG5cbi51ay1ibGVuZC1zYXR1cmF0aW9uIHtcbiAgbWl4LWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cblxuLnVrLWJsZW5kLWNvbG9yIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGNvbG9yOyB9XG5cbi51ay1ibGVuZC1sdW1pbm9zaXR5IHtcbiAgbWl4LWJsZW5kLW1vZGU6IGx1bWlub3NpdHk7IH1cblxuLyogVHJhbnNmb3JtXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRyYW5zZm9ybS1jZW50ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4vKiBUcmFuc2Zvcm0gT3JpZ2luXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLWxlZnQge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwOyB9XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1jZW50ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsgfVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtcmlnaHQge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOyB9XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWNlbnRlci1sZWZ0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7IH1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLXJpZ2h0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7IH1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLWxlZnQge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlOyB9XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1jZW50ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsgfVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tcmlnaHQge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGbGV4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1mbGV4IHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4udWstZmxleC1pbmxpbmUge1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi8qXG4gKiBSZW1vdmUgcHNldWRvIGVsZW1lbnRzIGNyZWF0ZWQgYnkgbWljcm8gY2xlYXJmaXggYXMgcHJlY2F1dGlvblxuICovXG4udWstZmxleDo6YmVmb3JlLFxuLnVrLWZsZXg6OmFmdGVyLFxuLnVrLWZsZXgtaW5saW5lOjpiZWZvcmUsXG4udWstZmxleC1pbmxpbmU6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBBbGlnbm1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFsaWduIGl0ZW1zIGFsb25nIHRoZSBtYWluIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogSG9yaXpvbnRhbFxuICovXG4udWstZmxleC1sZWZ0IHtcbiAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLnVrLWZsZXgtY2VudGVyIHtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4udWstZmxleC1yaWdodCB7XG4gIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi51ay1mbGV4LWJldHdlZW4ge1xuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi51ay1mbGV4LWFyb3VuZCB7XG4gIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWZsZXgtbGVmdFxcQHMge1xuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAudWstZmxleC1jZW50ZXJcXEBzIHtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAudWstZmxleC1yaWdodFxcQHMge1xuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAudWstZmxleC1iZXR3ZWVuXFxAcyB7XG4gICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLnVrLWZsZXgtYXJvdW5kXFxAcyB7XG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLWZsZXgtbGVmdFxcQG0ge1xuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAudWstZmxleC1jZW50ZXJcXEBtIHtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAudWstZmxleC1yaWdodFxcQG0ge1xuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAudWstZmxleC1iZXR3ZWVuXFxAbSB7XG4gICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLnVrLWZsZXgtYXJvdW5kXFxAbSB7XG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1mbGV4LWxlZnRcXEBsIHtcbiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnVrLWZsZXgtY2VudGVyXFxAbCB7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnVrLWZsZXgtcmlnaHRcXEBsIHtcbiAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLnVrLWZsZXgtYmV0d2VlblxcQGwge1xuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC51ay1mbGV4LWFyb3VuZFxcQGwge1xuICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay1mbGV4LWxlZnRcXEB4bCB7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC51ay1mbGV4LWNlbnRlclxcQHhsIHtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAudWstZmxleC1yaWdodFxcQHhsIHtcbiAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLnVrLWZsZXgtYmV0d2VlblxcQHhsIHtcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAudWstZmxleC1hcm91bmRcXEB4bCB7XG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cblxuLypcbiAqIEFsaWduIGl0ZW1zIGluIHRoZSBjcm9zcyBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IFZlcnRpY2FsXG4gKi9cbi51ay1mbGV4LXN0cmV0Y2gge1xuICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLnVrLWZsZXgtdG9wIHtcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4udWstZmxleC1taWRkbGUge1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLnVrLWZsZXgtYm90dG9tIHtcbiAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKiBEaXJlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWZsZXgtcm93IHtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4udWstZmxleC1yb3ctcmV2ZXJzZSB7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLnVrLWZsZXgtY29sdW1uIHtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4udWstZmxleC1jb2x1bW4tcmV2ZXJzZSB7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuLyogV3JhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZmxleC1ub3dyYXAge1xuICAtbXMtZmxleC13cmFwOiBub3dyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiBub3dyYXA7XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbi51ay1mbGV4LXdyYXAge1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi51ay1mbGV4LXdyYXAtcmV2ZXJzZSB7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTtcbiAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7IH1cblxuLypcbiAqIEFsaWducyBpdGVtcyB3aXRoaW4gdGhlIGZsZXggY29udGFpbmVyIHdoZW4gdGhlcmUgaXMgZXh0cmEgc3BhY2UgaW4gdGhlIGNyb3NzLWF4aXNcbiAqIE9ubHkgd29ya3MgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBsaW5lIG9mIGZsZXggaXRlbXNcbiAqL1xuLnVrLWZsZXgtd3JhcC1zdHJldGNoIHtcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdHJldGNoO1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7IH1cblxuLnVrLWZsZXgtd3JhcC10b3Age1xuICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLnVrLWZsZXgtd3JhcC1taWRkbGUge1xuICAtbXMtZmxleC1saW5lLXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4udWstZmxleC13cmFwLWJvdHRvbSB7XG4gIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kO1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4udWstZmxleC13cmFwLWJldHdlZW4ge1xuICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnk7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4udWstZmxleC13cmFwLWFyb3VuZCB7XG4gIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZTtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKiBJdGVtIG9yZGVyaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0IGlzIDBcbiAqL1xuLnVrLWZsZXgtZmlyc3Qge1xuICAtbXMtZmxleC1vcmRlcjogLTE7XG4gIC13ZWJraXQtb3JkZXI6IC0xO1xuICBvcmRlcjogLTE7IH1cblxuLnVrLWZsZXgtbGFzdCB7XG4gIC1tcy1mbGV4LW9yZGVyOiA5OTtcbiAgLXdlYmtpdC1vcmRlcjogOTk7XG4gIG9yZGVyOiA5OTsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1mbGV4LWZpcnN0XFxAcyB7XG4gICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xuICAgIC13ZWJraXQtb3JkZXI6IC0xO1xuICAgIG9yZGVyOiAtMTsgfVxuICAudWstZmxleC1sYXN0XFxAcyB7XG4gICAgLW1zLWZsZXgtb3JkZXI6IDk5O1xuICAgIC13ZWJraXQtb3JkZXI6IDk5O1xuICAgIG9yZGVyOiA5OTsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1mbGV4LWZpcnN0XFxAbSB7XG4gICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xuICAgIC13ZWJraXQtb3JkZXI6IC0xO1xuICAgIG9yZGVyOiAtMTsgfVxuICAudWstZmxleC1sYXN0XFxAbSB7XG4gICAgLW1zLWZsZXgtb3JkZXI6IDk5O1xuICAgIC13ZWJraXQtb3JkZXI6IDk5O1xuICAgIG9yZGVyOiA5OTsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstZmxleC1maXJzdFxcQGwge1xuICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcbiAgICAtd2Via2l0LW9yZGVyOiAtMTtcbiAgICBvcmRlcjogLTE7IH1cbiAgLnVrLWZsZXgtbGFzdFxcQGwge1xuICAgIC1tcy1mbGV4LW9yZGVyOiA5OTtcbiAgICAtd2Via2l0LW9yZGVyOiA5OTtcbiAgICBvcmRlcjogOTk7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstZmxleC1maXJzdFxcQHhsIHtcbiAgICAtbXMtZmxleC1vcmRlcjogLTE7XG4gICAgLXdlYmtpdC1vcmRlcjogLTE7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC51ay1mbGV4LWxhc3RcXEB4bCB7XG4gICAgLW1zLWZsZXgtb3JkZXI6IDk5O1xuICAgIC13ZWJraXQtb3JkZXI6IDk5O1xuICAgIG9yZGVyOiA5OTsgfSB9XG5cbi8qIEl0ZW0gZGltZW5zaW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSW5pdGlhbDogMCAxIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3NcbiAqL1xuLypcbiAqIE5vIEZsZXg6IDAgMCBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnNcbiAqL1xuLnVrLWZsZXgtbm9uZSB7XG4gIC1tcy1mbGV4OiBub25lO1xuICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gIGZsZXg6IG5vbmU7IH1cblxuLypcbiAqIFJlbGF0aXZlIEZsZXg6IDEgMSBhdXRvXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgY29uc2lkZXJpbmcgY29udGVudFxuICovXG4udWstZmxleC1hdXRvIHtcbiAgLW1zLWZsZXg6IGF1dG87XG4gIC13ZWJraXQtZmxleDogYXV0bztcbiAgZmxleDogYXV0bzsgfVxuXG4vKlxuICogQWJzb2x1dGUgRmxleDogMSAxIDAlXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGZsZXhcbiAqL1xuLnVrLWZsZXgtMSB7XG4gIC1tcy1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDE7XG4gIGZsZXg6IDE7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1hcmdpblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICovXG4udWstbWFyZ2luIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4qICsgLnVrLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMjBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDsgfVxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLXNtYWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4qICsgLnVrLW1hcmdpbi1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXNtYWxsLXRvcCB7XG4gIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXNtYWxsLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXNtYWxsLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDsgfVxuXG4vKiBNZWRpdW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1tZWRpdW0ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbiogKyAudWstbWFyZ2luLW1lZGl1bSB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS10b3Age1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1tZWRpdW0tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLWxlZnQge1xuICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1sYXJnZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuKiArIC51ay1tYXJnaW4tbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS10b3Age1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1tYXJnaW4tbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7IH1cbiAgKiArIC51ay1tYXJnaW4tbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWxhcmdlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogNzBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tbGFyZ2UtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogNzBweCAhaW1wb3J0YW50OyB9IH1cblxuLyogWExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4teGxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogNzBweDsgfVxuXG4qICsgLnVrLW1hcmdpbi14bGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHtcbiAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDcwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXhsYXJnZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXhsYXJnZS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogNzBweCAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstbWFyZ2luLXhsYXJnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTQwcHg7IH1cbiAgKiArIC51ay1tYXJnaW4teGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAxNDBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4teGxhcmdlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMTQwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLXhsYXJnZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMTQwcHggIWltcG9ydGFudDsgfSB9XG5cbi8qIFJlbW92ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLXJlbW92ZSB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLXRvcCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS12ZXJ0aWNhbCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLWFkamFjZW50ICsgKiB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4vKiBBdXRvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4tYXV0byB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by10b3Age1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1hdXRvLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1hdXRvLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1hdXRvLXZlcnRpY2FsIHtcbiAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBhZGRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXBhZGRpbmcge1xuICBwYWRkaW5nOiAzMHB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstcGFkZGluZyB7XG4gICAgcGFkZGluZzogNDBweDsgfSB9XG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wYWRkaW5nLXNtYWxsIHtcbiAgcGFkZGluZzogMTVweDsgfVxuXG4vKiBMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGFkZGluZy1sYXJnZSB7XG4gIHBhZGRpbmc6IDMwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1wYWRkaW5nLWxhcmdlIHtcbiAgICBwYWRkaW5nOiA3MHB4OyB9IH1cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wYWRkaW5nLXJlbW92ZSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4udWstcGFkZGluZy1yZW1vdmUtdG9wIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4udWstcGFkZGluZy1yZW1vdmUtYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4udWstcGFkZGluZy1yZW1vdmUtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4udWstcGFkZGluZy1yZW1vdmUtdmVydGljYWwge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1wYWRkaW5nLXJlbW92ZS1ob3Jpem9udGFsIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRGlyZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi10b3AnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWJvdHRvbSddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tcmlnaHQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlciddIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cblxuLyogRWRnZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRG9uJ3QgdXNlIGB3aWR0aDogMTAwJWAgYmVjYXVzZSBpdCBpcyB3cm9uZyBpZiB0aGUgcGFyZW50IGhhcyBwYWRkaW5nLiAqL1xuLnVrLXBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDsgfVxuXG4udWstcG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLyogQ29ybmVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcG9zaXRpb24tdG9wLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLXRvcC1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0IHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tcmlnaHQge1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi8qXG4gKiBDZW50ZXJcbiAqIDEuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIGNvbnRlbnQgaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBjb250YWluZXIgKE5vdCB3b3JraW5nIGluIEZpcmVmb3gpXG4gKiAyLiBGaXggdGV4dCB3cmFwcGluZyBmb3IgRmlyZWZveFxuICovXG4udWstcG9zaXRpb24tY2VudGVyIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQge1xuICBsZWZ0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQge1xuICByaWdodDogMDsgfVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQtb3V0IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBtYXgtY29udGVudDsgfVxuXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0LW91dCB7XG4gIGxlZnQ6IDEwMCU7XG4gIHdpZHRoOiBtYXgtY29udGVudDsgfVxuXG4vKiBIb3Jpem9udGFsICovXG4udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4udWstcG9zaXRpb24tdG9wLWNlbnRlciB7XG4gIHRvcDogMDsgfVxuXG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIGJvdHRvbTogMDsgfVxuXG4vKiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcG9zaXRpb24tY292ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4vKiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi16LWluZGV4IHtcbiAgei1pbmRleDogMTsgfVxuXG4vKiBNYXJnaW4gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFNtYWxsXG4gKi9cbi51ay1wb3NpdGlvbi1zbWFsbCB7XG4gIG1hcmdpbjogMTVweDsgfVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0xNXB4LCAtMTVweCk7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTE1cHgpOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtMTVweCk7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG4udWstcG9zaXRpb24tbWVkaXVtIHtcbiAgbWFyZ2luOiAzMHB4OyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0zMHB4LCAtMzBweCk7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tbWVkaXVtW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtMzBweCk7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG4udWstcG9zaXRpb24tbGFyZ2Uge1xuICBtYXJnaW46IDMwcHg7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtMzBweCwgLTMwcHgpOyB9XG5cbi51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0zMHB4KTsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstcG9zaXRpb24tbGFyZ2Uge1xuICAgIG1hcmdpbjogNTBweDsgfVxuICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tY2VudGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLTUwcHgsIC01MHB4KTsgfVxuICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTUwcHgpOyB9XG4gIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLTUwcHgpOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRyYW5zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFVzaW5nIG11bHRpcGxlIHNlbGVjdG9ycyB0byBleGNsdWRlIGB1ay10cmFuc2l0aW9uLXRvZ2dsZWBcbiAqIE5vdGU6IFRyYW5zaXRpb25zIGRvbid0IHdvcmsgd2l0aCBgdWstcG9zdGlvbi1jZW50ZXItKmAgY2xhc3NlcyBiZWNhdXNlIHRoZXkgYWxzbyB1c2UgYHRyYW5zZm9ybWBcbiAqICAgICAgIEp1c3QgcHV0IHRoZSB0cmFuc2l0aW9uIGluIGFuIGV4dHJhIGBkaXZgXG4gKi9cbi51ay10cmFuc2l0aW9uLWZhZGUsXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNjYWxlJ10sXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZS1vdXQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybSwgZmlsdGVyOyB9XG5cbi8qXG4gKiBGYWRlXG4gKi9cbi51ay10cmFuc2l0aW9uLWZhZGUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLWZhZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLWZhZGUnXSxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1mYWRlJ10ge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBTY2FsZVxuICogTm90ZTogVXNpbmcgYHNjYWxlM2RgIGZvciBiZXR0ZXIgaW1hZ2UgcmVuZGVyaW5nXG4gKi9cbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2NhbGUnXSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEpOyB9XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlLnVrLWhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24ge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG5cbi8qXG4gKiBTbGlkZVxuICovXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1zbWFsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tc21hbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtc21hbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtc21hbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1tZWRpdW0ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC1tZWRpdW0ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTBweCk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxuXG4vKiBIb3ZlciAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApOyB9XG5cbi8qIE9wYWNpdHkgbW9kaWZpZXJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdHJhbnNpdGlvbi1vcGFxdWUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIER1cmF0aW9uIG1vZGlmaWVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10cmFuc2l0aW9uLXNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjdzOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBIaWRkZW5cbiAqIGBoaWRkZW5gIGF0dHJpYnV0ZSBhbHNvIHNldCBoZXJlIHRvIG1ha2UgaXQgc3Ryb25nZXJcbiAqL1xuW2hpZGRlbl0sXG4udWstaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWhpZGRlblxcQHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1oaWRkZW5cXEBtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWhpZGRlblxcQGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay1oaWRkZW5cXEB4bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLypcbiAqIFZpc2libGVcbiAqL1xuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAudWstdmlzaWJsZVxcQHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gIC51ay12aXNpYmxlXFxAbSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAudWstdmlzaWJsZVxcQGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgLnVrLXZpc2libGVcXEB4bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogVmlzaWJpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLyogSG92ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSGlkZGVuICovXG4udWstdmlzaWJsZS10b2dnbGU6bm90KDpob3Zlcik6bm90KC51ay1ob3ZlcikgLnVrLWhpZGRlbi1ob3ZlciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBJbnZpc2libGUgKi9cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoLnVrLWhvdmVyKSAudWstaW52aXNpYmxlLWhvdmVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLyogVG91Y2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaGFzIGxpbWl0ZWQgYWNjdXJhY3ksIGUuZy4gYSB0b3VjaCBzY3JlZW4uXG4gKiBXb3JrcyBvbiBtb2JpbGUgYnJvd3NlcnM6IFNhZmFyaSwgQ2hyb21lIGFuZCBBbmRyb2lkIGJyb3dzZXJcbiAqL1xuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgLnVrLWhpZGRlbi10b3VjaCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaXMgYWNjdXJhdGUsIGUuZy4gbW91c2UuXG4gKiAxLiBGYWxsYmFjayBmb3IgSUUxMSBhbmQgRmlyZWZveCwgYmVjYXVzZSBgcG9pbnRlcmAgaXMgbm90IHN1cHBvcnRlZFxuICogMi4gUmVzZXQgaWYgc3VwcG9ydGVkXG4gKi9cbi8qIDEgKi9cbi51ay1oaWRkZW4tbm90b3VjaCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAudWstaGlkZGVuLW5vdG91Y2gge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSW52ZXJzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSW1wbGVtZW50ZWQgY2xhc3MgZGVwZW5kcyBvbiB0aGUgZ2VuZXJhbCB0aGVtZSBjb2xvclxuICogYHVrLWxpZ2h0YCBpcyBmb3IgbGlnaHQgY29sb3JzIG9uIGRhcmsgYmFja2dyb3VuZHNcbiAqIGB1ay1kYXJrYCBpcyBvciBkYXJrIGNvbG9ycyBvbiBsaWdodCBiYWNrZ3JvdW5kc1xuICovXG4udWstbGlnaHQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvciksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pLCAudWstb3ZlcmxheS1wcmltYXJ5LCAudWstb2ZmY2FudmFzLWJhciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYSwgLnVrLW92ZXJsYXktcHJpbWFyeSBhLCAudWstb2ZmY2FudmFzLWJhciBhLFxuICAudWstbGlnaHQgLnVrLWxpbmssIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmssIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluaywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluaywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluaywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluaywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluaywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1saW5rLCAudWstb2ZmY2FudmFzLWJhciAudWstbGluayB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSBhOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciBhOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWxpbms6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbms6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluazpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluazpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluazpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluazpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluazpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1saW5rOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbGluazpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IDpub3QocHJlKSA+IGNvZGUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gY29kZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpub3QocHJlKSA+IGNvZGUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gY29kZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpub3QocHJlKSA+IGNvZGUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IDpub3QocHJlKSA+IGNvZGUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgOm5vdChwcmUpID4gY29kZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSA6bm90KHByZSkgPiBjb2RlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgOm5vdChwcmUpID4gY29kZSwgLnVrLW92ZXJsYXktcHJpbWFyeSA6bm90KHByZSkgPiBjb2RlLCAudWstb2ZmY2FudmFzLWJhciA6bm90KHByZSkgPiBjb2RlLFxuICAudWstbGlnaHQgOm5vdChwcmUpID4ga2JkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpub3QocHJlKSA+IGtiZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpub3QocHJlKSA+IGtiZCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBrYmQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBrYmQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IDpub3QocHJlKSA+IGtiZCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBrYmQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgOm5vdChwcmUpID4ga2JkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgOm5vdChwcmUpID4ga2JkLCAudWstb3ZlcmxheS1wcmltYXJ5IDpub3QocHJlKSA+IGtiZCwgLnVrLW9mZmNhbnZhcy1iYXIgOm5vdChwcmUpID4ga2JkLFxuICAudWstbGlnaHQgOm5vdChwcmUpID4gc2FtcCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBzYW1wLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gc2FtcCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBzYW1wLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gc2FtcCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgOm5vdChwcmUpID4gc2FtcCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBzYW1wLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IDpub3QocHJlKSA+IHNhbXAsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBzYW1wLCAudWstb3ZlcmxheS1wcmltYXJ5IDpub3QocHJlKSA+IHNhbXAsIC51ay1vZmZjYW52YXMtYmFyIDpub3QocHJlKSA+IHNhbXAge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IGVtLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGVtLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgZW0sIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgZW0sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBlbSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgZW0sIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgZW0sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgZW0sIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBlbSwgLnVrLW92ZXJsYXktcHJpbWFyeSBlbSwgLnVrLW9mZmNhbnZhcy1iYXIgZW0ge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCBoMSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgxLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgxLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGgxLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGgxLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGgxLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDEsIC51ay1vdmVybGF5LXByaW1hcnkgaDEsIC51ay1vZmZjYW52YXMtYmFyIGgxLCAudWstbGlnaHQgLnVrLWgxLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oMSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWgxLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWgxLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oMSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWgxLFxuICAudWstbGlnaHQgaDIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoMiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoMiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBoMiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGgyLCAudWstb3ZlcmxheS1wcmltYXJ5IGgyLCAudWstb2ZmY2FudmFzLWJhciBoMiwgLnVrLWxpZ2h0IC51ay1oMiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWgyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWgyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaDIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWgyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1oMiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oMiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaDIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1oMixcbiAgLnVrLWxpZ2h0IGgzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgaDMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgaDMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoMywgLnVrLW92ZXJsYXktcHJpbWFyeSBoMywgLnVrLW9mZmNhbnZhcy1iYXIgaDMsIC51ay1saWdodCAudWstaDMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWgzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWgzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWgzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oMywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaDMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWgzLCAudWstb2ZmY2FudmFzLWJhciAudWstaDMsXG4gIC51ay1saWdodCBoNCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg0LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGg0LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGg0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGg0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDQsIC51ay1vdmVybGF5LXByaW1hcnkgaDQsIC51ay1vZmZjYW52YXMtYmFyIGg0LCAudWstbGlnaHQgLnVrLWg0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oNCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWg0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWg0LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oNCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWg0LFxuICAudWstbGlnaHQgaDUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg1LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoNSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoNSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBoNSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGg1LCAudWstb3ZlcmxheS1wcmltYXJ5IGg1LCAudWstb2ZmY2FudmFzLWJhciBoNSwgLnVrLWxpZ2h0IC51ay1oNSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWg1LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWg1LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaDUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWg1LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1oNSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oNSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaDUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1oNSxcbiAgLnVrLWxpZ2h0IGg2LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg2LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDYsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDYsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgaDYsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDYsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgaDYsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoNiwgLnVrLW92ZXJsYXktcHJpbWFyeSBoNiwgLnVrLW9mZmNhbnZhcy1iYXIgaDYsIC51ay1saWdodCAudWstaDYsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWg2LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWg2LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWg2LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oNiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaDYsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDYsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWg2LCAudWstb2ZmY2FudmFzLWJhciAudWstaDYge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCBociwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBociwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGhyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGhyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaHIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGhyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGhyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGhyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaHIsIC51ay1vdmVybGF5LXByaW1hcnkgaHIsIC51ay1vZmZjYW52YXMtYmFyIGhyLCAudWstbGlnaHQgLnVrLWhyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ociwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ociwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaHIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaHIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1ociwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaHIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWhyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1ociwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IGEudWstbGluay1tdXRlZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstbXV0ZWQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstbXV0ZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLW11dGVkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLW11dGVkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstbXV0ZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYS51ay1saW5rLW11dGVkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGEudWstbGluay1tdXRlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGEudWstbGluay1tdXRlZCwgLnVrLW92ZXJsYXktcHJpbWFyeSBhLnVrLWxpbmstbXV0ZWQsIC51ay1vZmZjYW52YXMtYmFyIGEudWstbGluay1tdXRlZCxcbiAgLnVrLWxpZ2h0IC51ay1saW5rLW11dGVkIGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQgYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkIGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQgYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkIGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saW5rLW11dGVkIGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstbXV0ZWQgYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay1tdXRlZCBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstbXV0ZWQgYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGluay1tdXRlZCBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbGluay1tdXRlZCBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLW11dGVkOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLW11dGVkOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay1tdXRlZDpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay1tdXRlZDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgYS51ay1saW5rLW11dGVkOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGEudWstbGluay1tdXRlZDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgYS51ay1saW5rLW11dGVkOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsXG4gIC51ay1saWdodCAudWstbGluay1tdXRlZCBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkIGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkIGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay1tdXRlZCBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLW11dGVkIGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstbXV0ZWQgYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLW11dGVkIGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpbmstbXV0ZWQgYTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpbmstbXV0ZWQgYTpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay10ZXh0OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGEudWstbGluay10ZXh0OmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IGEudWstbGluay10ZXh0OmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciBhLnVrLWxpbmstdGV4dDpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1saW5rLXRleHQgYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10ZXh0IGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10ZXh0IGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdGV4dCBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdGV4dCBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay10ZXh0IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstdGV4dCBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saW5rLXRleHQgYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLXRleHQgYTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGluay10ZXh0IGE6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1saW5rLXRleHQgYTpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oZWFkaW5nLWRpdmlkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1oZWFkaW5nLWRpdmlkZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLWhlYWRpbmctbGluZSA+IDpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbGluZSA+IDpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1saW5lID4gOmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1saW5lID4gOmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1saW5lID4gOmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oZWFkaW5nLWxpbmUgPiA6YmVmb3JlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oZWFkaW5nLWxpbmUgPiA6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstaGVhZGluZy1saW5lID4gOmJlZm9yZSxcbiAgLnVrLWxpZ2h0IC51ay1oZWFkaW5nLWxpbmUgPiA6YWZ0ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbGluZSA+IDphZnRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6YWZ0ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbGluZSA+IDphZnRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLWxpbmUgPiA6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhlYWRpbmctbGluZSA+IDphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1saW5lID4gOmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhlYWRpbmctbGluZSA+IDphZnRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaGVhZGluZy1saW5lID4gOmFmdGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstaGVhZGluZy1saW5lID4gOmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IC51ay1kaXZpZGVyLWljb24sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb24sIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb24sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLWljb24sIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRpdmlkZXItaWNvbiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci1pY29uLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRpdmlkZXItaWNvbiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZGl2aWRlci1pY29uLCAudWstb2ZmY2FudmFzLWJhciAudWstZGl2aWRlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjIwJTIyJTIwaGVpZ2h0JTNEJTIyMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMCUyMDIwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTNFJTNDJTJGY2lyY2xlJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpOyB9XG4gIC51ay1saWdodCAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4gIC51ay1saWdodCAudWstZGl2aWRlci1pY29uOjphZnRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjphZnRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmFmdGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmFmdGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLWljb246OmFmdGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kaXZpZGVyLWljb246OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLWljb246OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC51ay1saWdodCAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMiksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMiksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMiksIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpLCAudWstb2ZmY2FudmFzLWJhciAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstb2ZmY2FudmFzLWJhciAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyB9XG4gIC51ay1saWdodCAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjI2JTIyJTIwaGVpZ2h0JTNEJTIyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYlMjA2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwY3glM0QlMjIzJTIyJTIwY3klM0QlMjIzJTIyJTIwciUzRCUyMjMlMjIlM0UlM0MlMkZjaXJjbGUlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cbiAgLnVrLWxpZ2h0IC51ay1pY29uLWxpbmssIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluaywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbmssIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluaywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbmssIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWxpbmssIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tbGluaywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1saW5rLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tbGluaywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaWNvbi1saW5rLCAudWstb2ZmY2FudmFzLWJhciAudWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstaWNvbi1saW5rOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29uLWxpbms6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluazpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29uLWxpbms6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWljb24tbGluazpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWljb24tbGluazpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1pY29uLWxpbms6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWxpbms6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tbGluazpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1saW5rOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tbGluazpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaWNvbi1saW5rOmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstaWNvbi1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstaWNvbi1saW5rOmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmFjdGl2ZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWxpbms6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29uLWxpbms6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWxpbms6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29uLWxpbms6YWN0aXZlLFxuICAudWstbGlnaHQgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYWN0aXZlID4gLnVrLWljb24tbGluaywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYWN0aXZlID4gLnVrLWljb24tbGluaywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYWN0aXZlID4gLnVrLWljb24tbGluaywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYWN0aXZlID4gLnVrLWljb24tbGluaywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYWN0aXZlID4gLnVrLWljb24tbGluaywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLCAudWstb2ZmY2FudmFzLWJhciAudWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWljb24tYnV0dG9uLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b24sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b24sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b24sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tYnV0dG9uLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWJ1dHRvbiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWljb24tYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWljb24tYnV0dG9uOmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbjpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b246Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tYnV0dG9uOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWJ1dHRvbjpmb2N1cywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuMSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbjphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWJ1dHRvbjphY3RpdmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29uLWJ1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMwLCAyMzAsIDIzMCwgMC4xKTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstaW5wdXQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaW5wdXQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWlucHV0LCAudWstb2ZmY2FudmFzLWJhciAudWstaW5wdXQsXG4gIC51ay1saWdodCAudWstc2VsZWN0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3QsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3QsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VsZWN0LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWxlY3QsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlbGVjdCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWxlY3QsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlbGVjdCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNlbGVjdCxcbiAgLnVrLWxpZ2h0IC51ay10ZXh0YXJlYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0YXJlYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dGFyZWEsIC51ay1vZmZjYW52YXMtYmFyIC51ay10ZXh0YXJlYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgfVxuICAgIC51ay1saWdodCAudWstaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pbnB1dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaW5wdXQ6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWlucHV0OmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstaW5wdXQ6Zm9jdXMsXG4gICAgLnVrLWxpZ2h0IC51ay1zZWxlY3Q6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3Q6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlbGVjdDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VsZWN0OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlbGVjdDpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VsZWN0OmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VsZWN0OmZvY3VzLFxuICAgIC51ay1saWdodCAudWstdGV4dGFyZWE6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHRhcmVhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0YXJlYTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWE6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dGFyZWE6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRleHRhcmVhOmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgIWltcG9ydGFudDsgfVxuICAudWstbGlnaHQgLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7IH1cbiAgLnVrLWxpZ2h0IC51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay1vZmZjYW52YXMtYmFyIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMyUyMDklMjA4JTIwMTUlMjA4JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTsgfVxuICAudWstbGlnaHQgLnVrLXJhZGlvLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW8sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW8sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcmFkaW8sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1yYWRpbywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXJhZGlvLFxuICAudWstbGlnaHQgLnVrLWNoZWNrYm94LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3gsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3gsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3gsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1jaGVja2JveCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWNoZWNrYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuMSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1yYWRpbzpjaGVja2VkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXJhZGlvOmNoZWNrZWQsXG4gIC51ay1saWdodCAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDpjaGVja2VkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDpjaGVja2VkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDpjaGVja2VkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1jaGVja2JveDpjaGVja2VkLFxuICAudWstbGlnaHQgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstb2ZmY2FudmFzLWJhciAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstcmFkaW86Y2hlY2tlZDpmb2N1cyxcbiAgLnVrLWxpZ2h0IC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gIC51ay1saWdodCAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC51ay1saWdodCAudWstcmFkaW86Y2hlY2tlZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1yYWRpbzpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlM0UlM0MlMkZjaXJjbGUlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cbiAgLnVrLWxpZ2h0IC51ay1jaGVja2JveDpjaGVja2VkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWNoZWNrYm94OmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG4gIC51ay1saWdodCAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUzRSUzQyUyRnJlY3QlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tZGVmYXVsdCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tZGVmYXVsdCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLWRlZmF1bHQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tZGVmYXVsdDpmb2N1cywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlLCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLXByaW1hcnksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnksIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tcHJpbWFyeTpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tcHJpbWFyeTpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeTpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tcHJpbWFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4gIC51ay1saWdodCAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tc2Vjb25kYXJ5LCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSxcbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi10ZXh0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tdGV4dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXRleHQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi10ZXh0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi10ZXh0LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tdGV4dCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi10ZXh0IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLXRleHQ6aG92ZXIsXG4gIC51ay1saWdodCAudWstYnV0dG9uLXRleHQ6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXRleHQ6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLXRleHQ6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1saW5rLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluaywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluaywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWxpbmssIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWxpbmssIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tbGluaywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWxpbmssIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1saW5rLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1saW5rLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tbGluaywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1saW5rIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLWxpbms6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluazpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluazpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tbGluazpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWxpbms6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWxpbms6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLWxpbms6aG92ZXIsXG4gIC51ay1saWdodCAudWstYnV0dG9uLWxpbms6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rOmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluazpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluazpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1saW5rOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tbGluazpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWxpbms6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWxpbms6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1saW5rOmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC51ay1saWdodCAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IC51ay1jbG9zZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2UsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2UsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2xvc2UsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNsb3NlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jbG9zZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jbG9zZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2xvc2UsIC51ay1vZmZjYW52YXMtYmFyIC51ay1jbG9zZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLWNsb3NlOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jbG9zZTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2xvc2U6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNsb3NlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNsb3NlOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1jbG9zZTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWNsb3NlOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWNsb3NlOmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jbG9zZTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2xvc2U6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNsb3NlOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNsb3NlOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1jbG9zZTpmb2N1cywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWNsb3NlOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstdG90b3AsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRvdG9wLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10b3RvcCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3AsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdG90b3AsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRvdG9wLCAudWstb2ZmY2FudmFzLWJhciAudWstdG90b3Age1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay10b3RvcDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3A6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRvdG9wOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10b3RvcDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10b3RvcDpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdG90b3A6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay10b3RvcDpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay10b3RvcDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3A6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRvdG9wOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10b3RvcDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10b3RvcDpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdG90b3A6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay10b3RvcDpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdG90b3A6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10b3RvcDphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdG90b3A6YWN0aXZlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10b3RvcDphY3RpdmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay10b3RvcDphY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCAudWstYmFkZ2UsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJhZGdlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1iYWRnZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYmFkZ2UsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYmFkZ2UsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJhZGdlLCAudWstb2ZmY2FudmFzLWJhciAudWstYmFkZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgLnVrLWxpZ2h0IC51ay1iYWRnZTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2U6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2U6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYmFkZ2U6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJhZGdlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1iYWRnZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1iYWRnZTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYmFkZ2U6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1iYWRnZTpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1iYWRnZTpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2U6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2U6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYmFkZ2U6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJhZGdlOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1iYWRnZTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1iYWRnZTpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYmFkZ2U6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1iYWRnZTpmb2N1cyB7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgLnVrLWxpZ2h0IC51ay1sYWJlbCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGFiZWwsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGFiZWwsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxhYmVsLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxhYmVsLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGFiZWwsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxhYmVsLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1sYWJlbCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sYWJlbCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGFiZWwsIC51ay1vZmZjYW52YXMtYmFyIC51ay1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAudWstbGlnaHQgLnVrLWFydGljbGUtbWV0YSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYXJ0aWNsZS1tZXRhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFydGljbGUtbWV0YSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYXJ0aWNsZS1tZXRhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFydGljbGUtbWV0YSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWFydGljbGUtbWV0YSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYXJ0aWNsZS1tZXRhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1hcnRpY2xlLW1ldGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYXJ0aWNsZS1tZXRhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1hcnRpY2xlLW1ldGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1hcnRpY2xlLW1ldGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLWlucHV0LCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7IH1cbiAgLnVrLWxpZ2h0IC51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoLWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstc2VhcmNoLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyB9XG4gIC51ay1saWdodCAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0LCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC10b2dnbGUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtdG9nZ2xlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtdG9nZ2xlLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoLXRvZ2dsZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoLXRvZ2dsZTpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTNFJTNDJTJGcG9seWxpbmUlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjElMjA0JTIwNyUyMDEwJTIwMTMlMjA0JTIyJTNFJTNDJTJGcG9seWxpbmUlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4gIC51ay1saWdodCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSxcbiAgLnVrLWxpZ2h0IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gIC51ay1saWdodCAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4sIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgLnVrLW5hdmJhci1pdGVtLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItaXRlbSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItaXRlbSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLWl0ZW0sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLWl0ZW0sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItaXRlbSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLWl0ZW0sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1pdGVtLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci1pdGVtLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItaXRlbSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdmJhci1pdGVtIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItdG9nZ2xlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItdG9nZ2xlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItdG9nZ2xlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci10b2dnbGUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci10b2dnbGUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXZiYXItdG9nZ2xlIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbiAgLnVrLWxpZ2h0IC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4gIC51ay1saWdodCAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4gIC51ay1saWdodCAudWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAudWstbGlnaHQgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gKiA+ICosIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1icmVhZGNydW1iID4gKiA+ICosIC51ay1vZmZjYW52YXMtYmFyIC51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstb2ZmY2FudmFzLWJhciAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcGFnaW5hdGlvbiA+ICogPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcGFnaW5hdGlvbiA+ICogPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1vZmZjYW52YXMtYmFyIC51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICosIC51ay1vZmZjYW52YXMtYmFyIC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay1vZmZjYW52YXMtYmFyIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXRhYiA+ICogPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10YWIgPiAqID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gKiA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+ICogPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRhYiA+ICogPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10YWIgPiAqID4gYSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRhYiA+ICogPiBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstdGFiID4gKiA+IGE6aG92ZXIsXG4gIC51ay1saWdodCAudWstdGFiID4gKiA+IGE6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYTpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+ICogPiBhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAqID4gYTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gKiA+IGE6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gKiA+IGE6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRhYiA+ICogPiBhOmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstdGFiID4gKiA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay10YWIgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zbGlkZW5hdiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXYsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXYsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2xpZGVuYXYsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNsaWRlbmF2LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zbGlkZW5hdiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2xpZGVuYXYsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zbGlkZW5hdiB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgfVxuICAudWstbGlnaHQgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNsaWRlbmF2OmhvdmVyLFxuICAudWstbGlnaHQgLnVrLXNsaWRlbmF2OmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdjpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2xpZGVuYXY6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNsaWRlbmF2OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNsaWRlbmF2OmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zbGlkZW5hdjpmb2N1cywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjphY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zbGlkZW5hdjphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zbGlkZW5hdjphY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNsaWRlbmF2OmFjdGl2ZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuICAudWstbGlnaHQgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+ICosIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZG90bmF2ID4gKiA+ICosIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IH1cbiAgLnVrLWxpZ2h0IC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsXG4gIC51ay1saWdodCAudWstZG90bmF2ID4gKiA+IDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG4gIC51ay1saWdodCAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstb2ZmY2FudmFzLWJhciAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuICAudWstbGlnaHQgLnVrLWljb25uYXYgPiAqID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb25uYXYgPiAqID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+ICogPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gKiA+ICosIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+ICogPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29ubmF2ID4gKiA+ICosIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29ubmF2ID4gKiA+ICoge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1pY29ubmF2ID4gKiA+IDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiA6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbm5hdiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb25uYXYgPiAqID4gOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29ubmF2ID4gKiA+IDpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaWNvbm5hdiA+ICogPiA6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29ubmF2ID4gKiA+IDpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1pY29ubmF2ID4gKiA+IDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiA6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiA6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbm5hdiA+ICogPiA6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb25uYXYgPiAqID4gOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gKiA+IDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29ubmF2ID4gKiA+IDpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaWNvbm5hdiA+ICogPiA6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29ubmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay10ZXh0LWxlYWQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbGVhZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LWxlYWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbGVhZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LWxlYWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LWxlYWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtbGVhZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1sZWFkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtbGVhZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dC1sZWFkLCAudWstb2ZmY2FudmFzLWJhciAudWstdGV4dC1sZWFkIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstdGV4dC1tZXRhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LW1ldGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tZXRhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LW1ldGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tZXRhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1tZXRhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0LW1ldGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtbWV0YSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0LW1ldGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRleHQtbWV0YSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRleHQtbWV0YSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXRleHQtbXV0ZWQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbXV0ZWQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tdXRlZCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tdXRlZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LW11dGVkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1tdXRlZCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dC1tdXRlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1tdXRlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0LW11dGVkLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10ZXh0LW11dGVkLCAudWstb2ZmY2FudmFzLWJhciAudWstdGV4dC1tdXRlZCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAhaW1wb3J0YW50OyB9XG4gIC51ay1saWdodCAudWstdGV4dC1wcmltYXJ5LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LXByaW1hcnksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1wcmltYXJ5LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LXByaW1hcnksIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1wcmltYXJ5LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1wcmltYXJ5LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0LXByaW1hcnksIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtcHJpbWFyeSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0LXByaW1hcnksIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRleHQtcHJpbWFyeSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRleHQtcHJpbWFyeSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAhaW1wb3J0YW50OyB9XG4gIC51ay1saWdodCAudWstY29sdW1uLWRpdmlkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY29sdW1uLWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY29sdW1uLWRpdmlkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstY29sdW1uLWRpdmlkZXIge1xuICAgIC13ZWJraXQtY29sdW1uLXJ1bGUtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAtbW96LWNvbHVtbi1ydWxlLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgY29sdW1uLXJ1bGUtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLWxvZ28sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbG9nbywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1sb2dvLCAudWstb2ZmY2FudmFzLWJhciAudWstbG9nbyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWxvZ286aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbzpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbG9nbzpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbzpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1sb2dvOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbG9nbzpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1sb2dvOmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvOmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxvZ286Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ286Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxvZ286Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbG9nbzpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbG9nbzpmb2N1cywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxvZ286Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpLCAudWstb2ZmY2FudmFzLWJhciAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC51ay1saWdodCAudWstbG9nby1pbnZlcnNlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvLWludmVyc2UsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nby1pbnZlcnNlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvLWludmVyc2UsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nby1pbnZlcnNlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nby1pbnZlcnNlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvLWludmVyc2UsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxvZ28taW52ZXJzZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvLWludmVyc2UsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxvZ28taW52ZXJzZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxvZ28taW52ZXJzZSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cbi51ay1zbGlkZXIge1xuICAvKiAxICovXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKi9cbi51ay1zbGlkZXItY29udGFpbmVyIHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqL1xuLnVrLXNsaWRlci1pdGVtcyB7XG4gIC8qIDEgKi9cbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxuXG4vKlxuICogMS4gUmVzZXQgbGlzdCBzdHlsZSB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggZ3JpZFxuICogMi4gUHJldmVudCBkaXNwbGF5aW5nIHRoZSBjYWxsb3V0IGluZm9ybWF0aW9uIG9uIGlPUy5cbiAqL1xuLnVrLXNsaWRlci1pdGVtczpub3QoLnVrLWdyaWQpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG5cbi51ay1zbGlkZXItaXRlbXMudWstZ3JpZCB7XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIExldCBpdGVtcyB0YWtlIGNvbnRlbnQgZGltZW5zaW9ucyAoMCAwIGF1dG8pXG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICovXG4udWstc2xpZGVyLWl0ZW1zID4gKiB7XG4gIC8qIDEgKi9cbiAgZmxleDogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlc2hvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuLnVrLXNsaWRlc2hvdyB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGFuZCBzdGFja2luZyBjb250ZXh0XG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKiA0LiBQcmV2ZW50IGRpc3BsYXlpbmcgdGhlIGNhbGxvdXQgaW5mb3JtYXRpb24gb24gaU9TLlxuICovXG4udWstc2xpZGVzaG93LWl0ZW1zIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAvKiAzICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDQgKi9cbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFBvc2l0aW9uIGl0ZW1zIGFib3ZlIGVhY2ggb3RoZXJcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIENsaXAgY2hpbGQgZWxlbWVudHMsIGUuZy4gZm9yIGB1ay1jb3ZlcmBcbiAqIDQuIE9wdGltaXplIGFuaW1hdGlvblxuICovXG4udWstc2xpZGVzaG93LWl0ZW1zID4gKiB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgLyogMyAqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiA0ICovXG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7IH1cblxuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG4udWstc2xpZGVzaG93LWl0ZW1zID4gOm5vdCgudWstYWN0aXZlKSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByaW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBwcmludCB7XG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9IH1cblxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsXG4udWstbmF2YmFyLWl0ZW0sXG4udWstbmF2YmFyLXRvZ2dsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuIHtcbiAgY29sb3I6ICNlMzFlMjQ7IH1cblxuLmNiZi1uYXZiYXItdGhyaWQge1xuICBiYWNrZ3JvdW5kOiAjZTMxZTI0O1xuICB6LWluZGV4OiAxMDA7IH1cbiAgLmNiZi1uYXZiYXItdGhyaWQgLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5jYmYtbmF2YmFyLXRocmlkOmFmdGVyIHtcbiAgICByaWdodDogNTAlO1xuICAgIHRvcDogLTMlO1xuICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjMyLCA5NCwgMjUsIDApO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNlMzFlMjQ7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTVweDsgfVxuXG5zcGFuLmNiZi1uYXYtaWNvbi51ay1pY29uIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi51ay1uYXZiYXItc3RpY2t5IHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZjAwMDA7IH1cblxuLmNiZi1sYW5nLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgd2lkdGg6IDUwcHg7XG4gIG1heC13aWR0aDogNTBweDtcbiAgbWluLXdpZHRoOiA1MHB4OyB9XG4gIC5jYmYtbGFuZy1kcm9wZG93biB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7IH1cbiAgICAuY2JmLWxhbmctZHJvcGRvd24gdWwgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udWstbmF2YmFyLXN0aWNreSAuY2JmLWxhbmctZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAudWstbmF2YmFyLXN0aWNreSAuY2JmLWxhbmctZHJvcGRvd24gYSB7XG4gICAgY29sb3I6ICM5OTk7IH1cblxuLmNiZi1zbGlkZXNob3ctYm94IHAsIC5jYmYtc2xpZGVzaG93LWJveCBoMyB7XG4gIG1hcmdpbjogMHB4OyB9XG5cbi5jYmYtc2xpZGVzaG93LWJveCBoMyB7XG4gIGZvbnQtc2l6ZTogMTVweDsgfVxuXG4uY2JmLXNsaWRlc2hvdy1ib3ggYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uY2JmLXNsaWRlc2hvdy1ib3ggcCB7XG4gIGNvbG9yOiAjOTdhM2I4O1xuICBmb250LXNpemU6IDEycHg7IH1cblxuLmNiZi1sb2dvLXdoaXRlIHtcbiAgbWluLWhlaWdodDogMTIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTBweDtcbiAgdG9wOiA4cHg7IH1cblxuLmNiZi1wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWY3ZjFhO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA1cHg7XG4gIG1hcmdpbjogMTVweCAwIDAgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uY2JmLXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQ6ICNlZjdmMWE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDZweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG1hcmdpbiAxcyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogbWFyZ2luIDFzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogbWFyZ2luIDFzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDFzIGxpbmVhcjtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogM3MgIWltcG9ydGFudDtcbiAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAzcyAhaW1wb3J0YW50O1xuICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogM3MgIWltcG9ydGFudDtcbiAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogM3MgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogM3MgIWltcG9ydGFudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBtYXJnaW4tbGVmdDtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBtYXJnaW4tbGVmdDtcbiAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IG1hcmdpbi1sZWZ0O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBtYXJnaW4tbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWFyZ2luLWxlZnQ7IH1cblxuLmNiZi1wcm9ncmVzcy1iYXItYWN0aXZlIHtcbiAgbWFyZ2luLWxlZnQ6IDAlICFpbXBvcnRhbnQ7IH1cblxuLmNiZi1jYXJkLWJvZHkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDQ3LCA0NiwgMTEwLCAwLjcpO1xuICBjb2xvcjogI2ZmZjsgfVxuICAuY2JmLWNhcmQtYm9keSBoNCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmNiZi1zZWN0aW9uLWxpZ2h0LWJsdWUge1xuICBiYWNrZ3JvdW5kOiAjZjJmNGY1OyB9XG5cbi5jYmYtc2VjdGlvbi1wdXJwbGUge1xuICBiYWNrZ3JvdW5kOiAjMzMzMjc2OyB9XG5cbi5jYmYtc2VjdGlvbi1ibGFjayB7XG4gIGJhY2tncm91bmQ6ICMzMzM7IH1cblxuLmNiZi1vdmVybGF5LXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjZTMxZTI0O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uY2JmLXNlY3Rpb24tZ3JlZW4ge1xuICBiYWNrZ3JvdW5kOiAjNDg3YTJlO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uY2JmLXNlY3Rpb24tYmx1ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDhkZDI7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5jYmYtdGFicyBsaSBhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcbiAgY29sb3I6ICMzMzM7XG4gIGhlaWdodDogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmNiZi10YWJzIGxpLnVrLWFjdGl2ZSBhIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5jYmYtc2hhZG93LWJveCB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgxNjAsIDE2NywgMTY5LCAwLjMpO1xuICAtbW96LWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMTYwLCAxNjcsIDE2OSwgMC4zKTtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgxNjAsIDE2NywgMTY5LCAwLjMpO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cblxuLnVrLWNhcmQtYm9keSBpbWcge1xuICBoZWlnaHQ6IDIwMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uY2JmLWNvbG9yLWRhcmsge1xuICBjb2xvcjogI2FhYTsgfVxuXG4uY2JmLXNsaWRlciAudWstaGVhZGluZy1wcmltYXJ5IHtcbiAgZm9udC1zaXplOiA0MHB4OyB9XG5cbi5jYmYtaWNvbi1saXN0IHNwYW4ge1xuICBjb2xvcjogI2UzMWUyNDsgfVxuXG4uY2JmLWljb24tbGlzdCBhIHtcbiAgY29sb3I6ICNhM2E0YTg7IH1cblxuLmNiZi1ibGFja3FvdXRlIHtcbiAgZm9udC1mYW1pbHk6IFJhbGV3YXksIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4udWstY2FyZC1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICM0RjUyNjA7XG4gIGJveC1zaGFkb3c6IDJweCAxNXB4IDUwcHggcmdiYSg0MSwgNDQsIDYxLCAwLjEpOyB9XG5cbi51ay1jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiAuMXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLGJveC1zaGFkb3csdG9wO1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXItdG9wOiAzcHggc29saWQgI2ZmMDAwMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4udWstY2FyZCAudWstYnV0dG9uIHtcbiAgaGVpZ2h0OiA2N3B4O1xuICBsaW5lLWhlaWdodDogNjdweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ1JvYm90bycsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgxNjAsIDE2NywgMTY5LCAwLjMpOyB9XG4gIC51ay1jYXJkIC51ay1idXR0b24gLmNiZi1idXR0b24taWNvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGluZS1oZWlnaHQ6IDY1cHg7IH1cbiAgICAudWstY2FyZCAudWstYnV0dG9uIC5jYmYtYnV0dG9uLWljb24gc3ZnIHtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHdpZHRoOiAzMHB4OyB9XG4gIC51ay1jYXJkIC51ay1idXR0b24gLmNiZi1uYXYtaWNvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDY1cHg7IH1cblxuLnVrLWNhcmQtYm9keSAuY2JmLW5hdi1pY29uIHN2ZyB7XG4gIGhlaWdodDogNDVweDtcbiAgd2lkdGg6IDQ1cHg7IH1cblxuLnVrLWJ1dHRvbi10aGlyZCB7XG4gIGJhY2tncm91bmQ6ICMwMDhkZDI7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1idXR0b24tdGhpcmQ6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTQxLCAyMTAsIDAuOCk7IH1cblxuLnVrLWJ1dHRvbi1mb3VydGgge1xuICBiYWNrZ3JvdW5kOiAjNDg3YTJlO1xuICBjb2xvcjogI2ZmZjsgfVxuICAudWstYnV0dG9uLWZvdXJ0aDpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogcmdiYSg3MiwgMTIyLCA0NiwgMC44KTsgfVxuXG4udWstYnV0dG9uLWZpZnRoIHtcbiAgYmFja2dyb3VuZDogIzg1OGRiOTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWJ1dHRvbi1maWZ0aDpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzMsIDE0MSwgMTg1LCAwLjgpOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmNiZi1jYXJkLWJvZHkge1xuICAgIGJhY2tncm91bmQ6ICMyZjJlNmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDBweDsgfVxuICAuY2JmLWNhcmQtYm9keSB7XG4gICAgYmFja2dyb3VuZDogIzJmMmU2ZTsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC5idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAtNDMycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogLTQ4NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogLTQ5MHB4OyB9IH1cblxuLm5hdi10YWJzLCAudWstdGFiIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5uYXYtdGFicyA+IGxpLCAudWstdGFiID4gKiB7XG4gIC1tcy1mbGV4OiBub25lO1xuICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gIGZsZXg6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5uYXYtdGFicyA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgY29sb3I6ICNhM2E0YTg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiAuMXMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsYm94LXNoYWRvdztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsYm94LXNoYWRvdztcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnVrLXRhYiA+ICogPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBjb2xvcjogI2EzYTRhODtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IC4xcyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcixib3gtc2hhZG93O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcixib3gtc2hhZG93O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAudWstdGFiID4gKiA+IGE6Zm9jdXMsIC51ay10YWIgPiAqID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICM3MzczNzM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2YwM2YzNzsgfVxuXG4ubmF2LXRhYnMgPiAuYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMjQyNDI0O1xuICBib3JkZXItY29sb3I6ICNmMDNmMzc7IH1cblxuLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMyNDI0MjQ7XG4gIGJvcmRlci1jb2xvcjogI2YwM2YzNzsgfVxuXG4udWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gIGNvbG9yOiAjYTNhNGE4OyB9XG5cbi51ay10YWItYm90dG9tID4gKiA+IGEge1xuICBib3JkZXItdG9wOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAgbm9uZTsgfVxuXG4udWstdGFiLWxlZnQsIC51ay10YWItcmlnaHQge1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4udWstdGFiLWxlZnQgPiAqLCAudWstdGFiLXJpZ2h0ID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4udWstdGFiLWxlZnQgPiAqID4gYSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAgbm9uZTsgfVxuXG4udWstdGFiLXJpZ2h0ID4gKiA+IGEge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAgbm9uZTsgfVxuXG4udWstdGFiIC51ay1kcm9wZG93biB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG5cbi5jYmYtaW1hZ2UgaW1nIHtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNiZi1jYXRlZ29yeS1zbGlkZXIge1xuICBib3JkZXItdG9wOiA0cHggc29saWQgI2UzMWUyNDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNlMzFlMjQ7IH1cbiAgLmNiZi1jYXRlZ29yeS1zbGlkZXIgLmNiZi1vdmVybGF5LXByaW1hcnkge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjc3NXJlbTtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNiZi1jYXRlZ29yeS1zbGlkZXIgbGkudWstYWN0aXZlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDsgfVxuXG4uY2JmLWltYWdlLWJsb2NrIGgzLCAuY2JmLWltYWdlLWJsb2NrIC5jYmYtc3ViLXRpdGxlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnRtLWhlYWRlci10cmFuc3BhcmVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTgwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMHB4OyB9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEJhc2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmYXVsdCB2YWx1ZXMgZm9yIEhUTUwgZWxlbWVudHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaDFgLCBgdWstaDJgLCBgdWstaDNgLCBgdWstaDRgLCBgdWstaDVgLCBgdWstaDZgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ocmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYmFzZS1ib2R5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYm9keS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJhc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cbiRiYXNlLWNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtaW5zLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLW1hcmstYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZkICFkZWZhdWx0O1xuJGJhc2UtbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1xdW90ZS1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRhbGljICFkZWZhdWx0O1xuJGJhc2Utc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJGJhc2UtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4zICFkZWZhdWx0O1xuJGJhc2UtaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDMtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg2LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG4kYmFzZS1oci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgICAgIGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRiYXNlLXByZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLXByZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtY29kZS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLXByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYmFzZS1zZWxlY3Rpb24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIzM5ZiAhZGVmYXVsdDtcbiRiYXNlLXNlbGVjdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IGBmb250LXNpemVgIHRvIHN1cHBvcnQgYHJlbWAgdW5pdHNcbiAqICAgIE5vdCB1c2luZyBgZm9udGAgcHJvcGVydHkgYmVjYXVzZSBhIGxlYWRpbmcgaHlwaGVuIChlLmcuIC1hcHBsZS1zeXN0ZW0pIGNhdXNlcyB0aGUgZm9udCB0byBicmVhayBpbiBJRTExIGFuZCBFZGdlXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG4gKiAzLiBTdHlsZVxuICovXG5cbmh0bWwge1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogJGJhc2UtYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRiYXNlLWJvZHktZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1ib2R5LWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ib2R5LWxpbmUtaGVpZ2h0O1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWJvZHktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtYm9keS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ib2R5KSkge0BpbmNsdWRlIGhvb2stYmFzZS1ib2R5KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlcyBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHsgbWFyZ2luOiAwOyB9XG5cblxuLyogTGlua3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICAgIC8qIDEgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFN0eWxlXG4gKi9cblxuYSxcbi51ay1saW5rIHtcbiAgICBjb2xvcjogJGJhc2UtbGluay1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1saW5rKSkge0BpbmNsdWRlIGhvb2stYmFzZS1saW5rKCk7fVxufVxuXG5hOmhvdmVyLFxuLnVrLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtbGluay1ob3ZlcigpO31cbn1cblxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuXG4vKlxuICogMS4gUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbi8qIDEgKi9cbmIsXG5zdHJvbmcgeyBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKiAyICovXG5iLFxuc3Ryb25nIHsgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29uc29sYXMgaGFzIGEgYmV0dGVyIGJhc2VsaW5lIGluIHJ1bm5pbmcgdGV4dCBjb21wYXJlZCB0byBgQ291cmllcmBcbiAqIDMuIFN0eWxlXG4gKi9cblxuOm5vdChwcmUpID4gY29kZSxcbjpub3QocHJlKSA+IGtiZCxcbjpub3QocHJlKSA+IHNhbXAge1xuICAgIC8qIDEgKi9cbiAgICBmb250LXNpemU6ICRiYXNlLWNvZGUtZm9udC1zaXplO1xuICAgIC8qIDIgKi9cbiAgICBmb250LWZhbWlseTogJGJhc2UtY29kZS1mb250LWZhbWlseTtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRiYXNlLWNvZGUtY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1jb2RlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1jb2RlKCk7fVxufVxuXG4vKlxuICogRW1waGFzaXplXG4gKi9cblxuZW0geyBjb2xvcjogJGJhc2UtZW0tY29sb3I7IH1cblxuLypcbiAqIEluc2VydFxuICovXG5cbmlucyB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtaW5zLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLWlucy1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBNYXJrXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtbWFyay1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1tYXJrLWNvbG9yO1xufVxuXG4vKlxuICogUXVvdGVcbiAqL1xuXG5xIHsgZm9udC1zdHlsZTogJGJhc2UtcXVvdGUtZm9udC1zdHlsZTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwgeyBmb250LXNpemU6ICRiYXNlLXNtYWxsLWZvbnQtc2l6ZTsgfVxuXG4vKlxuICogUHJldmVudHMgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7IHRvcDogLTAuNWVtOyB9XG5zdWIgeyBib3R0b206IC0wLjI1ZW07IH1cblxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gZW1iZWRkZWQgY29udGVudCBhbmQgdGhlIGJvdHRvbSBvZiB0aGVpciBjb250YWluZXJzLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8geyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qXG4gKiBSZXNwb25zaXZlbmVzc1xuICogMS4gU2V0IGEgbWF4aW11bSB3aWR0aFxuICogMi4gQXV0byBzY2FsZSB0aGUgaGVpZ2h0LiBPbmx5IG5lZWRlZCBpZiBgaGVpZ2h0YCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICogMi4gQ29ycmVjdHMgYG1heC13aWR0aGAgYmVoYXZpb3IgaWYgcGFkZGluZyBhbmQgYm9yZGVyIGFyZSB1c2VkXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pbWcsXG52aWRlbyB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBCbG9jayBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBNYXJnaW5zXG4gKi9cblxucCxcbnVsLFxub2wsXG5kbCxcbnByZSxcbmFkZHJlc3MsXG5maWVsZHNldCxcbmZpZ3VyZSB7IG1hcmdpbjogMCAwICRiYXNlLW1hcmdpbi12ZXJ0aWNhbCAwOyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIHAsXG4qICsgdWwsXG4qICsgb2wsXG4qICsgZGwsXG4qICsgcHJlLFxuKiArIGFkZHJlc3MsXG4qICsgZmllbGRzZXQsXG4qICsgZmlndXJlIHsgbWFyZ2luLXRvcDogJGJhc2UtbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSGVhZGluZ3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSwgLnVrLWgxLFxuaDIsIC51ay1oMixcbmgzLCAudWstaDMsXG5oNCwgLnVrLWg0LFxuaDUsIC51ay1oNSxcbmg2LCAudWstaDYge1xuICAgIG1hcmdpbjogMCAwICRiYXNlLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkYmFzZS1oZWFkaW5nLWNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWhlYWRpbmcoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGgxLCAqICsgLnVrLWgxLFxuKiArIGgyLCAqICsgLnVrLWgyLFxuKiArIGgzLCAqICsgLnVrLWgzLFxuKiArIGg0LCAqICsgLnVrLWg0LFxuKiArIGg1LCAqICsgLnVrLWg1LFxuKiArIGg2LCAqICsgLnVrLWg2IHsgbWFyZ2luLXRvcDogJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOyB9XG5cbi8qXG4gKiBTaXplc1xuICovXG5cbmgxLCAudWstaDEge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMSkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDEoKTt9XG59XG5cbmgyLCAudWstaDIge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMi1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMikpIHtAaW5jbHVkZSBob29rLWJhc2UtaDIoKTt9XG59XG5cbmgzLCAudWstaDMge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDMtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMy1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMykpIHtAaW5jbHVkZSBob29rLWJhc2UtaDMoKTt9XG59XG5cbmg0LCAudWstaDQge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNCkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDQoKTt9XG59XG5cbmg1LCAudWstaDUge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNSkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDUoKTt9XG59XG5cbmg2LCAudWstaDYge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDYtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNi1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNikpIHtAaW5jbHVkZSBob29rLWJhc2UtaDYoKTt9XG59XG5cblxuLyogTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG51bCxcbm9sIHsgcGFkZGluZy1sZWZ0OiAkYmFzZS1saXN0LXBhZGRpbmctbGVmdDsgfVxuXG4vKlxuICogUmVzZXQgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAqL1xuXG51bCA+IGxpID4gdWwsXG51bCA+IGxpID4gb2wsXG5vbCA+IGxpID4gb2wsXG5vbCA+IGxpID4gdWwgeyBtYXJnaW46IDA7IH1cblxuXG4vKiBEZXNjcmlwdGlvbiBsaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmR0IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbmRkIHsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuXG4vKiBIb3Jpem9udGFsIHJ1bGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGFuZCBoZWlnaHQgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICogMy4gQWRkIHRoZSBjb3JyZWN0IHRleHQtYWxpZ24gaW4gRWRnZSBhbmQgSUUuXG4gKiA0LiBTdHlsZVxuICovXG5cbmhyLCAudWstaHIge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDMgKi9cbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIC8qIDQgKi9cbiAgICBtYXJnaW46IDAgMCAkYmFzZS1oci1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogJGJhc2UtaHItYm9yZGVyLXdpZHRoIHNvbGlkICRiYXNlLWhyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ocikpIHtAaW5jbHVkZSBob29rLWJhc2UtaHIoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGhyLFxuKiArIC51ay1ociB7IG1hcmdpbi10b3A6ICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbCB9XG5cblxuLyogQWRkcmVzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmFkZHJlc3MgeyBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuXG4vKiBCbG9ja3F1b3Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDtcbiAgICBmb250LXN0eWxlOiAkYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtYmxvY2txdW90ZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtYmxvY2txdW90ZSgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgYmxvY2txdW90ZSB7IG1hcmdpbi10b3A6ICRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBDb250ZW50XG4gKi9cblxuYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuYmxvY2txdW90ZSBmb290ZXIge1xuICAgIG1hcmdpbi10b3A6ICAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKTt9XG59XG5cblxuLyogUHJlZm9ybWF0dGVkIHRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBPdmVycmlkZSBVQVxuICovXG5cbnByZSB7XG4gICAgZm9udDogJGJhc2UtcHJlLWZvbnQtc2l6ZSB1bnF1b3RlKFwiL1wiKSAkYmFzZS1wcmUtbGluZS1oZWlnaHQgJGJhc2UtcHJlLWZvbnQtZmFtaWx5O1xuICAgIGNvbG9yOiAkYmFzZS1wcmUtY29sb3I7XG4gICAgLW1vei10YWItc2l6ZTogNDtcbiAgICB0YWItc2l6ZTogNDtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtcHJlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1wcmUoKTt9XG59XG5cbnByZSBjb2RlIHsgZm9udC1mYW1pbHk6ICRiYXNlLXByZS1mb250LWZhbWlseTsgfVxuXG5cbi8qIFNlbGVjdGlvbiBwc2V1ZG8tZWxlbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1zZWxlY3Rpb24tY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1zZWxlY3Rpb24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2Utc2VsZWN0aW9uLWNvbG9yO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG5cbi8qIEhUTUw1IGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscywgLyogMSAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sIC8qIDIgKi9cbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHsgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUsIC8qIDEgKi9cbltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIElmcmFtZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmlmcmFtZSB7IGJvcmRlcjogMDsgfVxuXG5cbi8qIFByZXZlbnQgdGhlIDMwMG1zIGRlbGF5IGZvciB0b3VjaHNjcmVlbiBpbnRlcmFjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTW9zdCBicm93c2VycyBwcmV2ZW50IHRoZSAzMDBtcyBkZWxheSBhdXRvbWF0aWNhbGx5IGZvciBzaXRlcyB0aGF0IHVzZSB0aGUgYHdpZHRoPWRldmljZS13aWR0aGAgcHJvcGVydHkuXG4gKiBGb3IgU2FmYXJpIG9uIGlPUyA5LjMrLCBJRSAxMSBhbmQgRWRnZSBvbiBkZXNrdG9wcyBhbmQgSUUgMTEgb24gV2luZG93cyBQaG9uZSA4LjEgaXQgbXVzdCBiZSBhcHBsaWVkIG1hbnVhbGx5LlxuICovXG5cbmEsXG5hcmVhLFxuYnV0dG9uLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnN1bW1hcnksXG50ZXh0YXJlYSB7IHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG5cblxuLyogUGFzcyBtZWRpYSBicmVha3BvaW50cyB0byBKU1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCcmVha3BvaW50c1xuICovXG5cbi52YXItbWVkaWEtczpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtc21hbGx9JzsgfVxuLnZhci1tZWRpYS1tOmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1tZWRpdW19JzsgfVxuLnZhci1tZWRpYS1sOmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1sYXJnZX0nOyB9XG4udmFyLW1lZGlhLXhsOmJlZm9yZSB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LXhsYXJnZX0nOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFzZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtcHJlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1iYXNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ocigpe31cbiIsIiRtYWluLWNvbG9yLXByaW1hcnk6ICNlMzFlMjQgIWRlZmF1bHQ7XG4kbWFpbi1jb2xvci1zZWNvbmRhcnk6ICNlZjdmMWEgIWRlZmF1bHQ7XG4kbWFpbi1jb2xvci10aGlyZDogIzAwOGRkMiAhZGVmYXVsdDtcbiRtYWluLWNvbG9yLXRoaXJkLWhvdmVyOiByZ2JhKDAsMTQxLDIxMCwuOCkgIWRlZmF1bHQ7XG4kbWFpbi1jb2xvci1mb3VydGg6ICM0ODdhMmUgIWRlZmF1bHQ7XG4kbWFpbi1jb2xvci1mb3VydGgtaG92ZXI6IHJnYmEoNzIsMTIyLDQ2LC44KSAhZGVmYXVsdDtcbiRtYWluLWNvbG9yLWZpZnRoOiAjODU4ZGI5ICFkZWZhdWx0O1xuJG1haW4tY29sb3ItZmlmdGgtaG92ZXI6IHJnYmEoMTMzLDE0MSwxODUsLjgpICFkZWZhdWx0O1xuJG1haW4tY29sb3Itc2l4dGg6ICM4NThkYjkgIWRlZmF1bHQ7XG4kbWFpbi1jb2xvci1zaXh0aC1ob3ZlcjogcmdiYSgwLDE0MSwyMTAsLjgpICFkZWZhdWx0O1xuJG1haW4tY29sb3Itc2V2ZW50aDogIzMzMzI3NiAhZGVmYXVsdDtcbiRtYWluLWNvbG9yLXNldmVudGgtaG92ZXI6IHJnYmEoNTEsNTAsMTE4LC44KSAhZGVmYXVsdDtcblxuJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICRtYWluLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkbWFpbi1jb2xvci1zZWNvbmRhcnkgIWRlZmF1bHQ7XG4kbmF2YmFyLWJhY2tncm91bmQ6ICNmZmZmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQ6ICNmZmYgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtZmFtaWx5OiBSYWxld2F5LCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZDogJG1haW4tY29sb3Itc2V2ZW50aCAhZGVmYXVsdDtcblxuJGdyZXktY29sb3I6ICNlOGU4ZTggIWRlZmF1bHQ7XG4kbWFpbi1jb2xvci1ibGFjazogIzMzMyAhZGVmYXVsdDtcbiRtYWluLWNvbG9yLW9yYW5nZTogI0U4NUUxOSAhZGVmYXVsdDtcbiRtYWluLWNvbG9yLW9yYW5nZS1kYXJrOiAjRjA2NzQ2ICFkZWZhdWx0O1xuJG1haW4tY29sb3Itb3JhbmdlLXllbGxvdzogI0ZGOEUyOCAhZGVmYXVsdDtcbiRtYWluLWNvbG9yLW9yYW5nZS15ZWxsb3ctZGFyazogI0U4OTYxOSAhZGVmYXVsdDtcbiRtYWluLWNvbG9yLXllbGxvdzogI0ZGQkIxQyAhZGVmYXVsdDtcbiRtYWluLWdyZXktY29sb3I6ICM1QjVCNUUgIWRlZmF1bHQ7XG5cbiRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDogcmdiYSgkbWFpbi1jb2xvci1zZXZlbnRoLCAwLjgpICFkZWZhdWx0O1xuXG5cblxuXG5AbWl4aW4gdHJhbnNpdGlvbigpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG59XG5cbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICRtYWluLWNvbG9yLXByaW1hcnk7IiwiJGdsb2JhbC1tYXJnaW46IDIwcHggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWd1dHRlcjogMTVweCAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXJpZ2h0OiAkYWxlcnQtcGFkZGluZyArIDE0cHggIWRlZmF1bHQ7XG4kZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6ICNmOGY4ZjggIWRlZmF1bHQ7XG4kYWxlcnQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1jb2xvcjogIzY2NiAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS10b3A6ICRhbGVydC1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXJpZ2h0OiAkYWxlcnQtcGFkZGluZyAhZGVmYXVsdDtcbiRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMWU4N2YwICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQ6ICMzMmQyOTYgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQsIDQwJSksIDI1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZDogI2ZhYTA1YSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCwgNDUlKSwgMTUlKSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQ6ICNmMDUwNmUgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtZ3V0dGVyOiAzMHB4ICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tZ3V0dGVyOiA0MHB4ICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtbWFyZ2luOiA3MHB4ICFkZWZhdWx0O1xuJGFydGljbGUtbWFyZ2luLXRvcDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplOiAyLjYyNXJlbSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZTogMC44NzVyZW0gIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZ2xvYmFsLW11dGVkLWNvbG9yOiAjOTk5ICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtaW52ZXJzZS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hcnRpY2xlLW1ldGEtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICMyMjIgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1zaXplOiAyMnB4ICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctdmVydGljYWw6IDAgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiA1cHggIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kYmFkZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhZGdlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uOiAwLjhzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjogMTVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOiAwLjFzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6IDEwcHggIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6IDUwcHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiBcIi9cIiAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWJvZHktYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRnbG9iYWwtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1saW5rLWNvbG9yOiAjZTMxZTI0ICFkZWZhdWx0O1xuJGJhc2UtbGluay1jb2xvcjogJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstaG92ZXItY29sb3I6ICMwZjZlY2QgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGJhc2UtY29kZS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWVtLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtaW5zLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2Utc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRnbG9iYWwtZW1waGFzaXMtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLW1hcmdpbjogNDBweCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctbWFyZ2luLXRvcDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplOiAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZTogJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDItbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kYmFzZS1oMy1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDMtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg0LWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDQtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg1LWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg2LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1saXN0LXBhZGRpbmctbGVmdDogMzBweCAhZGVmYXVsdDtcbiRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRnbG9iYWwtYm9yZGVyOiAjZTVlNWU1ICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtcHJlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtZm9udC1mYW1pbHk6ICRiYXNlLWNvZGUtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tYmFja2dyb3VuZDogIzM5ZiAhZGVmYXVsdDtcbiRiYXNlLXNlbGVjdGlvbi1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1jb2RlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1ib3JkZXI6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1oci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2xvc2UtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXRvcDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1yaWdodDogJGNhcmQtYmFkZ2UtdG9wICFkZWZhdWx0O1xuJGNhcmQtaG92ZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I6ICRjYXJkLXByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yOiAkY2FyZC1zZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ndXR0ZXI6IDcwcHggIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodDogNTVweCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstY29sb3I6ICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXI6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXItbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTogMTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLW1heC13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGg6IDkwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg6IDE2MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY291bnRkb3duLWl0ZW0tbGluZS1oZWlnaHQ6IDcwcHggIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtczogNHJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1tOiA2cmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLXM6IDJyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtbTogM3JlbSAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1oZWlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWNvbG9yOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS10b3A6IDUwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS13aWR0aDogMTAwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTNFJTNDJTJGY2lyY2xlJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC13aWR0aDogMTAwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsOiAkZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLXdpZHRoOiAxNnB4ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhlaWdodDogJGRvdG5hdi1pdGVtLXdpZHRoICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJvcmRlci1yYWRpdXM6IDUwJSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjQpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjMpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuMSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGdsb2JhbC16LWluZGV4OiAxMDAwICFkZWZhdWx0O1xuJGRyb3Atei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kZHJvcC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRyb3Bkb3duLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZzogMTVweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6IDE1cHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6IDNweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDE1JSkgIWRlZmF1bHQ7XG4kZm9ybS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1saW5lLWhlaWdodDogJGZvcm0taGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDogNHB4ICFkZWZhdWx0O1xuJGZvcm0tYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6IDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAkZm9ybS1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ6ICRmb3JtLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC14c21hbGw6IDUwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1zbWFsbDogMTMwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1tZWRpdW06IDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbGFyZ2U6IDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLW1hcmdpbi10b3A6IC00cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1sZWdlbmQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtbGFiZWwtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wOiA3cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLW1hcmdpbi1sZWZ0OiAyMTVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDogN3B4ICFkZWZhdWx0O1xuJGZvcm0taWNvbi13aWR0aDogJGZvcm0taGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0taWNvbi1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0taWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWljb24taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMyUyMDklMjA4JTIwMTUlMjA4JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUzRSUzQyUyRnJlY3QlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4xKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWw6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG4kZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZ3JpZC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemU6ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1tOiAzLjc1cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodC1tOiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTogNHJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLXM6IDZyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LXM6IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tOiA4cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tOiAxICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1wYWRkaW5nLWJvdHRvbTogMTBweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC10b3A6IHVucXVvdGUoJ2NhbGMoLTAuMSAqIDFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1oZWlnaHQ6IDAuOWVtICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDogMTBweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXItd2lkdGg6IDVweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDogMC42ZW0gIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1idWxsZXQtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpY29uLWltYWdlLXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstYWN0aXZlLWNvbG9yOiBkYXJrZW4oJGdsb2JhbC1jb2xvciwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLXNpemU6IDM2cHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4tdmVydGljYWw6ICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy12ZXJ0aWNhbDogMCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxhYmVsLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGFiZWwtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGlnaHRib3gtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYmFja2dyb3VuZDogIzAwMCAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tc2l6ZTogNTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tYmFja2dyb3VuZDogJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24taG92ZXItY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kbGluay1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstdGV4dC1ob3Zlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1uZXN0ZWQtcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtd2lkdGg6ICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1oZWlnaHQ6ICRsaXN0LWJ1bGxldC13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1tYXJnaW4tcmlnaHQ6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNiUyMiUyMGhlaWdodCUzRCUyMjYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2JTIwNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRtYXJnaW4tbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tc21hbGwtbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbWVkaXVtLW1hcmdpbjogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW46ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLW1hcmdpbjogMTQwcHggIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmtlci1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbWFya2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbWFya2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbWFya2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC42KSAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXM6IDUwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRhaW5lci13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAoJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAoJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1vZGFsLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjMgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcG9zaXRpb246ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uOiAwICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlOiAxMDAlICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I6IGxpZ2h0ZW4oJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAwICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDogMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWw6IDJweCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24td2lkdGg6ICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24taGVpZ2h0OiAkbmF2LXBhcmVudC1pY29uLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4tdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTNFJTNDJTJGcG9seWxpbmUlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUzRSUzQyUyRnBvbHlsaW5lJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1jb2xvci1tb2RlOiBub25lICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ6IDgwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pdGVtLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItc3VidGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbWFyZ2luOiAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nOiAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wOiAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi1ib3R0b206ICRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kOiAkbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXBvc2l0aW9uOiAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyA0MCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24td2lkdGg6IDM1MHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi1ib3R0b206IDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXRvcDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0OiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXdpZHRoOiAyNzBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXdpZHRoLW06IDM1MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjogMjBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmctbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRwb3NpdGlvbi1zbWFsbC1tYXJnaW46ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW46ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHByb2dyZXNzLWhlaWdodDogMTVweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC13aWR0aDogMTgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDogNnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoOiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItd2lkdGg6IDQwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDogNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2Utd2lkdGg6IDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1oZWlnaHQ6IDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWljb24td2lkdGg6IDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcbiRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtY29sb3I6IGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuNCkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtaG92ZXItY29sb3I6IGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4zKSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yOiBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcbiRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDUwICFkZWZhdWx0O1xuJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk6IDAgIWRlZmF1bHQ7XG4kc29ydGFibGUtZW1wdHktaGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc2l6ZTogMzBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXN0cm9rZS13aWR0aDogMSAhZGVmYXVsdDtcbiRzcGlubmVyLXJhZGl1czogZmxvb3IoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpIC8gMikgIWRlZmF1bHQ7XG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiByb3VuZCgyICogMy4xNDEgKiAkc3Bpbm5lci1yYWRpdXMpICFkZWZhdWx0O1xuJHNwaW5uZXItZHVyYXRpb246IDEuNHMgIWRlZmF1bHQ7XG4kc3RpY2t5LXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ6IDEuNWVtICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6IDE2cHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1mb290ZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWV4cGFuZC1taW4td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDAuMDIpICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWJhY2tncm91bmQtY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbXV0ZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG4kdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kdG9vbHRpcC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAzMCAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsOiAzcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiR0b29sdGlwLWJhY2tncm91bmQ6ICM2NjYgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplOiAxMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xuJHRvdG9wLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiR0b3RvcC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0b3RvcC1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0b3RvcC1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3MgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zY2FsZTogMS4xICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAxMHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogNTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb246IDAuN3MgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1zbWFsbDogNjQwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1tZWRpdW06IDk2MHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbGFyZ2U6IDEyMDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LXhsYXJnZTogMTYwMHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQteHNtYWxsLW1heDogKCRicmVha3BvaW50LXNtYWxsIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1zbWFsbC1tYXg6ICgkYnJlYWtwb2ludC1tZWRpdW0gLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LW1lZGl1bS1tYXg6ICgkYnJlYWtwb2ludC1sYXJnZSAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbGFyZ2UtbWF4OiAoJGJyZWFrcG9pbnQteGxhcmdlIC0gMSkgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsMCwwLDAuMDgpICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsMCwwLDAuMDgpICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzogMCAyOHB4IDUwcHggcmdiYSgwLDAsMCwwLjE2KSAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDogMTcwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVpZ2h0LXNtYWxsLWhlaWdodDogMTUwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LW1lZGl1bS1oZWlnaHQ6IDMwMHB4ICFkZWZhdWx0O1xuJGhlaWdodC1sYXJnZS1oZWlnaHQ6IDQ1MHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM6IDVweCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWR1cmF0aW9uOiAwLjFzICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDogMzBweCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzOiAxMDAlICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJhY2tncm91bmQ6ICM0NDQgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmx1cjogMjBweCAhZGVmYXVsdDtcbiRkcm9wY2FwLW1hcmdpbi1yaWdodDogMTBweCAhZGVmYXVsdDtcbiRkcm9wY2FwLWZvbnQtc2l6ZTogKCgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMykgKiAxZW0pICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLWNvbnRlbnQ6ICcuJyAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1tYXJnaW4tbGVmdDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbG9nby1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGxvZ28tZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbG9nby1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsb2dvLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyYWdvdmVyLWJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMTAwLDEwMCwxMDAsMC4zKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR3aWR0aC1zbWFsbC13aWR0aDogMTUwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbWVkaXVtLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbiR3aWR0aC1sYXJnZS13aWR0aDogNDUwcHggIWRlZmF1bHQ7XG4kd2lkdGgteGxhcmdlLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcbiR3aWR0aC14eGxhcmdlLXdpZHRoOiA3NTBweCAhZGVmYXVsdDsiLCIvLyBOYW1lOiAgICAgICAgICAgIExpbmtcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBsaW5rc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpbmstbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saW5rLXRleHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saW5rLXJlc2V0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaW5rLW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaW5rLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaW5rXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBNdXRlZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmEudWstbGluay1tdXRlZCxcbi51ay1saW5rLW11dGVkIGEge1xuICAgIGNvbG9yOiAkbGluay1tdXRlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1tdXRlZCkpIHtAaW5jbHVkZSBob29rLWxpbmstbXV0ZWQoKTt9XG59XG5cbmEudWstbGluay1tdXRlZDpob3Zlcixcbi51ay1saW5rLW11dGVkIGE6aG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1tdXRlZC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1tdXRlZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpbmstbXV0ZWQtaG92ZXIoKTt9XG59XG5cblxuLyogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBgIWltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGludmVyc2UgY29tcG9uZW50XG4gKi9cblxuYS51ay1saW5rLXRleHQ6bm90KDpob3ZlciksXG4udWstbGluay10ZXh0IGE6bm90KDpob3Zlcikge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstdGV4dCkpIHtAaW5jbHVkZSBob29rLWxpbmstdGV4dCgpO31cbn1cblxuYS51ay1saW5rLXRleHQ6aG92ZXIsXG4udWstbGluay10ZXh0IGE6aG92ZXIge1xuICAgIGNvbG9yOiAkbGluay10ZXh0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saW5rLXRleHQtaG92ZXIoKTt9XG59XG5cblxuLyogUmVzZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVycmlkZSBpbnZlcnNlIGNvbXBvbmVudFxuICovXG5cbmEudWstbGluay1yZXNldCxcbmEudWstbGluay1yZXNldDpob3Zlcixcbi51ay1saW5rLXJlc2V0IGEsXG4udWstbGluay1yZXNldCBhOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXJlc2V0KSkge0BpbmNsdWRlIGhvb2stbGluay1yZXNldCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saW5rLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpbmstbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLW11dGVkLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGluay10ZXh0KCl7fVxuLy8gQG1peGluIGhvb2stbGluay10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGluay1yZXNldCgpe31cbi8vIEBtaXhpbiBob29rLWxpbmstbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEhlYWRpbmdcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBoZWFkaW5nc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWhlYWRpbmctcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctaGVyb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctYnVsbGV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVhZGluZy1saW5lYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcblxuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgIDMuNzVyZW0gIWRlZmF1bHQ7IC8vIDU0cHhcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbTogICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICA0cmVtICFkZWZhdWx0OyAvLyA2NHB4XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1zOiAgICAgICAgICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDsgLy8gOTZweFxuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1zOiAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICA4cmVtICFkZWZhdWx0OyAvLyAxMjhweFxuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tOiAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaGVhZGluZy1idWxsZXQtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYygtMC4xICogMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDAuOWVtICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDogICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaGVhZGluZy1saW5lLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgMC42ZW0gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFByaW1hcnlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXByaW1hcnkoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWhlYWRpbmctcHJpbWFyeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBIZXJvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctaGVybyB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1oZXJvKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1oZXJvKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1zO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oZWFkaW5nLWhlcm8ge1xuICAgICAgICBmb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW07XG4gICAgfVxuXG59XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLWRpdmlkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWRpdmlkZXIoKTt9XG59XG5cblxuLyogQnVsbGV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctYnVsbGV0IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qXG4gKiAxLiBVc2luZyBgaW5saW5lLWJsb2NrYCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWdubWVudFxuICogMi4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogJGhlYWRpbmctYnVsbGV0LXRvcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDMgKi9cbiAgICBoZWlnaHQ6ICRoZWFkaW5nLWJ1bGxldC1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0O1xuICAgIGJvcmRlci1sZWZ0OiAkaGVhZGluZy1idWxsZXQtYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWJ1bGxldC1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctYnVsbGV0KSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1idWxsZXQoKTt9XG59XG5cblxuLyogTGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDbGlwIHRoZSBjaGlsZCBlbGVtZW50XG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIEV4dHJhIG1hcmt1cCBpcyBuZWVkZWQgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGV4dCBhbGlnblxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogMS4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDIuIE1ha2UgdGhlIGVsZW1lbnQgYXMgbGFyZ2UgYXMgcG9zc2libGUuIEl0J3MgY2xpcHBlZCBieSB0aGUgY29udGFpbmVyLlxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstaGVhZGluZy1saW5lID4gOmJlZm9yZSxcbi51ay1oZWFkaW5nLWxpbmUgPiA6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHVucXVvdGUoJ2NhbGMoNTAlIC0gKCN7JGhlYWRpbmctbGluZS1oZWlnaHR9IC8gMikpJyk7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAyMDAwcHg7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWxpbmUtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWxpbmUoKTt9XG59XG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6YmVmb3JlIHtcbiAgICByaWdodDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw7XG59XG4udWstaGVhZGluZy1saW5lID4gOmFmdGVyIHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAkaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctbWlzYykpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1oZXJvKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRGl2aWRlclxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGRpdmlkZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZGl2aWRlci1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGl2aWRlci1zbWFsbGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZGl2aWRlci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRkaXZpZGVyLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyMCUyMiUyMGhlaWdodCUzRCUyMjIwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMiUyMiUyMGN4JTNEJTIyMTAlMjIlMjBjeSUzRCUyMjEwJTIyJTIwciUzRCUyMjclMjIlM0UlM0MlMkZjaXJjbGUlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcblxuJGRpdmlkZXItc21hbGwtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzZXQgZGVmYXVsdCBgaHJgXG4gKiAyLiBTZXQgbWFyZ2luIGlmIGEgYGRpdmAgaXMgdXNlZCBmb3Igc2VtYW50aWNhbCByZWFzb25cbiAqL1xuXG5bY2xhc3MqPSd1ay1kaXZpZGVyJ10ge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1ib3R0b206ICRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgW2NsYXNzKj0ndWstZGl2aWRlciddIHsgbWFyZ2luLXRvcDogJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXZpZGVyLWljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6ICRkaXZpZGVyLWljb24taGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2UsIFwiIzAwMFwiLCAkZGl2aWRlci1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbikpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbigpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLFxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGRpdmlkZXItaWNvbi1saW5lLXRvcDtcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlIC0gKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICBib3JkZXItYm90dG9tOiAkZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbi1saW5lKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSB7XG4gICAgcmlnaHQ6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICB3aWR0aDogJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCgpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgIGxlZnQ6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICB3aWR0aDogJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCk7fVxufVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0IGNoaWxkIGhlaWdodCwgY2F1c2VkIGJ5IGBpbmxpbmUtYmxvY2tgXG4gKi9cblxuLnVrLWRpdmlkZXItc21hbGwgeyBsaW5lLWhlaWdodDogMDsgfVxuXG4udWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkZGl2aWRlci1zbWFsbC13aWR0aDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLXNtYWxsLWJvcmRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1zbWFsbCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogICAgICAgTWl4aW5cbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBtaXhpbnMgd2hpY2ggYXJlIHVzZWQgYWNyb3NzIGFsbCBjb21wb25lbnRzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gU1ZHXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuQG1peGluIHN2Zy1maWxsKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3KXtcblxuICAgICRyZXBsYWNlLXNyYzogc3RyLXJlcGxhY2UoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpICFkZWZhdWx0O1xuICAgICRyZXBsYWNlLXNyYzogc3RyLXJlcGxhY2UoJHJlcGxhY2Utc3JjLCBcIiNcIiwgXCIlMjNcIik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHF1b3RlKCRyZXBsYWNlLXNyYykpO1xufSIsIi8vIE5hbWU6ICAgICAgICAgICAgTGlzdFxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlzdGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1saXN0LWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LXN0cmlwZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWJ1bGxldGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxpc3QtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbGlzdC1uZXN0ZWQtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGxpc3QtYnVsbGV0LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlzdC1idWxsZXQtd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjI2JTIyJTIwaGVpZ2h0JTNEJTIyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYlMjA2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTNFJTNDJTJGY2lyY2xlJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstbGlzdCA+IGxpOjpiZWZvcmUsXG4udWstbGlzdCA+IGxpOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWxpc3QgPiBsaTo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWxpc3QgPiBsaSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICogTmVzdGVkIGxpc3RzXG4gKi9cblxuLnVrLWxpc3QgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsaXN0LW5lc3RlZC1wYWRkaW5nLWxlZnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIFN0eWxlXG4gKi9cblxuLnVrLWxpc3QgPiBsaTpudGgtY2hpbGQobisyKSxcbi51ay1saXN0ID4gbGkgPiB1bCB7IG1hcmdpbi10b3A6ICRsaXN0LW1hcmdpbi10b3A7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgYm9yZGVyLXRvcDogJGxpc3QtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3QtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWxpc3QtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstbGlzdC1zdHJpcGVkID4gbGkge1xuICAgIHBhZGRpbmc6ICRsaXN0LXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbCAkbGlzdC1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2stbGlzdC1zdHJpcGVkKCk7fVxufVxuXG4udWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSB7IGJhY2tncm91bmQ6ICRsaXN0LXN0cmlwZWQtYmFja2dyb3VuZDsgfVxuXG4udWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLWNoaWxkKG4rMikgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBCdWxsZXRcbiAqL1xuXG4udWstbGlzdC1idWxsZXQgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogdW5xdW90ZSgnY2FsYygjeyRsaXN0LWJ1bGxldC13aWR0aH0gKyAjeyRsaXN0LWJ1bGxldC1tYXJnaW4tcmlnaHR9KScpO1xufVxuXG4udWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJGxpc3QtYnVsbGV0LXdpZHRoO1xuICAgIGhlaWdodDogJGxpc3QtYnVsbGV0LWhlaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2UsIFwiIzAwMFwiLCAkbGlzdC1idWxsZXQtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWxpc3QtYnVsbGV0KCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdC1sYXJnZSA+IGxpOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QtbGFyZ2UgPiBsaSA+IHVsIHsgbWFyZ2luLXRvcDogJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDsgfVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDtcbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LXN0cmlwZWQgPiBsaSB7XG4gICAgcGFkZGluZzogJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsICRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1saXN0LXN0cmlwZWQoKTt9XG59XG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1jaGlsZChuKzIpIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3QtbWlzYykpIHtAaW5jbHVkZSBob29rLWxpc3QtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGlzdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlzdC1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2stbGlzdC1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1saXN0LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtYnVsbGV0KCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEZXNjcmlwdGlvbiBsaXN0XG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZGVzY3JpcHRpb24gbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kZXNjcmlwdGlvbi1saXN0YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A6ICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlci13aWR0aDogICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjogICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEZXNjcmlwdGlvbiBsaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRlcm1cbiAqL1xuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGR0IHtcbiAgICBjb2xvcjogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKSkge0BpbmNsdWRlIGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKCk7fVxufVxuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGR0Om50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A7XG59XG5cbi8qXG4gKiBEZXNjcmlwdGlvblxuICovXG5cbi51ay1kZXNjcmlwdGlvbi1saXN0ID4gZGQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKSkge0BpbmNsdWRlIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMaW5lXG4gKi9cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlciA+IGR0Om50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A7XG4gICAgYm9yZGVyLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlci13aWR0aCBzb2xpZCAkZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSkpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYykpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKCl7fVxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCl7fVxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgVGFibGVcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciB0YWJsZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10YWJsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10YWJsZS1taWRkbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc3RyaXBlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1qdXN0aWZ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc2hyaW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtZXhwYW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXJlc3BvbnNpdmVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWJsZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWZvb3Rlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1leHBhbmQtbWluLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICogMi4gQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay10YWJsZSB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkdGFibGUtbWFyZ2luLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstdGFibGUgeyBtYXJnaW4tdG9wOiAkdGFibGUtbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSGVhZGVyIGNlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqL1xuXG4udWstdGFibGUgdGgge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAvKiAxICovXG4gICAgZm9udC1zaXplOiAkdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtaGVhZGVyLWNlbGwtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtaGVhZGVyLWNlbGwpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1oZWFkZXItY2VsbCgpO31cbn1cblxuXG4vKiBDZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1jZWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtY2VsbCgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay10YWJsZSB0ZCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEZvb3RlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSB0Zm9vdCB7XG4gICAgZm9udC1zaXplOiAkdGFibGUtZm9vdGVyLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtZm9vdGVyKCk7fVxufVxuXG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAkdGFibGUtY2FwdGlvbi1mb250LXNpemU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWNhcHRpb24pKSB7QGluY2x1ZGUgaG9vay10YWJsZS1jYXB0aW9uKCk7fVxufVxuXG5cbi8qIFJvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSA+IHRyLnVrLWFjdGl2ZSxcbi51ay10YWJsZSB0Ym9keSB0ci51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLXJvdy1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1yb3ctYWN0aXZlKCk7fVxufVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1taWRkbGUsXG4udWstdGFibGUtbWlkZGxlIHRkIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstdGFibGUtZGl2aWRlciA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLnVrLXRhYmxlLWRpdmlkZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgPiB0cixcbi51ay10YWJsZS1kaXZpZGVyID4gOmZpcnN0LWNoaWxkID4gdHI6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUob2RkKSxcbi51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2stdGFibGUtc3RyaXBlZCgpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuLnVrLXRhYmxlLWhvdmVyID4gdHI6aG92ZXIsXG4udWstdGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1ob3ZlcigpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlLXNtYWxsIHRoLFxuLnVrLXRhYmxlLXNtYWxsIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtc21hbGwpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1zbWFsbCgpO31cbn1cblxuXG4vKiBKdXN0aWZ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlLWp1c3RpZnkgdGg6Zmlyc3QtY2hpbGQsXG4udWstdGFibGUtanVzdGlmeSB0ZDpmaXJzdC1jaGlsZCB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4udWstdGFibGUtanVzdGlmeSB0aDpsYXN0LWNoaWxkLFxuLnVrLXRhYmxlLWp1c3RpZnkgdGQ6bGFzdC1jaGlsZCB7IHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuXG4vKiBDZWxsIHNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtc2hyaW5rIHsgd2lkdGg6IDFweDsgfVxuLnVrLXRhYmxlLWV4cGFuZCB7IG1pbi13aWR0aDogJHRhYmxlLWV4cGFuZC1taW4td2lkdGg7IH1cblxuXG4vKiBDZWxsIGxpbmsgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRG9lcyBub3Qgd29yayB3aXRoIGB1ay10YWJsZS1qdXN0aWZ5YCBhdCB0aGUgbW9tZW50XG4gKi9cblxuLnVrLXRhYmxlLWxpbmsgeyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRhYmxlLWxpbmsgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLnVrLXRhYmxlLXNtYWxsIC51ay10YWJsZS1saW5rID4gYSB7IHBhZGRpbmc6ICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cblxuLyogUmVzcG9uc2l2ZSB0YWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwtbWF4KSB7XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0Ym9keSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ciB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aGVhZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkIHtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGg6bm90KDpmaXJzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIC51ay10YWJsZS1saW5rOm5vdCg6Zmlyc3QtY2hpbGQpID4gYSB7IHBhZGRpbmctdG9wOiByb3VuZCgkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsIC8gMykgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGg6bm90KDpsYXN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmxhc3QtY2hpbGQpID4gYSB7IHBhZGRpbmctYm90dG9tOiByb3VuZCgkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsIC8gMykgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLXRhYmxlLWp1c3RpZnkudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10YWJsZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtY2VsbCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWNhcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1yb3ctYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDAuMDIpICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtY2FwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBJY29uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaWNvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1pY29uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWljb24taW1hZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pY29uLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pY29uLWJ1dHRvbmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaWNvbi1pbWFnZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGljb24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1jb2xvciwgNSUpICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzZweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBOb3RlOiAxLiAtIDcuIGlzIHJlcXVpcmVkIGZvciBgYnV0dG9uYCBlbGVtZW50cy4gTmVlZGVkIGZvciBDbG9zZSBhbmQgRm9ybSBJY29uIGNvbXBvbmVudC5cbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIFJlbW92ZSBib3JkZXItcmFkaXVzIGluIENocm9tZS5cbiAqIDQuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA1LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNi4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA3LiBSZW1vdmUgZGVmYXVsdCBgYnV0dG9uYCBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGNvbG9yXG4gKiA4LiBTdHlsZVxuICogOS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMTAuIExldCB0aGUgY29udGFpbmVyIGZpdCB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uXG4gKi9cblxuLnVrLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogNiAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC8qIDcuICovXG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvKiA4ICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDkgKi9cbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgLyogMTAgKi9cbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuLyogUmVxdWlyZWQgZm9yIGBidXR0b25gLiAqL1xuYnV0dG9uLnVrLWljb246bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKiAxLiBGaXggZm9yIHVwcGVyY2FzZSBhdHRyaWJ1dGUgbmFtZXMgaW4gRWRnZS4gV2lsbCBiZSBmaXhlZCBpbiBXaW5kb3dzIDEwIGJ1aWxkcyAxNjI1MStcbiAqL1xuXG4udWstaWNvbiBbZmlsbCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSxcbi51ay1pY29uIFtGSUxMKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgZmlsbDogY3VycmVudGNvbG9yOyB9IC8vIDFcbi51ay1pY29uIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSksXG4udWstaWNvbiBbU1RST0tFKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH0gLy8gMVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuXG4udWstaWNvbiA+ICogeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApOyB9XG5cblxuLyogSW1hZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGlzcGxheSBpbWFnZXMgaW4gaWNvbiBkaW1lbnNpb25zXG4gKi9cblxuLnVrLWljb24taW1hZ2Uge1xuICAgIHdpZHRoOiAkaWNvbi1pbWFnZS1zaXplO1xuICAgIGhlaWdodDogJGljb24taW1hZ2Utc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExpbmtcbiAqL1xuXG4udWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rKCk7fVxufVxuXG4udWstaWNvbi1saW5rOmhvdmVyLFxuLnVrLWljb24tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1saW5rOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmstYWN0aXZlKCk7fVxufVxuXG4vKlxuICogQnV0dG9uXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstaWNvbi1idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRpY29uLWJ1dHRvbi1zaXplO1xuICAgIGhlaWdodDogJGljb24tYnV0dG9uLXNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGljb24tYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbi1idXR0b246aG92ZXIsXG4udWstaWNvbi1idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tYnV0dG9uOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWljb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staWNvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWljb24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZvcm0gUmFuZ2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciB0aGUgcmFuZ2UgaW5wdXQgdHlwZVxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXJhbmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDE1JSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm0gUmFuZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTm9ybWFsaXplIGFuZCBkZWZhdWx0c1xuICogMi4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMy4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIFJlbW92ZSB3aGl0ZSBiYWNrZ3JvdW5kIGluIENocm9tZVxuICogNi4gUmVtb3ZlIHBhZGRpbmcgaW4gSUUxMVxuICovXG5cbi51ay1yYW5nZSB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMiAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgLyogNiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhbmdlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuLnVrLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHsgYm9yZGVyOiBub25lOyB9XG5cbi8qIElFMTEgUmVzZXQgKi9cbi51ay1yYW5nZTo6LW1zLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIEltcHJvdmVzIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBmb3IgY2xpY2thYmxlIGVsZW1lbnRzXG4gKi9cblxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbW96LXJhbmdlLXRodW1iIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tcy10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5cbi8qIFRodW1iXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAoZmxvb3IoJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMikgKiAtMSk7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRmlyZWZveCAqL1xuLnVrLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEVkZ2UgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogSUUxMSAqL1xuLnVrLXJhbmdlOjotbXMtdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRWRnZSArIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRvb2x0aXAgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogVHJhY2tcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2FmYXJpIGRvZXNuJ3QgaGF2ZSBhIGZvY3VzIHN0YXRlLiBVc2luZyBhY3RpdmUgaW5zdGVhZC5cbiAqL1xuXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuLyogMSAqL1xuLnVrLXJhbmdlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG4vKiBGaXJlZm94ICovXG4udWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOjotbXMtZmlsbC11cHBlciB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjaykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2soKTt9XG59XG5cbi51ay1yYW5nZTpmb2N1czo6LW1zLWZpbGwtbG93ZXIsXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRodW1iKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjaygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZvcm1cbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBmb3Jtc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWZvcm0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWlucHV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VsZWN0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGV4dGFyZWFgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yYWRpb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNoZWNrYm94YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGVnZW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmllbGRzZXRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstZm9ybS1jdXN0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN0YWNrZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWhvcml6b250YWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhYmVsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9sc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbi1mbGlwYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWZvcm0tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1kYW5nZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWJsYW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC14c21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9scy10ZXh0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgIDRweCAhZGVmYXVsdDtcblxuJGZvcm0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb3JtLWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGZvcm0tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRmb3JtLXdpZHRoLXhzbWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbWVkaXVtOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIC00cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWxlZ2VuZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgIDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6ICAgICAgICAgICAyMTVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDogICAgICA3cHggIWRlZmF1bHQ7XG5cbiRmb3JtLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMyUyMDklMjA4JTIwMTUlMjA4JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUzRSUzQyUyRnJlY3QlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogICAgRGVmYXVsdCBpcyBgY29udGVudC1ib3hgIHdpdGggZm9sbG93aW5nIGV4Y2VwdGlvbnMgc2V0IHRvIGBib3JkZXItYm94YFxuICogICAgYHNlbGVjdGAsIGBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1gIGFuZCBgaW5wdXRbdHlwZT1cInJhZGlvXCJdYFxuICogICAgYGlucHV0W3R5cGU9XCJzZWFyY2hcIl1gIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYVxuICogICAgYGlucHV0W3R5cGU9XCJjb2xvclwiXWAgaW4gRmlyZWZveFxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhLFxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xufVxuXG4vKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG4udWstaW5wdXQgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1zZWxlY3QgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiAyLiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIGFuZCB1c2UgYGJvbGRgIGluc3RlYWQuXG4gKiBOT1RFOiBCb3RoIGRlY2xhcmF0aW9ucyBkb24ndCB3b3JrIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqL1xuXG4udWstc2VsZWN0IG9wdGdyb3VwIHtcbiAgICAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiAyICovXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbi51ay10ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cblxuLypcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbi51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHsgcGFkZGluZzogMDsgfVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuXG4udWstcmFkaW86bm90KDpkaXNhYmxlZCksXG4udWstY2hlY2tib3g6bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG4udWstZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuXG4vKiBJbnB1dCwgc2VsZWN0IGFuZCB0ZXh0YXJlYVxuICogQWxsb3dlZDogYHRleHRgLCBgcGFzc3dvcmRgLCBgZGF0ZXRpbWVgLCBgZGF0ZXRpbWUtbG9jYWxgLCBgZGF0ZWAsICBgbW9udGhgLFxuICAgICAgICAgICAgYHRpbWVgLCBgd2Vla2AsIGBudW1iZXJgLCBgZW1haWxgLCBgdXJsYCwgYHNlYXJjaGAsIGB0ZWxgLCBgY29sb3JgXG4gKiBEaXNhbGxvd2VkOiBgcmFuZ2VgLCBgcmFkaW9gLCBgY2hlY2tib3hgLCBgZmlsZWAsIGBzdWJtaXRgLCBgcmVzZXRgIGFuZCBgaW1hZ2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqL1xuXG4udWstaW5wdXQsXG4udWstdGV4dGFyZWEgeyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIFJlc2V0IGRlZmF1bHRcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6IDAgJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtKSkge0BpbmNsdWRlIGhvb2stZm9ybSgpO31cbn1cblxuLypcbiAqIFNpbmdsZS1saW5lXG4gKiAxLiBBbGxvdyBhbnkgZWxlbWVudCB0byBsb29rIGxpa2UgYW4gYGlucHV0YCBvciBgc2VsZWN0YCBlbGVtZW50XG4gKiAyLiBNYWtlIHN1cmUgbGluZS1oZWlnaHQgaXMgbm90IGxhcmdlciB0aGFuIGhlaWdodFxuICogICAgQWxzbyBuZWVkZWQgdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHlcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1oZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXNpbmdsZS1saW5lKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpO31cbn1cblxuLyogMiAqL1xuLnVrLWlucHV0Om5vdChpbnB1dCksXG4udWstc2VsZWN0Om5vdChzZWxlY3QpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLWxpbmUtaGVpZ2h0OyB9XG5cbi8qXG4gKiBNdWx0aS1saW5lXG4gKi9cblxuLnVrLXNlbGVjdFttdWx0aXBsZV0sXG4udWstc2VsZWN0W3NpemVdLFxuLnVrLXRleHRhcmVhIHtcbiAgICBwYWRkaW5nLXRvcDogJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW11bHRpLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW11bHRpLWxpbmUoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstaW5wdXQ6Zm9jdXMsXG4udWstc2VsZWN0OmZvY3VzLFxuLnVrLXRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWZvY3VzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1mb2N1cygpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1pbnB1dDpkaXNhYmxlZCxcbi51ay1zZWxlY3Q6ZGlzYWJsZWQsXG4udWstdGV4dGFyZWE6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1kaXNhYmxlZCgpO31cbn1cblxuLypcbiAqIFBsYWNlaG9sZGVyXG4gKi9cblxuLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cbi51ay1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4udWstdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuLnVrLXRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1mb3JtLXNtYWxsIHsgZm9udC1zaXplOiAkZm9ybS1zbWFsbC1mb250LXNpemU7IH1cblxuLnVrLWZvcm0tc21hbGw6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0tc21hbGwtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLnVrLWZvcm0tc21hbGw6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay1mb3JtLWxhcmdlIHsgZm9udC1zaXplOiAkZm9ybS1sYXJnZS1mb250LXNpemU7IH1cblxuLnVrLWZvcm0tbGFyZ2U6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0tbGFyZ2UtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLnVrLWZvcm0tbGFyZ2U6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBFcnJvclxuICovXG5cbi51ay1mb3JtLWRhbmdlcixcbi51ay1mb3JtLWRhbmdlcjpmb2N1cyB7XG4gICAgY29sb3I6ICRmb3JtLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWRhbmdlcigpO31cbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstZm9ybS1zdWNjZXNzLFxuLnVrLWZvcm0tc3VjY2Vzczpmb2N1cyAge1xuICAgIGNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBCbGFua1xuICovXG5cbi51ay1mb3JtLWJsYW5rIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWJsYW5rKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ibGFuaygpO31cbn1cblxuLnVrLWZvcm0tYmxhbms6Zm9jdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWJsYW5rLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ibGFuay1mb2N1cygpO31cbn1cblxuXG4vKiBXaWR0aCBtb2RpZmllcnMgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGaXhlZCB3aWR0aHNcbiAqIERpZmZlcmVudCB3aWR0aHMgZm9yIG1pbmkgc2l6ZWQgYGlucHV0YCBhbmQgYHNlbGVjdGAgZWxlbWVudHNcbiAqL1xuXG5pbnB1dC51ay1mb3JtLXdpZHRoLXhzbWFsbCB7IHdpZHRoOiAkZm9ybS13aWR0aC14c21hbGw7IH1cblxuc2VsZWN0LnVrLWZvcm0td2lkdGgteHNtYWxsIHsgd2lkdGg6ICgkZm9ybS13aWR0aC14c21hbGwgKyAyNXB4KTsgfVxuXG4udWstZm9ybS13aWR0aC1zbWFsbCB7IHdpZHRoOiAkZm9ybS13aWR0aC1zbWFsbDsgfVxuXG4udWstZm9ybS13aWR0aC1tZWRpdW0geyB3aWR0aDogJGZvcm0td2lkdGgtbWVkaXVtOyB9XG5cbi51ay1mb3JtLXdpZHRoLWxhcmdlIHsgd2lkdGg6ICRmb3JtLXdpZHRoLWxhcmdlOyB9XG5cblxuLyogU2VsZWN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHN0eWxlLiBBbHNvIHdvcmtzIGluIEZpcmVmb3hcbiAqIDIuIFN0eWxlXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBJRSAxMC8xMVxuICovXG5cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tc2VsZWN0LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG59XG5cbi8qIDMgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOjotbXMtZXhwYW5kIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTpkaXNhYmxlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuXG5cbi8qIFJhZGlvIGFuZCBjaGVja2JveFxuICogTm90ZTogRG9lcyBub3Qgd29yayBpbiBJRTExXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBNYWtlIGJveCBtb3JlIHJvYnVzdCBzbyBpdCBjbGlwcyB0aGUgY2hpbGQgZWxlbWVudFxuICogMy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA0LiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogNS4gRml4IGJsYWNrIGJhY2tncm91bmQgb24gaU9TXG4gKiA2LiBDZW50ZXIgaWNvbnNcbiAqL1xuXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYWRpby1zaXplO1xuICAgIHdpZHRoOiAkZm9ybS1yYWRpby1zaXplO1xuICAgIC8qIDIgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1yYWRpby1tYXJnaW4tdG9wO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpbykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8oKTt9XG59XG5cbi51ay1yYWRpbyB7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhZGlvOmZvY3VzLFxuLnVrLWNoZWNrYm94OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1mb2N1cygpO31cbn1cblxuLypcbiAqIENoZWNrZWRcbiAqL1xuXG4udWstcmFkaW86Y2hlY2tlZCxcbi51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1jaGVja2VkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1jaGVja2VkKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpO31cbn1cblxuLypcbiAqIEljb25zXG4gKi9cblxuLnVrLXJhZGlvOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICovXG5cbi51ay1yYWRpbzpkaXNhYmxlZCxcbi51ay1jaGVja2JveDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQoKTt9XG59XG5cbi51ay1yYWRpbzpkaXNhYmxlZDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuXG5cbi8qIExlZ2VuZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMZWdlbmRcbiAqIDEuIEJlaGF2ZSBsaWtlIGJsb2NrIGVsZW1lbnRcbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWxlZ2VuZCB7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiAzICovXG4gICAgcGFkZGluZzogMDtcbiAgICAvKiA0ICovXG4gICAgZm9udC1zaXplOiAkZm9ybS1sZWdlbmQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1sZWdlbmQtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbGVnZW5kKSkge0BpbmNsdWRlIGhvb2stZm9ybS1sZWdlbmQoKTt9XG59XG5cblxuLyogQ3VzdG9tIGNvbnRyb2xzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICovXG5cbi51ay1mb3JtLWN1c3RvbSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qXG4gKiAxLiBQb3NpdGlvbiBhbmQgcmVzaXplIHRoZSBmb3JtIGNvbnRyb2wgdG8gYWx3YXlzIGNvdmVyIGl0cyBjb250YWluZXJcbiAqIDIuIFJlcXVpcmVkIGZvciBGaXJlZm94IGZvciBwb3NpdGlvbmluZyB0byB0aGUgbGVmdFxuICogMy4gUmVxdWlyZWQgZm9yIFdlYmtpdCB0byBtYWtlIGBoZWlnaHRgIHdvcmtcbiAqIDQuIEhpZGUgY29udHJvbGUgYW5kIHNob3cgY3Vyc29yXG4gKiA1LiBOZWVkZWQgZm9yIHRoZSBjdXJzb3JcbiAqIDYuIENsaXAgaGVpZ2h0IGNhdXNlZCBieSA1LiBOZWVkZWQgZm9yIFdlYmtpdCBvbmx5XG4gKi9cblxuLnVrLWZvcm0tY3VzdG9tIHNlbGVjdCxcbi51ay1mb3JtLWN1c3RvbSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMyAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA0ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi51ay1mb3JtLWN1c3RvbSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgLyogNSAqL1xuICAgIGZvbnQtc2l6ZTogNTAwcHg7XG4gICAgLyogNiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLyogTGFiZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZm9ybS1sYWJlbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWxhYmVsKCk7fVxufVxuXG5cbi8qIExheW91dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTdGFja2VkXG4gKi9cblxuLnVrLWZvcm0tc3RhY2tlZCAudWstZm9ybS1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKTt9XG59XG5cbi8qXG4gKiBIb3Jpem9udGFsXG4gKi9cblxuLyogVGFibGV0IHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwtbWF4KSB7XG5cbiAgICAvKiBCZWhhdmUgbGlrZSBgdWstZm9ybS1zdGFja2VkYCAqL1xuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCk7fVxuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tbGFiZWwge1xuICAgICAgICB3aWR0aDogJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDtcbiAgICAgICAgbWFyZ2luLXRvcDogJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpO31cbiAgICB9XG5cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzIHsgbWFyZ2luLWxlZnQ6ICRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ7IH1cblxuICAgIC8qIEJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQgaWYgY29udHJvbHMgYXJlIGNoZWNrYm94ZXMgYW5kIHJhZGlvIGJ1dHRvbnMgd2l0aCB0ZXh0ICovXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scy10ZXh0IHsgcGFkZGluZy10b3A6ICRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDsgfVxuXG59XG5cblxuLyogSWNvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTZXQgd2lkdGhcbiAqIDMuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstZm9ybS1pY29uIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6ICRmb3JtLWljb24td2lkdGg7XG4gICAgLyogMyAqL1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogNCAqL1xuICAgIGNvbG9yOiAkZm9ybS1pY29uLWNvbG9yO1xufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstZm9ybS1pY29uOmhvdmVyIHsgY29sb3I6ICRmb3JtLWljb24taG92ZXItY29sb3I7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG5cbi51ay1mb3JtLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogSW5wdXQgcGFkZGluZ1xuICovXG5cbi51ay1mb3JtLWljb246bm90KC51ay1mb3JtLWljb24tZmxpcCkgKyAudWstaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICRmb3JtLWljb24td2lkdGg7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cblxuLnVrLWZvcm0taWNvbi1mbGlwIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG4udWstZm9ybS1pY29uLWZsaXAgKyAudWstaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1pY29uLXdpZHRoOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1taXNjKSkge0BpbmNsdWRlIGhvb2stZm9ybS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tbXVsdGktbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWJsYW5rKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ibGFuay1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8oKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tbGVnZW5kKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogICBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEJ1dHRvblxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGJ1dHRvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1idXR0b25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYnV0dG9uLWdyb3VwYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWJ1dHRvbi1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tc2Vjb25kYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWRhbmdlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi10ZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tbGFyZ2VgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRidXR0b24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcblxuJGJ1dHRvbi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tbGluay1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJ1dHRvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBSZW1vdmUgYm9yZGVyLXJhZGl1cyBpbiBDaHJvbWUuXG4gKiA0LiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNS4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDYuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNy4gU3R5bGVcbiAqIDguIGBsaW5lLWhlaWdodGAgaXMgdXNlZCB0byBjcmVhdGUgYSBoZWlnaHQgYmVjYXVzZSBpdCBhbHNvIGNlbnRlcnMgdGhlIHRleHQgdmVydGljYWxseSBmb3IgYGFgIGVsZW1lbnRzLlxuICogICAgQmV0dGVyIHdvdWxkIGJlIHRvIHVzZSBoZWlnaHQgYW5kIGZsZXhib3ggdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHkgYnV0IGZsZXhib3ggZG9lc24ndCB3b3JrIGluIEZpcmVmb3ggb24gYGJ1dHRvbmAgZWxlbWVudHMuXG4gKiA5LiBBbGlnbiB0ZXh0IGlmIGJ1dHRvbiBoYXMgYSB3aWR0aFxuICogMTAuIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLWJ1dHRvbiB7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAyICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA1ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiA2ICovXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgLyogNyAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXNpemU6ICRidXR0b24tZm9udC1zaXplO1xuICAgIC8qIDggKi9cbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1saW5lLWhlaWdodDtcbiAgICAvKiA5ICovXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qIDEwICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1idXR0b24oKTt9XG59XG5cbi51ay1idXR0b246bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uOmhvdmVyIHtcbiAgICAvKiA4ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24taG92ZXIoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZm9jdXMoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b246YWN0aXZlLFxuLnVrLWJ1dHRvbi51ay1hY3RpdmUge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1idXR0b24tZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdCgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLFxuLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLWJ1dHRvbi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4udWstYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4udWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLWJ1dHRvbi1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlcigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6aG92ZXIsXG4udWstYnV0dG9uLWRhbmdlcjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRhbmdlcjphY3RpdmUsXG4udWstYnV0dG9uLWRhbmdlci51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEaXNhYmxlZFxuICogVGhlIHNhbWUgZm9yIGFsbCBzdHlsZSBtb2RpZmllcnNcbiAqL1xuXG4udWstYnV0dG9uLWRlZmF1bHQ6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXByaW1hcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXNlY29uZGFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tZGFuZ2VyOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kaXNhYmxlZCgpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1idXR0b24tc21hbGwge1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tc21hbGwtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNtYWxsKCk7fVxufVxuXG4udWstYnV0dG9uLWxhcmdlIHtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1sYXJnZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1sYXJnZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1sYXJnZSgpO31cbn1cblxuXG4vKiBUZXh0IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUZXh0XG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnV0dG9uLXRleHQge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXRleHQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tdGV4dCgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLFxuLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCk7fVxufVxuXG4vKlxuICogTGlua1xuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWJ1dHRvbi1saW5rIHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1saW5rKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWxpbmsoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tbGluazpob3Zlcixcbi51ay1idXR0b24tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICRidXR0b24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLWxpbms6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi8qIEdyb3VwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFVzaW5nIGBmbGV4YCBpbnN0ZWFkIG9mIGBpbmxpbmUtYmxvY2tgIHRvIHByZXZlbnQgd2hpdGVzcGFjZSBiZXR3ZWVudCBjaGlsZCBlbGVtZW50c1xuICogMi4gQmVoYXZlIGxpa2UgYnV0dG9uXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICovXG5cbi51ay1idXR0b24tZ3JvdXAge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAvKiAyICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNlY3Rpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIGxheW91dCBzZWN0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2VjdGlvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zZWN0aW9uLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi14bGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLW92ZXJsYXBgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmUtY29sb3JgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWN0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE1ha2UgaXQgd29yayB3aXRoIGAxMDB2aGAgYW5kIGhlaWdodCBpbiBnZW5lcmFsXG4gKi9cblxuLnVrLXNlY3Rpb24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbikpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24oKTt9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstc2VjdGlvbjo6YmVmb3JlLFxuLnVrLXNlY3Rpb246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstc2VjdGlvbjo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBYU21hbGxcbiAqL1xuXG4udWstc2VjdGlvbi14c21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1zZWN0aW9uLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKlxuICogWExhcmdlXG4gKi9cblxuLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uLXhsYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1zZWN0aW9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuXG4udWstc2VjdGlvbi1tdXRlZCB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1tdXRlZCkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tbXV0ZWQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLXNlY3Rpb24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLXByaW1hcnkoKTt9XG59XG5cbkBpZiAoICRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1zZWN0aW9uLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKTt9XG59XG5cbkBpZiAoICRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKiBPdmVybGFwIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2VydmVkIG1vZGlmaWVyIHRvIG1ha2UgYSBzZWN0aW9uIG92ZXJsYXAgYW5vdGhlciBzZWN0aW9uIHdpdGggYW4gYm9yZGVyIGltYWdlXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuXG4udWstc2VjdGlvbi1vdmVybGFwIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1vdmVybGFwKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1vdmVybGFwKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tb3ZlcmxhcCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbnRhaW5lclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gYWxpZ24gYW5kIGNlbnRlciB5b3VyIHNpdGUgYW5kIGdyaWQgY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbnRhaW5lcmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1jb250YWluZXItc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb250YWluZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGg6ICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOiAgICAgICAgICAgICAgMTYwMHB4ICFkZWZhdWx0O1xuXG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBCb3ggc2l6aW5nIGhhcyB0byBiZSBgY29udGVudC1ib3hgIHNvIHRoZSBtYXgtd2lkdGggaXMgYWx3YXlzIHRoZSBzYW1lIGFuZFxuICogICAgdW5hZmZlY3RlZCBieSB0aGUgcGFkZGluZyBvbiBkaWZmZXJlbnQgYnJlYWtwb2ludHMuIEl0J3MgaW1wb3J0YW50IGZvciB0aGUgc2l6ZSBtb2RpZmllcnMuXG4gKi9cblxuLnVrLWNvbnRhaW5lciB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1jb250YWluZXI6OmJlZm9yZSxcbi51ay1jb250YWluZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstY29udGFpbmVyOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY29udGFpbmVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgcGFkZGluZyBmcm9tIG5lc3RlZCBjb250YWluZXJzXG4gKi9cblxuLnVrLWNvbnRhaW5lciAudWstY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbnRhaW5lci1zbWFsbCB7IG1heC13aWR0aDogJGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci1sYXJnZSB7IG1heC13aWR0aDogJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci1leHBhbmQgeyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb250YWluZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbnRhaW5lci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb250YWluZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEdyaWRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSByZXNwb25zaXZlLCBmbHVpZCBhbmQgbmVzdGFibGUgZ3JpZHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1ncmlkYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWdyaWQtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWNvbGxhcHNlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXRjaGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtc3RhY2tgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1jb2xsYXBzZWBcbi8vXG4vLyBTdWItbW9kaWZpZXI6ICAgIGB1ay1ncmlkLWl0ZW0tbWF0Y2hgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZmlyc3QtY29sdW1uYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRncmlkLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWwtbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcblxuJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgICAgICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG5cbiRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogR3JpZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBjZWxscyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1ncmlkIHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBHcmlkIGNlbGxcbiAqIE5vdGU6IFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rczogMCAxIGF1dG9cbiAqIFJlc2V0IG1hcmdpbiBmb3IgZS5nLiBwYXJhZ3JhcGhzXG4gKi9cblxuLnVrLWdyaWQgPiAqIHsgbWFyZ2luOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstZ3JpZCA+ICogPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBHdXR0ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLFxuLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sKTsgfVxuICAgIC51ay1ncmlkID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZCArIC51ay1ncmlkLFxuICAgIC51ay1ncmlkID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgICogKyAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItdmVydGljYWwtbDsgfVxuXG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLXNtYWxsIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1zbWFsbCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLXNtYWxsLFxuLnVrLWdyaWQtc21hbGwgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLXNtYWxsIHsgbWFyZ2luLXRvcDogJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1tZWRpdW0geyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1tZWRpdW0gPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbWVkaXVtLFxuLnVrLWdyaWQtbWVkaXVtID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWxhcmdlIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtbGFyZ2UgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sKTsgfVxuICAgIC51ay1ncmlkLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuICAgIC51ay1ncmlkLWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgICogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDsgfVxuXG59XG5cbi8qXG4gKiBDb2xsYXBzZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWNvbGxhcHNlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbi51ay1ncmlkLWNvbGxhcHNlID4gKiB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1jb2xsYXBzZSxcbi51ay1ncmlkLWNvbGxhcHNlID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZ3JpZC1kaXZpZGVyID4gKiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAkZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6ICRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRncmlkLWRpdmlkZXItYm9yZGVyO1xufVxuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWd1dHRlci12ZXJ0aWNhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAoLSRncmlkLWd1dHRlci12ZXJ0aWNhbC1sKTtcbiAgICAgICAgbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTtcbiAgICB9XG5cbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4vKlxuICogTWVkaXVtXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwpO1xuICAgICAgICBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpO1xuICAgIH1cblxufVxuXG5cbi8qIE1hdGNoIGNoaWxkIG9mIGEgZ3JpZCBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMS4gV3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGgsIGF0IGxlYXN0IDEwMCUuIE9ubHkgaWYgbm8gY2xhc3MgZnJvbSB0aGUgV2lkdGggY29tcG9uZW50IGlzIHNldC5cbiAqIDMuIEV4cGFuZCB3aWR0aCBldmVuIGlmIGxhcmdlciB0aGFuIDEwMCUsIGUuZy4gYmVjYXVzZSBvZiBuZWdhdGl2ZSBtYXJnaW4gKE5lZWRlZCBmb3IgbmVzdGVkIGdyaWRzKVxuICovXG5cbi51ay1ncmlkLW1hdGNoID4gKixcbi51ay1ncmlkLWl0ZW0tbWF0Y2gge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnVrLWdyaWQtbWF0Y2ggPiAqID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSxcbi51ay1ncmlkLWl0ZW0tbWF0Y2ggPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgLW1zLWZsZXg6IGF1dG87XG4gICAgLXdlYmtpdC1mbGV4OiBhdXRvO1xuICAgIGZsZXg6IGF1dG87XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZ3JpZC1taXNjKSkge0BpbmNsdWRlIGhvb2stZ3JpZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuIiwiLy8gTmFtZTogICAgICAgICAgICBUaWxlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdGlsZWQgYm94ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10aWxlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRpbGUteHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXhsYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXNlY29uZGFyeWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZS1jb2xvcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG5cbiR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRpbGUtbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kdGlsZS1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRpbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlKSkge0BpbmNsdWRlIGhvb2stdGlsZSgpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLXRpbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstdGlsZTo6YmVmb3JlLFxuLnVrLXRpbGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstdGlsZTo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXRpbGUgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBYU21hbGxcbiAqL1xuXG4udWstdGlsZS14c21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay10aWxlLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXRpbGUtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKlxuICogWExhcmdlXG4gKi9cblxuLnVrLXRpbGUteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlLXhsYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay10aWxlLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stdGlsZS1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuXG4udWstdGlsZS1tdXRlZCB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtbXV0ZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1tdXRlZCkpIHtAaW5jbHVkZSBob29rLXRpbGUtbXV0ZWQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLXRpbGUtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay10aWxlLXByaW1hcnkoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICR0aWxlLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICR0aWxlLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstdGlsZS1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLXRpbGUtc2Vjb25kYXJ5KCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stdGlsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10aWxlKCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDYXJkXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYm94ZWQgY29udGVudCBjb250YWluZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2FyZGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jYXJkLWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtZm9vdGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1tZWRpYS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtYmFkZ2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstY2FyZC1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtc2Vjb25kYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtbGFyZ2VgXG4vL1xuLy8gVXNlczogICAgICAgICAgICBgdWstZ3JpZC1zdGFja2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGNhcmQtYmFkZ2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2FyZC1iYWRnZS10b3AgIWRlZmF1bHQ7XG5cbiRjYXJkLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRjYXJkLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGNhcmQtcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGNhcmQtc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG5cbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENhcmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQpKSB7QGluY2x1ZGUgaG9vay1jYXJkKCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWJvZHkoKTt9XG59XG5cbi51ay1jYXJkLWhlYWRlciB7XG4gICAgcGFkZGluZzogJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWhlYWRlcigpO31cbn1cblxuLnVrLWNhcmQtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAkY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZm9vdGVyKCk7fVxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1jYXJkLWJvZHk6OmJlZm9yZSxcbi51ay1jYXJkLWJvZHk6OmFmdGVyLFxuLnVrLWNhcmQtaGVhZGVyOjpiZWZvcmUsXG4udWstY2FyZC1oZWFkZXI6OmFmdGVyLFxuLnVrLWNhcmQtZm9vdGVyOjpiZWZvcmUsXG4udWstY2FyZC1mb290ZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstY2FyZC1ib2R5OjphZnRlcixcbi51ay1jYXJkLWhlYWRlcjo6YWZ0ZXIsXG4udWstY2FyZC1mb290ZXI6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jYXJkLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtZm9vdGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogTWVkaWFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXJ2ZWQgYWxpZ25tZW50IG1vZGlmaWVyIHRvIHN0eWxlIHRoZSBtZWRpYSBlbGVtZW50LCBlLmcuIHdpdGggYGJvcmRlci1yYWRpdXNgXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuXG5bY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhKSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYSgpO31cbn1cblxuLnVrLWNhcmQtbWVkaWEtdG9wLFxuLnVrLWdyaWQtc3RhY2sgPiAudWstY2FyZC1tZWRpYS1sZWZ0LFxuLnVrLWdyaWQtc3RhY2sgPiAudWstY2FyZC1tZWRpYS1yaWdodCAge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLXRvcCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtdG9wKCk7fVxufVxuXG4udWstY2FyZC1tZWRpYS1ib3R0b20ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLWJvdHRvbSkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtYm90dG9tKCk7fVxufVxuXG46bm90KC51ay1ncmlkLXN0YWNrKSA+IC51ay1jYXJkLW1lZGlhLWxlZnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLWxlZnQpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLWxlZnQoKTt9XG59XG5cbjpub3QoLnVrLWdyaWQtc3RhY2spID4gLnVrLWNhcmQtbWVkaWEtcmlnaHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRjYXJkLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXRpdGxlKCk7fVxufVxuXG5cbi8qIEJhZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRjYXJkLWJhZGdlLXRvcDtcbiAgICByaWdodDogJGNhcmQtYmFkZ2UtcmlnaHQ7XG4gICAgei1pbmRleDogMTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtYmFkZ2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbi51ay1jYXJkLWJhZGdlOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vKiBIb3ZlciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLWhvdmVyOm5vdCgudWstY2FyZC1kZWZhdWx0KTpub3QoLnVrLWNhcmQtcHJpbWFyeSk6bm90KC51ay1jYXJkLXNlY29uZGFyeSk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKiBOb3RlOiBIZWFkZXIgYW5kIEZvb3RlciBhcmUgb25seSBpbXBsZW1lbnRlZCBmb3IgdGhlIGRlZmF1bHQgc3R5bGVcbiAqL1xuXG4udWstY2FyZC1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLWRlZmF1bHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdCgpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdC51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC1ob3ZlcigpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1oZWFkZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcigpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1mb290ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcigpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstY2FyZC1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeSgpO31cbn1cblxuLnVrLWNhcmQtcHJpbWFyeSAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeS1ob3ZlcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1jYXJkLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLXNlY29uZGFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeSgpO31cbn1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstY2FyZC1zbWFsbC51ay1jYXJkLWJvZHksXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7IH1cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jYXJkLWxhcmdlLnVrLWNhcmQtYm9keSxcbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1taXNjKSkge0BpbmNsdWRlIGhvb2stY2FyZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jYXJkKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLXRvcCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDbG9zZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgY2xvc2UgYnV0dG9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2xvc2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2xvc2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ2xvc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1jbG9zZSB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1jbG9zZSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWNsb3NlOmhvdmVyLFxuLnVrLWNsb3NlOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2xvc2UtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWNsb3NlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jbG9zZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1jbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTcGlubmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBsb2FkaW5nIHNwaW5uZXJcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zcGlubmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzcGlubmVyLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc3Ryb2tlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kc3Bpbm5lci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3IoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpIC8gMikgIWRlZmF1bHQ7IC8vIE1pbnVzIHN0cm9rZSB3aWR0aCB0byBwcmV2ZW50IG92ZXJmbG93IGNsaXBwaW5nXG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiAgICAgICAgICAgICAgICAgICAgICAgICAgcm91bmQoMiAqIDMuMTQxICogJHNwaW5uZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRzcGlubmVyLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjRzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTcGlubmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstc3Bpbm5lciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNwaW5uZXIpKSB7QGluY2x1ZGUgaG9vay1zcGlubmVyKCk7fVxufVxuXG5cbi8qIFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zcGlubmVyID4gKiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHVrLXNwaW5uZXItcm90YXRlICRzcGlubmVyLWR1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IHVrLXNwaW5uZXItcm90YXRlICRzcGlubmVyLWR1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLXNwaW5uZXItcm90YXRlIHtcbiAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1yb3RhdGUge1xuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxufVxuXG4vKlxuICogQ2lyY2xlXG4gKi9cblxuLnVrLXNwaW5uZXIgPiAqID4gKiB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAkc3Bpbm5lci1kdXJhdGlvbiBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAkc3Bpbm5lci1kdXJhdGlvbiBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBzdHJva2Utd2lkdGg6ICRzcGlubmVyLXN0cm9rZS13aWR0aDtcbiAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1zcGlubmVyLWRhc2gge1xuICAgIDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7IH1cbiAgICA1MCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZS80O1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDUwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1kYXNoIHtcbiAgICAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlOyB9XG4gICAgNTAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2UvNDtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoNDUwZGVnKTtcbiAgICB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3Bpbm5lci1taXNjKSkge0BpbmNsdWRlIGhvb2stc3Bpbm5lci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zcGlubmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3Bpbm5lci1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUb3RvcFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIGljb24gdG8gc2Nyb2xsIGJhY2sgdG8gdG9wXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdG90b3BgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRvdG9wLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiR0b3RvcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kdG90b3AtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJHRvdG9wLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvdG9wXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXRvdG9wIHtcbiAgICBwYWRkaW5nOiAkdG90b3AtcGFkZGluZztcbiAgICBjb2xvcjogJHRvdG9wLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcCkpIHtAaW5jbHVkZSBob29rLXRvdG9wKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstdG90b3A6aG92ZXIsXG4udWstdG90b3A6Zm9jdXMge1xuICAgIGNvbG9yOiAkdG90b3AtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3AtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10b3RvcC1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLXRvdG9wOmFjdGl2ZSB7XG4gICAgY29sb3I6ICR0b3RvcC1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRvdG9wLWFjdGl2ZSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcC1taXNjKSkge0BpbmNsdWRlIGhvb2stdG90b3AtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdG90b3AoKXt9XG4vLyBAbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRvdG9wLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE1hcmtlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgbWFya2VyIGljb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tYXJrZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1hcmtlci1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbWFya2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbWFya2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJG1hcmtlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1hcmtlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1tYXJrZXIge1xuICAgIHBhZGRpbmc6ICRtYXJrZXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbWFya2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRtYXJrZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlcikpIHtAaW5jbHVkZSBob29rLW1hcmtlcigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW1hcmtlcjpob3Zlcixcbi51ay1tYXJrZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAkbWFya2VyLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1hcmtlci1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJrZXItbWlzYykpIHtAaW5jbHVkZSBob29rLW1hcmtlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tYXJrZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tYXJrZXItaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tYXJrZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbGVydFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFsZXJ0IG1lc3NhZ2VzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYWxlcnRgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstYWxlcnQtY2xvc2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYWxlcnQtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsZXJ0LXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGVydC13YXJuaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxlcnQtZGFuZ2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhbGVydC1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyArIDE0cHggIWRlZmF1bHQ7XG4kYWxlcnQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRhbGVydC1jbG9zZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyAhZGVmYXVsdDtcblxuJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCwgNDAlKSwgMjUlKSAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCwgNDUlKSwgMTUlKSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFsZXJ0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFsZXJ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZyAkYWxlcnQtcGFkZGluZy1yaWdodCAkYWxlcnQtcGFkZGluZyAkYWxlcnQtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydCkpIHtAaW5jbHVkZSBob29rLWFsZXJ0KCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstYWxlcnQgeyBtYXJnaW4tdG9wOiAkYWxlcnQtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstYWxlcnQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWxlcnQtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRhbGVydC1jbG9zZS10b3A7XG4gICAgcmlnaHQ6ICRhbGVydC1jbG9zZS1yaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1jbG9zZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuLnVrLWFsZXJ0LWNsb3NlOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyICsgRm9jdXNcbiAqL1xuXG4udWstYWxlcnQtY2xvc2U6aG92ZXIsXG4udWstYWxlcnQtY2xvc2U6Zm9jdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLWFsZXJ0LXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stYWxlcnQtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstYWxlcnQtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1hbGVydC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtd2FybmluZy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtd2FybmluZykpIHtAaW5jbHVkZSBob29rLWFsZXJ0LXdhcm5pbmcoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstYWxlcnQtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWFsZXJ0LWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1taXNjKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYWxlcnQoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC13YXJuaW5nKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEJhZGdlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbm90aWZpY2F0aW9uIGJhZGdlc1xuXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1iYWRnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYmFkZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjJweCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRiYWRnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRiYWRnZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBDZW50ZXIgY2hpbGQgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWJhZGdlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi13aWR0aDogJGJhZGdlLXNpemU7XG4gICAgaGVpZ2h0OiAkYmFkZ2Utc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhZGdlLXNpemU7XG4gICAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmctdmVydGljYWwgJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBib3JkZXItcmFkaXVzOiAkYmFkZ2UtYm9yZGVyLXJhZGl1cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1iYWRnZSgpO31cbn1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuXG4udWstYmFkZ2U6aG92ZXIsXG4udWstYmFkZ2U6Zm9jdXMge1xuICAgIGNvbG9yOiAkYmFkZ2UtaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWJhZGdlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2stYmFkZ2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYWRnZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1iYWRnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTGFiZWxcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGluZGljYXRlIGltcG9ydGFudCBub3Rlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxhYmVsYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWxhYmVsLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sYWJlbC13YXJuaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGFiZWwtZGFuZ2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxhYmVsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kbGFiZWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGFiZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZy12ZXJ0aWNhbCAkbGFiZWwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGFiZWwtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWxhYmVsKCk7fVxufVxuXG5cbi8qIENvbG9yIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWxhYmVsLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtc3VjY2VzcygpO31cbn1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuXG4udWstbGFiZWwtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLXdhcm5pbmctYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLWxhYmVsLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLWRhbmdlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC1kYW5nZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtbWlzYykpIHtAaW5jbHVkZSBob29rLWxhYmVsLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLXdhcm5pbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxhYmVsKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgT3ZlcmxheVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGNvbnRlbnQgYXJlYXMgb3ZlcmxheWluZyBhbiBpbWFnZVxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW92ZXJsYXlgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstb3ZlcmxheS1pY29uYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLW92ZXJsYXktZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW92ZXJsYXktcHJpbWFyeWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kb3ZlcmxheS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcblxuJG92ZXJsYXktcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVybGF5IHtcbiAgICBwYWRkaW5nOiAkb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsICRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheSkpIHtAaW5jbHVkZSBob29rLW92ZXJsYXkoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstb3ZlcmxheSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmxheS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1pY29uKSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1pY29uKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLW92ZXJsYXktZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLW92ZXJsYXktcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXktcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LXByaW1hcnkoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW92ZXJsYXktcHJpbWFyeSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstb3ZlcmxheS1wcmltYXJ5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1taXNjKSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1vdmVybGF5KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBcnRpY2xlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYXJ0aWNsZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hcnRpY2xlYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFydGljbGUtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hcnRpY2xlLW1ldGFgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFydGljbGUtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG5cbiRhcnRpY2xlLW1ldGEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQXJ0aWNsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUoKTt9XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1hcnRpY2xlOjpiZWZvcmUsXG4udWstYXJ0aWNsZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1hcnRpY2xlOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstYXJ0aWNsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEFkamFjZW50IHNpYmxpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZSArIC51ay1hcnRpY2xlIHtcbiAgICBtYXJnaW4tdG9wOiAkYXJ0aWNsZS1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLWFkamFjZW50KSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLXRpdGxlKCk7fVxufVxuXG5cbi8qIE1ldGFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZS1tZXRhIHtcbiAgICBmb250LXNpemU6ICRhcnRpY2xlLW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYXJ0aWNsZS1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkYXJ0aWNsZS1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLW1ldGEpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLW1ldGEoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlKCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29tbWVudFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG5lc3RlZCBjb21tZW50c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbW1lbnRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY29tbWVudC1ib2R5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1tZXRhYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1hdmF0YXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWxpc3RgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstY29tbWVudC1wcmltYXJ5YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb21tZW50LWhlYWRlci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRjb21tZW50LW1ldGEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdC1tOiAgICAgICAgICAgICAgICAgICAgMTAwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbW1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50KCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtYm9keSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtYm9keSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtYm9keSgpO31cbn1cblxuLnVrLWNvbW1lbnQtaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWhlYWRlcigpO31cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWNvbW1lbnQtYm9keTo6YmVmb3JlLFxuLnVrLWNvbW1lbnQtYm9keTo6YWZ0ZXIsXG4udWstY29tbWVudC1oZWFkZXI6OmJlZm9yZSxcbi51ay1jb21tZW50LWhlYWRlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1jb21tZW50LWJvZHk6OmFmdGVyLFxuLnVrLWNvbW1lbnQtaGVhZGVyOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY29tbWVudC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY29tbWVudC1oZWFkZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRjb21tZW50LXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNvbW1lbnQtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LXRpdGxlKCk7fVxufVxuXG5cbi8qIE1ldGFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1tZXRhIHtcbiAgICBmb250LXNpemU6ICRjb21tZW50LW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY29tbWVudC1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LW1ldGEpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LW1ldGEoKTt9XG59XG5cblxuLyogQXZhdGFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtYXZhdGFyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1hdmF0YXIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWF2YXRhcigpO31cbn1cblxuXG4vKiBMaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICogTm90ZTogR2VuZXJhbCBzaWJsaW5nIHNlbGVjdG9yIGFsbG93cyByZXBseSBibG9jayBiZXR3ZWVuIGNvbW1lbnQgYW5kIHN1Ymxpc3RcbiAqL1xuXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwge1xuICAgIG1hcmdpbjogJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wIDAgMCAwO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1saXN0LXN1YikpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1zdWIoKTt9XG59XG5cbi8qIFRhYmxldCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwgeyBwYWRkaW5nLWxlZnQ6ICRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW07IH1cblxufVxuXG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtcHJpbWFyeSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtcHJpbWFyeSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWF2YXRhcigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU2VhcmNoXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdGhlIHNlYXJjaFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNlYXJjaGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zZWFyY2gtaW5wdXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtdG9nZ2xlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLXNlYXJjaC1pY29uYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXNlYXJjaC1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLW5hdmJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2VhcmNoLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHNlYXJjaC1kZWZhdWx0LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgNnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbmF2YmFyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuXG4kc2VhcmNoLWxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuXG4kc2VhcmNoLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlYXJjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gUmVzZXQgYGZvcm1gXG4gKi9cblxuLnVrLXNlYXJjaCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIG1hcmdpbjogMDtcbn1cblxuXG4vKiBJbnB1dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstc2VhcmNoLWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogMS4gRGVmaW5lIGNvbnNpc3RlbnQgYm94IHNpemluZy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveC9JRSBhbmQgQ2hyb21lL1NhZmFyaS9PcGVyYS5cbiAqIDMuIFJlbW92ZSBgYm9yZGVyLXJhZGl1c2AgaW4gaU9TLlxuICogNC4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiA1LiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gaU9TLlxuICogNy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA4LiBUYWtlIHRoZSBmdWxsIGNvbnRhaW5lciB3aWR0aFxuICogOS4gU3R5bGVcbiAqL1xuXG4udWstc2VhcmNoLWlucHV0IHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIC8qIDUgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA2ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDcgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDggKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiA5ICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAkc2VhcmNoLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtaW5wdXQoKTt9XG59XG5cbi51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qIFBsYWNlaG9sZGVyICovXG4udWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgeyBjb2xvcjogJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjsgfVxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cblxuLyogSWNvbiAoQWRvcHRzIGB1ay1pY29uYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuXG4udWstc2VhcmNoLWljb246Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBQb3NpdGlvbiBhYm92ZSBpbnB1dFxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJHNlYXJjaC1pY29uLWNvbG9yO1xufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7IGNvbG9yOiAkc2VhcmNoLWljb24tY29sb3I7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24tZmxpcCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IHsgd2lkdGg6ICRzZWFyY2gtZGVmYXVsdC13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgaGVpZ2h0OiAkc2VhcmNoLWRlZmF1bHQtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cykpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg7IH1cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApICsgLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbi1mbGlwICsgLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aCk7IH1cblxuXG4vKiBOYXZiYXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLW5hdmJhciB7IHdpZHRoOiAkc2VhcmNoLW5hdmJhci13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtbmF2YmFyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kO1xuICAgIGZvbnQtc2l6ZTogJHNlYXJjaC1uYXZiYXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpO31cbn1cblxuLypcbiAqIEljb25cbiAqL1xuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDsgfVxuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSArIC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uLWZsaXAgKyAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtbmF2YmFyLWljb24td2lkdGgpOyB9XG5cblxuLyogTGFyZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLWxhcmdlIHsgd2lkdGg6ICRzZWFyY2gtbGFyZ2Utd2lkdGg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtbGFyZ2UtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDtcbiAgICBmb250LXNpemU6ICRzZWFyY2gtbGFyZ2UtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOyB9XG5cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgKyAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24tZmxpcCArIC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoKTsgfVxuXG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICBjb2xvcjogJHNlYXJjaC10b2dnbGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtdG9nZ2xlKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc2VhcmNoLXRvZ2dsZTpob3Zlcixcbi51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzIHtcbiAgICBjb2xvcjogJHNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1taXNjKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNlYXJjaC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmluZXMgc3R5bGVzIGZvciBsaXN0IG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5hdi1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1zdWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbmF2LXBhcmVudC1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1jZW50ZXJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3BlbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvdWNoYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuXG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRuYXYtcGFyZW50LWljb24td2lkdGggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1wcmltYXJ5LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTNFJTNDJTJGcG9seWxpbmUlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUzRSUzQyUyRnBvbHlsaW5lJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNldFxuICogMS4gUHJlcGFyZSBsaXN0c1xuICogMi4gUHJlcGFyZSBsaW5rc1xuICogMy4gUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuXG4vKiAxICovXG4udWstbmF2LFxuLnVrLW5hdiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogMiAqL1xuLnVrLW5hdiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogMyAqL1xuLnVrLW5hdiBsaSA+IGE6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBJdGVtc1xuICogTXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gbGlzdHMpXG4gKi9cblxuLnVrLW5hdiA+IGxpID4gYSB7IHBhZGRpbmc6ICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuXG4vKiBTdWJsaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMZXZlbCAyXG4gKiBgdWxgIG5lZWRlZCBmb3IgaGlnaGVyIHNwZWNpZmljaXR5IHRvIG92ZXJyaWRlIHBhZGRpbmdcbiAqL1xuXG51bC51ay1uYXYtc3ViIHtcbiAgICBwYWRkaW5nOiAkbmF2LXN1Ymxpc3QtcGFkZGluZy12ZXJ0aWNhbCAwICRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsICRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1zdWIpKSB7QGluY2x1ZGUgaG9vay1uYXYtc3ViKCk7fVxufVxuXG4vKlxuICogTGV2ZWwgMyBhbmQgZGVlcGVyXG4gKi9cblxuLnVrLW5hdi1zdWIgdWwgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0OyB9XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXYtc3ViIGEgeyBwYWRkaW5nOiAkbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsIDA7IH1cblxuXG4vKiBQYXJlbnQgaWNvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6ICRuYXYtcGFyZW50LWljb24td2lkdGg7XG4gICAgaGVpZ2h0OiAkbmF2LXBhcmVudC1pY29uLWhlaWdodDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkbmF2LXBhcmVudC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wYXJlbnQtaWNvbikpIHtAaW5jbHVkZSBob29rLW5hdi1wYXJlbnQtaWNvbigpO31cbn1cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRuYXYtcGFyZW50LWljb24tY29sb3IpOyB9XG5cblxuLyogSGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1oZWFkZXIge1xuICAgIHBhZGRpbmc6ICRuYXYtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXNpemU6ICRuYXYtaGVhZGVyLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1oZWFkZXIoKTt9XG59XG5cbi51ay1uYXYtaGVhZGVyOm5vdCg6Zmlyc3QtY2hpbGQpIHsgbWFyZ2luLXRvcDogJG5hdi1oZWFkZXItbWFyZ2luLXRvcDsgfVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWRpdmlkZXIge1xuICAgIG1hcmdpbjogJG5hdi1kaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbCAkbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRpdmlkZXIoKTt9XG59XG5cblxuLyogRGVmYXVsdCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtZGVmYXVsdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cblxuLyogUHJpbWFyeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtcHJpbWFyeSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnkoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAkbmF2LXByaW1hcnktaXRlbS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRuYXYtcHJpbWFyeS1pdGVtLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3Zlcixcbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qIFN1Ymxpc3RzICovXG4udWstbmF2LWNlbnRlciAudWstbmF2LXN1Yixcbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViIHVsIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyICAqL1xuLnVrLW5hdi1jZW50ZXIudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHsgcG9zaXRpb246IGFic29sdXRlOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1uYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbmF2LXN1Yigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wYXJlbnQtaWNvbigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLW5hdi1wYXJlbnQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTmF2YmFyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaG9yaXpvbnRhbCBuYXZpZ2F0aW9uIGJhcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1uYXZiYXJgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbmF2YmFyLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1jZW50ZXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1jZW50ZXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItbmF2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWl0ZW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItdG9nZ2xlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXN1YnRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3BiYXJgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duYCArIE1vZGlmaWVyc1xuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duLW5hdmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bi1ncmlkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXRvZ2dsZS1pY29uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW5hdmJhci10cmFuc3BhcmVudGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1zdGlja3lgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd24tc3RhY2tgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5hdmJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1pdGVtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgODBweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItc3VidGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdmJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCB0byBjZW50ZXIgbmF2YmFyIGdyb3VwXG4gKi9cblxuLnVrLW5hdmJhciB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyKCk7fVxufVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7XG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItY29udGFpbmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJG5hdmJhci1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkbmF2YmFyLWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uIChpZiBDb250YWluZXIgY29tcG9uZW50IGlzIHVzZWQpXG4gKi9cblxuLnVrLW5hdmJhci1jb250YWluZXIgPiA6OmJlZm9yZSxcbi51ay1uYXZiYXItY29udGFpbmVyID4gOjphZnRlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5cbi8qIEdyb3Vwc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGlnbiBuYXZzIGFuZCBpdGVtcyB2ZXJ0aWNhbGx5IGlmIHRoZXkgaGF2ZSBhIGRpZmZlcmVudCBoZWlnaHRcbiAqIDIuIE5vdGU6IElFIDExIHJlcXVpcmVzIGFuIGV4dHJhIGBkaXZgIHdoaWNoIGFmZmVjdHMgdGhlIGNlbnRlciBzZWxlY3RvclxuICovXG5cbi51ay1uYXZiYXItbGVmdCxcbi51ay1uYXZiYXItcmlnaHQsXG4vLyAyLiBbY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyJ10sXG4udWstbmF2YmFyLWNlbnRlcixcbi51ay1uYXZiYXItY2VudGVyLWxlZnQgPiAqLFxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQgPiAqLCB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBIb3Jpem9udGFsIGFsaWdubWVudFxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGNlbnRlcmVkIG5hdmJhciB3aXRoIHN1YiBncm91cHMgKGxlZnQvcmlnaHQpXG4gKiAyLiBOZWVkZWQgZm9yIGRyb3Bkb3ducyBiZWNhdXNlIGEgbmV3IHBvc2l0aW9uIGNvbnRleHQgaXMgY3JlYXRlZFxuICogICAgYHotaW5kZXhgIG11c3QgYmUgc21hbGxlciB0aGFuIG9mZi1jYW52YXNcbiAqIDMuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIHRoZSBjZW50ZXJlZCBzZWN0aW9uIGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgbmF2YmFyXG4gKiA0LiBBbGlnbiBzdWIgZ3JvdXBzIGZvciBjZW50ZXJlZCBuYXZiYXJcbiAqL1xuXG4udWstbmF2YmFyLXJpZ2h0IHsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLnVrLW5hdmJhci1jZW50ZXI6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51ay1uYXZiYXItY2VudGVyOm5vdCg6b25seS1jaGlsZCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgLyogMiAqL1xuICAgIHotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDEwO1xufVxuXG4vKiAzICovXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLFxuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSAudWstbmF2YmFyLWl0ZW0sXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIC51ay1uYXZiYXItdG9nZ2xlIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiA0ICovXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0LFxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgdG9wOiAwO1xufVxuXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0IHsgcmlnaHQ6IDEwMCU7IH1cbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0IHsgbGVmdDogMTAwJTsgfVxuXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLFxuW2NsYXNzKj0ndWstbmF2YmFyLWNlbnRlci0nXSAudWstbmF2YmFyLWl0ZW0sXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIC51ay1uYXZiYXItdG9nZ2xlIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG5cbi8qIE5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLW5hdmJhci1uYXYge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIE9ubHkgbm90IGBhYnNvbHV0ZWAgcG9zaXRpb25lZCBncm91cHNcbiAqL1xuXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuLnVrLW5hdmJhci1jZW50ZXI6b25seS1jaGlsZCB7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi8qXG4gKiBJdGVtc1xuICogMS4gQ2VudGVyIGNvbnRlbnQgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBTdHlsZVxuICogNC4gUmVxdWlyZWQgZm9yIGBhYFxuICovXG5cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAgICAvLyBOYXYgaXRlbVxuLnVrLW5hdmJhci1pdGVtLCAgICAgICAgICAgIC8vIENvbnRlbnQgaXRlbVxuLnVrLW5hdmJhci10b2dnbGUgeyAgICAgICAgIC8vIENsaWNrYWJsZSBpdGVtXG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAkbmF2YmFyLW5hdi1pdGVtLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwICRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBmb250LXNpemU6ICRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5O1xuICAgIC8qIDQgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBOYXYgaXRlbXNcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbSgpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKiBBcHBseSBob3ZlciBzdHlsZSBhbHNvIHRvIGZvY3VzIHN0YXRlIGFuZCBpZiBkcm9wZG93biBpcyBvcGVuZWRcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWl0ZW0ge1xuICAgIGNvbG9yOiAkbmF2YmFyLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWl0ZW0oKTt9XG59XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci10b2dnbGUge1xuICAgIGNvbG9yOiAkbmF2YmFyLXRvZ2dsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUoKTt9XG59XG5cbi51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4udWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuIHtcbiAgICBjb2xvcjogJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogSWNvblxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1uYXZiYXItdG9nZ2xlLWljb24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlLWljb24pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbjpob3ZlciA+IC51ay1uYXZiYXItdG9nZ2xlLWljb24sXG46Zm9jdXMgPiAudWstbmF2YmFyLXRvZ2dsZS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN1YnRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAkbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXN1YnRpdGxlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXN1YnRpdGxlKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItdHJhbnNwYXJlbnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdHJhbnNwYXJlbnQpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKTt9XG59XG5cbi51ay1uYXZiYXItc3RpY2t5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXN0aWNreSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1zdGlja3koKTt9XG59XG5cblxuLyogRHJvcGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1kcm9wZG93bmBcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG5hdmJhci1kcm9wZG93bi16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbmF2YmFyLWRyb3Bkb3duLXdpZHRoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24oKTt9XG59XG5cbi8qIFNob3cgKi9cbi51ay1uYXZiYXItZHJvcGRvd24udWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRuYXZiYXItZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJG5hdmJhci1kcm9wZG93bi1tYXJnaW47IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tbWFyZ2luOyB9XG5cbi8qXG4gKiBHcmlkXG4gKiBBZG9wdHMgYHVrLWdyaWRgXG4gKi9cblxuLyogR3V0dGVyIEhvcml6b250YWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBHdXR0ZXIgVmVydGljYWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogU3RhY2sgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tc3RhY2sgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFdpZHRoIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0yOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDIpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTM6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHsgd2lkdGg6ICgkbmF2YmFyLWRyb3Bkb3duLXdpZHRoICogMyk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNDpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiA0KTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC01Om5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDUpOyB9XG5cbi8qXG4gKiBEcm9wYmFyIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyIHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcigpO31cbn1cblxuXG4vKiBEcm9wZG93biBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cblxuLyogRHJvcGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItZHJvcGJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wYmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3BiYXIoKTt9XG59XG5cbi8qXG4gKiBTbGlkZSBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGJhci1zbGlkZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRuYXZiYXItZHJvcGJhci16LWluZGV4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3BiYXItc2xpZGUoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3VidGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3RpY2t5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN1Ym5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgc3ViIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zdWJuYXZgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc3VibmF2LWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zdWJuYXYtcGlsbGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1maXJzdC1jb2x1bW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRzdWJuYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxLjVlbSAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRzdWJuYXYtaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogICAgICAgICAgICAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICAgICAgICAgICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN1Ym5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLXN1Ym5hdiB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICAvKiAzICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYoKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG5cbi51ay1zdWJuYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgLW1zLWZsZXg6IG5vbmU7XG4gICAgLXdlYmtpdC1mbGV4OiBub25lO1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIFVzaW5nIGA6Zmlyc3QtY2hpbGRgIGluc3RlYWQgb2YgYGFgIHRvIHN1cHBvcnQgYHNwYW5gIGVsZW1lbnRzIGZvciB0ZXh0XG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLFxuLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBEaXZpZGVyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsaWduIGl0ZW1zIGFuZCBkaXZpZGVyIHZlcnRpY2FsbHlcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLypcbiAqIERpdmlkZXJcbiAqIGBudGgtY2hpbGRgIG1ha2VzIGl0IGFsc28gd29yayB3aXRob3V0IEpTIGlmIGl0J3Mgb25seSBvbmUgcm93XG4gKi9cblxuLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6ICgkc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWwgLSAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBib3JkZXItbGVmdDogJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkc3VibmF2LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1kaXZpZGVyKCk7fVxufVxuXG5cbi8qIFBpbGwgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAkc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLFxuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBEaXNhYmxlZFxuICogVGhlIHNhbWUgZm9yIGFsbCBzdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2Utc3VibmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogICAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBCcmVhZGNydW1iXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBicmVhZGNydW1iIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1icmVhZGNydW1iYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJyZWFkY3J1bWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstYnJlYWRjcnVtYiB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWIpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iKCk7fVxufVxuXG4vKlxuICogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKi9cblxuLnVrLWJyZWFkY3J1bWIgPiAqIHtcbiAgICAtbXMtZmxleDogbm9uZTtcbiAgICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6ICRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1icmVhZGNydW1iID4gKiA+IDpob3Zlcixcbi51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJyZWFkY3J1bWIgPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICogYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqL1xuXG4udWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgY29udGVudDogJGJyZWFkY3J1bWItZGl2aWRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwICRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGFnaW5hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgcGFnZSBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFnaW5hdGlvbmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1wYWdpbmF0aW9uLW5leHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWdpbmF0aW9uLXByZXZpb3VzYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWdpbmF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbikpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24oKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG5cbi51ay1wYWdpbmF0aW9uID4gKiB7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4OiBub25lO1xuICAgIC13ZWJraXQtZmxleDogbm9uZTtcbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbSkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLFxuLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRhYlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgdGFiYmVkIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10YWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGFiLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYi1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFiLXJpZ2h0YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFiXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstdGFiIHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSR0YWItbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYikpIHtAaW5jbHVkZSBob29rLXRhYigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cblxuLnVrLXRhYiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleDogbm9uZTtcbiAgICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkdGFiLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogMS4gQ2VudGVyIHRleHQgaWYgYSB3aWR0aCBpcyBzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLXRhYiA+ICogPiBhIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAkdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10YWIgPiAqID4gYTpob3Zlcixcbi51ay10YWIgPiAqID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cblxuLyogUG9zaXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQm90dG9tXG4gKi9cblxuLnVrLXRhYi1ib3R0b20ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItYm90dG9tKSkge0BpbmNsdWRlIGhvb2stdGFiLWJvdHRvbSgpO31cbn1cblxuLnVrLXRhYi1ib3R0b20gPiAqID4gYSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1ib3R0b20taXRlbSkpIHtAaW5jbHVkZSBob29rLXRhYi1ib3R0b20taXRlbSgpO31cbn1cblxuLypcbiAqIExlZnQgKyBSaWdodFxuICogMS4gUmVzZXQgR3V0dGVyXG4gKi9cblxuLnVrLXRhYi1sZWZ0LFxuLnVrLXRhYi1yaWdodCB7XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vKiAxICovXG4udWstdGFiLWxlZnQgPiAqLFxuLnVrLXRhYi1yaWdodCA+ICogeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnVrLXRhYi1sZWZ0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWxlZnQpKSB7QGluY2x1ZGUgaG9vay10YWItbGVmdCgpO31cbn1cblxuLnVrLXRhYi1yaWdodCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1yaWdodCkpIHtAaW5jbHVkZSBob29rLXRhYi1yaWdodCgpO31cbn1cblxuLnVrLXRhYi1sZWZ0ID4gKiA+IGEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1sZWZ0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItbGVmdC1pdGVtKCk7fVxufVxuXG4udWstdGFiLXJpZ2h0ID4gKiA+IGEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1yaWdodC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLXJpZ2h0LWl0ZW0oKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10YWItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGFiKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWxlZnQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZW5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHByZXZpb3VzL25leHQgaWNvbiBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNsaWRlbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlbmF2LWNvbnRhaW5lcmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zbGlkZW5hdi1wcmV2aW91c2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlbmF2LW5leHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zbGlkZW5hdi1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cbiRzbGlkZW5hdi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWwgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlbmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstc2xpZGVuYXYge1xuICAgIHBhZGRpbmc6ICRzbGlkZW5hdi1wYWRkaW5nLXZlcnRpY2FsICRzbGlkZW5hdi1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXNsaWRlbmF2OmhvdmVyLFxuLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1zbGlkZW5hdjphY3RpdmUge1xuICAgIGNvbG9yOiAkc2xpZGVuYXYtYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1hY3RpdmUoKTt9XG59XG5cblxuLyogSWNvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2aW91c1xuICovXG5cbi51ay1zbGlkZW5hdi1wcmV2aW91cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LXByZXZpb3VzKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKTt9XG59XG5cbi8qXG4gKiBOZXh0XG4gKi9cblxuLnVrLXNsaWRlbmF2LW5leHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1uZXh0KSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtbmV4dCgpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNsaWRlbmF2LWxhcmdlIHtcbiAgICBwYWRkaW5nOiAkc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbCAkc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWxhcmdlKCk7fVxufVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zbGlkZW5hdi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWNvbnRhaW5lcikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LXByZXZpb3VzKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtbmV4dCgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtY29udGFpbmVyKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45NSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC43KSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBEb3RuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBkb3QgbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kb3RuYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstZG90bmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTZweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZG90bmF2LWl0ZW0td2lkdGggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG5cbiRkb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC40KSAhZGVmYXVsdDtcblxuJGRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERvdG5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdiB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2KSkge0BpbmNsdWRlIGhvb2stZG90bmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstZG90bmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4OiBub25lO1xuICAgIC13ZWJraXQtZmxleDogbm9uZTtcbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqIDEuIEhpZGUgdGV4dCBpZiBwcmVzZW50XG4gKi9cblxuLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB3aWR0aDogJGRvdG5hdi1pdGVtLXdpZHRoO1xuICAgIGhlaWdodDogJGRvdG5hdi1pdGVtLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZG90bmF2LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAvKiAxICovXG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstZG90bmF2ID4gKiA+IDpob3Zlcixcbi51ay1kb3RuYXYgPiAqID4gOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay1kb3RuYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENoYW5nZSBkaXJlY3Rpb25cbiAqIDIuIEd1dHRlclxuICovXG5cbi51ay1kb3RuYXYtdmVydGljYWwge1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbCk7XG59XG5cbi8qIDIgKi9cbi51ay1kb3RuYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRvdG5hdigpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4zKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBBY2NvcmRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhY2NvcmRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYWNjb3JkaW9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFjY29yZGlvbi10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFjY29yZGlvbi1jb250ZW50YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFjY29yZGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24taXRlbSgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24tdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLXRpdGxlKCk7fVxufVxuXG5cbi8qIENvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6ICRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tY29udGVudCkpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi1jb250ZW50KCk7fVxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstYWNjb3JkaW9uLWNvbnRlbnQ6YmVmb3JlLFxuLnVrLWFjY29yZGlvbi1jb250ZW50OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstYWNjb3JkaW9uLWNvbnRlbnQ6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuIC51ay1hY2NvcmRpb24tY29udGVudCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbigpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIERyb3Bcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIHBvc2l0aW9uIGFueSBlbGVtZW50IG5leHQgdG8gYW55IG90aGVyIGVsZW1lbnQuXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZHJvcGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kcm9wLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtZ3JpZGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vIFVzZXM6ICAgICAgICAgICAgQW5pbWF0aW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRyb3Atei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRkcm9wLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKi9cblxuLnVrLWRyb3Age1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGRyb3Atei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJGRyb3Atd2lkdGg7XG59XG5cbi8qIFNob3cgKi9cbi51ay1kcm9wLnVrLW9wZW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLWRyb3AtdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRkcm9wLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3AtYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkZHJvcC1tYXJnaW47IH1cbltjbGFzcyo9J3VrLWRyb3AtbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJGRyb3AtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcC1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRkcm9wLW1hcmdpbjsgfVxuXG5cbi8qIEdyaWQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3Atc3RhY2sgLnVrLWRyb3AtZ3JpZCA+ICogeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcC1taXNjKSkge0BpbmNsdWRlIGhvb2stZHJvcC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERyb3Bkb3duXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgZHJvcGRvd24gbWVudXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kcm9wZG93bmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1kcm9wZG93bi1uYXZgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZHJvcGRvd24tdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLWdyaWRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRyb3Bkb3duLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERyb3Bkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1kcm9wZG93biB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkZHJvcGRvd24tei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24oKTt9XG59XG5cbi8qIFNob3cgKi9cbi51ay1kcm9wZG93bi51ay1vcGVuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wZG93bi1uYXYge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdigpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyArIEFjdGl2ZSAqL1xuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3Zlcixcbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4udWstZHJvcGRvd24tbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLWRyb3Bkb3duLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcGRvd24tYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkZHJvcGRvd24tbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay1kcm9wZG93bi1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcGRvd24tcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tbWFyZ2luOyB9XG5cblxuLyogR3JpZCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcGRvd24tc3RhY2sgLnVrLWRyb3Bkb3duLWdyaWQgPiAqIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbWlzYykpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2KCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE1vZGFsXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbW9kYWwgZGlhbG9nc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1vZGFsYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW1vZGFsLXBhZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1kaWFsb2dgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1ib2R5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZm9vdGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2Utb3V0c2lkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLWZ1bGxgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbW9kYWwtY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZnVsbGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtb2RhbC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLDAuNikgIWRlZmF1bHQ7XG5cbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWwtczogICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250YWluZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICgkbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICgkbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjMgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jbG9zZS1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlOiAgICAgICAgICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ2xvYmFsLWludmVyc2UtY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNb2RhbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLW1vZGFsIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkbW9kYWwtei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6ICRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tb2RhbCB7IHBhZGRpbmc6ICRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXMgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstbW9kYWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1tb2RhbC51ay1vcGVuIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cblxuLnVrLW1vZGFsLXBhZ2UgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cblxuLyogRGlhbG9nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBzcGlubmVyIGFuZCBjbG9zZSBidXR0b25cbiAqIDIuIERpbWVuc2lvbnNcbiAqIDMuIEZpeCBgbWF4LXdpZHRoOiAxMDAlYCBub3Qgd29ya2luZyBpbiBjb21iaW5hdGlvbiB3aXRoIGZsZXggYW5kIHJlc3BvbnNpdmUgaW1hZ2VzIGluIElFMTFcbiAqICAgIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcndyaXRlIGB1ay13aWR0aC1hdXRvYC4gU2VlIGAjbW9kYWwtbWVkaWEtaW1hZ2VgIGluIHRlc3RzXG4gKiA0LiBTdHlsZVxuICogNS4gU2xpZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1tb2RhbC1kaWFsb2cge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6ICRtb2RhbC1kaWFsb2ctd2lkdGg7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gMC4wMXB4KScpICFpbXBvcnRhbnQ7XG4gICAgLyogNCAqL1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDtcbiAgICAvKiA1ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zcyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBsaW5lYXI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1kaWFsb2cpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1kaWFsb2coKTt9XG59XG5cbi8qXG4gKiBPcGVuXG4gKi9cblxuLnVrLW9wZW4gPiAudWstbW9kYWwtZGlhbG9nIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENvbnRhaW5lciBzaXplXG4gKiBUYWtlIHRoZSBzYW1lIHNpemUgYXMgdGhlIENvbnRhaW5lciBjb21wb25lbnRcbiAqL1xuXG4udWstbW9kYWwtY29udGFpbmVyIC51ay1tb2RhbC1kaWFsb2cgeyB3aWR0aDogJG1vZGFsLWNvbnRhaW5lci13aWR0aDsgfVxuXG4vKlxuICogRnVsbCBzaXplXG4gKiAxLiBSZW1vdmUgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBmcm9tIG1vZGFsXG4gKiAyLiBSZXNldCBhbGwgZGVmYXVsdCBkZWNsYXJhdGlvbnMgZnJvbSBtb2RhbCBkaWFsb2dcbiAqL1xuXG4vKiAxICovXG4udWstbW9kYWwtZnVsbCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4vKiAyICovXG4udWstbW9kYWwtZnVsbCAudWstbW9kYWwtZGlhbG9nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZnVsbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWZ1bGwoKTt9XG59XG5cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1ib2R5KCk7fVxufVxuXG4udWstbW9kYWwtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1oZWFkZXIoKTt9XG59XG5cbi51ay1tb2RhbC1mb290ZXIge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWZvb3RlcigpO31cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLW1vZGFsLWJvZHk6OmJlZm9yZSxcbi51ay1tb2RhbC1ib2R5OjphZnRlcixcbi51ay1tb2RhbC1oZWFkZXI6OmJlZm9yZSxcbi51ay1tb2RhbC1oZWFkZXI6OmFmdGVyLFxuLnVrLW1vZGFsLWZvb3Rlcjo6YmVmb3JlLFxuLnVrLW1vZGFsLWZvb3Rlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1tb2RhbC1ib2R5OjphZnRlcixcbi51ay1tb2RhbC1oZWFkZXI6OmFmdGVyLFxuLnVrLW1vZGFsLWZvb3Rlcjo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLW1vZGFsLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1mb290ZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkbW9kYWwtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtdGl0bGUoKTt9XG59XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ10ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkbW9kYWwtei1pbmRleDtcbiAgICB0b3A6ICRtb2RhbC1jbG9zZS1wb3NpdGlvbjtcbiAgICByaWdodDogJG1vZGFsLWNsb3NlLXBvc2l0aW9uO1xuICAgIHBhZGRpbmc6ICRtb2RhbC1jbG9zZS1wYWRkaW5nO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXTpmaXJzdC1jaGlsZCArICogeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1ob3ZlcigpO31cbn1cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstbW9kYWwtY2xvc2UtZGVmYXVsdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCk7fVxufVxuXG4udWstbW9kYWwtY2xvc2UtZGVmYXVsdDpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4vKlxuICogT3V0c2lkZVxuICogMS4gUHJldmVudCBzY3JvbGxiYXIgb24gc21hbGwgZGV2aWNlc1xuICovXG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlIHtcbiAgICB0b3A6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uO1xuICAgIC8qIDEgKi9cbiAgICByaWdodDogKC0kbW9kYWwtY2xvc2UtcGFkZGluZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0oJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlKSk7XG4gICAgY29sb3I6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSgpO31cbn1cblxuLnVrLW1vZGFsLWNsb3NlLW91dHNpZGU6aG92ZXIge1xuICAgIGNvbG9yOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLyogMSAqL1xuICAgIC51ay1tb2RhbC1jbG9zZS1vdXRzaWRlIHtcbiAgICAgICAgcmlnaHQ6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSwgLSgkbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGUpKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIH1cblxufVxuXG4vKlxuICogRnVsbFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtbWlzYykpIHtAaW5jbHVkZSBob29rLW1vZGFsLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZGlhbG9nKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaWdodGJveFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIGxpZ2h0Ym94IGltYWdlIGdhbGxlcnlcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saWdodGJveGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1saWdodGJveC1wYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtaXRlbXNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC10b29sYmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtdG9vbGJhci1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtYnV0dG9uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtY2FwdGlvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWlmcmFtZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaWdodGJveC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRsaWdodGJveC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZzogICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWJ1dHRvbi1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC1idXR0b24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaWdodGJveFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLWxpZ2h0Ym94IHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkbGlnaHRib3gtei1pbmRleDtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveCgpO31cbn1cblxuLypcbiAqIE9wZW5cbiAqIDEuIENlbnRlciBjaGlsZFxuICogMi4gRmFkZS1pblxuICovXG5cbi51ay1saWdodGJveC51ay1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgb3BhY2l0eTogMTtcbn1cblxuXG4vKiBQYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG5cbi51ay1saWdodGJveC1wYWdlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2VudGVyIGNoaWxkIHdpdGhpbiB0aGUgdmlld3BvcnRcbiAqIDIuIE5vdCB2aXNpYmxlIGJ5IGRlZmF1bHRcbiAqIDMuIENvbG9yIG5lZWRlZCBmb3Igc3Bpbm5lciBpY29uXG4gKiA0LiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqIDUuIFJlc3BvbnNpdmVuZXNzXG4gKiAgICBVc2luZyBgdmhgIGZvciBgbWF4LWhlaWdodGAgdG8gZml4IGltYWdlIHByb3BvcnRpb25zIGFmdGVyIHJlc2l6ZSBpbiBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBVc2luZyBgdmhgIGFuZCBgdndgIHRvIG1ha2UgcmVzcG9uc2l2ZSBpbWFnZSB3b3JrIGluIElFMTFcbiAqL1xuXG4udWstbGlnaHRib3gtaXRlbXMgPiAqIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJGxpZ2h0Ym94LWl0ZW0tY29sb3I7XG4gICAgLyogNCAqL1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1pdGVtKCk7fVxufVxuXG4vKiA1ICovXG4udWstbGlnaHRib3gtaXRlbXMgPiAqID4gKiB7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbn1cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiA+IDpub3QoaWZyYW1lKSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4udWstbGlnaHRib3gtaXRlbXMgPiAudWstYWN0aXZlIHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLyogVG9vbGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC10b29sYmFyIHtcbiAgICBwYWRkaW5nOiAkbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsICRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhcikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKTt9XG59XG5cbi51ay1saWdodGJveC10b29sYmFyICogeyBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I7IH1cblxuXG4vKiBUb29sYmFyIEljb24gKENsb3NlKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC10b29sYmFyLWljb24ge1xuICAgIHBhZGRpbmc6ICRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZztcbiAgICBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCk7fVxufVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCk7fVxufVxuXG5cblxuLyogQnV0dG9uIChTbGlkZW5hdilcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWxpZ2h0Ym94LWJ1dHRvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJGxpZ2h0Ym94LWJ1dHRvbi1zaXplO1xuICAgIGhlaWdodDogJGxpZ2h0Ym94LWJ1dHRvbi1zaXplO1xuICAgIGJhY2tncm91bmQ6ICRsaWdodGJveC1idXR0b24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LWJ1dHRvbi1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtYnV0dG9uKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtYnV0dG9uKCk7fVxufVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG4udWstbGlnaHRib3gtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCk7fVxufVxuXG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtY2FwdGlvbiB7fVxuXG5cbi8qIElmcmFtZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC1pZnJhbWUge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiA4MCU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtbWlzYykpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94KCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZXNob3dcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBzbGlkZXNob3dzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2xpZGVzaG93YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlc2hvdy1pdGVtc2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlc2hvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXNob3cge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXNob3cpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXNob3coKTt9XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGFuZCBzdGFja2luZyBjb250ZXh0XG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKiA0LiBQcmV2ZW50IGRpc3BsYXlpbmcgdGhlIGNhbGxvdXQgaW5mb3JtYXRpb24gb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUG9zaXRpb24gaXRlbXMgYWJvdmUgZWFjaCBvdGhlclxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50cywgZS5nLiBmb3IgYHVrLWNvdmVyYFxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKi9cblxuLnVrLXNsaWRlc2hvdy1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiA0ICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cblxuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMgPiA6bm90KC51ay1hY3RpdmUpIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlc2hvdy1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVzaG93LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlc2hvdygpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlc2hvdy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTdGlja3lcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIG1ha2UgZWxlbWVudHMgc3RpY2t5IGluIHRoZSB2aWV3cG9ydFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN0aWNreWBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1zdGlja3ktZml4ZWRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzdGlja3ktei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcblxuJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgIDAuMnMgIWRlZmF1bHQ7XG4kc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgMC4ycyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3RpY2t5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc29sdmUgZnJhbWUgcmF0ZSBpc3N1ZXMgb24gZGV2aWNlcyB3aXRoIGxvd2VyIGZyYW1lIHJhdGVzIGJ5IGZvcmNpbmcgaGFyZHdhcmUgYWNjZWxlcmF0aW9uXG4gKi9cblxuLnVrLXN0aWNreS1maXhlZCB7XG4gICAgei1pbmRleDogJHN0aWNreS16LWluZGV4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIEZhc3RlciBhbmltYXRpb25zXG4gKi9cblxuLnVrLXN0aWNreVtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb247XG59XG5cbi51ay1zdGlja3kudWstYW5pbWF0aW9uLXJldmVyc2Uge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zdGlja3ktbWlzYykpIHtAaW5jbHVkZSBob29rLXN0aWNreS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgT2ZmLWNhbnZhc1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIG9mZi1jYW52YXMgc2lkZWJhclxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW9mZmNhbnZhc2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1vZmZjYW52YXMtYmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1jb250ZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLXBhZ2VgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstb2ZmY2FudmFzLWNsb3NlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW9mZmNhbnZhcy1mbGlwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWJhci1hbmltYXRpb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtcmV2ZWFsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLW92ZXJsYXlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kb2ZmY2FudmFzLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLWJhci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMjcwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1iYXItd2lkdGgtbTogICAgICAgICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT2ZmLWNhbnZhc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICovXG5cbi51ay1vZmZjYW52YXMge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtei1pbmRleDtcbn1cblxuLypcbiAqIEZsaXAgbW9kaWZpZXJcbiAqL1xuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBCYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTaXplIGFuZCBzdHlsZVxuICogMy4gQWxsb3cgc2Nyb2xsaW5nXG4gKiA0LiBUcmFuc2Zvcm1cbiAqL1xuXG4udWstb2ZmY2FudmFzLWJhciB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoO1xuICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwgJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRtYWluLWNvbG9yLXNldmVudGg7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLWJhcikpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1iYXIoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgICAgICB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGgtbTtcbiAgICAgICAgcGFkZGluZzogJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tICRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgIH1cblxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstb2ZmY2FudmFzLWJhciB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW9mZmNhbnZhcy1iYXIgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLyogRmxpcCBtb2RpZmllciAqL1xuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi8qXG4gKiBTbGlkZSBBbmltYXRpb24gKFVzZWQgaW4gc2xpZGUgYW5kIHB1c2ggbW9kZSlcbiAqL1xuXG4udWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbn1cblxuLypcbiAqIFJldmVhbCBBbmltYXRpb25cbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gQ2xpcCB0aGUgYmFyXG4gKiAzLiBBbmltYXRpb25cbiAqIDQuIFJlc2V0IHRyYW5zZm9ybVxuICovXG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAzICovXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtcmV2ZWFsIHsgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoOyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLXJldmVhbCB7IHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aC1tOyB9XG5cbn1cblxuLypcbiAqIEZsaXAgbW9kaWZpZXJcbiAqL1xuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW9mZmNhbnZhcy1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtei1pbmRleDtcbiAgICB0b3A6ICRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb247XG4gICAgcmlnaHQ6ICRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb247XG4gICAgcGFkZGluZzogJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtY2xvc2UoKTt9XG59XG5cblxuLyogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBPdmVybGF5IHRoZSB3aG9sZSBwYWdlLiBOZWVkZWQgZm9yIHRoZSBgOjpiZWZvcmVgXG4gKiAxLiBVc2luZyBgMTAwdndgIHNvIG5vIG1vZGlmaWNhdGlvbiBpcyBuZWVkZWQgd2hlbiBvZmYtY2FudmFzIGlzIGZsaXBwZWRcbiAqIDIuIEFsbG93IGZvciBjbG9zaW5nIHdpdGggc3dpcGUgZ2VzdHVyZSBvbiBkZXZpY2VzIHdpdGggcG9pbnRlciBldmVudHMuXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1vdmVybGF5IHtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIC8qIDIgKi9cbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBNYXNrIHRoZSB3aG9sZSBwYWdlXG4gKiAyLiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstb2ZmY2FudmFzLW92ZXJsYXk6OmJlZm9yZSB7XG4gICAgLyogMSAqL1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDtcbiAgICAvKiAyICovXG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtb3ZlcmxheSkpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1vdmVybGF5KCk7fVxufVxuXG4udWstb2ZmY2FudmFzLW92ZXJsYXkudWstb3Blbjo6YmVmb3JlIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IGhvcml6b250YWwgc2Nyb2xsYmFyIHdoZW4gdGhlIGNvbnRlbnQgaXMgc2xpZGUtb3V0XG4gKiBIYXMgdG8gYmUgb24gdGhlIGBodG1sYCBlbGVtZW50IHRvbyB0byBtYWtlIGl0IHdvcmsgb24gdGhlIGBib2R5YFxuICovXG5cbi51ay1vZmZjYW52YXMtcGFnZSxcbi51ay1vZmZjYW52YXMtY29udGFpbmVyIHsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbi8qXG4gKiBQcmV2ZW50IGFsbCBzY3JvbGxiYXJzIGlmIG92ZXJsYXkgaXMgdXNlZFxuICovXG5cbi51ay1vZmZjYW52YXMtY29udGFpbmVyLW92ZXJsYXkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cblxuLyogQ29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmVwYXJlIHNsaWRlLW91dCBhbmltYXRpb24gKFVzZWQgaW4gcmV2ZWFsIGFuZCBwdXNoIG1vZGUpXG4gKiBVc2luZyBgcG9zaXRpb246IGxlZnRgIGluc3RlYWQgb2YgYHRyYW5zZm9ybWAgYmVjYXVzZSBwb3NpdGlvbiBgZml4ZWRgIGVsZW1lbnRzIGxpa2Ugc3RpY2t5IG5hdmJhcnNcbiAqIGxvc2UgdGhlaXIgZml4ZWQgc3RhdGUgYW5kIGJlaGF2ZXMgbGlrZSBgYWJzb2x1dGVgIHdpdGhpbiBhIHRyYW5zZm9ybWVkIGNvbnRhaW5lclxuICogTm90ZTogSlMgc2V0cyBhIGZpeGVkIHdpZHRoIGFuZCBoZWlnaHQgc28gdGhlIHBhZ2UgY2FuIHNsaWRlLW91dCB3aXRob3V0IHNocmlua2luZ1xuICogMS4gU21vb3RoIHNjcm9sbGluZ1xuICovXG5cbi51ay1vZmZjYW52YXMtY29udGFpbmVyIC51ay1vZmZjYW52YXMtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2Utb3V0O1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi8qIERpc2FibGUgc2Nyb2xsaW5nIGlmIG92ZXJsYXkgbW9kZSAqL1xuLnVrLW9mZmNhbnZhcy1vdmVybGF5IC51ay1vZmZjYW52YXMtY29udGVudCB7IG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4vKlxuICogQWN0aXZhdGUgc2xpZGUtb3V0IGFuaW1hdGlvblxuICovXG5cbjpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKSA+IC51ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb24geyBsZWZ0OiAkb2ZmY2FudmFzLWJhci13aWR0aDsgfVxuXG4udWstb2ZmY2FudmFzLWZsaXAgPiAudWstb2ZmY2FudmFzLWNvbnRlbnQtYW5pbWF0aW9uIHsgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aCk7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICA6bm90KC51ay1vZmZjYW52YXMtZmxpcCkgPiAudWstb2ZmY2FudmFzLWNvbnRlbnQtYW5pbWF0aW9uIHsgbGVmdDogJG9mZmNhbnZhcy1iYXItd2lkdGgtbTsgfVxuXG4gICAgLnVrLW9mZmNhbnZhcy1mbGlwID4gLnVrLW9mZmNhbnZhcy1jb250ZW50LWFuaW1hdGlvbiB7IGxlZnQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgtbSk7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1taXNjKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1iYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTd2l0Y2hlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gbmF2aWdhdGUgdGhyb3VnaCBkaWZmZXJlbnQgY29udGVudCBwYW5lc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN3aXRjaGVyYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3dpdGNoZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXQgbGlzdFxuICovXG5cbi51ay1zd2l0Y2hlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIG5vdCBhY3RpdmUgaXRlbXNcbiAqL1xuXG4udWstc3dpdGNoZXIgPiA6bm90KC51ay1hY3RpdmUpIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXN3aXRjaGVyID4gKiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN3aXRjaGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zd2l0Y2hlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zd2l0Y2hlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgSWNvbm5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGljb24gbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1pY29ubmF2YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWljb25uYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kaWNvbm5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJY29ubmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdiB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleDogbm9uZTtcbiAgICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtc1xuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1pY29ubmF2ID4gKiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb25uYXYgPiAqID4gOmhvdmVyLFxuLnVrLWljb25uYXYgPiAqID4gOmZvY3VzIHtcbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBNb2RpZmllcjogJ3VrLWljb25uYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENoYW5nZSBkaXJlY3Rpb25cbiAqIDIuIEd1dHRlclxuICovXG5cbi51ay1pY29ubmF2LXZlcnRpY2FsIHtcbiAgICAvKiAxICovXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsKTtcbn1cblxuLyogMiAqL1xuLnVrLWljb25uYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWljb25uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTm90aWZpY2F0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbm90aWZpY2F0aW9uIG1lc3NhZ2VzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbm90aWZpY2F0aW9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1ub3RpZmljYXRpb24tdG9wLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgNDAgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tY2xvc2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5vdGlmaWNhdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIERpbWVuc2lvbnNcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICBsZWZ0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgIHotaW5kZXg6ICRub3RpZmljYXRpb24tei1pbmRleDtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG5vdGlmaWNhdGlvbi13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uKCk7fVxufVxuXG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbn1cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyLFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6ICgkbm90aWZpY2F0aW9uLXdpZHRoIC8gLTIpO1xufVxuXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1sZWZ0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206ICRub3RpZmljYXRpb24tcG9zaXRpb247XG59XG5cblxuLyogUmVzcG9uc2l2ZW5lc3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFBob25lcyBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay1ub3RpZmljYXRpb24ge1xuICAgICAgICBsZWZ0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgICAgICByaWdodDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbn1cblxuXG4vKiBNZXNzYWdlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpO31cbn1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRub3RpZmljYXRpb24tY2xvc2UtdG9wO1xuICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKTt9XG59XG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZTpob3ZlciAudWstbm90aWZpY2F0aW9uLWNsb3NlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5IHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlciB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUb29sdGlwXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdG9vbHRpcHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10b29sdGlwYFxuLy9cbi8vIE1vZGlmaWVycyAgICAgICAgYHVrLXRvb2x0aXAtdG9wYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC10b3AtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLXJpZ2h0YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdG9vbHRpcC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMzAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiR0b29sdGlwLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNjY2ICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvb2x0aXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBQb3NpdGlvblxuICogMy4gRGltZW5zaW9uc1xuICogNC4gU3R5bGVcbiAqL1xuXG4udWstdG9vbHRpcCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkdG9vbHRpcC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmctdmVydGljYWwgJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDQgKi9cbiAgICBiYWNrZ3JvdW5kOiAkdG9vbHRpcC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXM7XG4gICAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b29sdGlwKSkge0BpbmNsdWRlIGhvb2stdG9vbHRpcCgpO31cbn1cblxuLyogU2hvdyAqL1xuLnVrLXRvb2x0aXAudWstYWN0aXZlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay10b29sdGlwLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kdG9vbHRpcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay10b29sdGlwLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJHRvb2x0aXAtbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay10b29sdGlwLWxlZnQnXSB7IG1hcmdpbi1sZWZ0OiAoLSR0b29sdGlwLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLXRvb2x0aXAtcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkdG9vbHRpcC1tYXJnaW47IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10b29sdGlwLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10b29sdGlwLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG4vLyBAbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBsYWNlaG9sZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcGxhY2Vob2xkZXIgYm94ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wbGFjZWhvbGRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQbGFjZWhvbGRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wbGFjZWhvbGRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAkcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbCAkcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlcikpIHtAaW5jbHVkZSBob29rLXBsYWNlaG9sZGVyKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcGxhY2Vob2xkZXIgeyBtYXJnaW4tdG9wOiAkcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstcGxhY2Vob2xkZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stcGxhY2Vob2xkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGxhY2Vob2xkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wbGFjZWhvbGRlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgUHJvZ3Jlc3Ncbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBwcm9ncmVzcyBiYXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcHJvZ3Jlc3NgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByb2dyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiAyLiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDMuIFJlbW92ZSBib3JkZXJzIGluIEZpcmVmb3ggYW5kIEVkZ2VcbiAqIDQuIFNldCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBwcm9ncmVzcyBjb250YWluZXIgaW4gRmlyZWZveCwgSUUxMSBhbmQgRWRnZVxuICogNS4gU3R5bGVcbiAqL1xuXG4udWstcHJvZ3Jlc3Mge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyOiAwO1xuICAgIC8qIDQgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgICAvKiA1ICovXG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1wcm9ncmVzcyB7IG1hcmdpbi10b3A6ICRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIFJlbW92ZSBhbmltYXRlZCBjaXJjbGVzIGZvciBpbmRldGVybWluYXRlIHN0YXRlIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuXG4udWstcHJvZ3Jlc3M6aW5kZXRlcm1pbmF0ZSB7IGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKlxuICogUHJvZ3Jlc3MgY29udGFpbmVyXG4gKiAyLiBSZW1vdmUgcHJvZ3Jlc3MgYmFyIGZvciBpbmRldGVybWluYXRlIHN0YXRlIGluIEZpcmVmb3hcbiAqL1xuXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcykpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzKCk7fVxufVxuXG4vKiAyICovXG4udWstcHJvZ3Jlc3M6aW5kZXRlcm1pbmF0ZTo6LW1vei1wcm9ncmVzcy1iYXIgeyB3aWR0aDogMDsgfVxuXG4vKlxuICogUHJvZ3Jlc3MgYmFyXG4gKiAxLiBSZW1vdmUgcmlnaHQgYm9yZGVyIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLWJhcikpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLWJhcigpO31cbn1cblxuLnVrLXByb2dyZXNzOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1iYXIoKTt9XG59XG5cbi51ay1wcm9ncmVzczo6LW1zLWZpbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogMDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcygpe31cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLWJhcigpe31cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNvcnRhYmxlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgc29ydGFibGUgZ3JpZHMgYW5kIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc29ydGFibGVgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc29ydGFibGUtZHJhZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc29ydGFibGUtaGFuZGxlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNvcnRhYmxlLWVtcHR5YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWRyYWdgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNvcnRhYmxlLWRyYWdnZWQtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDUwICFkZWZhdWx0O1xuXG4kc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHNvcnRhYmxlLWVtcHR5LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNvcnRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUoKTt9XG59XG5cbi8qXG4gKiBEZWFjdGl2YXRlIGJyb3dzZXIgdG91Y2ggYWN0aW9ucyBpbiBJRTExXG4gKi9cblxuLnVrLXNvcnRhYmxlID4gKiB7IHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4vKlxuICogRGVhY3RpdmF0ZSBwb2ludGVyLWV2ZW50cyBvbiBTVkdzIGluIFNhZmFyaVxuICovXG5cbi51ay1zb3J0YWJsZSBzdmcgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXNvcnRhYmxlID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogRHJhZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1kcmFnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAkc29ydGFibGUtZHJhZ2dlZC16LWluZGV4ICFpbXBvcnRhbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLWRyYWcpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1kcmFnKCk7fVxufVxuXG5cbi8qIFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAkc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpO31cbn1cblxuXG4vKiBFbXB0eSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1lbXB0eSB7XG4gICAgbWluLWhlaWdodDogJHNvcnRhYmxlLWVtcHR5LWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtZW1wdHkpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1lbXB0eSgpO31cbn1cblxuXG4vKiBIYW5kbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIb3ZlciAqL1xuLnVrLXNvcnRhYmxlLWhhbmRsZTpob3ZlciB7IGN1cnNvcjogbW92ZTsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZHJhZygpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZW1wdHkoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb3VudGRvd25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBjb3VudGRvd24gdGltZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY291bnRkb3duYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvdW50ZG93bi1udW1iZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb3VudGRvd24tc2VwYXJhdG9yYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY291bnRkb3duLWxhYmVsYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb3VudGRvd24taXRlbS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICA3MHB4ICFkZWZhdWx0O1xuXG4kY291bnRkb3duLW51bWJlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDsgLy8gMzJweFxuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM6ICAgICAgICAgICAgICAgICAgIDRyZW0gIWRlZmF1bHQ7IC8vIDY0cHhcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0OyAvLyA5NnB4XG5cbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyAxNnB4XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczogICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDsgLy8gMzJweFxuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW06ICAgICAgICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7IC8vIDQ4cHhcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ291bnRkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93biB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bigpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENlbnRlciBudW1iZXJzIGFuZCBzZXBhcmF0b3JzIHZlcnRpY2FsbHlcbiAqL1xuXG4udWstY291bnRkb3duLW51bWJlcixcbi51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICAvKiAxICovXG4gICAgbGluZS1oZWlnaHQ6ICRjb3VudGRvd24taXRlbS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24taXRlbSgpO31cbn1cblxuXG4vKiBOdW1iZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duLW51bWJlciB7XG4gICAgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1udW1iZXIpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbnVtYmVyKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyIHsgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogU2VwYXJhdG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3IgeyBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1sYWJlbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1sYWJlbCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbWlzYykpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24oKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1udW1iZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFuaW1hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGtleWZyYW1lIGFuaW1hdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbmltYXRpb24tKmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1hbmltYXRpb24tcmV2ZXJzZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1mYXN0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWZhZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2NhbGUtdXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2NhbGUtZG93bmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1rZW5idXJuc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zaGFrZWBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hbmltYXRpb24tdG9nZ2xlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWhvdmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgIDAuOHMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgMTVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgIDAuMXMgIWRlZmF1bHQ7XG5cbiRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFuaW1hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cblxuLyogRGlyZWN0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuXG4vKiBBbmltYXRpb25zIGZvciBzY3JvbGxzcHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRmFkZVxuICovXG5cbi51ay1hbmltYXRpb24tZmFkZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZTtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLypcbiAqIFNjYWxlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zY2FsZS11cCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0wMjtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0wMjtcbn1cblxuLnVrLWFuaW1hdGlvbi1zY2FsZS1kb3duIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTE4O1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTE4O1xufVxuXG4vKlxuICogU2xpZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS10b3A7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b207XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdDtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0O1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0O1xufVxuXG4vKlxuICogU2xpZGUgU21hbGxcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1zbWFsbCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS10b3Atc21hbGw7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLXNtYWxsO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1zbWFsbCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tc21hbGw7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLXNtYWxsO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtc21hbGwge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1zbWFsbDtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LXNtYWxsO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LXNtYWxsIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LXNtYWxsO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LXNtYWxsO1xufVxuXG4vKlxuICogU2xpZGUgTWVkaXVtXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AtbWVkaXVtIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1tZWRpdW07XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLW1lZGl1bTtcbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1tZWRpdW07XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLW1lZGl1bTtcbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LW1lZGl1bTtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LW1lZGl1bTtcbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1tZWRpdW0ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtbWVkaXVtO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LW1lZGl1bTtcbn1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1rZW5idXJucyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstc2NhbGUta2VuYnVybnM7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLXNjYWxlLWtlbmJ1cm5zO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjtcbn1cblxuLypcbiAqIFNoYWtlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zaGFrZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstc2hha2U7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLXNoYWtlO1xufVxuXG5cbi8qIER1cmF0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFuaW1hdGlvbi1mYXN0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uO1xufVxuXG5cbi8qIEVuYWJsZSBhbmltYXRpb24gb25seSBvbiBob3ZlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE5vdGU6IEZpcmVmb3ggYW5kIElFIG5lZWRzIHRoaXMgYmVjYXVzZSBhbmltYXRpb25zIGFyZSBub3QgdHJpZ2dlcmVkIHdoZW4gc3dpdGNoaW5nIGJldHdlZW4gZGlzcGxheSBgbm9uZWAgYW5kIGBibG9ja2BcbiAqL1xuXG4udWstYW5pbWF0aW9uLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoLnVrLWhvdmVyKSBbY2xhc3MqPSd1ay1hbmltYXRpb24tJ10ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IG5vbmU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IG5vbmU7XG59XG5cblxuLyogS2V5ZnJhbWVzIHVzZWQgYnkgYW5pbWF0aW9uIGNsYXNzZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRmFkZVxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlIHtcbiAgICAwJSB7IG9wYWNpdHk6IDA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUge1xuICAgIDAlIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3BcbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS10b3Age1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBMZWZ0XG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtbGVmdCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHRcbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1yaWdodCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3AgU21hbGxcbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS10b3Atc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBCb3R0b20gU21hbGxcbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdCBTbWFsbFxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLWxlZnQtc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHQgU21hbGxcbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1yaWdodC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBNZWRpdW1cbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS10b3AtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tIE1lZGl1bVxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdCBNZWRpdW1cbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1sZWZ0LW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBNZWRpdW1cbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1yaWdodC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTY2FsZSBVcFxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTAyIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTAyIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4vKlxuICogU2NhbGUgRG93blxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTE4IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTE4IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS44KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstc2NhbGUta2VuYnVybnMge1xuICAgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG59XG5cbkBrZXlmcmFtZXMgdWstc2NhbGUta2VuYnVybnMge1xuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbn1cblxuLypcbiAqIFNoYWtlXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLXNoYWtlIHtcbiAgICAwJSwgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgMTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTlweCk7IH1cbiAgICAyMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG4gICAgMzAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTdweCk7IH1cbiAgICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOyB9XG4gICAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7IH1cbiAgICA2MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOyB9XG4gICAgNzAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7IH1cbiAgICA4MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XG4gICAgOTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCk7IH1cbn1cblxuQGtleWZyYW1lcyB1ay1zaGFrZSB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgICAxMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTlweCk7IH1cbiAgICAyMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuICAgIDMwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtN3B4KTsgfVxuICAgIDQwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XG4gICAgNjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cbiAgICA3MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7IH1cbiAgICA4MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxuICAgIDkwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTsgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFuaW1hdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYW5pbWF0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFuaW1hdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBXaWR0aFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHdpZHRoc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNoaWxkLXdpZHRoLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay13aWR0aC0qYFxuLy9cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kd2lkdGgtc21hbGwtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbWVkaXVtLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUwcHggIWRlZmF1bHQ7XG4kd2lkdGgteGxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kd2lkdGgteHhsYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgNzUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFdpZHRoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBFcXVhbCBjaGlsZCB3aWR0aHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1jaGlsZC13aWR0aCddID4gKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnVrLWNoaWxkLXdpZHRoLTEtMiA+ICogeyB3aWR0aDogNTAlOyB9XG4udWstY2hpbGQtd2lkdGgtMS0zID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbi51ay1jaGlsZC13aWR0aC0xLTQgPiAqIHsgd2lkdGg6IDI1JTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNSA+ICogeyB3aWR0aDogMjAlOyB9XG4udWstY2hpbGQtd2lkdGgtMS02ID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuLnVrLWNoaWxkLXdpZHRoLWF1dG8gPiAqIHsgd2lkdGg6IGF1dG87IH1cblxuLypcbiAqICAgIEluc3RlYWQgb2YgMCwgMXB4IGlzIG5lZWRlZCB0byBtYWtlIGNlbGwgd3JhcCBpbnRvIG5leHQgcm93IGlmIHByZWRlY2Vzc29yIGlzIDEwMCUgd2lkZVxuICogICAgYW5kIHRoZSBncmlkIGd1dHRlciBpcyAwIHBpeGVscyB3aWRlXG4gKi9cblxuLnVrLWNoaWxkLXdpZHRoLWV4cGFuZCA+ICogeyB3aWR0aDogMXB4OyB9XG5cbi8qXG4gKiAxLiBNYWtlIGB3aWR0aDogMXB4YCB3b3JrLCBiZWNhdXNlIGFjY29yZGluZyB0byB0aGUgc3BlYyBmbGV4IGl0ZW1zIHdvbuKAmXQgc2hyaW5rXG4gKiAgICBiZWxvdyB0aGVpciBtaW5pbXVtIGNvbnRlbnQgc2l6ZS4gVG8gY2hhbmdlIHRoaXMsIHNldCB0aGUgbWluLXdpZHRoLlxuICogICAgT25seSBuZWVkZWQgZm9yIEZpcmVmb3guIEFsbCBvdGhlciBicm93c2VycyBpZ25vcmUgdGhpcy5cbiAqXG4gKiAyLiBgd2lkdGhgIGlzIGlnbm9yZWQgd2hlbiB3cmFwcGluZyBmbGV4IGl0ZW1zIGluIFNhZmFyaVxuICogICAgaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyMxMS1taW4tYW5kLW1heC1zaXplLWRlY2xhcmF0aW9ucy1hcmUtaWdub3JlZC13aGVuLXdyYXBwaW5nLWZsZXgtaXRlbXNcbiAqL1xuXG4udWstY2hpbGQtd2lkdGgtZXhwYW5kID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgLW1zLWZsZXg6IDE7XG4gICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgIGZsZXg6IDE7XG4gICAgLyogMSAqL1xuICAgIG1pbi13aWR0aDogMDtcbiAgICAvKiAyICovXG4gICAgZmxleC1iYXNpczogMXB4O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAcyA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBzID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAcyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHMgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBzID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAcyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHMgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAcyA+ICogeyB3aWR0aDogMXB4OyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAcyA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbSA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBtID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbSA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQG0gPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBtID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAbSA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQG0gPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbSA+ICogeyB3aWR0aDogMXB4OyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbSA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEBsID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQGwgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEBsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAbCA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQGwgPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEBsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbCA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBsID4gKiB7IHdpZHRoOiAxcHg7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBsID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQHhsID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHhsID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAeGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEB4bCA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHhsID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAeGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEB4bCA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEB4bCA+ICogeyB3aWR0aDogMXB4OyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAeGwgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgIC13ZWJraXQtZmxleDogMTtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cblxuLyogU2luZ2xlIFdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBgbWF4LXdpZHRoYCBpcyBuZWVkZWQgZm9yIHRoZSBwaXhlbC1iYXNlZCBjbGFzc2VzXG4gKi9cblxuW2NsYXNzKj0ndWstd2lkdGgnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBIYWx2ZXMgKi9cbi51ay13aWR0aC0xLTIgeyB3aWR0aDogNTAlOyB9XG5cbi8qIFRoaXJkcyAqL1xuLnVrLXdpZHRoLTEtMyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbi51ay13aWR0aC0yLTMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbi8qIFF1YXJ0ZXJzICovXG4udWstd2lkdGgtMS00IHsgd2lkdGg6IDI1JTsgfVxuLnVrLXdpZHRoLTMtNCB7IHdpZHRoOiA3NSU7IH1cblxuLyogRmlmdGhzICovXG4udWstd2lkdGgtMS01IHsgd2lkdGg6IDIwJTsgfVxuLnVrLXdpZHRoLTItNSB7IHdpZHRoOiA0MCU7IH1cbi51ay13aWR0aC0zLTUgeyB3aWR0aDogNjAlOyB9XG4udWstd2lkdGgtNC01IHsgd2lkdGg6IDgwJTsgfVxuXG4vKiBTaXh0aHMgKi9cbi51ay13aWR0aC0xLTYgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4udWstd2lkdGgtNS02IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4vKiBQaXhlbCAqL1xuLnVrLXdpZHRoLXNtYWxsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuLnVrLXdpZHRoLW1lZGl1bSB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4udWstd2lkdGgtbGFyZ2UgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4udWstd2lkdGgteGxhcmdlIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbi51ay13aWR0aC14eGxhcmdlIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbi8qIEF1dG8gKi9cbi51ay13aWR0aC1hdXRvIHsgd2lkdGg6IGF1dG87IH1cblxuLyogRXhwYW5kICovXG4udWstd2lkdGgtZXhwYW5kIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIC1tcy1mbGV4OiAxO1xuICAgIC13ZWJraXQtZmxleDogMTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4LWJhc2lzOiAxcHg7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQHMgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQHMgeyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQHMgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQHMgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAcyB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAcyB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAcyB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAcyB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBzIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBzIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteHhsYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLXh4bGFyZ2Utd2lkdGg7IH1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQHMgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQHMge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBtIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBtIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBtIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBtIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQG0geyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQG0geyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQG0geyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQG0geyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAbSB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAbSB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXh4bGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbiAgICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAbSB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAbSB7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAbCB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAbCB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAbCB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAbCB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEBsIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEBsIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEBsIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEBsIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQGwgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQGwgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14eGxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAbCB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAbCB7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAeGwgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQHhsIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQHhsIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEB4bCB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEB4bCB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAeGwgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQHhsIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEB4bCB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQHhsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEB4bCB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteHhsYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEB4bCB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAeGwge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay13aWR0aC1taXNjKSkge0BpbmNsdWRlIGhvb2std2lkdGgtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2std2lkdGgtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGV4dFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRleHRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10ZXh0LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRleHQtbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGVhZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0ZXh0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVhZCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1sZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGVhZC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbGVhZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sZWFkKSkge0BpbmNsdWRlIGhvb2stdGV4dC1sZWFkKCk7fVxufVxuXG4udWstdGV4dC1tZXRhIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdGV4dC1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1ldGEoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1zbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGV4dC1zbWFsbCgpO31cbn1cblxuLnVrLXRleHQtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXRleHQtbGFyZ2UoKTt9XG59XG5cblxuLyogV2VpZ2h0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtYm9sZCB7IGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuXG4vKiBUcmFuc2Zvcm0gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC11cHBlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1sb3dlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZC1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtc3VjY2VzcyB7IGNvbG9yOiAkdGV4dC1zdWNjZXNzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXdhcm5pbmcgeyBjb2xvcjogJHRleHQtd2FybmluZy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1kYW5nZXIgeyBjb2xvcjogJHRleHQtZGFuZ2VyLWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBCYWNrZ3JvdW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFRoZSBiYWNrZ3JvdW5kIGNsaXBzIHRvIHRoZSBmb3JlZ3JvdW5kIHRleHQuIFdvcmtzIGluIENocm9tZSwgRmlyZWZveCwgU2FmYXJpLCBFZGdlIGFuZCBPcGVyYVxuICogICAgRGVmYXVsdCBjb2xvciBpcyBzZXQgdG8gdHJhbnNwYXJlbnRcbiAqIDIuIENvbnRhaW5lciBmaXRzIHRoZSB0ZXh0XG4gKiAzLiBGYWxsYmFjayBjb2xvciBmb3IgSUUxMVxuICovXG5cbi51ay10ZXh0LWJhY2tncm91bmQge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICR0ZXh0LWJhY2tncm91bmQtY29sb3IgIWltcG9ydGFudDtcbn1cblxuQHN1cHBvcnRzICgtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCkge1xuXG4gICAgLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LWJhY2tncm91bmQpKSB7QGluY2x1ZGUgaG9vay10ZXh0LWJhY2tncm91bmQoKTt9XG4gICAgfVxuXG59XG5cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQHMgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQHMgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAcyB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAbSB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAbSB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBtIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQGwgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQGwgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAbCB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEB4bCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAeGwgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAeGwgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qXG4gKiBWZXJ0aWNhbFxuICovXG5cbi51ay10ZXh0LXRvcCB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtbWlkZGxlIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWJhc2VsaW5lIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBXcmFwIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHRleHQgZnJvbSB3cmFwcGluZyBvbnRvIG11bHRpcGxlIGxpbmVzXG4gKi9cblxuLnVrLXRleHQtbm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKlxuICogMS4gTWFrZSBzdXJlIGEgbWF4LXdpZHRoIGlzIHNldCBhZnRlciB3aGljaCB0cnVuY2F0aW9uIGNhbiBvY2N1clxuICogMi4gUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lcywgYW5kIHRydW5jYXRlIHdpdGggYW4gZWxsaXBzaXNcbiAqIDMuIEZpeCBmb3IgdGFibGUgY2VsbHNcbiAqL1xuXG4udWstdGV4dC10cnVuY2F0ZSB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiAyICovXG50aC51ay10ZXh0LXRydW5jYXRlLFxudGQudWstdGV4dC10cnVuY2F0ZSB7IG1heC13aWR0aDogMDsgfVxuXG5cbi8qXG4gKiAxLiBXcmFwIGxvbmcgd29yZHMgb250byB0aGUgbmV4dCBsaW5lIGFuZCBicmVhayB0aGVtIGlmIHRoZXkgYXJlIHRvbyBsb25nIHRvIGZpdFxuICogMi4gTGVnYWN5IGB3b3JkLXdyYXBgIGFzIGZhbGxiYWNrIGZvciBgb3ZlcmZsb3ctd3JhcGBcbiAqIDMuIEFkZCBhIGh5cGhlbiB3aGVyZSB0aGUgd29yZCBicmVha3NcbiAqIDQuIEZpeCBgb3ZlcmZsb3ctd3JhcGAgd2hpY2ggZG9lc24ndCB3b3JrIHdpdGggdGFibGUgY2VsbHMgaW4gQ2hyb21lLCBPcGVyYSwgSUUxMSBhbmQgRWRnZVxuICogICAgTXVzdCB1c2UgYGJyZWFrLWFsbGAgdG8gc3VwcG9ydCBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXRleHQtYnJlYWsge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIC8qIDIgKi9cbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgLyogMyAqL1xuICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgICAtbXMtaHlwaGVuczogYXV0bztcbiAgICAtbW96LWh5cGhlbnM6IGF1dG87XG4gICAgaHlwaGVuczogYXV0bztcbn1cblxuLyogNCAqL1xudGgudWstdGV4dC1icmVhayxcbnRkLnVrLXRleHQtYnJlYWsgeyB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbWlzYykpIHtAaW5jbHVkZSBob29rLXRleHQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGV4dC1sZWFkKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1tZXRhKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LWJhY2tncm91bmQoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRleHQtbGVhZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1sZWFkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbHVtblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRleHQgY29sdW1uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbHVtbi0qYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvbHVtbi1zcGFuYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWNvbHVtbi1kaXZpZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb2x1bW4tZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbHVtblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWNvbHVtbi0nXSB7XG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlcjtcbiAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyO1xuICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgW2NsYXNzKj0ndWstY29sdW1uLSddIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlci1sO1xuICAgICAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyLWw7XG4gICAgICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyLWw7XG4gICAgfVxuXG59XG5cbi8qXG4gKiBGaXggaW1hZ2UgMXB4IGxpbmUgd3JhcHBpbmcgaW50byB0aGUgbmV4dCBjb2x1bW4gaW4gQ2hyb21lXG4gKi9cblxuW2NsYXNzKj0ndWstY29sdW1uLSddIGltZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEb3VibGUgdGhlIGNvbHVtbiBnYXBcbiAqL1xuXG4udWstY29sdW1uLWRpdmlkZXIge1xuICAgIC13ZWJraXQtY29sdW1uLXJ1bGU6ICRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoIHNvbGlkICRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yO1xuICAgIC1tb3otY29sdW1uLXJ1bGU6ICRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoIHNvbGlkICRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yO1xuICAgIGNvbHVtbi1ydWxlOiAkY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aCBzb2xpZCAkY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXIgKiAyKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlciAqIDIpO1xuICAgIGNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlciAqIDIpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXItbCAqIDIpO1xuICAgICAgICAtbW96LWNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlci1sICogMik7XG4gICAgICAgIGNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlci1sICogMik7XG4gICAgfVxuXG59XG5cblxuLyogV2lkdGggbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbHVtbi0xLTIge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1jb3VudDogMjtcbn1cblxuLnVrLWNvbHVtbi0xLTMge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgIGNvbHVtbi1jb3VudDogMztcbn1cblxuLnVrLWNvbHVtbi0xLTQge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA0O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA0O1xuICAgIGNvbHVtbi1jb3VudDogNDtcbn1cblxuLnVrLWNvbHVtbi0xLTUge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA1O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICAgIGNvbHVtbi1jb3VudDogNTtcbn1cblxuLnVrLWNvbHVtbi0xLTYge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA2O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA2O1xuICAgIGNvbHVtbi1jb3VudDogNjtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBzIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTNcXEBzIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTRcXEBzIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA0O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDQ7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTVcXEBzIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDU7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTZcXEBzIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDY7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA2O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDY7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBtIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTNcXEBtIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTRcXEBtIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA0O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDQ7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTVcXEBtIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDU7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTZcXEBtIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDY7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA2O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDY7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICB9XG5cbiAgICAudWstY29sdW1uLTEtM1xcQGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMztcbiAgICB9XG5cbiAgICAudWstY29sdW1uLTEtNFxcQGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgIGNvbHVtbi1jb3VudDogNDtcbiAgICB9XG5cbiAgICAudWstY29sdW1uLTEtNVxcQGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNTtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDU7XG4gICAgICAgIGNvbHVtbi1jb3VudDogNTtcbiAgICB9XG5cbiAgICAudWstY29sdW1uLTEtNlxcQGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNjtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDY7XG4gICAgICAgIGNvbHVtbi1jb3VudDogNjtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAeGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICB9XG5cbiAgICAudWstY29sdW1uLTEtM1xcQHhsIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTRcXEB4bCB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA0O1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgY29sdW1uLWNvdW50OiA0O1xuICAgIH1cblxuICAgIC51ay1jb2x1bW4tMS01XFxAeGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNTtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDU7XG4gICAgICAgIGNvbHVtbi1jb3VudDogNTtcbiAgICB9XG5cbiAgICAudWstY29sdW1uLTEtNlxcQHhsIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDY7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA2O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDY7XG4gICAgfVxufVxuXG5cbi8qIE1ha2UgZWxlbWVudCBzcGFuIGFjcm9zcyBhbGwgY29sdW1uc1xuICogRG9lcyBub3Qgd29yayBpbiBGaXJlZm94IHlldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb2x1bW4tc3BhbiB7XG4gICAgLXdlYmtpdC1jb2x1bW4tc3BhbjogYWxsO1xuICAgIC1tb3otY29sdW1uLXNwYW46IGFsbDtcbiAgICBjb2x1bW4tc3BhbjogYWxsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbHVtbi1taXNjKSkge0BpbmNsdWRlIGhvb2stY29sdW1uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbHVtbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ292ZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIGxldCBlbWJlZGRlZCBjb250ZW50IGNvdmVyIHRoZWlyIGNvbnRhaW5lciBpbiBhIGNlbnRlcmVkIHBvc2l0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY292ZXJgXG4vL1xuLy8gU3ViLW9iamVjdDogICAgICBgdWstY292ZXItY29udGFpbmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBXb3JrcyB3aXRoIGlmcmFtZXMgYW5kIGVtYmVkZGVkIGNvbnRlbnRcbiAqIDEuIFJlc2V0IHJlc3BvbnNpdmVuZXNzIGZvciBlbWJlZGRlZCBjb250ZW50XG4gKiAyLiBDZW50ZXIgb2JqZWN0XG4gKiBOb3RlOiBQZXJjZW50IHZhbHVlcyBvbiB0aGUgYHRvcGAgcHJvcGVydHkgb25seSB3b3JrcyBpZiB0aGlzIGVsZW1lbnRcbiAqICAgICAgIGlzIGFic29sdXRlIHBvc2l0aW9uZWQgb3IgaWYgdGhlIGNvbnRhaW5lciBoYXMgYSBoZWlnaHRcbiAqL1xuXG4udWstY292ZXIge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFBhcmVudCBjb250YWluZXIgd2hpY2ggY2xpcHMgcmVzaXplZCBvYmplY3RcbiAqIDIuIE5lZWRlZCBpZiB0aGUgY2hpbGQgaXMgcG9zaXRpb25lZCBhYnNvbHV0ZS4gU2VlIG5vdGUgYWJvdmVcbiAqL1xuXG4udWstY292ZXItY29udGFpbmVyIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvdmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb3Zlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb3Zlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFja2dyb3VuZFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGJhY2tncm91bmRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYmFja2dyb3VuZC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhY2tncm91bmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtZGVmYXVsdCB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtbXV0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1wcmltYXJ5IHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1zZWNvbmRhcnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDsgfVxuXG5cbi8qIFNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1jb3Zlcixcbi51ay1iYWNrZ3JvdW5kLWNvbnRhaW4ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVrLWJhY2tncm91bmQtY292ZXIgeyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4udWstYmFja2dyb3VuZC1jb250YWluIHsgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cblxuLyogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC10b3AtbGVmdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuLnVrLWJhY2tncm91bmQtdG9wLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwOyB9XG4udWstYmFja2dyb3VuZC10b3AtcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDA7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9XG4udWstYmFja2dyb3VuZC1jZW50ZXItcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLWxlZnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7IH1cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLXJpZ2h0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlOyB9XG5cblxuLyogUmVwZWF0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtbm9yZXBlYXQgeyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cblxuLyogQXR0YWNobWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLWZpeGVkIHsgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsgfVxuXG4vKlxuICogRXhjbHVkZSB0b3VjaCBkZXZpY2VzIGJlY2F1c2UgYGZpeGVkYCBkb2Vzbid0IHdvcmsgb24gaU9TIGFuZCBBbmRyb2lkXG4gKi9cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstYmFja2dyb3VuZC1maXhlZCB7IGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOyB9XG59XG5cblxuLyogSW1hZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAcyB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBtIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1lZGl1bS1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAbCB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAeGwge2JhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1ibGVuZC1tdWx0aXBseSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNjcmVlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1vdmVybGF5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1kYXJrZW4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtbGlnaHRlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3ItZG9kZ2UgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvci1idXJuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1oYXJkLWxpZ2h0IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1zb2Z0LWxpZ2h0IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1kaWZmZXJlbmNlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1leGNsdXNpb24geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtaHVlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBodWU7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNhdHVyYXRpb24geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtbHVtaW5vc2l0eSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJhY2tncm91bmQtbWlzYykpIHtAaW5jbHVkZSBob29rLWJhY2tncm91bmQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYmFja2dyb3VuZC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbGlnblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gYWxpZ24gZW1iZWRkZWQgY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFsaWduLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsaWduLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGlnbi1jZW50ZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGlnblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuW2NsYXNzKj0ndWstYWxpZ24nXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuKiArIFtjbGFzcyo9J3VrLWFsaWduJ10geyBtYXJnaW4tdG9wOiAkYWxpZ24tbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBDZW50ZXJcbiAqL1xuXG4udWstYWxpZ24tY2VudGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8qXG4gKiBMZWZ0L1JpZ2h0XG4gKi9cblxuLnVrLWFsaWduLWxlZnQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi51ay1hbGlnbi1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQG0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1sZWZ0LFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAcyxcbiAgICAudWstYWxpZ24tbGVmdFxcQG0sXG4gICAgLnVrLWFsaWduLWxlZnRcXEBsIHsgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0LFxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMsXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbSxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHsgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAeGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEB4bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFsaWduLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbGlnbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgVXRpbGl0eVxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgY29sbGVjdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBhbmVsLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jbGVhcmZpeGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZsb2F0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vdmVyZmxvdy0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmVzaXplLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXNwbGF5LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbmxpbmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmVzcG9uc2l2ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcHJlc2VydmUtd2lkdGhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ib3JkZXItKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJveC1zaGFkb3ctKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJveC1zaGFkb3ctYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGNhcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxvZ29gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zdmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ibGVuZC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNmb3JtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2Zvcm0tb3JpZ2luLSpgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcmFnYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJhZ292ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wcmVzZXJ2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFuZWwtc2Nyb2xsYWJsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMTcwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGhlaWdodC1zbWFsbC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1MHB4ICFkZWZhdWx0O1xuJGhlaWdodC1tZWRpdW0taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJGhlaWdodC1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1MHB4ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4xcyAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGRyb3BjYXAtbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMykgKiAxZW0pICFkZWZhdWx0O1xuXG4kbGVhZGVyLWZpbGwtY29udGVudDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJy4nICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kbG9nby1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbG9nby1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsb2dvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxvZ28taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRkcmFnb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgMjBweCByZ2JhKDEwMCwxMDAsMTAwLDAuMykgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFV0aWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFBhbmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhbmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLXBhbmVsOjpiZWZvcmUsXG4udWstcGFuZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstcGFuZWw6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1wYW5lbCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qXG4gKiBTY3JvbGxhYmxlXG4gKi9cblxuLnVrLXBhbmVsLXNjcm9sbGFibGUge1xuICAgIGhlaWdodDogJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGggc29saWQgJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICByZXNpemU6IGJvdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhbmVsLXNjcm9sbGFibGUpKSB7QGluY2x1ZGUgaG9vay1wYW5lbC1zY3JvbGxhYmxlKCk7fVxufVxuXG5cbi8qIENsZWFyZml4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIGB0YWJsZS1jZWxsYCBpcyB1c2VkIHdpdGggYDo6YmVmb3JlYCBiZWNhdXNlIGB0YWJsZWAgY3JlYXRlcyBhIDFweCBnYXAgd2hlbiBpdCBiZWNvbWVzIGEgZmxleCBpdGVtLCBvbmx5IGluIFdlYmtpdFxuICogMi4gYHRhYmxlYCBpcyB1c2VkIGFnYWluIHdpdGggYDo6YWZ0ZXJgIGJlY2F1c2UgYGNsZWFyYCBvbmx5IHdvcmtzIHdpdGggYmxvY2sgZWxlbWVudHMuXG4gKiBOb3RlOiBgZGlzcGxheTogYmxvY2tgIHdpdGggYG92ZXJmbG93OiBoaWRkZW5gIGlzIGN1cnJlbnRseSBub3Qgd29ya2luZyBpbiB0aGUgbGF0ZXN0IFNhZmFyaVxuICovXG5cbi8qIDEgKi9cbi51ay1jbGVhcmZpeDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbi8qIDIgKi9cbi51ay1jbGVhcmZpeDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cblxuLyogRmxvYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKi9cblxuLnVrLWZsb2F0LWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLnVrLWZsb2F0LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIDEgKi9cbltjbGFzcyo9J3VrLWZsb2F0LSddIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cblxuLyogT3ZlcmZvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVyZmxvdy1oaWRkZW4geyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFbmFibGUgc2Nyb2xsYmFycyBpZiBjb250ZW50IGlzIGNsaXBwZWRcbiAqL1xuXG4udWstb3ZlcmZsb3ctYXV0byB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4udWstb3ZlcmZsb3ctYXV0byA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFJlc2l6ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1yZXNpemUgeyByZXNpemU6IGJvdGg7IH1cbi51ay1yZXNpemUtdmVydGljYWwgeyByZXNpemU6IHZlcnRpY2FsOyB9XG5cblxuLyogRGlzcGxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXNwbGF5LWJsb2NrIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuLnVrLWRpc3BsYXktaW5saW5lIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbi51ay1kaXNwbGF5LWlubGluZS1ibG9jayB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cblxuLyogSW5saW5lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICogNS4gRm9yY2UgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIHdpdGhvdXQgY3JlYXRpbmcgYSBuZXcgc3RhY2tpbmcgY29udGV4dFxuICogICAgdG8gZml4IDFweCBnbGl0Y2ggd2hlbiBjb21iaW5lZCB3aXRoIG92ZXJsYXlzIGFuZCB0cmFuc2l0aW9ucyBpbiBXZWJraXRcbiAqIDYuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqL1xuXG5bY2xhc3MqPSd1ay1pbmxpbmUnXSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogNSAqL1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWstaW5saW5lLWNsaXAge1xuICAgIC8qIDYgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIEhlaWdodFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWhlaWdodCddIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogT25seSB3b3JrcyBpZiBwYXJlbnQgZWxlbWVudCBoYXMgYSBoZWlnaHQgc2V0XG4gKi9cblxuLnVrLWhlaWdodC0xLTEgeyBoZWlnaHQ6IDEwMCU7IH1cblxuLypcbiAqIFVzZWZ1bCB0byBjcmVhdGUgaW1hZ2UgdGVhc2Vyc1xuICovXG5cbi51ay1oZWlnaHQtdmlld3BvcnQgeyBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuXG4vKlxuICogUGl4ZWxcbiAqIFVzZWZ1bCBmb3IgYG92ZXJmbG93OiBhdXRvYFxuICovXG5cbi51ay1oZWlnaHQtc21hbGwgeyBoZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1lZGl1bSB7IGhlaWdodDogJGhlaWdodC1tZWRpdW0taGVpZ2h0OyB9XG4udWstaGVpZ2h0LWxhcmdlIHsgaGVpZ2h0OiAkaGVpZ2h0LWxhcmdlLWhlaWdodDsgfVxuXG4udWstaGVpZ2h0LW1heC1zbWFsbCB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1heC1tZWRpdW0geyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LW1lZGl1bS1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWF4LWxhcmdlIHsgbWF4LWhlaWdodDogJGhlaWdodC1sYXJnZS1oZWlnaHQ7IH1cblxuXG4vKiBSZXNwb25zaXZlIG9iamVjdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJlc2VydmUgb3JpZ2luYWwgZGltZW5zaW9uc1xuICogQmVjYXVzZSBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYXJlIGFscmVhZHkgcmVzcG9uc2l2ZSBieSBkZWZhdWx0LCBzZWUgQmFzZSBjb21wb25lbnRcbiAqL1xuXG4udWstcHJlc2VydmUtd2lkdGgsXG4udWstcHJlc2VydmUtd2lkdGggYXVkaW8sXG4udWstcHJlc2VydmUtd2lkdGggY2FudmFzLFxuLnVrLXByZXNlcnZlLXdpZHRoIGltZyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBzdmcsXG4udWstcHJlc2VydmUtd2lkdGggdmlkZW8geyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLypcbiAqIFJlc3BvbnNpdmVuZXNzXG4gKiBDb3JyZWN0cyBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZFxuICovXG5cbi51ay1yZXNwb25zaXZlLXdpZHRoLFxuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSB3aWR0aC4gYGltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGB1ay1wcmVzZXJ2ZS13aWR0aCBpbWdgXG4gKiAyLiBBdXRvIHNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtd2lkdGgge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSBoZWlnaHQuIE9ubHkgd29ya3MgaWYgdGhlIHBhcmVudCBlbGVtZW50IGhhcyBhIGZpeGVkIGhlaWdodFxuICogMi4gQXV0byBzY2FsZSB0aGUgd2lkdGguIE9ubHkgbmVlZGVkIGlmIGB3aWR0aGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqIDMuIFJlc2V0IG1heC13aWR0aCwgd2hpY2ggYGltZywgYHZpZGVvYCwgYGNhbnZhc2AgYW5kICBgYXVkaW9gIGFscmVhZHkgaGF2ZSBieSBkZWZhdWx0XG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHtcbiAgICAvKiAxICovXG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IGF1dG87XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuXG4vKiBCb3JkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYm9yZGVyLWNpcmNsZSB7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuLnVrLWJvcmRlci1yb3VuZGVkIHsgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM7IH1cblxuLypcbiAqIEZpeCBgb3ZlcmZsb3c6IGhpZGRlbmAgdG8gYmUgaWdub3JlZCB3aXRoIGJvcmRlci1yYWRpdXMgYW5kIENTUyB0cmFuc2Zvcm1zIGluIFdlYmtpdFxuICovXG5cbi51ay1pbmxpbmUtY2xpcFtjbGFzcyo9J3VrLWJvcmRlci0nXSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG5cblxuLyogQm94LXNoYWRvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ib3gtc2hhZG93LXNtYWxsIHsgYm94LXNoYWRvdzogJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1tZWRpdW0geyBib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1sYXJnZSB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3cteGxhcmdlIHsgYm94LXNoYWRvdzogJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG5bY2xhc3MqPSd1ay1ib3gtc2hhZG93LWhvdmVyJ10ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkYm94LXNoYWRvdy1kdXJhdGlvbiBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRib3gtc2hhZG93LWR1cmF0aW9uIGVhc2UtaW4tb3V0O1xufVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci1zbWFsbDpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbWVkaXVtOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbGFyZ2U6aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWhvdmVyLXhsYXJnZTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c7IH1cblxuXG4vKiBCb3gtc2hhZG93IGJvdHRvbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb24uXG4gKiAyLiBTZXQgc3R5bGVcbiAqIDMuIEJsdXIgZG9lc24ndCB3b3JrIG9uIHBzZXVkbyBlbGVtZW50cyB3aXRoIG5lZ2F0aXZlIGB6LWluZGV4YCBpbiBFZGdlLlxuICogICAgU29sdmVkIGJ5IHVzaW5nIGBiZWZvcmVgIGFuZCBhZGQgcG9zaXRpb24gY29udGV4dCB0byBjaGlsZCBlbGVtZW50cy5cbiAqL1xuXG5Ac3VwcG9ydHMgKGZpbHRlcjogYmx1cigwKSkgb3IgKC13ZWJraXQtZmlsdGVyOiBibHVyKDApKSB7XG5cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIC8qIDEgKi9cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206ICgtJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAvKiAyICovXG4gICAgICAgIGhlaWdodDogJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJveC1zaGFkb3ctYm90dG9tLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQ6ICRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kO1xuICAgICAgICAtd2Via2l0LWZpbHRlcjogYmx1cigkYm94LXNoYWRvdy1ib3R0b20tYmx1cik7XG4gICAgICAgIGZpbHRlcjogYmx1cigkYm94LXNoYWRvdy1ib3R0b20tYmx1cik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ib3gtc2hhZG93LWJvdHRvbSkpIHtAaW5jbHVkZSBob29rLWJveC1zaGFkb3ctYm90dG9tKCk7fVxuICAgIH1cblxuICAgIC8qIDMgKi9cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b20gPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbn1cblxuXG4vKiBEcm9wIGNhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4udWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wY2FwLW1hcmdpbi1yaWdodDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6ICRkcm9wY2FwLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGNhcCkpIHtAaW5jbHVkZSBob29rLWRyb3BjYXAoKTt9XG59XG5cblxuLyogTGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxlYWRlciB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIDEuIFBsYWNlIGVsZW1lbnQgaW4gdGV4dCBmbG93XG4gKiAyLiBOZXZlciBicmVhayBpbnRvIGEgbmV3IGxpbmVcbiAqIDMuIEdldCBhIHN0cmluZyBiYWNrIHdpdGggYXMgbWFueSByZXBlYXRpbmcgY2hhcmFjdGVycyB0byBmaWxsIHRoZSBjb250YWluZXJcbiAqIDQuIFByZXZlbnQgd3JhcHBpbmcuIE92ZXJmbG93aW5nIGNoYXJhY3RlcnMgd2lsbCBiZSBjbGlwcGVkIGJ5IHRoZSBjb250YWluZXJcbiAqL1xuXG4udWstbGVhZGVyLWZpbGw6OmFmdGVyIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAwO1xuICAgIC8qIDMgKi9cbiAgICBjb250ZW50OiBhdHRyKGRhdGEtZmlsbCk7XG4gICAgLyogNCAqL1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxlYWRlcikpIHtAaW5jbHVkZSBob29rLWxlYWRlcigpO31cbn1cblxuLypcbiAqIEhpZGUgaWYgbWVkaWEgZG9lcyBub3QgbWF0Y2hcbiAqL1xuXG4udWstbGVhZGVyLWZpbGwudWstbGVhZGVyLWhpZGU6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBQYXNzIGZpbGwgY2hhcmFjdGVyIHRvIEpTICovXG4udmFyLWxlYWRlci1maWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICRsZWFkZXItZmlsbC1jb250ZW50OyB9XG5cblxuLyogTG9nb1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cblxuLnVrLWxvZ28ge1xuICAgIGZvbnQtc2l6ZTogJGxvZ28tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbG9nby1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGxvZ28tY29sb3I7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbG9nbykpIHtAaW5jbHVkZSBob29rLWxvZ28oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1sb2dvOmhvdmVyLFxuLnVrLWxvZ286Zm9jdXMge1xuICAgIGNvbG9yOiAkbG9nby1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxvZ28taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1sb2dvLWhvdmVyKCk7fVxufVxuXG4udWstbG9nby1pbnZlcnNlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaWxsIGFsbCBTVkcgZWxlbWVudHMgd2l0aCB0aGUgY3VycmVudCB0ZXh0IGNvbG9yIGlmIG5vIGBmaWxsYCBhdHRyaWJ1dGUgaXMgc2V0XG4gKiAyLiBTZXQgdGhlIGZpbGwgYW5kIHN0cm9rZSBjb2xvciBvZiBhbGwgU1ZHIGVsZW1lbnRzIHRvIHRoZSBjdXJyZW50IHRleHQgY29sb3JcbiAqIDMuIEZpeCBmb3IgdXBwZXJjYXNlIGF0dHJpYnV0ZSBuYW1lcyBpbiBFZGdlLiBXaWxsIGJlIGZpeGVkIGluIFdpbmRvd3MgMTAgYnVpbGRzIDE2MjUxK1xuICovXG5cbi8qIDEgKi9cbi51ay1zdmcsXG4vKiAyICovXG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtmaWxsKj0nIyddOm5vdCgudWstcHJlc2VydmUpLFxuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbRklMTCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7IGZpbGw6IGN1cnJlbnRjb2xvcjsgfSAvLyAzXG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSksXG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtTVFJPS0UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBzdHJva2U6IGN1cnJlbnRjb2xvcjsgfSAvLyAzXG5cbi8qXG4gKiBGaXggRmlyZWZveCBibHVycnkgU1ZHIHJlbmRlcmluZzogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgzNVxuICovXG5cbi51ay1zdmcgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApOyB9XG5cblxuLyogRGlzYWJsZWQgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGlzYWJsZWQgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5cbi8qIERyYWcgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTmVlZGVkIGlmIG1vdmluZyBvdmVyIGVsZW1lbnRzIHdpdGggaGF2ZSB0aGVpciBvd24gY3Vyc29yIG9uIGhvdmVyLCBlLmcuIGxpbmtzIG9yIGJ1dHRvbnNcbiAqIDIuIEZpeCBkcmFnZ2luZyBvdmVyIGlmcmFtZXNcbiAqL1xuXG4udWstZHJhZyxcbi8qIDEgKi9cbi51ay1kcmFnICogeyBjdXJzb3I6IG1vdmU7IH1cblxuLyogMiAqL1xuLnVrLWRyYWcgaWZyYW1lIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuXG4vKiBEcmFnb3ZlciBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDcmVhdGUgYSBib3gtc2hhZG93IHdoZW4gZHJhZ2dpbmcgYSBmaWxlIG92ZXIgdGhlIHVwbG9hZCBhcmVhXG4gKi9cblxuLnVrLWRyYWdvdmVyIHsgYm94LXNoYWRvdzogJGRyYWdvdmVyLWJveC1zaGFkb3c7IH1cblxuXG4vKiBCbGVuZCBtb2Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ibGVuZC1tdWx0aXBseSB7IG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxuLnVrLWJsZW5kLXNjcmVlbiB7IG1peC1ibGVuZC1tb2RlOiBzY3JlZW47IH1cbi51ay1ibGVuZC1vdmVybGF5IHsgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7IH1cbi51ay1ibGVuZC1kYXJrZW4geyBtaXgtYmxlbmQtbW9kZTogZGFya2VuOyB9XG4udWstYmxlbmQtbGlnaHRlbiB7IG1peC1ibGVuZC1tb2RlOiBsaWdodGVuOyB9XG4udWstYmxlbmQtY29sb3ItZG9kZ2UgeyBtaXgtYmxlbmQtbW9kZTogY29sb3ItZG9kZ2U7IH1cbi51ay1ibGVuZC1jb2xvci1idXJuIHsgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWJ1cm47IH1cbi51ay1ibGVuZC1oYXJkLWxpZ2h0IHsgbWl4LWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7IH1cbi51ay1ibGVuZC1zb2Z0LWxpZ2h0IHsgbWl4LWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7IH1cbi51ay1ibGVuZC1kaWZmZXJlbmNlIHsgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IH1cbi51ay1ibGVuZC1leGNsdXNpb24geyBtaXgtYmxlbmQtbW9kZTogZXhjbHVzaW9uOyB9XG4udWstYmxlbmQtaHVlIHsgbWl4LWJsZW5kLW1vZGU6IGh1ZTsgfVxuLnVrLWJsZW5kLXNhdHVyYXRpb24geyBtaXgtYmxlbmQtbW9kZTogc2F0dXJhdGlvbjsgfVxuLnVrLWJsZW5kLWNvbG9yIHsgbWl4LWJsZW5kLW1vZGU6IGNvbG9yOyB9XG4udWstYmxlbmQtbHVtaW5vc2l0eSB7IG1peC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5OyB9XG5cblxuLyogVHJhbnNmb3JtXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNmb3JtLWNlbnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuXG4vKiBUcmFuc2Zvcm0gT3JpZ2luXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtbGVmdCB7XG4gICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG59XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1jZW50ZXIge1xuICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbn1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLXJpZ2h0IHtcbiAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbn1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLWxlZnQge1xuICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbn1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLXJpZ2h0IHtcbiAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG59XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1sZWZ0IHtcbiAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbn1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLWNlbnRlciB7XG4gICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xufVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tcmlnaHQge1xuICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXV0aWxpdHktbWlzYykpIHtAaW5jbHVkZSBob29rLXV0aWxpdHktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbi8vIEBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGNhcCgpe31cbi8vIEBtaXhpbiBob29rLWxlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1sb2dvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sb2dvLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbG9nbygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbG9nby1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRmxleFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGxheW91dHMgYmFzZWQgb24gZmxleGJveFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWZsZXgtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRmxleFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1mbGV4IHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLnVrLWZsZXgtaW5saW5lIHtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uXG4gKi9cblxuLnVrLWZsZXg6OmJlZm9yZSxcbi51ay1mbGV4OjphZnRlcixcbi51ay1mbGV4LWlubGluZTo6YmVmb3JlLFxuLnVrLWZsZXgtaW5saW5lOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBBbGlnbm1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWxpZ24gaXRlbXMgYWxvbmcgdGhlIG1haW4gYXhpcyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmbGV4IGNvbnRhaW5lclxuICogUm93OiBIb3Jpem9udGFsXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtbGVmdCB7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4udWstZmxleC1jZW50ZXIge1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udWstZmxleC1yaWdodCB7XG4gICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4udWstZmxleC1iZXR3ZWVuIHtcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnVrLWZsZXgtYXJvdW5kIHtcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQHMge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAudWstZmxleC1jZW50ZXJcXEBzIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudWstZmxleC1yaWdodFxcQHMge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAcyB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAcyB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBtIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtY2VudGVyXFxAbSB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtcmlnaHRcXEBtIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQG0ge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC51ay1mbGV4LWFyb3VuZFxcQG0ge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBsIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtY2VudGVyXFxAbCB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtcmlnaHRcXEBsIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQGwge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC51ay1mbGV4LWFyb3VuZFxcQGwge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEB4bCB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC51ay1mbGV4LWNlbnRlclxcQHhsIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudWstZmxleC1yaWdodFxcQHhsIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQHhsIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAudWstZmxleC1hcm91bmRcXEB4bCB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cblxufVxuXG4vKlxuICogQWxpZ24gaXRlbXMgaW4gdGhlIGNyb3NzIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogVmVydGljYWxcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1zdHJldGNoIHtcbiAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4udWstZmxleC10b3Age1xuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4udWstZmxleC1taWRkbGUge1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi51ay1mbGV4LWJvdHRvbSB7XG4gICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cblxuLyogRGlyZWN0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtcm93IHtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLnVrLWZsZXgtcm93LXJldmVyc2Uge1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4udWstZmxleC1jb2x1bW4ge1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udWstZmxleC1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG59XG5cblxuLyogV3JhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LW5vd3JhcCB7XG4gICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi51ay1mbGV4LXdyYXAge1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udWstZmxleC13cmFwLXJldmVyc2Uge1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xufVxuXG4vKlxuICogQWxpZ25zIGl0ZW1zIHdpdGhpbiB0aGUgZmxleCBjb250YWluZXIgd2hlbiB0aGVyZSBpcyBleHRyYSBzcGFjZSBpbiB0aGUgY3Jvc3MtYXhpc1xuICogT25seSB3b3JrcyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGxpbmUgb2YgZmxleCBpdGVtc1xuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LXdyYXAtc3RyZXRjaCB7XG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdHJldGNoO1xuICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xufVxuXG4udWstZmxleC13cmFwLXRvcCB7XG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydDtcbiAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnVrLWZsZXgtd3JhcC1taWRkbGUge1xuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnVrLWZsZXgtd3JhcC1ib3R0b20ge1xuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kO1xuICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7XG59XG5cbi51ay1mbGV4LXdyYXAtYmV0d2VlbiB7XG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5O1xuICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4udWstZmxleC13cmFwLWFyb3VuZCB7XG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBkaXN0cmlidXRlO1xuICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuXG4vKiBJdGVtIG9yZGVyaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHQgaXMgMFxuICovXG5cbi51ay1mbGV4LWZpcnN0IHtcbiAgICAtbXMtZmxleC1vcmRlcjogLTE7XG4gICAgLXdlYmtpdC1vcmRlcjogLTE7XG4gICAgb3JkZXI6IC0xO1xufVxuXG4udWstZmxleC1sYXN0IHtcbiAgICAtbXMtZmxleC1vcmRlcjogOTk7XG4gICAgLXdlYmtpdC1vcmRlcjogOTk7XG4gICAgb3JkZXI6IDk5O1xufVxuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAcyB7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcbiAgICAgICAgLXdlYmtpdC1vcmRlcjogLTE7XG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICB9XG5cbiAgICAudWstZmxleC1sYXN0XFxAcyB7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA5OTtcbiAgICAgICAgLXdlYmtpdC1vcmRlcjogOTk7XG4gICAgICAgIG9yZGVyOiA5OTtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQG0ge1xuICAgICAgICAtbXMtZmxleC1vcmRlcjogLTE7XG4gICAgICAgIC13ZWJraXQtb3JkZXI6IC0xO1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtbGFzdFxcQG0ge1xuICAgICAgICAtbXMtZmxleC1vcmRlcjogOTk7XG4gICAgICAgIC13ZWJraXQtb3JkZXI6IDk5O1xuICAgICAgICBvcmRlcjogOTk7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQGwge1xuICAgICAgICAtbXMtZmxleC1vcmRlcjogLTE7XG4gICAgICAgIC13ZWJraXQtb3JkZXI6IC0xO1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtbGFzdFxcQGwge1xuICAgICAgICAtbXMtZmxleC1vcmRlcjogOTk7XG4gICAgICAgIC13ZWJraXQtb3JkZXI6IDk5O1xuICAgICAgICBvcmRlcjogOTk7XG4gICAgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQHhsIHtcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xuICAgICAgICAtd2Via2l0LW9yZGVyOiAtMTtcbiAgICAgICAgb3JkZXI6IC0xO1xuICAgIH1cblxuICAgIC51ay1mbGV4LWxhc3RcXEB4bCB7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA5OTtcbiAgICAgICAgLXdlYmtpdC1vcmRlcjogOTk7XG4gICAgICAgIG9yZGVyOiA5OTtcbiAgICB9XG5cbn1cblxuXG4vKiBJdGVtIGRpbWVuc2lvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSW5pdGlhbDogMCAxIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3NcbiAqL1xuXG4vKlxuICogTm8gRmxleDogMCAwIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9uc1xuICovXG5cbi51ay1mbGV4LW5vbmUge1xuICAgIC1tcy1mbGV4OiBub25lO1xuICAgIC13ZWJraXQtZmxleDogbm9uZTtcbiAgICBmbGV4OiBub25lO1xufVxuXG4vKlxuICogUmVsYXRpdmUgRmxleDogMSAxIGF1dG9cbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBjb25zaWRlcmluZyBjb250ZW50XG4gKi9cblxuLnVrLWZsZXgtYXV0byB7XG4gICAgLW1zLWZsZXg6IGF1dG87XG4gICAgLXdlYmtpdC1mbGV4OiBhdXRvO1xuICAgIGZsZXg6IGF1dG87XG59XG5cbi8qXG4gKiBBYnNvbHV0ZSBGbGV4OiAxIDEgMCVcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gZmxleFxuICovXG5cbi51ay1mbGV4LTEge1xuICAgIC1tcy1mbGV4OiAxO1xuICAgIC13ZWJraXQtZmxleDogMTtcbiAgICBmbGV4OiAxO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWZsZXgtbWlzYykpIHtAaW5jbHVkZSBob29rLWZsZXgtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZmxleC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTWFyZ2luXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgbWFyZ2luc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1hcmdpbi0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLXNtYWxsLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbWVkaXVtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi14bGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1yZW1vdmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1hdXRvLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1hcmdpbi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1zbWFsbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1tZWRpdW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi14bGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNYXJnaW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1tYXJnaW4geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4geyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tc21hbGwtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1zbWFsbC10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tc21hbGwtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogTWVkaXVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLW1lZGl1bS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sOyB9XG4gICAgKiArIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay1tYXJnaW4tbGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBYTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw7IH1cbiAgICAqICsgLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbWFyZ2luLXhsYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLXJlbW92ZSB7IG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJlbW92ZS10b3AgeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmVtb3ZlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yZW1vdmUtbGVmdCB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tcmVtb3ZlLWFkamFjZW50ICsgKiB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuXG5cbi8qIEF1dG9cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tYXV0by10b3AgeyBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYXV0by1ib3R0b20geyBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYXV0by1sZWZ0IHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1hdXRvLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmdpbi1taXNjKSkge0BpbmNsdWRlIGhvb2stbWFyZ2luLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1hcmdpbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQYWRkaW5nXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgcGFkZGluZ1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBhZGRpbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWRkaW5nLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFkZGluZy1yZW1vdmUtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFkZGluZy1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmctbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBhZGRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nLXBhZGRpbmc7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1wYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmctcGFkZGluZy1sOyB9XG5cbn1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLXNtYWxsIHsgcGFkZGluZzogJHBhZGRpbmctc21hbGwtcGFkZGluZzsgfVxuXG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmctbGFyZ2UgeyBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS1wYWRkaW5nOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstcGFkZGluZy1sYXJnZSB7IHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDsgfVxuXG59XG5cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmctcmVtb3ZlIHsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtdG9wIHsgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLWJvdHRvbSB7IHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4udWstcGFkZGluZy1yZW1vdmUtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wYWRkaW5nLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wYWRkaW5nLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhZGRpbmctbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUG9zaXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIHBvc2l0aW9uIGNvbnRlbnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wb3NpdGlvbi1hYnNvbHV0ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXJlbGF0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tei1pbmRleGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY292ZXJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstcG9zaXRpb24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcG9zaXRpb24tc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBvc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBEaXJlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstcG9zaXRpb24tdG9wJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1ib3R0b20nXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWxlZnQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLXJpZ2h0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXInXSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cblxuLyogRWRnZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEb24ndCB1c2UgYHdpZHRoOiAxMDAlYCBiZWNhdXNlIGl0IGlzIHdyb25nIGlmIHRoZSBwYXJlbnQgaGFzIHBhZGRpbmcuICovXG4udWstcG9zaXRpb24tdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1sZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbn1cblxuXG4vKiBDb3JuZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLXRvcC1sZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLWxlZnQge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi8qXG4gKiBDZW50ZXJcbiAqIDEuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIGNvbnRlbnQgaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBjb250YWluZXIgKE5vdCB3b3JraW5nIGluIEZpcmVmb3gpXG4gKiAyLiBGaXggdGV4dCB3cmFwcGluZyBmb3IgRmlyZWZveFxuICovXG5cbi51ay1wb3NpdGlvbi1jZW50ZXIge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFZlcnRpY2FsICovXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0IHsgbGVmdDogMDsgfVxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodCB7IHJpZ2h0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdC1vdXQge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodC1vdXQge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4vKiBIb3Jpem9udGFsICovXG4udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyIHsgdG9wOiAwOyB9XG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IGJvdHRvbTogMDsgfVxuXG5cbi8qIENvdmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLWNvdmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG5cbi8qIFV0aWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tcmVsYXRpdmUgeyBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tYWJzb2x1dGUgeyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tZml4ZWQgeyBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tei1pbmRleCB7IHotaW5kZXg6IDE7IH1cblxuXG4vKiBNYXJnaW4gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstcG9zaXRpb24tc21hbGwgeyBtYXJnaW46ICRwb3NpdGlvbi1zbWFsbC1tYXJnaW47IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbiwgKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbik7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi51ay1wb3NpdGlvbi1tZWRpdW0geyBtYXJnaW46ICRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbiwgKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbikpOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW1bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luKTsgfVxuXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay1wb3NpdGlvbi1sYXJnZSB7IG1hcmdpbjogJHBvc2l0aW9uLWxhcmdlLW1hcmdpbjsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLCAoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4pKTsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbik7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luKTsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlIHsgbWFyZ2luOiAkcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw7IH1cblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCwgKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpKTsgfVxuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbiAgICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpOyB9XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wb3NpdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stcG9zaXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcG9zaXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVHJhbnNpdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRyYW5zaXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdHJhbnNpdGlvbi0qYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRyYW5zaXRpb24tZmFkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2NhbGUtdXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNjYWxlLWRvd25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1vcGFxdWVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsb3dgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstdHJhbnNpdGlvbi10b2dnbGVgLFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1hY3RpdmVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstaG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuM3MgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNjYWxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAwLjdzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUcmFuc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFVzaW5nIG11bHRpcGxlIHNlbGVjdG9ycyB0byBleGNsdWRlIGB1ay10cmFuc2l0aW9uLXRvZ2dsZWBcbiAqIE5vdGU6IFRyYW5zaXRpb25zIGRvbid0IHdvcmsgd2l0aCBgdWstcG9zdGlvbi1jZW50ZXItKmAgY2xhc3NlcyBiZWNhdXNlIHRoZXkgYWxzbyB1c2UgYHRyYW5zZm9ybWBcbiAqICAgICAgIEp1c3QgcHV0IHRoZSB0cmFuc2l0aW9uIGluIGFuIGV4dHJhIGBkaXZgXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tZmFkZSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2NhbGUnXSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybSwgZmlsdGVyO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybSwgZmlsdGVyO1xufVxuXG4vKlxuICogRmFkZVxuICovXG5cbi51ay10cmFuc2l0aW9uLWZhZGUgeyBvcGFjaXR5OiAwOyB9XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLWZhZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLWZhZGUnXSxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1mYWRlJ10geyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBTY2FsZVxuICogTm90ZTogVXNpbmcgYHNjYWxlM2RgIGZvciBiZXR0ZXIgaW1hZ2UgcmVuZGVyaW5nXG4gKi9cblxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zY2FsZSddIHsgb3BhY2l0eTogMDsgfVxuXG4udWstdHJhbnNpdGlvbi1zY2FsZS11cCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgkdHJhbnNpdGlvbi1zY2FsZSwkdHJhbnNpdGlvbi1zY2FsZSwxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoJHRyYW5zaXRpb24tc2NhbGUsJHRyYW5zaXRpb24tc2NhbGUsMSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKCR0cmFuc2l0aW9uLXNjYWxlLCR0cmFuc2l0aW9uLXNjYWxlLDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgkdHJhbnNpdGlvbi1zY2FsZSwkdHJhbnNpdGlvbi1zY2FsZSwxKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi10b2dnbGUudWstaG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTtcbn1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHsgb3BhY2l0eTogMDsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Age1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1zbWFsbCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tc21hbGwge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtc21hbGwge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtc21hbGwge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1tZWRpdW0ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG59XG5cbi8qIEhvdmVyICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlLnVrLWhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7XG59XG5cblxuXG5cbi8qIE9wYWNpdHkgbW9kaWZpZXJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2l0aW9uLW9wYXF1ZSB7IG9wYWNpdHk6IDE7IH1cblxuXG4vKiBEdXJhdGlvbiBtb2RpZmllcnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2l0aW9uLXNsb3cgeyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdHJhbnNpdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stdHJhbnNpdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10cmFuc2l0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFZpc2liaWxpdHlcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIHNob3cgb3IgaGlkZSBjb250ZW50IG9uIGJyZWFrcG9pbnRzLCBob3ZlciBvciB0b3VjaFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWhpZGRlbi0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdmlzaWJsZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW52aXNpYmxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdmlzaWJsZS10b2dnbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oaWRkZW4taG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGUtaG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGUtdG91Y2hgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGUtbm90b3VjaGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVmlzaWJpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRkZW5cbiAqIGBoaWRkZW5gIGF0dHJpYnV0ZSBhbHNvIHNldCBoZXJlIHRvIG1ha2UgaXQgc3Ryb25nZXJcbiAqL1xuXG5baGlkZGVuXSxcbi51ay1oaWRkZW4geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWhpZGRlblxcQHMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oaWRkZW5cXEBtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1oaWRkZW5cXEBsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1oaWRkZW5cXEB4bCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qXG4gKiBWaXNpYmxlXG4gKi9cblxuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQHMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAbSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0tbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQHhsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cblxuLyogSG92ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIaWRkZW4gKi9cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoLnVrLWhvdmVyKSAudWstaGlkZGVuLWhvdmVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIEludmlzaWJsZSAqL1xuLnVrLXZpc2libGUtdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCgudWstaG92ZXIpIC51ay1pbnZpc2libGUtaG92ZXIgeyB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIFRvdWNoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaGFzIGxpbWl0ZWQgYWNjdXJhY3ksIGUuZy4gYSB0b3VjaCBzY3JlZW4uXG4gKiBXb3JrcyBvbiBtb2JpbGUgYnJvd3NlcnM6IFNhZmFyaSwgQ2hyb21lIGFuZCBBbmRyb2lkIGJyb3dzZXJcbiAqL1xuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC51ay1oaWRkZW4tdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaXMgYWNjdXJhdGUsIGUuZy4gbW91c2UuXG4gKiAxLiBGYWxsYmFjayBmb3IgSUUxMSBhbmQgRmlyZWZveCwgYmVjYXVzZSBgcG9pbnRlcmAgaXMgbm90IHN1cHBvcnRlZFxuICogMi4gUmVzZXQgaWYgc3VwcG9ydGVkXG4gKi9cblxuLyogMSAqL1xuLnVrLWhpZGRlbi1ub3RvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLnVrLWhpZGRlbi1ub3RvdWNoIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXZpc2liaWxpdHktbWlzYykpIHtAaW5jbHVkZSBob29rLXZpc2liaWxpdHktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdmlzaWJpbGl0eS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBJbnZlcnNlXG4vLyBEZXNjcmlwdGlvbjogICAgIEludmVyc2UgY29tcG9uZW50IHN0eWxlIGZvciBsaWdodCBvciBkYXJrIGJhY2tncm91bmRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kYXJrYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1nbG9iYWwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEludmVyc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cblxuLypcbiAqIEltcGxlbWVudGVkIGNsYXNzIGRlcGVuZHMgb24gdGhlIGdlbmVyYWwgdGhlbWUgY29sb3JcbiAqIGB1ay1saWdodGAgaXMgZm9yIGxpZ2h0IGNvbG9ycyBvbiBkYXJrIGJhY2tncm91bmRzXG4gKiBgdWstZGFya2AgaXMgb3IgZGFyayBjb2xvcnMgb24gbGlnaHQgYmFja2dyb3VuZHNcbiAqL1xuXG5AaWYgKCRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlID09IGxpZ2h0KSB7IC51ay1saWdodCB7IEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZSgpO319fVxuXG5AaWYgKCRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlID09IGRhcmspIHsgLnVrLWRhcmsgeyBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UoKTt9fX1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UoKXt9IiwiQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYWNjb3JkaW9uKCl7XG5cbiAgICAudWstYWNjb3JkaW9uID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWFjY29yZGlvbi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWFsZXJ0KCl7fVxuQG1peGluIGhvb2stYWxlcnQtY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1jbG9zZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWFsZXJ0LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stYWxlcnQtd2FybmluZygpe31cbkBtaXhpbiBob29rLWFsZXJ0LWRhbmdlcigpe31cbkBtaXhpbiBob29rLWFsZXJ0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZSgpe31cbkBtaXhpbiBob29rLWFydGljbGUtYWRqYWNlbnQoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLXRpdGxlKCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS1tZXRhKCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hcnRpY2xlKCl7XG5cbiAgICAudWstYXJ0aWNsZS10aXRsZSAge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCk7fVxuICAgIH1cblxuICAgIC51ay1hcnRpY2xlLW1ldGEgIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1iYWNrZ3JvdW5kLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1iYWRnZSgpe31cbkBtaXhpbiBob29rLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYmFkZ2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFkZ2UoKXtcblxuICAgIC51ay1iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYWRnZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhZGdlKCk7fVxuICAgIH1cblxuICAgIC51ay1iYWRnZTpob3ZlcixcbiAgICAudWstYmFkZ2U6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYWRnZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWFuaW1hdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbSgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJyZWFkY3J1bWIoKXtcblxuICAgIC51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlclxuICAgIC8vXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYmFzZS1ib2R5KCl7fVxuQG1peGluIGhvb2stYmFzZS1saW5rKCl7fVxuQG1peGluIGhvb2stYmFzZS1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYmFzZS1jb2RlKCl7fVxuQG1peGluIGhvb2stYmFzZS1oZWFkaW5nKCl7fVxuQG1peGluIGhvb2stYmFzZS1oMSgpe31cbkBtaXhpbiBob29rLWJhc2UtaDIoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWgzKCl7fVxuQG1peGluIGhvb2stYmFzZS1oNCgpe31cbkBtaXhpbiBob29rLWJhc2UtaDUoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg2KCl7fVxuQG1peGluIGhvb2stYmFzZS1ocigpe31cbkBtaXhpbiBob29rLWJhc2UtYmxvY2txdW90ZSgpe31cbkBtaXhpbiBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKXt9XG5AbWl4aW4gaG9vay1iYXNlLXByZSgpe31cbkBtaXhpbiBob29rLWJhc2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtY29kZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgxKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg1KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg2KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaHIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYXNlKCl7XG5cbiAgICBjb2xvcjogJGludmVyc2UtYmFzZS1jb2xvcjtcblxuICAgIC8vIEJhc2VcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIC8vXG4gICAgLy8gTGlua1xuICAgIC8vXG5cbiAgICBhLFxuICAgIC51ay1saW5rICB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWxpbmstY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1saW5rKCk7fVxuICAgIH1cblxuICAgIGE6aG92ZXIsXG4gICAgLnVrLWxpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIENvZGVcbiAgICAvL1xuXG4gICAgOm5vdChwcmUpID4gY29kZSxcbiAgICA6bm90KHByZSkgPiBrYmQsXG4gICAgOm5vdChwcmUpID4gc2FtcCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtY29kZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1jb2RlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRW1waGFzaXplXG4gICAgLy9cblxuICAgIGVtIHsgY29sb3I6ICRpbnZlcnNlLWJhc2UtZW0tY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gSGVhZGluZ3NcbiAgICAvL1xuXG4gICAgaDEsIC51ay1oMSxcbiAgICBoMiwgLnVrLWgyLFxuICAgIGgzLCAudWstaDMsXG4gICAgaDQsIC51ay1oNCxcbiAgICBoNSwgLnVrLWg1LFxuICAgIGg2LCAudWstaDYge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1oZWFkaW5nLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpO31cbiAgICB9XG5cbiAgICBoMSwgLnVrLWgxIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMSgpO31cbiAgICB9XG5cbiAgICBoMiwgLnVrLWgyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMigpO31cbiAgICB9XG5cbiAgICBoMywgLnVrLWgzIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMygpO31cbiAgICB9XG5cbiAgICBoNCwgLnVrLWg0IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNCgpO31cbiAgICB9XG5cbiAgICBoNSwgLnVrLWg1IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNSgpO31cbiAgICB9XG5cbiAgICBoNiwgLnVrLWg2IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEJsb2NrcXVvdGVzXG4gICAgLy9cblxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpO31cbiAgICB9XG5cbiAgICBibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBIb3Jpem9udGFsIHJ1bGVzXG4gICAgLy9cblxuICAgIGhyLCAudWstaHIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1ocikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1ocigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNsb3NlKCl7fVxuQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1jbG9zZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jbG9zZSgpe1xuXG4gICAgLnVrLWNsb3NlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWNsb3NlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY2xvc2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNsb3NlOmhvdmVyLFxuICAgIC51ay1jbG9zZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stY2FyZCgpe31cbkBtaXhpbiBob29rLWNhcmQtYm9keSgpe31cbkBtaXhpbiBob29rLWNhcmQtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1mb290ZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS10b3AoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLWJvdHRvbSgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtbGVmdCgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtcmlnaHQoKXt9XG5AbWl4aW4gaG9vay1jYXJkLXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1iYWRnZSgpe31cbkBtaXhpbiBob29rLWNhcmQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWZvb3Rlcigpe31cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5KCl7fVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWNhcmQtbWlzYygpe31cbkBtaXhpbiBob29rLWJ1dHRvbigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1mb2N1cygpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXNtYWxsKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWxhcmdlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXRleHQoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tdGV4dC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1idXR0b24oKXtcblxuICAgIC8vXG4gICAgLy8gRGVmYXVsdFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUHJpbWFyeVxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gU2Vjb25kYXJ5XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlcixcbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLFxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVGV4dFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXRleHQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXRleHQ6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBMaW5rXG4gICAgLy9cblxuICAgIC51ay1idXR0b24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tbGluay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1saW5rKCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tbGluazpob3ZlcixcbiAgICAudWstYnV0dG9uLWxpbms6Zm9jdXMgeyBjb2xvcjogJGludmVyc2UtYnV0dG9uLWxpbmstaG92ZXItY29sb3I7IH1cblxuXG59XG5AbWl4aW4gaG9vay1jb2x1bW4tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWNvbHVtbigpe1xuXG4gICAgLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tcnVsZS1jb2xvcjogJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICAgICAgLW1vei1jb2x1bW4tcnVsZS1jb2xvcjogJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICAgICAgY29sdW1uLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1jb21tZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1ib2R5KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1tZXRhKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1hdmF0YXIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbWlzYygpe31cbkBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbnVtYmVyKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY291bnRkb3duKCl7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlcixcbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tbGFiZWwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNvdmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0oKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0oKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKXt9XG5AbWl4aW4gc3ZnLWZpbGwoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpe1xuXG4gICAgJGVzY2FwZS1jb2xvci1kZWZhdWx0OiAgZXNjYXBlKCRjb2xvci1kZWZhdWx0KSAhZGVmYXVsdDtcbiAgICAkZXNjYXBlLWNvbG9yLW5ldzogIGVzY2FwZShcIiN7JGNvbG9yLW5ld31cIikgIWRlZmF1bHQ7XG5cbiAgICAkZGF0YS11cmk6ICBkYXRhLXVyaSgnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04JywgXCIjeyRzcmN9XCIpICFkZWZhdWx0O1xuICAgICRyZXBsYWNlLXNyYzogIHJlcGxhY2UoXCIjeyRkYXRhLXVyaX1cIiwgXCIjeyRlc2NhcGUtY29sb3ItZGVmYXVsdH1cIiwgXCIjeyRlc2NhcGUtY29sb3ItbmV3fVwiLCBcImdcIikgIWRlZmF1bHQ7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKCRyZXBsYWNlLXNyYyk7XG59XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZSgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kaXZpZGVyKCl7XG5cbiAgICAudWstZGl2aWRlci1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWRpdmlkZXItaWNvbi1jb2xvcik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCk7fVxuICAgIH1cblxuICAgIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSxcbiAgICAudWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCk7fVxuICAgIH1cblxuICAgIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stZG90bmF2KCl7fVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kb3RuYXYoKXtcblxuICAgIC51ay1kb3RuYXYgPiAqID4gKiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gKiA+IDpob3ZlcixcbiAgICAudWstZG90bmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stZHJvcC1taXNjKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24oKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbWlzYygpe31cbkBtaXhpbiBob29rLWZsZXgtbWlzYygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRodW1iKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjaygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mb3JtKCl7fVxuQG1peGluIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpe31cbkBtaXhpbiBob29rLWZvcm0tbXVsdGktbGluZSgpe31cbkBtaXhpbiBob29rLWZvcm0tZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stZm9ybS1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWJsYW5rKCl7fVxuQG1peGluIGhvb2stZm9ybS1ibGFuay1mb2N1cygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8oKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWZvcm0tbGVnZW5kKCl7fVxuQG1peGluIGhvb2stZm9ybS1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpbygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1mb3JtKCl7XG5cbiAgICAudWstaW5wdXQsXG4gICAgLnVrLXNlbGVjdCxcbiAgICAudWstdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1mb3JtLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtKCk7fVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6ICRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I7XG4gICAgICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCk7fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQbGFjZWhvbGRlclxuICAgIC8vXG5cbiAgICAudWstaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG4gICAgLnVrLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuICAgIC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cbiAgICAudWstdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBSYWRpbyBhbmQgY2hlY2tib3hcbiAgICAvL1xuXG4gICAgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBSYWRpbyBhbmQgY2hlY2tib3hcbiAgICAvL1xuXG4gICAgLnVrLXJhZGlvLFxuICAgIC51ay1jaGVja2JveCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpbykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpbygpO31cbiAgICB9XG5cbiAgICAvLyBGb2N1c1xuICAgIC51ay1yYWRpbzpmb2N1cyxcbiAgICAudWstY2hlY2tib3g6Zm9jdXMge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC8vIENoZWNrZWRcbiAgICAudWstcmFkaW86Y2hlY2tlZCxcbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgICAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCgpO31cbiAgICB9XG5cbiAgICAvLyBGb2N1c1xuICAgIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC8vIEljb25cbiAgICAudWstcmFkaW86Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy8gTGFiZWxcbiAgICAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1ncmlkKCl7XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7IH1cblxufVxuQG1peGluIGhvb2staGVhZGluZy1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1oZWFkaW5nKCl7XG5cbiAgICAudWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctaGVybyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWRpdmlkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1saW5lID4gOmJlZm9yZSxcbiAgICAudWstaGVhZGluZy1saW5lID4gOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1saW5lKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pY29uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pY29uLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pY29uLWxpbmstYWN0aXZlKCl7fVxuQG1peGluIGhvb2staWNvbi1idXR0b24oKXt9XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbigpe1xuXG4gICAgLy9cbiAgICAvLyBMaW5rXG4gICAgLy9cblxuICAgIC51ay1pY29uLWxpbmsge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluaygpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1saW5rOmhvdmVyLFxuICAgIC51ay1pY29uLWxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluay1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1saW5rOmFjdGl2ZSxcbiAgICAudWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gQnV0dG9uXG4gICAgLy9cblxuICAgIC51ay1pY29uLWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWJ1dHRvbjpob3ZlcixcbiAgICAudWstaWNvbi1idXR0b246Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staWNvbm5hdigpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29ubmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbm5hdigpe1xuXG4gICAgLnVrLWljb25uYXYgPiAqID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29ubmF2ID4gKiA+IDpob3ZlcixcbiAgICAudWstaWNvbm5hdiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saW5rKCl7XG5cbiAgICBhLnVrLWxpbmstbXV0ZWQsXG4gICAgLnVrLWxpbmstbXV0ZWQgYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLW11dGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLW11dGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay1tdXRlZDpob3ZlcixcbiAgICAudWstbGluay1tdXRlZCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgYS51ay1saW5rLXRleHQ6aG92ZXIsXG4gICAgLnVrLWxpbmstdGV4dCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saXN0KCl7XG5cbiAgICAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1saXN0LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbGlzdC1zdHJpcGVkID4gbGkge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpO31cbiAgICB9XG5cbiAgICAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSB7IGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOyB9XG5cbiAgICAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtbGlzdC1idWxsZXQtaWNvbi1jb2xvcik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpc3QtYnVsbGV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LWJ1bGxldCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRvdG9wKCl7XG5cbiAgICAudWstdG90b3Age1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRvdG9wKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10b3RvcCgpO31cbiAgICB9XG5cbiAgICAudWstdG90b3A6aG92ZXIsXG4gICAgLnVrLXRvdG9wOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRvdG9wLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdG90b3AtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRvdG9wOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdG90b3AtYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGFiZWwoKXtcblxuICAgIC51ay1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1sYWJlbC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxhYmVsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2VhcmNoKCl7XG5cbiAgICAvL1xuICAgIC8vIElucHV0XG4gICAgLy9cblxuICAgIC51ay1zZWFyY2gtaW5wdXQgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWNvbG9yOyB9XG5cbiAgICAudWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG4gICAgLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4gICAgLy9cbiAgICAvLyBJY29uXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOyB9XG5cbiAgICAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBTdHlsZSBtb2RpZmllclxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpO31cbiAgICB9XG4gICAgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBUb2dnbGVcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC10b2dnbGUge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLXRvZ2dsZTpob3ZlcixcbiAgICAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2KCl7XG5cbiAgICAvL1xuICAgIC8vIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gICAgLy9cblxuICAgIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLW5hdi1wYXJlbnQtaWNvbi1jb2xvcik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3IpOyB9XG5cbiAgICAvL1xuICAgIC8vIERlZmF1bHRcbiAgICAvL1xuXG4gICAgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLFxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlcixcbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gUHJpbWFyeVxuICAgIC8vXG5cbiAgICAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLFxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXZiYXIoKXtcblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItaXRlbSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci10b2dnbGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsXG4gICAgLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4gICAgLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtc3VibmF2KCl7XG5cbiAgICAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlcixcbiAgICAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIERpdmlkZXJcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUGlsbFxuICAgIC8vXG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlcixcbiAgICAudWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXNhYmxlZFxuICAgIC8vXG5cbiAgICAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtcGFnaW5hdGlvbigpe1xuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAqID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlcixcbiAgICAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10YWIoKXtcblxuICAgIC51ay10YWIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYigpO31cbiAgICB9XG5cbiAgICAudWstdGFiID4gKiA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstdGFiID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXRhYiA+ICogPiBhOmZvY3Vze1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2xpZGVuYXYoKXtcblxuICAgIC51ay1zbGlkZW5hdiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zbGlkZW5hdi1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2xpZGVuYXYpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNsaWRlbmF2KCk7fVxuICAgIH1cblxuICAgIC51ay1zbGlkZW5hdjpob3ZlcixcbiAgICAudWstc2xpZGVuYXY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10ZXh0KCl7XG5cbiAgICAudWstdGV4dC1sZWFkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRleHQtbGVhZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGV4dC1sZWFkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10ZXh0LWxlYWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRleHQtbWV0YSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRleHQtbWV0YSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGV4dC1tZXRhKCk7fVxuICAgIH1cblxuICAgIC51ay10ZXh0LW11dGVkIHsgY29sb3I6ICRpbnZlcnNlLXRleHQtbXV0ZWQtY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXByaW1hcnkgeyBjb2xvcjogJGludmVyc2UtdGV4dC1wcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdXRpbGl0eSgpe1xuXG4gICAgLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbiAgICAudWstZHJvcGNhcCBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRyb3BjYXApKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRyb3BjYXAoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxlYWRlci1maWxsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sZWFkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ28ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbG9nby1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbG9nbykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbG9nbygpO31cbiAgICB9XG5cbiAgICAudWstbG9nbzpob3ZlcixcbiAgICAudWstbG9nbzpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1sb2dvLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSkgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgLnVrLWxvZ28taW52ZXJzZSB7IGRpc3BsYXk6IGlubGluZTsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlKCl7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saW5rKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1oZWFkaW5nKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kaXZpZGVyKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saXN0KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1mb3JtKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1idXR0b24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWdyaWQoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWNsb3NlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10b3RvcCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFkZ2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWxhYmVsKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hcnRpY2xlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zZWFyY2goKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LW5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2YmFyKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zdWJuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJyZWFkY3J1bWIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXBhZ2luYXRpb24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXRhYigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2xpZGVuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWRvdG5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYWNjb3JkaW9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29ubmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10ZXh0KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXV0aWxpdHkoKTtcbn1cbkBtaXhpbiBob29rLWxhYmVsKCl7fVxuQG1peGluIGhvb2stbGFiZWwtc3VjY2Vzcygpe31cbkBtaXhpbiBob29rLWxhYmVsLXdhcm5pbmcoKXt9XG5AbWl4aW4gaG9vay1sYWJlbC1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1sYWJlbC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sYWJlbCgpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94KCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtaXRlbSgpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24oKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1idXR0b24oKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1taXNjKCl7fVxuQG1peGluIGhvb2stbGluay1tdXRlZCgpe31cbkBtaXhpbiBob29rLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saW5rLXRleHQoKXt9XG5AbWl4aW4gaG9vay1saW5rLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saW5rLXJlc2V0KCl7fVxuQG1peGluIGhvb2stbGluay1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saXN0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1saXN0LXN0cmlwZWQoKXt9XG5AbWl4aW4gaG9vay1saXN0LWJ1bGxldCgpe31cbkBtaXhpbiBob29rLWxpc3QtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtYnVsbGV0KCl7fVxuQG1peGluIGhvb2stbWFyZ2luLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1tYXJrZXIoKXt9XG5AbWl4aW4gaG9vay1tYXJrZXItaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tYXJrZXItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbWFya2VyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXItaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1tYXJrZXIoKXtcblxuICAgIC51ay1tYXJrZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS1tYXJrZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW1hcmtlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbWFya2VyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1tYXJrZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW1hcmtlcjpob3ZlcixcbiAgICAudWstbWFya2VyOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW1hcmtlci1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbWFya2VyLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1tYXJrZXItaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1tb2RhbCgpe31cbkBtaXhpbiBob29rLW1vZGFsLWRpYWxvZygpe31cbkBtaXhpbiBob29rLW1vZGFsLWZ1bGwoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1ib2R5KCl7fVxuQG1peGluIGhvb2stbW9kYWwtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtZm9vdGVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtbWlzYygpe31cbkBtaXhpbiBob29rLW5hdi1zdWIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItY29udGFpbmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaWNvbigpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1zdWJ0aXRsZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10cmFuc3BhcmVudCgpe31cbkBtaXhpbiBob29rLW5hdmJhci1zdGlja3koKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24oKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLWJhcigpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1jbG9zZSgpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1vdmVybGF5KCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5KCl7fVxuQG1peGluIGhvb2stb3ZlcmxheS1pY29uKCl7fVxuQG1peGluIGhvb2stb3ZlcmxheS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stb3ZlcmxheS1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stb3ZlcmxheS1taXNjKCl7fVxuQG1peGluIGhvb2stcGFkZGluZy1taXNjKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbigpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wbGFjZWhvbGRlcigpe31cbkBtaXhpbiBob29rLXBsYWNlaG9sZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcHJpbnQoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcygpe31cbkBtaXhpbiBob29rLXByb2dyZXNzLWJhcigpe31cbkBtaXhpbiBob29rLXByb2dyZXNzLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbigpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tb3ZlcmxhcCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2KCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1wcmV2aW91cygpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LW5leHQoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1jb250YWluZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXNsaWRlc2hvdygpe31cbkBtaXhpbiBob29rLXNsaWRlc2hvdy1taXNjKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1kcmFnKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1lbXB0eSgpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zcGlubmVyKCl7fVxuQG1peGluIGhvb2stc3Bpbm5lci1taXNjKCl7fVxuQG1peGluIGhvb2stc3RpY2t5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXN3aXRjaGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10YWIoKXt9XG5AbWl4aW4gaG9vay10YWItaXRlbSgpe31cbkBtaXhpbiBob29rLXRhYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdGFiLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay10YWItYm90dG9tKCl7fVxuQG1peGluIGhvb2stdGFiLWJvdHRvbS1pdGVtKCl7fVxuQG1peGluIGhvb2stdGFiLWxlZnQoKXt9XG5AbWl4aW4gaG9vay10YWItcmlnaHQoKXt9XG5AbWl4aW4gaG9vay10YWItbGVmdC1pdGVtKCl7fVxuQG1peGluIGhvb2stdGFiLXJpZ2h0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay10YWItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay10YWJsZSgpe31cbkBtaXhpbiBob29rLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuQG1peGluIGhvb2stdGFibGUtY2VsbCgpe31cbkBtaXhpbiBob29rLXRhYmxlLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLWNhcHRpb24oKXt9XG5AbWl4aW4gaG9vay10YWJsZS1yb3ctYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdGFibGUtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXN0cmlwZWQoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXNtYWxsKCl7fVxuQG1peGluIGhvb2stdGFibGUtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFibGUoKXtcblxuICAgIC51ay10YWJsZSB0aCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZSBjYXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlID4gdHIudWstYWN0aXZlLFxuICAgIC51ay10YWJsZSB0Ym9keSB0ci51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLWRpdmlkZXIgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAudWstdGFibGUtZGl2aWRlciA+IDpub3QoOmZpcnN0LWNoaWxkKSA+IHRyLFxuICAgIC51ay10YWJsZS1kaXZpZGVyID4gOmZpcnN0LWNoaWxkID4gdHI6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS10YWJsZS1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKG9kZCksXG4gICAgLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLWhvdmVyID4gdHI6aG92ZXIsXG4gICAgLnVrLXRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRleHQtbGVhZCgpe31cbkBtaXhpbiBob29rLXRleHQtbWV0YSgpe31cbkBtaXhpbiBob29rLXRleHQtc21hbGwoKXt9XG5AbWl4aW4gaG9vay10ZXh0LWxhcmdlKCl7fVxuQG1peGluIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCl7fVxuQG1peGluIGhvb2stdGV4dC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10ZXh0LWxlYWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpe31cbkBtaXhpbiBob29rLXRpbGUoKXt9XG5AbWl4aW4gaG9vay10aWxlLWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay10aWxlLW11dGVkKCl7fVxuQG1peGluIGhvb2stdGlsZS1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnkoKXt9XG5AbWl4aW4gaG9vay10aWxlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10b29sdGlwKCl7fVxuQG1peGluIGhvb2stdG9vbHRpcC1taXNjKCl7fVxuQG1peGluIGhvb2stdG90b3AoKXt9XG5AbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRvdG9wLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXRvdG9wLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdHJhbnNpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbkBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuQG1peGluIGhvb2stZHJvcGNhcCgpe31cbkBtaXhpbiBob29rLWxlYWRlcigpe31cbkBtaXhpbiBob29rLWxvZ28oKXt9XG5AbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kcm9wY2FwKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKXt9XG5AbWl4aW4gaG9vay12aXNpYmlsaXR5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay13aWR0aC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU2xpZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaG9yaXpvbnRhbCBzbGlkZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2xpZGVyYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlci1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zbGlkZXItaXRlbXNgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuXG4udWstc2xpZGVyIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVyKSkge0BpbmNsdWRlIGhvb2stc2xpZGVyKCk7fVxufVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKi9cblxuLnVrLXNsaWRlci1jb250YWluZXIge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqL1xuXG4udWstc2xpZGVyLWl0ZW1zIHtcbiAgICAvKiAxICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cblxuLypcbiAqIDEuIFJlc2V0IGxpc3Qgc3R5bGUgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIGdyaWRcbiAqIDIuIFByZXZlbnQgZGlzcGxheWluZyB0aGUgY2FsbG91dCBpbmZvcm1hdGlvbiBvbiBpT1MuXG4gKi9cblxuLnVrLXNsaWRlci1pdGVtczpub3QoLnVrLWdyaWQpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG59XG5cbi51ay1zbGlkZXItaXRlbXMudWstZ3JpZCB7IGZsZXgtd3JhcDogbm93cmFwOyB9XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBMZXQgaXRlbXMgdGFrZSBjb250ZW50IGRpbWVuc2lvbnMgKDAgMCBhdXRvKVxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqL1xuXG4udWstc2xpZGVyLWl0ZW1zID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXNsaWRlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zbGlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZXItbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUHJpbnRcbi8vIERlc2NyaXB0aW9uOiAgICAgT3B0aW1pemUgcGFnZSBmb3IgcHJpbnRpbmdcbi8vXG4vLyBBZGFwdGVkIGZyb20gaHR0cDovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZVxuLy9cbi8vIE1vZGlmaWNhdGlvbnM6ICAgUmVtb3ZlZCBsaW5rIGBocmVmYCBhbmQgYHRpdGxlYCByZWxhdGVkIHJ1bGVzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByaW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHByaW50IHtcblxuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByaW50KSkge0BpbmNsdWRlIGhvb2stcHJpbnQoKTt9XG5cbn1cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1wcmludCgpe31cbiIsIi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLFxuLnVrLW5hdmJhci1pdGVtLFxuLnVrLW5hdmJhci10b2dnbGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICBjb2xvcjogJG1haW4tY29sb3ItcHJpbWFyeTtcbn1cblxuLmNiZi1uYXZiYXItdGhyaWQge1xuICBiYWNrZ3JvdW5kOiAkbWFpbi1jb2xvci1wcmltYXJ5O1xuICB6LWluZGV4OiAxMDA7XG4gIC51ay1uYXZiYXItZHJvcGRvd24tbmF2IHtcbiAgICA+IGxpIHtcbiAgICAgID4gYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOmFmdGVyIHtcbiAgICByaWdodDogNTAlO1xuICAgIHRvcDogLTMlO1xuICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjMyLCA5NCwgMjUsIDApO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNlMzFlMjQ7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgfVxufVxuc3Bhbi5jYmYtbmF2LWljb24udWstaWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnVrLW5hdmJhci1zdGlja3kge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmMDAwMDtcbn1cblxuLmNiZi1sYW5nLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwKTtcbiAgd2lkdGg6IDUwcHg7XG4gIG1heC13aWR0aDogNTBweDtcbiAgbWluLXdpZHRoOiA1MHB4O1xuICB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnVrLW5hdmJhci1zdGlja3kgLmNiZi1sYW5nLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwxKTtcbiAgYSB7XG4gICAgY29sb3I6ICM5OTk7XG4gIH1cbn1cblxuLmNiZi1zbGlkZXNob3ctYm94IHtcbiAgcCwgaDMge1xuICAgIG1hcmdpbjogMHB4O1xuICB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgfVxuICBwIHtcbiAgICBjb2xvcjogIzk3YTNiODtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn0iLCIuY2JmLWxvZ28td2hpdGUge1xuICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxMHB4O1xuICB0b3A6IDhweDtcbn1cblxuLmNiZi1wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAkbWFpbi1jb2xvci1zZWNvbmRhcnk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDVweDtcbiAgbWFyZ2luOiAxNXB4IDAgMCAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMjUlO1xufVxuXG4uY2JmLXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQ6ICRtYWluLWNvbG9yLXNlY29uZGFyeTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNnB4O1xuICBtYXJnaW4tbGVmdDogLTEwMCU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbWFyZ2luIDFzIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBtYXJnaW4gMXMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBtYXJnaW4gMXMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMXMgbGluZWFyO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAzcyAhaW1wb3J0YW50O1xuICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDNzICFpbXBvcnRhbnQ7XG4gIC1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAzcyAhaW1wb3J0YW50O1xuICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAzcyAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzcyAhaW1wb3J0YW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG1hcmdpbi1sZWZ0O1xuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IG1hcmdpbi1sZWZ0O1xuICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWFyZ2luLWxlZnQ7XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IG1hcmdpbi1sZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXJnaW4tbGVmdDtcblxufVxuXG4uY2JmLXByb2dyZXNzLWJhci1hY3RpdmUge1xuICBtYXJnaW4tbGVmdDogMCUgIWltcG9ydGFudDtcbn1cblxuLmNiZi1jYXJkLWJvZHkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDQ3LDQ2LDExMCwwLjcpO1xuICBjb2xvcjogI2ZmZjtcbiAgaDQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gIH1cbn1cblxuLmNiZi1zZWN0aW9uLWxpZ2h0LWJsdWUge1xuICBiYWNrZ3JvdW5kOiAjZjJmNGY1O1xufVxuXG4uY2JmLXNlY3Rpb24tcHVycGxlIHtcbiAgYmFja2dyb3VuZDogJG1haW4tY29sb3Itc2V2ZW50aDtcbn1cblxuLmNiZi1zZWN0aW9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZDogJG1haW4tY29sb3ItYmxhY2s7XG59XG5cbi5jYmYtb3ZlcmxheS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogJG1haW4tY29sb3ItcHJpbWFyeTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jYmYtc2VjdGlvbi1ncmVlbiB7XG4gIGJhY2tncm91bmQ6ICRtYWluLWNvbG9yLWZvdXJ0aDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jYmYtc2VjdGlvbi1ibHVlIHtcbiAgYmFja2dyb3VuZDogJG1haW4tY29sb3ItdGhpcmQ7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uY2JmLXRhYnMge1xuICBsaSB7XG4gICAgYSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG4gIGxpLnVrLWFjdGl2ZSB7XG4gICAgYSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gIH1cblxufVxuXG4uY2JmLXNoYWRvdy1ib3gge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMTYwLCAxNjcsIDE2OSwgMC4zKTtcbiAgLW1vei1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDE2MCwgMTY3LCAxNjksIDAuMyk7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMTYwLCAxNjcsIDE2OSwgMC4zKTtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4udWstY2FyZC1ib2R5IGltZyB7XG4gIGhlaWdodDogMjAxcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY2JmLWNvbG9yLWRhcmsge1xuICBjb2xvcjogI2FhYTtcbn1cblxuLmNiZi1zbGlkZXIge1xuICAudWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gIH1cbn1cblxuLmNiZi1pY29uLWxpc3Qge1xuICBzcGFuIHtcbiAgICBjb2xvcjogJG1haW4tY29sb3ItcHJpbWFyeTtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogI2EzYTRhODtcbiAgfVxufVxuXG4uY2JmLWJsYWNrcW91dGUge1xuICBmb250LWZhbWlseTogUmFsZXdheSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4udWstY2FyZC1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICM0RjUyNjA7XG4gIGJveC1zaGFkb3c6IDJweCAxNXB4IDUwcHggcmdiYSg0MSw0NCw2MSwuMSk7XG59XG5cbi51ay1jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiAuMXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLGJveC1zaGFkb3csdG9wO1xuICBib3JkZXItcmFkaXVzOiAycHhcbn1cblxuLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXItdG9wOiAzcHggc29saWQgI2ZmMDAwMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuXG4kZ2xvYmFsLWxpbmstY29sb3I6ICRtYWluLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG5cblxuXG4vLyMzMzMyNzZcbi8vIzg1OGRiOVxuLy8jMDA5ODQ2XG4vLyMwMDhkZDJcbi8vI2UzMWUyNFxuLy8jZWY3ZjFhIiwiLnVrLWNhcmQge1xuICAudWstYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDY3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDY3cHg7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgxNjAsIDE2NywgMTY5LCAwLjMpO1xuICAgIC5jYmYtYnV0dG9uLWljb24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBsaW5lLWhlaWdodDogNjVweDtcbiAgICAgIHN2ZyB7XG4gICAgICAgIGhlaWdodDozMHB4O1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2JmLW5hdi1pY29uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2NXB4O1xuICAgIH1cbiAgfVxufVxuXG4udWstY2FyZC1ib2R5IHtcbiAgLmNiZi1uYXYtaWNvbiB7XG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDo0NXB4O1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgfVxuICB9XG59XG5cbi51ay1idXR0b24tdGhpcmQge1xuICBiYWNrZ3JvdW5kOiAkbWFpbi1jb2xvci10aGlyZDtcbiAgY29sb3I6ICNmZmY7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICRtYWluLWNvbG9yLXRoaXJkLWhvdmVyO1xuICB9XG59XG5cbi51ay1idXR0b24tZm91cnRoIHtcbiAgYmFja2dyb3VuZDogJG1haW4tY29sb3ItZm91cnRoO1xuICBjb2xvcjogI2ZmZjtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogJG1haW4tY29sb3ItZm91cnRoLWhvdmVyO1xuICB9XG59XG5cbi51ay1idXR0b24tZmlmdGgge1xuICBiYWNrZ3JvdW5kOiAkbWFpbi1jb2xvci1maWZ0aDtcbiAgY29sb3I6ICNmZmY7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQ6ICRtYWluLWNvbG9yLWZpZnRoLWhvdmVyO1xuICB9XG59IiwiXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG4gIC5jYmYtY2FyZC1ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ3LCA0NiwgMTEwLCAxKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcbiAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgfVxuXG4gIC5jYmYtY2FyZC1ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ3LCA0NiwgMTEwLCAxKTtcbiAgfVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IC00MzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG4gIC5idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAtNDg1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuICAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogLTQ5MHB4O1xuICB9XG59IiwiLm5hdi10YWJzLCAudWstdGFiIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LXRhYnMgPiBsaSwgLnVrLXRhYiA+ICoge1xuICAtbXMtZmxleDogbm9uZTtcbiAgLXdlYmtpdC1mbGV4OiBub25lO1xuICBmbGV4OiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5hdi10YWJzID4gbGkgPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBjb2xvcjogI2EzYTRhODtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IC4xcyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcixib3gtc2hhZG93O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcixib3gtc2hhZG93O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLnVrLXRhYiA+ICogPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBjb2xvcjogI2EzYTRhODtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IC4xcyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcixib3gtc2hhZG93O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcixib3gtc2hhZG93O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgJjpmb2N1cywgJjpob3ZlciB7XG4gICAgY29sb3I6ICM3MzczNzM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2YwM2YzNztcbiAgfVxufVxuXG4ubmF2LXRhYnMgPiAuYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMjQyNDI0O1xuICBib3JkZXItY29sb3I6ICNmMDNmMzc7XG59XG5cbi51ay10YWIgPiB7XG4gIC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogIzI0MjQyNDtcbiAgICBib3JkZXItY29sb3I6ICNmMDNmMzc7XG4gIH1cbiAgLnVrLWRpc2FibGVkID4gYSB7XG4gICAgY29sb3I6ICNhM2E0YTg7XG4gIH1cbn1cblxuLnVrLXRhYi1ib3R0b20gPiAqID4gYSB7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xufVxuXG4udWstdGFiLWxlZnQsIC51ay10YWItcmlnaHQge1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnVrLXRhYi1sZWZ0ID4gKiwgLnVrLXRhYi1yaWdodCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi51ay10YWItbGVmdCA+ICogPiBhIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xufVxuXG4udWstdGFiLXJpZ2h0ID4gKiA+IGEge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAgbm9uZTtcbn1cblxuLnVrLXRhYiAudWstZHJvcGRvd24ge1xuICBtYXJnaW4tbGVmdDogMzBweDtcbn0iLCIuY2JmLWltYWdlIHtcbiAgaW1nIHtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5jYmYtY2F0ZWdvcnktc2xpZGVyIHtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICRtYWluLWNvbG9yLXByaW1hcnk7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkbWFpbi1jb2xvci1wcmltYXJ5O1xuICAuY2JmLW92ZXJsYXktcHJpbWFyeSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuNzc1cmVtO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICBsaS51ay1hY3RpdmUge1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICB9XG59XG5cbi5jYmYtaW1hZ2UtYmxvY2sge1xuICBoMywgLmNiZi1zdWItdGl0bGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbn0iLCJAaW1wb3J0IFwiY3VzdG9tL2N1c3RvbV92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJsaWIvdWlraXQvbWl4aW5zXCI7XG5AaW1wb3J0IFwibGliL3Vpa2l0L3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImxpYi91aWtpdC90aGVtZS9pbXBvcnRcIjtcbkBpbXBvcnQgXCJsaWIvdWlraXQvY29tcG9uZW50cy9pbXBvcnRcIjtcbkBpbXBvcnQgXCJjdXN0b20vbmF2XCI7XG5AaW1wb3J0IFwiY3VzdG9tL2Jhc2VcIjtcbkBpbXBvcnQgXCJjdXN0b20vYnV0dG9uXCI7XG5AaW1wb3J0IFwiY3VzdG9tL3Jlc3BvbnNpdmVcIjtcbkBpbXBvcnQgXCJjdXN0b20vdGFic1wiO1xuQGltcG9ydCBcImN1c3RvbS93aWRnZXRzXCI7XG5cbi50bS1oZWFkZXItdHJhbnNwYXJlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk4MDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDBweDtcbn1cblxuIl19 */
