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

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

/* Links
 ========================================================================== */
/*
 * Remove the outline on focused links when they are also active or hovered
 */
a:active,
a:hover {
  outline: none; }

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

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

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

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

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

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

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

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

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

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

/*
 * Prevents `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
 ========================================================================== */
/*
 * Remove the gap between embedded content and the bottom of their containers.
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

dd {
  margin-left: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.uk-icon-link:hover,
.uk-icon-link:focus {
  color: #666;
  outline: none; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
 * Required for `a`
 */
.uk-badge:hover,
.uk-badge:focus {
  color: #fff;
  text-decoration: none;
  outline: none; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Item
 ========================================================================== */
/*
 * 1. Let items take content dimensions (0 0 auto)
 * 2. Create position context
 * 3. Disable horizontal panning gestures in IE11 and Edge
 * 4. Suppress outline on focus
 */
.uk-slider-items > * {
  /* 1 */
  flex: none;
  /* 2 */
  position: relative;
  /* 3 */
  touch-action: pan-y; }

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

/* ========================================================================
   Component: Sticky
 ========================================================================== */
/*
 * 1. Resolve frame rate issues on devices with lower frame rates by forcing hardware acceleration
 */
.uk-sticky-fixed {
  z-index: 980;
  box-sizing: border-box;
  margin: 0 !important;
  /* 1 */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* ========================================================================
   Component: Nav
 ========================================================================== */
/*
 * Reset
 * 1. Prepare lists
 * 2. Prepare links
 * 3. Remove default focus style
 */
/* 1 */
.uk-nav,
.uk-nav ul {
  margin: 0;
  padding: 0;
  list-style: none; }

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

/* 3 */
.uk-nav li > a:focus {
  outline: none; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Alignment modifier
 ========================================================================== */
.uk-nav-center {
  text-align: center; }

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

/* Parent icon modifier  */
.uk-nav-center.uk-nav-parent-icon > .uk-parent > a::after {
  position: absolute; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * Using `:first-child` instead of `a` to support `span` elements for text
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-subnav > * > :first-child {
  /* 1 */
  display: block;
  /* 2 */
  color: #999;
  font-size: 0.875rem;
  text-transform: uppercase;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Center text if a width is set
 * 2. Style
 */
.uk-tab > * > a {
  /* 1 */
  display: block;
  text-align: center;
  /* 2 */
  padding: 5px 10px;
  color: #999;
  border-bottom: 1px solid transparent;
  font-size: 0.875rem;
  text-transform: uppercase;
  transition: color 0.1s ease-in-out; }

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Hover + Focus */
.uk-slidenav:hover,
.uk-slidenav:focus {
  color: rgba(102, 102, 102, 0.9);
  outline: none; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Hover + Focus */
.uk-thumbnav > * > :hover,
.uk-thumbnav > * > :focus {
  outline: none; }
  .uk-thumbnav > * > :hover::after,
  .uk-thumbnav > * > :focus::after {
    background-color: transparent; }

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

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

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

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

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

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-iconnav > * > a {
  /* 1 */
  display: block;
  /* 2 */
  color: #999; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
 * Hover
 */
.uk-lightbox-toolbar-icon:hover {
  color: #fff; }

/* Button (Slidenav)
 ========================================================================== */
/*
 * 1. Center icon vertically and horizontally
 */
.uk-lightbox-button {
  box-sizing: border-box;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7);
  /* 1 */
  display: inline-flex;
  justify-content: center;
  align-items: center; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
 * Shake
 */
.uk-animation-shake {
  animation-name: uk-shake; }

/*
 * SVG Stroke
 * The `--uk-animation-stroke` custom property contains the longest path length.
 * Set it manually or use `uk-svg="stroke-animation: true"` to set it automatically.
 * All strokes are animated by the same pace and doesn't end simultaneously.
 * To end simultaneously, `pathLength="1"` could be used, but it's not working in Safari yet.
 */
.uk-animation-stroke {
  animation-name: uk-stroke;
  stroke-dasharray: var(--uk-animation-stroke);
  animation-duration: 2s; }

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

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

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

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

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

/* Keyframes used by animation classes
 ========================================================================== */
/*
 * Fade
 */
@keyframes uk-fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

/*
 * Slide Top
 */
@keyframes uk-fade-top {
  0% {
    opacity: 0;
    transform: translateY(-100%); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*
 * Slide Bottom
 */
@keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    transform: translateY(100%); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*
 * Slide Left
 */
@keyframes uk-fade-left {
  0% {
    opacity: 0;
    transform: translateX(-100%); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

/*
 * Slide Right
 */
@keyframes uk-fade-right {
  0% {
    opacity: 0;
    transform: translateX(100%); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

/*
 * Slide Top Small
 */
@keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*
 * Slide Bottom Small
 */
@keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    transform: translateY(10px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*
 * Slide Left Small
 */
@keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    transform: translateX(-10px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

/*
 * Slide Right Small
 */
@keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    transform: translateX(10px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

/*
 * Slide Top Medium
 */
@keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    transform: translateY(-50px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*
 * Slide Bottom Medium
 */
@keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    transform: translateY(50px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*
 * Slide Left Medium
 */
@keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    transform: translateX(-50px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

/*
 * Slide Right Medium
 */
@keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    transform: translateX(50px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

/*
 * Scale Up
 */
@keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    transform: scale(0.2); }
  100% {
    opacity: 1;
    transform: scale(1); } }

/*
 * Scale Down
 */
@keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    transform: scale(1.8); }
  100% {
    opacity: 1;
    transform: scale(1); } }

/*
 * Kenburns
 */
@keyframes uk-scale-kenburns {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.2); } }

/*
 * Shake
 */
@keyframes uk-shake {
  0%, 100% {
    transform: translateX(0); }
  10% {
    transform: translateX(-9px); }
  20% {
    transform: translateX(8px); }
  30% {
    transform: translateX(-7px); }
  40% {
    transform: translateX(6px); }
  50% {
    transform: translateX(-5px); }
  60% {
    transform: translateX(4px); }
  70% {
    transform: translateX(-3px); }
  80% {
    transform: translateX(2px); }
  90% {
    transform: translateX(-1px); } }

/*
 * Stroke
 */
@keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke); }
  100% {
    stroke-dashoffset: 0; } }

/* ========================================================================
   Component: Width
 ========================================================================== */
/* Equal child widths
 ========================================================================== */
[class*='uk-child-width'] > * {
  box-sizing: border-box;
  width: 100%; }

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

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

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

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

.uk-child-width-1-6 > * {
  width: calc(100% * 1 / 6.001); }

.uk-child-width-auto > * {
  width: auto; }

/*
 * 1. Reset the `min-width`, which is set to auto by default, because
 *    flex items won't shrink below their minimum intrinsic content size.
 *    Using `1px` instead of `0`, so items still wrap into the next line,
 *    if they have zero width and padding and the predecessor is 100% wide.
 */
.uk-child-width-expand > :not([class*='uk-width']) {
  flex: 1;
  /* 1 */
  min-width: 1px; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-child-width-1-1\@s > * {
    width: 100%; }
  .uk-child-width-1-2\@s > * {
    width: 50%; }
  .uk-child-width-1-3\@s > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@s > * {
    width: 25%; }
  .uk-child-width-1-5\@s > * {
    width: 20%; }
  .uk-child-width-1-6\@s > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@s > * {
    width: auto; }
  .uk-child-width-expand\@s > :not([class*='uk-width']) {
    flex: 1;
    min-width: 1px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-child-width-1-1\@m > * {
    width: 100%; }
  .uk-child-width-1-2\@m > * {
    width: 50%; }
  .uk-child-width-1-3\@m > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@m > * {
    width: 25%; }
  .uk-child-width-1-5\@m > * {
    width: 20%; }
  .uk-child-width-1-6\@m > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@m > * {
    width: auto; }
  .uk-child-width-expand\@m > :not([class*='uk-width']) {
    flex: 1;
    min-width: 1px; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-child-width-1-1\@l > * {
    width: 100%; }
  .uk-child-width-1-2\@l > * {
    width: 50%; }
  .uk-child-width-1-3\@l > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@l > * {
    width: 25%; }
  .uk-child-width-1-5\@l > * {
    width: 20%; }
  .uk-child-width-1-6\@l > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@l > * {
    width: auto; }
  .uk-child-width-expand\@l > :not([class*='uk-width']) {
    flex: 1;
    min-width: 1px; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-child-width-1-1\@xl > * {
    width: 100%; }
  .uk-child-width-1-2\@xl > * {
    width: 50%; }
  .uk-child-width-1-3\@xl > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@xl > * {
    width: 25%; }
  .uk-child-width-1-5\@xl > * {
    width: 20%; }
  .uk-child-width-1-6\@xl > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@xl > * {
    width: auto; }
  .uk-child-width-expand\@xl > :not([class*='uk-width']) {
    flex: 1;
    min-width: 1px; } }

/* Single Widths
 ========================================================================== */
/*
 * 1. `max-width` is needed for the pixel-based classes
 */
[class*='uk-width'] {
  box-sizing: border-box;
  width: 100%;
  /* 1 */
  max-width: 100%; }

/* Halves */
.uk-width-1-2 {
  width: 50%; }

/* Thirds */
.uk-width-1-3 {
  width: calc(100% * 1 / 3.001); }

.uk-width-2-3 {
  width: calc(100% * 2 / 3.001); }

/* Quarters */
.uk-width-1-4 {
  width: 25%; }

.uk-width-3-4 {
  width: 75%; }

/* Fifths */
.uk-width-1-5 {
  width: 20%; }

.uk-width-2-5 {
  width: 40%; }

.uk-width-3-5 {
  width: 60%; }

.uk-width-4-5 {
  width: 80%; }

/* Sixths */
.uk-width-1-6 {
  width: calc(100% * 1 / 6.001); }

.uk-width-5-6 {
  width: calc(100% * 5 / 6.001); }

/* Pixel */
.uk-width-small {
  width: 150px; }

.uk-width-medium {
  width: 300px; }

.uk-width-large {
  width: 450px; }

.uk-width-xlarge {
  width: 600px; }

.uk-width-2xlarge {
  width: 750px; }

/* Auto */
.uk-width-auto {
  width: auto; }

/* Expand */
.uk-width-expand {
  flex: 1;
  min-width: 1px; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  /* Whole */
  .uk-width-1-1\@s {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@s {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@s {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@s {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@s {
    width: 25%; }
  .uk-width-3-4\@s {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@s {
    width: 20%; }
  .uk-width-2-5\@s {
    width: 40%; }
  .uk-width-3-5\@s {
    width: 60%; }
  .uk-width-4-5\@s {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@s {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@s {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@s {
    width: 150px; }
  .uk-width-medium\@s {
    width: 300px; }
  .uk-width-large\@s {
    width: 450px; }
  .uk-width-xlarge\@s {
    width: 600px; }
  .uk-width-2xlarge\@s {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@s {
    width: auto; }
  /* Expand */
  .uk-width-expand\@s {
    flex: 1;
    min-width: 1px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  /* Whole */
  .uk-width-1-1\@m {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@m {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@m {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@m {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@m {
    width: 25%; }
  .uk-width-3-4\@m {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@m {
    width: 20%; }
  .uk-width-2-5\@m {
    width: 40%; }
  .uk-width-3-5\@m {
    width: 60%; }
  .uk-width-4-5\@m {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@m {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@m {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@m {
    width: 150px; }
  .uk-width-medium\@m {
    width: 300px; }
  .uk-width-large\@m {
    width: 450px; }
  .uk-width-xlarge\@m {
    width: 600px; }
  .uk-width-2xlarge\@m {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@m {
    width: auto; }
  /* Expand */
  .uk-width-expand\@m {
    flex: 1;
    min-width: 1px; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Whole */
  .uk-width-1-1\@l {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@l {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@l {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@l {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@l {
    width: 25%; }
  .uk-width-3-4\@l {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@l {
    width: 20%; }
  .uk-width-2-5\@l {
    width: 40%; }
  .uk-width-3-5\@l {
    width: 60%; }
  .uk-width-4-5\@l {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@l {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@l {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@l {
    width: 150px; }
  .uk-width-medium\@l {
    width: 300px; }
  .uk-width-large\@l {
    width: 450px; }
  .uk-width-xlarge\@l {
    width: 600px; }
  .uk-width-2xlarge\@l {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@l {
    width: auto; }
  /* Expand */
  .uk-width-expand\@l {
    flex: 1;
    min-width: 1px; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  /* Whole */
  .uk-width-1-1\@xl {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@xl {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@xl {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@xl {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@xl {
    width: 25%; }
  .uk-width-3-4\@xl {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@xl {
    width: 20%; }
  .uk-width-2-5\@xl {
    width: 40%; }
  .uk-width-3-5\@xl {
    width: 60%; }
  .uk-width-4-5\@xl {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@xl {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@xl {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@xl {
    width: 150px; }
  .uk-width-medium\@xl {
    width: 300px; }
  .uk-width-large\@xl {
    width: 450px; }
  .uk-width-xlarge\@xl {
    width: 600px; }
  .uk-width-2xlarge\@xl {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@xl {
    width: auto; }
  /* Expand */
  .uk-width-expand\@xl {
    flex: 1;
    min-width: 1px; } }

/* ========================================================================
   Component: Height
 ========================================================================== */
[class*='uk-height'] {
  box-sizing: border-box; }

/*
 * Only works if parent element has a height set
 */
.uk-height-1-1 {
  height: 100%; }

/*
 * Useful to create image teasers
 */
.uk-height-viewport {
  min-height: 100vh; }

/*
 * Pixel
 * Useful for `overflow: auto`
 */
.uk-height-small {
  height: 150px; }

.uk-height-medium {
  height: 300px; }

.uk-height-large {
  height: 450px; }

.uk-height-max-small {
  max-height: 150px; }

.uk-height-max-medium {
  max-height: 300px; }

.uk-height-max-large {
  max-height: 450px; }

/* ========================================================================
   Component: Text
 ========================================================================== */
/* Style modifiers
 ========================================================================== */
.uk-text-lead {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #333; }

.uk-text-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999; }
  .uk-text-meta a {
    color: #999; }
  .uk-text-meta a:hover {
    color: #666;
    text-decoration: none; }

/* Size modifiers
 ========================================================================== */
.uk-text-small {
  font-size: 0.875rem;
  line-height: 1.5; }

.uk-text-large {
  font-size: 1.5rem;
  line-height: 1.5; }

.uk-text-default {
  font-size: 16px;
  line-height: 1.5; }

/* Weight modifier
 ========================================================================== */
.uk-text-light {
  font-weight: 300; }

.uk-text-normal {
  font-weight: 400; }

.uk-text-bold {
  font-weight: 700; }

.uk-text-lighter {
  font-weight: lighter; }

.uk-text-bolder {
  font-weight: bolder; }

/* Style modifier
 ========================================================================== */
.uk-text-italic {
  font-style: italic; }

/* Transform modifier
 ========================================================================== */
.uk-text-capitalize {
  text-transform: capitalize !important; }

.uk-text-uppercase {
  text-transform: uppercase !important; }

.uk-text-lowercase {
  text-transform: lowercase !important; }

/* Color modifiers
 ========================================================================== */
.uk-text-muted {
  color: #999 !important; }

.uk-text-emphasis {
  color: #333 !important; }

.uk-text-primary {
  color: #1e87f0 !important; }

.uk-text-secondary {
  color: #222 !important; }

.uk-text-success {
  color: #32d296 !important; }

.uk-text-warning {
  color: #faa05a !important; }

.uk-text-danger {
  color: #f0506e !important; }

/* Background modifier
 ========================================================================== */
/*
 * 1. The background clips to the foreground text. Works in Chrome, Firefox, Safari, Edge and Opera
 *    Default color is set to transparent
 * 2. Container fits the text
 * 3. Fallback color for IE11
 */
.uk-text-background {
  /* 1 */
  -webkit-background-clip: text;
  /* 2 */
  display: inline-block;
  /* 3 */
  color: #1e87f0 !important; }

@supports (-webkit-background-clip: text) {
  .uk-text-background {
    background-color: #1e87f0;
    color: transparent !important; } }

/* Alignment modifiers
 ========================================================================== */
.uk-text-left {
  text-align: left !important; }

.uk-text-right {
  text-align: right !important; }

.uk-text-center {
  text-align: center !important; }

.uk-text-justify {
  text-align: justify !important; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-text-left\@s {
    text-align: left !important; }
  .uk-text-right\@s {
    text-align: right !important; }
  .uk-text-center\@s {
    text-align: center !important; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-text-left\@m {
    text-align: left !important; }
  .uk-text-right\@m {
    text-align: right !important; }
  .uk-text-center\@m {
    text-align: center !important; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-text-left\@l {
    text-align: left !important; }
  .uk-text-right\@l {
    text-align: right !important; }
  .uk-text-center\@l {
    text-align: center !important; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-text-left\@xl {
    text-align: left !important; }
  .uk-text-right\@xl {
    text-align: right !important; }
  .uk-text-center\@xl {
    text-align: center !important; } }

/*
 * Vertical
 */
.uk-text-top {
  vertical-align: top !important; }

.uk-text-middle {
  vertical-align: middle !important; }

.uk-text-bottom {
  vertical-align: bottom !important; }

.uk-text-baseline {
  vertical-align: baseline !important; }

/* Wrap modifiers
 ========================================================================== */
/*
 * Prevent text from wrapping onto multiple lines
 */
.uk-text-nowrap {
  white-space: nowrap; }

/*
 * 1. Make sure a max-width is set after which truncation can occur
 * 2. Prevent text from wrapping onto multiple lines, and truncate with an ellipsis
 * 3. Fix for table cells
 */
.uk-text-truncate {
  /* 1 */
  max-width: 100%;
  /* 2 */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

/* 2 */
th.uk-text-truncate,
td.uk-text-truncate {
  max-width: 0; }

/*
 * 1. Wrap long words onto the next line and break them if they are too long to fit
 * 2. Legacy `word-wrap` as fallback for `overflow-wrap`
 * 3. Fix `overflow-wrap` which doesn't work with table cells in Chrome, Opera, IE11 and Edge
 *    Must use `break-all` to support IE11 and Edge
 * Note: Not using `hyphens: auto;` because it hyphenates text even if not needed
 */
.uk-text-break {
  /* 1 */
  overflow-wrap: break-word;
  /* 2 */
  word-wrap: break-word; }

/* 3 */
th.uk-text-break,
td.uk-text-break {
  word-break: break-all; }

/* ========================================================================
   Component: Column
 ========================================================================== */
[class*='uk-column-'] {
  column-gap: 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  [class*='uk-column-'] {
    column-gap: 40px; } }

/*
 * Fix image 1px line wrapping into the next column in Chrome
 */
[class*='uk-column-'] img {
  transform: translate3d(0, 0, 0); }

/* Divider
 ========================================================================== */
/*
 * 1. Double the column gap
 */
.uk-column-divider {
  column-rule: 1px solid #e5e5e5;
  /* 1 */
  column-gap: 60px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-divider {
    column-gap: 80px; } }

/* Width modifiers
 ========================================================================== */
.uk-column-1-2 {
  column-count: 2; }

.uk-column-1-3 {
  column-count: 3; }

.uk-column-1-4 {
  column-count: 4; }

.uk-column-1-5 {
  column-count: 5; }

.uk-column-1-6 {
  column-count: 6; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-column-1-2\@s {
    column-count: 2; }
  .uk-column-1-3\@s {
    column-count: 3; }
  .uk-column-1-4\@s {
    column-count: 4; }
  .uk-column-1-5\@s {
    column-count: 5; }
  .uk-column-1-6\@s {
    column-count: 6; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-column-1-2\@m {
    column-count: 2; }
  .uk-column-1-3\@m {
    column-count: 3; }
  .uk-column-1-4\@m {
    column-count: 4; }
  .uk-column-1-5\@m {
    column-count: 5; }
  .uk-column-1-6\@m {
    column-count: 6; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-1-2\@l {
    column-count: 2; }
  .uk-column-1-3\@l {
    column-count: 3; }
  .uk-column-1-4\@l {
    column-count: 4; }
  .uk-column-1-5\@l {
    column-count: 5; }
  .uk-column-1-6\@l {
    column-count: 6; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-column-1-2\@xl {
    column-count: 2; }
  .uk-column-1-3\@xl {
    column-count: 3; }
  .uk-column-1-4\@xl {
    column-count: 4; }
  .uk-column-1-5\@xl {
    column-count: 5; }
  .uk-column-1-6\@xl {
    column-count: 6; } }

/* Make element span across all columns
 * Does not work in Firefox yet
 ========================================================================== */
.uk-column-span {
  column-span: all; }

/* ========================================================================
   Component: Cover
 ========================================================================== */
/*
 * Works with iframes and embedded content
 * 1. Reset responsiveness for embedded content
 * 2. Center object
 * Note: Percent values on the `top` property only works if this element
 *       is absolute positioned or if the container has a height
 */
.uk-cover {
  /* 1 */
  max-width: none;
  /* 2 */
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%); }

iframe.uk-cover {
  pointer-events: none; }

/* Container
 ========================================================================== */
/*
 * 1. Parent container which clips resized object
 * 2. Needed if the child is positioned absolute. See note above
 */
.uk-cover-container {
  /* 1 */
  overflow: hidden;
  /* 2 */
  position: relative; }

/* ========================================================================
   Component: Background
 ========================================================================== */
/* Color
 ========================================================================== */
.uk-background-default {
  background-color: #fff; }

.uk-background-muted {
  background-color: #f8f8f8; }

.uk-background-primary {
  background-color: #1e87f0; }

.uk-background-secondary {
  background-color: #222; }

/* Size
 ========================================================================== */
.uk-background-cover,
.uk-background-contain {
  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
 ========================================================================== */
/*
 * 1. Fix bug introduced in Chrome 67: the background image is not visible if any element on the page uses `translate3d`
 */
.uk-background-fixed {
  background-attachment: fixed;
  /* 1 */
  backface-visibility: hidden; }

/*
 * Exclude touch devices because `fixed` doesn't work on iOS and Android
 */
@media (pointer: coarse) {
  .uk-background-fixed {
    background-attachment: scroll; } }

/* Image
 ========================================================================== */
/* Phone portrait and smaller */
@media (max-width: 639px) {
  .uk-background-image\@s {
    background-image: none !important; } }

/* Phone landscape and smaller */
@media (max-width: 959px) {
  .uk-background-image\@m {
    background-image: none !important; } }

/* Tablet landscape and smaller */
@media (max-width: 1199px) {
  .uk-background-image\@l {
    background-image: none !important; } }

/* Desktop and smaller */
@media (max-width: 1599px) {
  .uk-background-image\@xl {
    background-image: none !important; } }

/* Blend modes
 ========================================================================== */
.uk-background-blend-multiply {
  background-blend-mode: multiply; }

.uk-background-blend-screen {
  background-blend-mode: screen; }

.uk-background-blend-overlay {
  background-blend-mode: overlay; }

.uk-background-blend-darken {
  background-blend-mode: darken; }

.uk-background-blend-lighten {
  background-blend-mode: lighten; }

.uk-background-blend-color-dodge {
  background-blend-mode: color-dodge; }

.uk-background-blend-color-burn {
  background-blend-mode: color-burn; }

.uk-background-blend-hard-light {
  background-blend-mode: hard-light; }

.uk-background-blend-soft-light {
  background-blend-mode: soft-light; }

.uk-background-blend-difference {
  background-blend-mode: difference; }

.uk-background-blend-exclusion {
  background-blend-mode: exclusion; }

.uk-background-blend-hue {
  background-blend-mode: hue; }

.uk-background-blend-saturation {
  background-blend-mode: saturation; }

.uk-background-blend-color {
  background-blend-mode: color; }

.uk-background-blend-luminosity {
  background-blend-mode: luminosity; }

/* ========================================================================
   Component: Align
 ========================================================================== */
/*
 * Default
 */
[class*='uk-align'] {
  display: block;
  margin-bottom: 30px; }

* + [class*='uk-align'] {
  margin-top: 30px; }

/*
 * Center
 */
.uk-align-center {
  margin-left: auto;
  margin-right: auto; }

/*
 * Left/Right
 */
.uk-align-left {
  margin-top: 0;
  margin-right: 30px;
  float: left; }

.uk-align-right {
  margin-top: 0;
  margin-left: 30px;
  float: right; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-align-left\@s {
    margin-top: 0;
    margin-right: 30px;
    float: left; }
  .uk-align-right\@s {
    margin-top: 0;
    margin-left: 30px;
    float: right; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-align-left\@m {
    margin-top: 0;
    margin-right: 30px;
    float: left; }
  .uk-align-right\@m {
    margin-top: 0;
    margin-left: 30px;
    float: right; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-align-left\@l {
    margin-top: 0;
    float: left; }
  .uk-align-right\@l {
    margin-top: 0;
    float: right; }
  .uk-align-left,
  .uk-align-left\@s,
  .uk-align-left\@m,
  .uk-align-left\@l {
    margin-right: 40px; }
  .uk-align-right,
  .uk-align-right\@s,
  .uk-align-right\@m,
  .uk-align-right\@l {
    margin-left: 40px; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-align-left\@xl {
    margin-top: 0;
    margin-right: 40px;
    float: left; }
  .uk-align-right\@xl {
    margin-top: 0;
    margin-left: 40px;
    float: right; } }

/* ========================================================================
   Component: SVG
 ========================================================================== */
/*
 * 1. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 2. Set the fill and stroke color of all SVG elements to the current text color
 */
/* 1 */
.uk-svg,
.uk-svg:not(.uk-preserve) [fill*='#']:not(.uk-preserve) {
  fill: currentcolor; }

.uk-svg:not(.uk-preserve) [stroke*='#']:not(.uk-preserve) {
  stroke: currentcolor; }

/*
 * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
 */
.uk-svg {
  transform: translate(0, 0); }

/* ========================================================================
   Component: Utility
 ========================================================================== */
/* Panel
 ========================================================================== */
.uk-panel {
  display: flow-root;
  position: relative;
  box-sizing: border-box; }

/*
 * Remove margin from the last-child
 */
.uk-panel > :last-child {
  margin-bottom: 0; }

/*
 * Scrollable
 */
.uk-panel-scrollable {
  height: 170px;
  padding: 10px;
  border: 1px solid #e5e5e5;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  resize: both; }

/* Clearfix
 ========================================================================== */
/*
 * 1. `table-cell` is used with `::before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit
 * 2. `table` is used again with `::after` because `clear` only works with block elements.
 * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari
 */
/* 1 */
.uk-clearfix::before {
  content: "";
  display: table-cell; }

/* 2 */
.uk-clearfix::after {
  content: "";
  display: table;
  clear: both; }

/* Float
 ========================================================================== */
/*
 * 1. Prevent content overflow
 */
.uk-float-left {
  float: left; }

.uk-float-right {
  float: right; }

/* 1 */
[class*='uk-float-'] {
  max-width: 100%; }

/* Overfow
 ========================================================================== */
.uk-overflow-hidden {
  overflow: hidden; }

/*
 * Enable scrollbars if content is clipped
 * Note: Firefox ignores `padding-bottom` for the scrollable overflow https://bugzilla.mozilla.org/show_bug.cgi?id=748518
 */
.uk-overflow-auto {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.uk-overflow-auto > :last-child {
  margin-bottom: 0; }

/* Resize
 ========================================================================== */
.uk-resize {
  resize: both; }

.uk-resize-vertical {
  resize: vertical; }

/* Display
 ========================================================================== */
.uk-display-block {
  display: block !important; }

.uk-display-inline {
  display: inline !important; }

.uk-display-inline-block {
  display: inline-block !important; }

/* Inline
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Behave like most inline-block elements
 * 5. Force hardware acceleration without creating a new stacking context
 *    to fix 1px glitch when combined with overlays and transitions in Webkit
 * 6. Clip child elements
 */
[class*='uk-inline'] {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle;
  /* 5 */
  -webkit-backface-visibility: hidden; }

.uk-inline-clip {
  /* 6 */
  overflow: hidden; }

/* Responsive objects
 ========================================================================== */
/*
 * Preserve original dimensions
 * Because `img, `video`, `canvas` and  `audio` are already responsive by default, see Base component
 */
.uk-preserve-width,
.uk-preserve-width canvas,
.uk-preserve-width img,
.uk-preserve-width svg,
.uk-preserve-width video {
  max-width: none; }

/*
 * Responsiveness
 * Corrects `max-width` and `max-height` behavior if padding and border are used
 */
.uk-responsive-width,
.uk-responsive-height {
  box-sizing: border-box; }

/*
 * 1. Set a maximum width. `important` needed to override `uk-preserve-width img`
 * 2. Auto scale the height. Only needed if `height` attribute is present
 */
.uk-responsive-width {
  /* 1 */
  max-width: 100% !important;
  /* 2 */
  height: auto; }

/*
 * 1. Set a maximum height. Only works if the parent element has a fixed height
 * 2. Auto scale the width. Only needed if `width` attribute is present
 * 3. Reset max-width, which `img, `video`, `canvas` and  `audio` already have by default
 */
.uk-responsive-height {
  /* 1 */
  max-height: 100%;
  /* 2 */
  width: auto;
  /* 3 */
  max-width: none; }

/* Border
 ========================================================================== */
.uk-border-circle {
  border-radius: 50%; }

.uk-border-pill {
  border-radius: 500px; }

.uk-border-rounded {
  border-radius: 5px; }

/*
 * Fix `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit
 */
.uk-inline-clip[class*='uk-border-'] {
  -webkit-transform: translateZ(0); }

/* Box-shadow
 ========================================================================== */
.uk-box-shadow-small {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-medium {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-large {
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

.uk-box-shadow-xlarge {
  box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16); }

/*
 * Hover
 */
[class*='uk-box-shadow-hover'] {
  transition: box-shadow 0.1s ease-in-out; }

.uk-box-shadow-hover-small:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-hover-medium:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-hover-large:hover {
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

.uk-box-shadow-hover-xlarge:hover {
  box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16); }

/* Box-shadow bottom
 ========================================================================== */
/*
 * 1. Set position.
 * 2. Set style
 * 3. Blur doesn't work on pseudo elements with negative `z-index` in Edge.
 *    Solved by using `before` and add position context to child elements.
 */
@supports (filter: blur(0)) {
  .uk-box-shadow-bottom {
    display: inline-block;
    position: relative;
    max-width: 100%;
    vertical-align: middle; }
  .uk-box-shadow-bottom::before {
    content: '';
    /* 1 */
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    /* 2 */
    height: 30px;
    border-radius: 100%;
    background: #444;
    filter: blur(20px); }
  /* 3 */
  .uk-box-shadow-bottom > * {
    position: relative; } }

/* Drop cap
 ========================================================================== */
/*
 * 1. Firefox doesn't apply `::first-letter` if the first letter is inside child elements
 *    https://bugzilla.mozilla.org/show_bug.cgi?id=214004
 * 2. In Firefox, a floating `::first-letter` doesn't have a line box and there for no `line-height`
 *    https://bugzilla.mozilla.org/show_bug.cgi?id=317933
 * 3. Caused by 1.: Edge creates two nested `::first-letter` containers, one for each selector
 *    This doubles the `font-size` exponential when using the `em` unit.
 */
.uk-dropcap::first-letter,
.uk-dropcap > p:first-of-type::first-letter {
  display: block;
  margin-right: 10px;
  float: left;
  font-size: 4.5em;
  line-height: 1;
  margin-bottom: -2px; }

/* 2 */
@-moz-document url-prefix() {
  .uk-dropcap::first-letter,
  .uk-dropcap > p:first-of-type::first-letter {
    margin-top: 1.1%; } }

/* 3 */
@supports (-ms-ime-align: auto) {
  .uk-dropcap > p:first-of-type::first-letter {
    font-size: 1em; } }

/* Logo
 ========================================================================== */
/*
 * 1. Required for `a`
 */
.uk-logo {
  font-size: 1.5rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: #666;
  /* 1 */
  text-decoration: none; }

/* Hover + Focus */
.uk-logo:hover,
.uk-logo:focus {
  color: #666;
  outline: none;
  /* 1 */
  text-decoration: none; }

.uk-logo-inverse {
  display: none; }

/* Disabled State
 ========================================================================== */
.uk-disabled {
  pointer-events: none; }

/* Drag State
 ========================================================================== */
/*
 * 1. Needed if moving over elements with have their own cursor on hover, e.g. links or buttons
 * 2. Fix dragging over iframes
 */
.uk-drag,
.uk-drag * {
  cursor: move; }

/* 2 */
.uk-drag iframe {
  pointer-events: none; }

/* Dragover State
 ========================================================================== */
/*
 * Create a box-shadow when dragging a file over the upload area
 */
.uk-dragover {
  box-shadow: 0 0 20px rgba(100, 100, 100, 0.3); }

/* Blend modes
 ========================================================================== */
.uk-blend-multiply {
  mix-blend-mode: multiply; }

.uk-blend-screen {
  mix-blend-mode: screen; }

.uk-blend-overlay {
  mix-blend-mode: overlay; }

.uk-blend-darken {
  mix-blend-mode: darken; }

.uk-blend-lighten {
  mix-blend-mode: lighten; }

.uk-blend-color-dodge {
  mix-blend-mode: color-dodge; }

.uk-blend-color-burn {
  mix-blend-mode: color-burn; }

.uk-blend-hard-light {
  mix-blend-mode: hard-light; }

.uk-blend-soft-light {
  mix-blend-mode: soft-light; }

.uk-blend-difference {
  mix-blend-mode: difference; }

.uk-blend-exclusion {
  mix-blend-mode: exclusion; }

.uk-blend-hue {
  mix-blend-mode: hue; }

.uk-blend-saturation {
  mix-blend-mode: saturation; }

.uk-blend-color {
  mix-blend-mode: color; }

.uk-blend-luminosity {
  mix-blend-mode: luminosity; }

/* Transform
========================================================================== */
.uk-transform-center {
  transform: translate(-50%, -50%); }

/* Transform Origin
========================================================================== */
.uk-transform-origin-top-left {
  transform-origin: 0 0; }

.uk-transform-origin-top-center {
  transform-origin: 50% 0; }

.uk-transform-origin-top-right {
  transform-origin: 100% 0; }

.uk-transform-origin-center-left {
  transform-origin: 0 50%; }

.uk-transform-origin-center-right {
  transform-origin: 100% 50%; }

.uk-transform-origin-bottom-left {
  transform-origin: 0 100%; }

.uk-transform-origin-bottom-center {
  transform-origin: 50% 100%; }

.uk-transform-origin-bottom-right {
  transform-origin: 100% 100%; }

/* ========================================================================
   Component: Flex
 ========================================================================== */
.uk-flex {
  display: flex; }

.uk-flex-inline {
  display: inline-flex; }

/*
 * Remove pseudo elements created by micro clearfix as precaution
 */
.uk-flex::before,
.uk-flex::after,
.uk-flex-inline::before,
.uk-flex-inline::after {
  display: none; }

/* Alignment
 ========================================================================== */
/*
 * Align items along the main axis of the current line of the flex container
 * Row: Horizontal
 */
.uk-flex-left {
  justify-content: flex-start; }

.uk-flex-center {
  justify-content: center; }

.uk-flex-right {
  justify-content: flex-end; }

.uk-flex-between {
  justify-content: space-between; }

.uk-flex-around {
  justify-content: space-around; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-flex-left\@s {
    justify-content: flex-start; }
  .uk-flex-center\@s {
    justify-content: center; }
  .uk-flex-right\@s {
    justify-content: flex-end; }
  .uk-flex-between\@s {
    justify-content: space-between; }
  .uk-flex-around\@s {
    justify-content: space-around; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-flex-left\@m {
    justify-content: flex-start; }
  .uk-flex-center\@m {
    justify-content: center; }
  .uk-flex-right\@m {
    justify-content: flex-end; }
  .uk-flex-between\@m {
    justify-content: space-between; }
  .uk-flex-around\@m {
    justify-content: space-around; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-left\@l {
    justify-content: flex-start; }
  .uk-flex-center\@l {
    justify-content: center; }
  .uk-flex-right\@l {
    justify-content: flex-end; }
  .uk-flex-between\@l {
    justify-content: space-between; }
  .uk-flex-around\@l {
    justify-content: space-around; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-left\@xl {
    justify-content: flex-start; }
  .uk-flex-center\@xl {
    justify-content: center; }
  .uk-flex-right\@xl {
    justify-content: flex-end; }
  .uk-flex-between\@xl {
    justify-content: space-between; }
  .uk-flex-around\@xl {
    justify-content: space-around; } }

/*
 * Align items in the cross axis of the current line of the flex container
 * Row: Vertical
 */
.uk-flex-stretch {
  align-items: stretch; }

.uk-flex-top {
  align-items: flex-start; }

.uk-flex-middle {
  align-items: center; }

.uk-flex-bottom {
  align-items: flex-end; }

/* Direction
 ========================================================================== */
.uk-flex-row {
  flex-direction: row; }

.uk-flex-row-reverse {
  flex-direction: row-reverse; }

.uk-flex-column {
  flex-direction: column; }

.uk-flex-column-reverse {
  flex-direction: column-reverse; }

/* Wrap
 ========================================================================== */
.uk-flex-nowrap {
  flex-wrap: nowrap; }

.uk-flex-wrap {
  flex-wrap: wrap; }

.uk-flex-wrap-reverse {
  flex-wrap: wrap-reverse; }

/*
 * Aligns items within the flex container when there is extra space in the cross-axis
 * Only works if there is more than one line of flex items
 */
.uk-flex-wrap-stretch {
  align-content: stretch; }

.uk-flex-wrap-top {
  align-content: flex-start; }

.uk-flex-wrap-middle {
  align-content: center; }

.uk-flex-wrap-bottom {
  align-content: flex-end; }

.uk-flex-wrap-between {
  align-content: space-between; }

.uk-flex-wrap-around {
  align-content: space-around; }

/* Item ordering
 ========================================================================== */
/*
 * Default is 0
 */
.uk-flex-first {
  order: -1; }

.uk-flex-last {
  order: 99; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-flex-first\@s {
    order: -1; }
  .uk-flex-last\@s {
    order: 99; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-flex-first\@m {
    order: -1; }
  .uk-flex-last\@m {
    order: 99; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-first\@l {
    order: -1; }
  .uk-flex-last\@l {
    order: 99; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-first\@xl {
    order: -1; }
  .uk-flex-last\@xl {
    order: 99; } }

/* Item dimensions
 ========================================================================== */
/*
 * Initial: 0 1 auto
 * Content dimensions, but shrinks
 */
/*
 * No Flex: 0 0 auto
 * Content dimensions
 */
.uk-flex-none {
  flex: none; }

/*
 * Relative Flex: 1 1 auto
 * Space is allocated considering content
 */
.uk-flex-auto {
  flex: auto; }

/*
 * Absolute Flex: 1 1 0%
 * Space is allocated solely based on flex
 */
.uk-flex-1 {
  flex: 1; }

/* ========================================================================
   Component: Margin
 ========================================================================== */
/*
 * Default
 */
.uk-margin {
  margin-bottom: 20px; }

* + .uk-margin {
  margin-top: 20px !important; }

.uk-margin-top {
  margin-top: 20px !important; }

.uk-margin-bottom {
  margin-bottom: 20px !important; }

.uk-margin-left {
  margin-left: 20px !important; }

.uk-margin-right {
  margin-right: 20px !important; }

/* Small
 ========================================================================== */
.uk-margin-small {
  margin-bottom: 10px; }

* + .uk-margin-small {
  margin-top: 10px !important; }

.uk-margin-small-top {
  margin-top: 10px !important; }

.uk-margin-small-bottom {
  margin-bottom: 10px !important; }

.uk-margin-small-left {
  margin-left: 10px !important; }

.uk-margin-small-right {
  margin-right: 10px !important; }

/* Medium
 ========================================================================== */
.uk-margin-medium {
  margin-bottom: 40px; }

* + .uk-margin-medium {
  margin-top: 40px !important; }

.uk-margin-medium-top {
  margin-top: 40px !important; }

.uk-margin-medium-bottom {
  margin-bottom: 40px !important; }

.uk-margin-medium-left {
  margin-left: 40px !important; }

.uk-margin-medium-right {
  margin-right: 40px !important; }

/* Large
 ========================================================================== */
.uk-margin-large {
  margin-bottom: 40px; }

* + .uk-margin-large {
  margin-top: 40px !important; }

.uk-margin-large-top {
  margin-top: 40px !important; }

.uk-margin-large-bottom {
  margin-bottom: 40px !important; }

.uk-margin-large-left {
  margin-left: 40px !important; }

.uk-margin-large-right {
  margin-right: 40px !important; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-large {
    margin-bottom: 70px; }
  * + .uk-margin-large {
    margin-top: 70px !important; }
  .uk-margin-large-top {
    margin-top: 70px !important; }
  .uk-margin-large-bottom {
    margin-bottom: 70px !important; }
  .uk-margin-large-left {
    margin-left: 70px !important; }
  .uk-margin-large-right {
    margin-right: 70px !important; } }

/* XLarge
 ========================================================================== */
.uk-margin-xlarge {
  margin-bottom: 70px; }

* + .uk-margin-xlarge {
  margin-top: 70px !important; }

.uk-margin-xlarge-top {
  margin-top: 70px !important; }

.uk-margin-xlarge-bottom {
  margin-bottom: 70px !important; }

.uk-margin-xlarge-left {
  margin-left: 70px !important; }

.uk-margin-xlarge-right {
  margin-right: 70px !important; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-xlarge {
    margin-bottom: 140px; }
  * + .uk-margin-xlarge {
    margin-top: 140px !important; }
  .uk-margin-xlarge-top {
    margin-top: 140px !important; }
  .uk-margin-xlarge-bottom {
    margin-bottom: 140px !important; }
  .uk-margin-xlarge-left {
    margin-left: 140px !important; }
  .uk-margin-xlarge-right {
    margin-right: 140px !important; } }

/* Auto
 ========================================================================== */
.uk-margin-auto {
  margin-left: auto !important;
  margin-right: auto !important; }

.uk-margin-auto-top {
  margin-top: auto !important; }

.uk-margin-auto-bottom {
  margin-bottom: auto !important; }

.uk-margin-auto-left {
  margin-left: auto !important; }

.uk-margin-auto-right {
  margin-right: auto !important; }

.uk-margin-auto-vertical {
  margin-top: auto !important;
  margin-bottom: auto !important; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-margin-auto\@s {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@s {
    margin-left: auto !important; }
  .uk-margin-auto-right\@s {
    margin-right: auto !important; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-margin-auto\@m {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@m {
    margin-left: auto !important; }
  .uk-margin-auto-right\@m {
    margin-right: auto !important; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-auto\@l {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@l {
    margin-left: auto !important; }
  .uk-margin-auto-right\@l {
    margin-right: auto !important; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-margin-auto\@xl {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@xl {
    margin-left: auto !important; }
  .uk-margin-auto-right\@xl {
    margin-right: auto !important; } }

/* Remove
 ========================================================================== */
.uk-margin-remove {
  margin: 0 !important; }

.uk-margin-remove-top {
  margin-top: 0 !important; }

.uk-margin-remove-bottom {
  margin-bottom: 0 !important; }

.uk-margin-remove-left {
  margin-left: 0 !important; }

.uk-margin-remove-right {
  margin-right: 0 !important; }

.uk-margin-remove-vertical {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }

.uk-margin-remove-adjacent + *,
.uk-margin-remove-first-child > :first-child {
  margin-top: 0 !important; }

.uk-margin-remove-last-child > :last-child {
  margin-bottom: 0 !important; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-margin-remove-left\@s {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@s {
    margin-right: 0 !important; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-margin-remove-left\@m {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@m {
    margin-right: 0 !important; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-remove-left\@l {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@l {
    margin-right: 0 !important; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-margin-remove-left\@xl {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@xl {
    margin-right: 0 !important; } }

/* ========================================================================
   Component: Padding
 ========================================================================== */
.uk-padding {
  padding: 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-padding {
    padding: 40px; } }

/* Small
 ========================================================================== */
.uk-padding-small {
  padding: 15px; }

/* Large
 ========================================================================== */
.uk-padding-large {
  padding: 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-padding-large {
    padding: 70px; } }

/* Remove
 ========================================================================== */
.uk-padding-remove {
  padding: 0 !important; }

.uk-padding-remove-top {
  padding-top: 0 !important; }

.uk-padding-remove-bottom {
  padding-bottom: 0 !important; }

.uk-padding-remove-left {
  padding-left: 0 !important; }

.uk-padding-remove-right {
  padding-right: 0 !important; }

.uk-padding-remove-vertical {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

.uk-padding-remove-horizontal {
  padding-left: 0 !important;
  padding-right: 0 !important; }

/* ========================================================================
   Component: Position
 ========================================================================== */
/* Directions
 ========================================================================== */
/*
 * 1. Prevent content overflow if `max-width: 100%` is used inside position container.
 */
[class*='uk-position-top'],
[class*='uk-position-bottom'],
[class*='uk-position-left'],
[class*='uk-position-right'],
[class*='uk-position-center'] {
  position: absolute !important;
  /* 1 */
  max-width: 100%; }

/* Edges
 ========================================================================== */
/* Don't use `width: 100%` because it is wrong if the parent has padding. */
.uk-position-top {
  top: 0;
  left: 0;
  right: 0; }

.uk-position-bottom {
  bottom: 0;
  left: 0;
  right: 0; }

.uk-position-left {
  top: 0;
  bottom: 0;
  left: 0; }

.uk-position-right {
  top: 0;
  bottom: 0;
  right: 0; }

/* Corners
 ========================================================================== */
.uk-position-top-left {
  top: 0;
  left: 0; }

.uk-position-top-right {
  top: 0;
  right: 0; }

.uk-position-bottom-left {
  bottom: 0;
  left: 0; }

.uk-position-bottom-right {
  bottom: 0;
  right: 0; }

/*
 * Center
 * 1. Fix text wrapping if content is larger than 50% of the container.
 */
.uk-position-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 1 */
  width: max-content;
  max-width: 100%;
  box-sizing: border-box; }

/* Vertical */
[class*='uk-position-center-left'],
[class*='uk-position-center-right'] {
  top: 50%;
  transform: translateY(-50%); }

.uk-position-center-left {
  left: 0; }

.uk-position-center-right {
  right: 0; }

.uk-position-center-left-out {
  right: 100%;
  width: max-content; }

.uk-position-center-right-out {
  left: 100%;
  width: max-content; }

/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center {
  left: 50%;
  transform: translateX(-50%);
  /* 1 */
  width: max-content;
  max-width: 100%;
  box-sizing: border-box; }

.uk-position-top-center {
  top: 0; }

.uk-position-bottom-center {
  bottom: 0; }

/* Cover
 ========================================================================== */
.uk-position-cover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

/* Utility
 ========================================================================== */
.uk-position-relative {
  position: relative !important; }

.uk-position-absolute {
  position: absolute !important; }

.uk-position-fixed {
  position: fixed !important; }

.uk-position-z-index {
  z-index: 1; }

/* Margin modifier
 ========================================================================== */
/*
 * Small
 */
.uk-position-small {
  max-width: calc(100% - (15px * 2));
  margin: 15px; }

.uk-position-small.uk-position-center {
  transform: translate(-50%, -50%) translate(-15px, -15px); }

.uk-position-small[class*='uk-position-center-left'],
.uk-position-small[class*='uk-position-center-right'] {
  transform: translateY(-50%) translateY(-15px); }

.uk-position-small.uk-position-top-center,
.uk-position-small.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-15px); }

/*
 * Medium
 */
.uk-position-medium {
  max-width: calc(100% - (30px * 2));
  margin: 30px; }

.uk-position-medium.uk-position-center {
  transform: translate(-50%, -50%) translate(-30px, -30px); }

.uk-position-medium[class*='uk-position-center-left'],
.uk-position-medium[class*='uk-position-center-right'] {
  transform: translateY(-50%) translateY(-30px); }

.uk-position-medium.uk-position-top-center,
.uk-position-medium.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-30px); }

/*
 * Large
 */
.uk-position-large {
  max-width: calc(100% - (30px * 2));
  margin: 30px; }

.uk-position-large.uk-position-center {
  transform: translate(-50%, -50%) translate(-30px, -30px); }

.uk-position-large[class*='uk-position-center-left'],
.uk-position-large[class*='uk-position-center-right'] {
  transform: translateY(-50%) translateY(-30px); }

.uk-position-large.uk-position-top-center,
.uk-position-large.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-30px); }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-position-large {
    max-width: calc(100% - (50px * 2));
    margin: 50px; }
  .uk-position-large.uk-position-center {
    transform: translate(-50%, -50%) translate(-50px, -50px); }
  .uk-position-large[class*='uk-position-center-left'],
  .uk-position-large[class*='uk-position-center-right'] {
    transform: translateY(-50%) translateY(-50px); }
  .uk-position-large.uk-position-top-center,
  .uk-position-large.uk-position-bottom-center {
    transform: translateX(-50%) translateX(-50px); } }

/* ========================================================================
   Component: Transition
 ========================================================================== */
/* Toggle (Hover + Focus)
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-transition-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent; }

/*
 * Remove outline for `tabindex`
 */
.uk-transition-toggle:focus {
  outline: none; }

/* Transitions
 ========================================================================== */
/*
 * The toggle is triggered on touch devices by two methods:
 * 1. Using `:focus` and tabindex
 * 2. Using `:hover` and a `touchstart` event listener registered on the document
 *    (Doesn't work on Surface touch devices)
 *
 * Note: Transitions don't work with `uk-postion-center-*` classes because they also use `transform`,
 *       therefore it's recommended to use an extra `div` for the transition.
 */
.uk-transition-fade,
[class*='uk-transition-scale'],
[class*='uk-transition-slide'] {
  transition: 0.3s ease-out;
  transition-property: opacity, transform, filter;
  opacity: 0; }

/*
 * Fade
 */
.uk-transition-toggle:hover .uk-transition-fade,
.uk-transition-toggle:focus .uk-transition-fade,
.uk-transition-active.uk-active .uk-transition-fade {
  opacity: 1; }

/*
 * Scale
 */
.uk-transition-scale-up {
  transform: scale(1, 1); }

.uk-transition-scale-down {
  transform: scale(1.1, 1.1); }

/* Show */
.uk-transition-toggle:hover .uk-transition-scale-up,
.uk-transition-toggle:focus .uk-transition-scale-up,
.uk-transition-active.uk-active .uk-transition-scale-up {
  opacity: 1;
  transform: scale(1.1, 1.1); }

.uk-transition-toggle:hover .uk-transition-scale-down,
.uk-transition-toggle:focus .uk-transition-scale-down,
.uk-transition-active.uk-active .uk-transition-scale-down {
  opacity: 1;
  transform: scale(1, 1); }

/*
 * Slide
 */
.uk-transition-slide-top {
  transform: translateY(-100%); }

.uk-transition-slide-bottom {
  transform: translateY(100%); }

.uk-transition-slide-left {
  transform: translateX(-100%); }

.uk-transition-slide-right {
  transform: translateX(100%); }

.uk-transition-slide-top-small {
  transform: translateY(-10px); }

.uk-transition-slide-bottom-small {
  transform: translateY(10px); }

.uk-transition-slide-left-small {
  transform: translateX(-10px); }

.uk-transition-slide-right-small {
  transform: translateX(10px); }

.uk-transition-slide-top-medium {
  transform: translateY(-50px); }

.uk-transition-slide-bottom-medium {
  transform: translateY(50px); }

.uk-transition-slide-left-medium {
  transform: translateX(-50px); }

.uk-transition-slide-right-medium {
  transform: translateX(50px); }

/* Show */
.uk-transition-toggle:hover [class*='uk-transition-slide'],
.uk-transition-toggle:focus [class*='uk-transition-slide'],
.uk-transition-active.uk-active [class*='uk-transition-slide'] {
  opacity: 1;
  transform: translate(0, 0); }

/* Opacity modifier
 ========================================================================== */
.uk-transition-opaque {
  opacity: 1; }

/* Duration modifiers
 ========================================================================== */
.uk-transition-slow {
  transition-duration: 0.7s; }

/* ========================================================================
   Component: Visibility
 ========================================================================== */
/*
 * Hidden
 * `hidden` attribute also set here to make it stronger
 */
[hidden],
.uk-hidden {
  display: none !important; }

/* Phone landscape and bigger */
@media (min-width: 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; }

/* Toggle (Hover + Focus)
 ========================================================================== */
/*
 * Hidden
 * 1. The toggle is triggered on touch devices using `:focus` and tabindex
 * 2. The target stays visible if any element within receives focus through keyboard
 *    Doesn't work in Edge, yet.
 * 3. Can't use `display: none` nor `visibility: hidden` because both are not focusable.
 *
 */
/* 1 + 2 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within) {
  /* 3 */
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important; }

/*
 * Invisible
 */
/* 1 + 2 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-invisible-hover:not(:focus-within) {
  /* 3 */
  opacity: 0 !important; }

/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-visible-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent; }

/*
 * Remove outline for `tabindex`
 */
.uk-visible-toggle:focus {
  outline: none; }

/* Touch
 ========================================================================== */
/*
 * Hide if primary pointing device has limited accuracy, e.g. a touch screen.
 * Works on mobile browsers: Safari, Chrome and Android browser
 */
@media (pointer: coarse) {
  .uk-hidden-touch {
    display: none !important; } }

/*
 * Hide if primary pointing device is accurate, e.g. mouse.
 * 1. Fallback for IE11 and Firefox, because `pointer` is not supported
 * 2. Reset if supported
 */
/* 1 */
.uk-hidden-notouch {
  display: none !important; }

@media (pointer: coarse) {
  .uk-hidden-notouch {
    display: block !important; } }

/* ========================================================================
   Component: Inverse
 ========================================================================== */
/*
 * Implemented class depends on the general theme color
 * `uk-light` is for light colors on dark backgrounds
 * `uk-dark` is or dark colors on light backgrounds
 */
.uk-light, .uk-section-primary:not(.uk-preserve-color), .uk-section-secondary:not(.uk-preserve-color), .uk-tile-primary:not(.uk-preserve-color), .uk-tile-secondary:not(.uk-preserve-color), .uk-card-primary.uk-card-body, .uk-card-primary > :not([class*='uk-card-media']), .uk-card-secondary.uk-card-body, .uk-card-secondary > :not([class*='uk-card-media']), .uk-overlay-primary, .uk-offcanvas-bar {
  color: rgba(255, 255, 255, 0.7); }
  .uk-light a, .uk-section-primary:not(.uk-preserve-color) a, .uk-section-secondary:not(.uk-preserve-color) a, .uk-tile-primary:not(.uk-preserve-color) a, .uk-tile-secondary:not(.uk-preserve-color) a, .uk-card-primary.uk-card-body a, .uk-card-primary > :not([class*='uk-card-media']) a, .uk-card-secondary.uk-card-body a, .uk-card-secondary > :not([class*='uk-card-media']) a, .uk-overlay-primary a, .uk-offcanvas-bar a,
  .uk-light .uk-link,
  .uk-section-primary:not(.uk-preserve-color) .uk-link,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link,
  .uk-card-primary.uk-card-body .uk-link,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link,
  .uk-card-secondary.uk-card-body .uk-link,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link,
  .uk-overlay-primary .uk-link,
  .uk-offcanvas-bar .uk-link {
    color: #fff; }
  .uk-light a:hover, .uk-section-primary:not(.uk-preserve-color) a:hover, .uk-section-secondary:not(.uk-preserve-color) a:hover, .uk-tile-primary:not(.uk-preserve-color) a:hover, .uk-tile-secondary:not(.uk-preserve-color) a:hover, .uk-card-primary.uk-card-body a:hover, .uk-card-primary > :not([class*='uk-card-media']) a:hover, .uk-card-secondary.uk-card-body a:hover, .uk-card-secondary > :not([class*='uk-card-media']) a:hover, .uk-overlay-primary a:hover, .uk-offcanvas-bar a:hover,
  .uk-light .uk-link:hover,
  .uk-section-primary:not(.uk-preserve-color) .uk-link:hover,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link:hover,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link:hover,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link:hover,
  .uk-card-primary.uk-card-body .uk-link:hover,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link:hover,
  .uk-card-secondary.uk-card-body .uk-link:hover,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link:hover,
  .uk-overlay-primary .uk-link:hover,
  .uk-offcanvas-bar .uk-link:hover {
    color: #fff; }
  .uk-light :not(pre) > code, .uk-section-primary:not(.uk-preserve-color) :not(pre) > code, .uk-section-secondary:not(.uk-preserve-color) :not(pre) > code, .uk-tile-primary:not(.uk-preserve-color) :not(pre) > code, .uk-tile-secondary:not(.uk-preserve-color) :not(pre) > code, .uk-card-primary.uk-card-body :not(pre) > code, .uk-card-primary > :not([class*='uk-card-media']) :not(pre) > code, .uk-card-secondary.uk-card-body :not(pre) > code, .uk-card-secondary > :not([class*='uk-card-media']) :not(pre) > code, .uk-overlay-primary :not(pre) > code, .uk-offcanvas-bar :not(pre) > code,
  .uk-light :not(pre) > kbd,
  .uk-section-primary:not(.uk-preserve-color) :not(pre) > kbd,
  .uk-section-secondary:not(.uk-preserve-color) :not(pre) > kbd,
  .uk-tile-primary:not(.uk-preserve-color) :not(pre) > kbd,
  .uk-tile-secondary:not(.uk-preserve-color) :not(pre) > kbd,
  .uk-card-primary.uk-card-body :not(pre) > kbd,
  .uk-card-primary > :not([class*='uk-card-media']) :not(pre) > kbd,
  .uk-card-secondary.uk-card-body :not(pre) > kbd,
  .uk-card-secondary > :not([class*='uk-card-media']) :not(pre) > kbd,
  .uk-overlay-primary :not(pre) > kbd,
  .uk-offcanvas-bar :not(pre) > kbd,
  .uk-light :not(pre) > samp,
  .uk-section-primary:not(.uk-preserve-color) :not(pre) > samp,
  .uk-section-secondary:not(.uk-preserve-color) :not(pre) > samp,
  .uk-tile-primary:not(.uk-preserve-color) :not(pre) > samp,
  .uk-tile-secondary:not(.uk-preserve-color) :not(pre) > samp,
  .uk-card-primary.uk-card-body :not(pre) > samp,
  .uk-card-primary > :not([class*='uk-card-media']) :not(pre) > samp,
  .uk-card-secondary.uk-card-body :not(pre) > samp,
  .uk-card-secondary > :not([class*='uk-card-media']) :not(pre) > samp,
  .uk-overlay-primary :not(pre) > samp,
  .uk-offcanvas-bar :not(pre) > samp {
    color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.1); }
  .uk-light em, .uk-section-primary:not(.uk-preserve-color) em, .uk-section-secondary:not(.uk-preserve-color) em, .uk-tile-primary:not(.uk-preserve-color) em, .uk-tile-secondary:not(.uk-preserve-color) em, .uk-card-primary.uk-card-body em, .uk-card-primary > :not([class*='uk-card-media']) em, .uk-card-secondary.uk-card-body em, .uk-card-secondary > :not([class*='uk-card-media']) em, .uk-overlay-primary em, .uk-offcanvas-bar em {
    color: #fff; }
  .uk-light h1, .uk-section-primary:not(.uk-preserve-color) h1, .uk-section-secondary:not(.uk-preserve-color) h1, .uk-tile-primary:not(.uk-preserve-color) h1, .uk-tile-secondary:not(.uk-preserve-color) h1, .uk-card-primary.uk-card-body h1, .uk-card-primary > :not([class*='uk-card-media']) h1, .uk-card-secondary.uk-card-body h1, .uk-card-secondary > :not([class*='uk-card-media']) h1, .uk-overlay-primary h1, .uk-offcanvas-bar h1, .uk-light .uk-h1, .uk-section-primary:not(.uk-preserve-color) .uk-h1, .uk-section-secondary:not(.uk-preserve-color) .uk-h1, .uk-tile-primary:not(.uk-preserve-color) .uk-h1, .uk-tile-secondary:not(.uk-preserve-color) .uk-h1, .uk-card-primary.uk-card-body .uk-h1, .uk-card-primary > :not([class*='uk-card-media']) .uk-h1, .uk-card-secondary.uk-card-body .uk-h1, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h1, .uk-overlay-primary .uk-h1, .uk-offcanvas-bar .uk-h1,
  .uk-light h2,
  .uk-section-primary:not(.uk-preserve-color) h2,
  .uk-section-secondary:not(.uk-preserve-color) h2,
  .uk-tile-primary:not(.uk-preserve-color) h2,
  .uk-tile-secondary:not(.uk-preserve-color) h2,
  .uk-card-primary.uk-card-body h2,
  .uk-card-primary > :not([class*='uk-card-media']) h2,
  .uk-card-secondary.uk-card-body h2,
  .uk-card-secondary > :not([class*='uk-card-media']) h2,
  .uk-overlay-primary h2,
  .uk-offcanvas-bar h2, .uk-light .uk-h2, .uk-section-primary:not(.uk-preserve-color) .uk-h2, .uk-section-secondary:not(.uk-preserve-color) .uk-h2, .uk-tile-primary:not(.uk-preserve-color) .uk-h2, .uk-tile-secondary:not(.uk-preserve-color) .uk-h2, .uk-card-primary.uk-card-body .uk-h2, .uk-card-primary > :not([class*='uk-card-media']) .uk-h2, .uk-card-secondary.uk-card-body .uk-h2, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h2, .uk-overlay-primary .uk-h2, .uk-offcanvas-bar .uk-h2,
  .uk-light h3,
  .uk-section-primary:not(.uk-preserve-color) h3,
  .uk-section-secondary:not(.uk-preserve-color) h3,
  .uk-tile-primary:not(.uk-preserve-color) h3,
  .uk-tile-secondary:not(.uk-preserve-color) h3,
  .uk-card-primary.uk-card-body h3,
  .uk-card-primary > :not([class*='uk-card-media']) h3,
  .uk-card-secondary.uk-card-body h3,
  .uk-card-secondary > :not([class*='uk-card-media']) h3,
  .uk-overlay-primary h3,
  .uk-offcanvas-bar h3, .uk-light .uk-h3, .uk-section-primary:not(.uk-preserve-color) .uk-h3, .uk-section-secondary:not(.uk-preserve-color) .uk-h3, .uk-tile-primary:not(.uk-preserve-color) .uk-h3, .uk-tile-secondary:not(.uk-preserve-color) .uk-h3, .uk-card-primary.uk-card-body .uk-h3, .uk-card-primary > :not([class*='uk-card-media']) .uk-h3, .uk-card-secondary.uk-card-body .uk-h3, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h3, .uk-overlay-primary .uk-h3, .uk-offcanvas-bar .uk-h3,
  .uk-light h4,
  .uk-section-primary:not(.uk-preserve-color) h4,
  .uk-section-secondary:not(.uk-preserve-color) h4,
  .uk-tile-primary:not(.uk-preserve-color) h4,
  .uk-tile-secondary:not(.uk-preserve-color) h4,
  .uk-card-primary.uk-card-body h4,
  .uk-card-primary > :not([class*='uk-card-media']) h4,
  .uk-card-secondary.uk-card-body h4,
  .uk-card-secondary > :not([class*='uk-card-media']) h4,
  .uk-overlay-primary h4,
  .uk-offcanvas-bar h4, .uk-light .uk-h4, .uk-section-primary:not(.uk-preserve-color) .uk-h4, .uk-section-secondary:not(.uk-preserve-color) .uk-h4, .uk-tile-primary:not(.uk-preserve-color) .uk-h4, .uk-tile-secondary:not(.uk-preserve-color) .uk-h4, .uk-card-primary.uk-card-body .uk-h4, .uk-card-primary > :not([class*='uk-card-media']) .uk-h4, .uk-card-secondary.uk-card-body .uk-h4, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h4, .uk-overlay-primary .uk-h4, .uk-offcanvas-bar .uk-h4,
  .uk-light h5,
  .uk-section-primary:not(.uk-preserve-color) h5,
  .uk-section-secondary:not(.uk-preserve-color) h5,
  .uk-tile-primary:not(.uk-preserve-color) h5,
  .uk-tile-secondary:not(.uk-preserve-color) h5,
  .uk-card-primary.uk-card-body h5,
  .uk-card-primary > :not([class*='uk-card-media']) h5,
  .uk-card-secondary.uk-card-body h5,
  .uk-card-secondary > :not([class*='uk-card-media']) h5,
  .uk-overlay-primary h5,
  .uk-offcanvas-bar h5, .uk-light .uk-h5, .uk-section-primary:not(.uk-preserve-color) .uk-h5, .uk-section-secondary:not(.uk-preserve-color) .uk-h5, .uk-tile-primary:not(.uk-preserve-color) .uk-h5, .uk-tile-secondary:not(.uk-preserve-color) .uk-h5, .uk-card-primary.uk-card-body .uk-h5, .uk-card-primary > :not([class*='uk-card-media']) .uk-h5, .uk-card-secondary.uk-card-body .uk-h5, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h5, .uk-overlay-primary .uk-h5, .uk-offcanvas-bar .uk-h5,
  .uk-light h6,
  .uk-section-primary:not(.uk-preserve-color) h6,
  .uk-section-secondary:not(.uk-preserve-color) h6,
  .uk-tile-primary:not(.uk-preserve-color) h6,
  .uk-tile-secondary:not(.uk-preserve-color) h6,
  .uk-card-primary.uk-card-body h6,
  .uk-card-primary > :not([class*='uk-card-media']) h6,
  .uk-card-secondary.uk-card-body h6,
  .uk-card-secondary > :not([class*='uk-card-media']) h6,
  .uk-overlay-primary h6,
  .uk-offcanvas-bar h6, .uk-light .uk-h6, .uk-section-primary:not(.uk-preserve-color) .uk-h6, .uk-section-secondary:not(.uk-preserve-color) .uk-h6, .uk-tile-primary:not(.uk-preserve-color) .uk-h6, .uk-tile-secondary:not(.uk-preserve-color) .uk-h6, .uk-card-primary.uk-card-body .uk-h6, .uk-card-primary > :not([class*='uk-card-media']) .uk-h6, .uk-card-secondary.uk-card-body .uk-h6, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h6, .uk-overlay-primary .uk-h6, .uk-offcanvas-bar .uk-h6,
  .uk-light .uk-heading-small,
  .uk-section-primary:not(.uk-preserve-color) .uk-heading-small,
  .uk-section-secondary:not(.uk-preserve-color) .uk-heading-small,
  .uk-tile-primary:not(.uk-preserve-color) .uk-heading-small,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-small,
  .uk-card-primary.uk-card-body .uk-heading-small,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-small,
  .uk-card-secondary.uk-card-body .uk-heading-small,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-small,
  .uk-overlay-primary .uk-heading-small,
  .uk-offcanvas-bar .uk-heading-small,
  .uk-light .uk-heading-medium,
  .uk-section-primary:not(.uk-preserve-color) .uk-heading-medium,
  .uk-section-secondary:not(.uk-preserve-color) .uk-heading-medium,
  .uk-tile-primary:not(.uk-preserve-color) .uk-heading-medium,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-medium,
  .uk-card-primary.uk-card-body .uk-heading-medium,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-medium,
  .uk-card-secondary.uk-card-body .uk-heading-medium,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-medium,
  .uk-overlay-primary .uk-heading-medium,
  .uk-offcanvas-bar .uk-heading-medium,
  .uk-light .uk-heading-large,
  .uk-section-primary:not(.uk-preserve-color) .uk-heading-large,
  .uk-section-secondary:not(.uk-preserve-color) .uk-heading-large,
  .uk-tile-primary:not(.uk-preserve-color) .uk-heading-large,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-large,
  .uk-card-primary.uk-card-body .uk-heading-large,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-large,
  .uk-card-secondary.uk-card-body .uk-heading-large,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-large,
  .uk-overlay-primary .uk-heading-large,
  .uk-offcanvas-bar .uk-heading-large,
  .uk-light .uk-heading-xlarge,
  .uk-section-primary:not(.uk-preserve-color) .uk-heading-xlarge,
  .uk-section-secondary:not(.uk-preserve-color) .uk-heading-xlarge,
  .uk-tile-primary:not(.uk-preserve-color) .uk-heading-xlarge,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-xlarge,
  .uk-card-primary.uk-card-body .uk-heading-xlarge,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-xlarge,
  .uk-card-secondary.uk-card-body .uk-heading-xlarge,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-xlarge,
  .uk-overlay-primary .uk-heading-xlarge,
  .uk-offcanvas-bar .uk-heading-xlarge,
  .uk-light .uk-heading-2xlarge,
  .uk-section-primary:not(.uk-preserve-color) .uk-heading-2xlarge,
  .uk-section-secondary:not(.uk-preserve-color) .uk-heading-2xlarge,
  .uk-tile-primary:not(.uk-preserve-color) .uk-heading-2xlarge,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-2xlarge,
  .uk-card-primary.uk-card-body .uk-heading-2xlarge,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-2xlarge,
  .uk-card-secondary.uk-card-body .uk-heading-2xlarge,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-2xlarge,
  .uk-overlay-primary .uk-heading-2xlarge,
  .uk-offcanvas-bar .uk-heading-2xlarge {
    color: #fff; }
  .uk-light blockquote, .uk-section-primary:not(.uk-preserve-color) blockquote, .uk-section-secondary:not(.uk-preserve-color) blockquote, .uk-tile-primary:not(.uk-preserve-color) blockquote, .uk-tile-secondary:not(.uk-preserve-color) blockquote, .uk-card-primary.uk-card-body blockquote, .uk-card-primary > :not([class*='uk-card-media']) blockquote, .uk-card-secondary.uk-card-body blockquote, .uk-card-secondary > :not([class*='uk-card-media']) blockquote, .uk-overlay-primary blockquote, .uk-offcanvas-bar blockquote {
    color: #fff; }
  .uk-light blockquote footer, .uk-section-primary:not(.uk-preserve-color) blockquote footer, .uk-section-secondary:not(.uk-preserve-color) blockquote footer, .uk-tile-primary:not(.uk-preserve-color) blockquote footer, .uk-tile-secondary:not(.uk-preserve-color) blockquote footer, .uk-card-primary.uk-card-body blockquote footer, .uk-card-primary > :not([class*='uk-card-media']) blockquote footer, .uk-card-secondary.uk-card-body blockquote footer, .uk-card-secondary > :not([class*='uk-card-media']) blockquote footer, .uk-overlay-primary blockquote footer, .uk-offcanvas-bar blockquote footer {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light hr, .uk-section-primary:not(.uk-preserve-color) hr, .uk-section-secondary:not(.uk-preserve-color) hr, .uk-tile-primary:not(.uk-preserve-color) hr, .uk-tile-secondary:not(.uk-preserve-color) hr, .uk-card-primary.uk-card-body hr, .uk-card-primary > :not([class*='uk-card-media']) hr, .uk-card-secondary.uk-card-body hr, .uk-card-secondary > :not([class*='uk-card-media']) hr, .uk-overlay-primary hr, .uk-offcanvas-bar hr, .uk-light .uk-hr, .uk-section-primary:not(.uk-preserve-color) .uk-hr, .uk-section-secondary:not(.uk-preserve-color) .uk-hr, .uk-tile-primary:not(.uk-preserve-color) .uk-hr, .uk-tile-secondary:not(.uk-preserve-color) .uk-hr, .uk-card-primary.uk-card-body .uk-hr, .uk-card-primary > :not([class*='uk-card-media']) .uk-hr, .uk-card-secondary.uk-card-body .uk-hr, .uk-card-secondary > :not([class*='uk-card-media']) .uk-hr, .uk-overlay-primary .uk-hr, .uk-offcanvas-bar .uk-hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light a.uk-link-muted, .uk-section-primary:not(.uk-preserve-color) a.uk-link-muted, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted, .uk-card-primary.uk-card-body a.uk-link-muted, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-muted, .uk-card-secondary.uk-card-body a.uk-link-muted, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-muted, .uk-overlay-primary a.uk-link-muted, .uk-offcanvas-bar a.uk-link-muted,
  .uk-light .uk-link-muted a,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-muted a,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a,
  .uk-card-primary.uk-card-body .uk-link-muted a,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-muted a,
  .uk-card-secondary.uk-card-body .uk-link-muted a,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-muted a,
  .uk-overlay-primary .uk-link-muted a,
  .uk-offcanvas-bar .uk-link-muted a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light a.uk-link-muted:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-card-primary.uk-card-body a.uk-link-muted:hover, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-muted:hover, .uk-card-secondary.uk-card-body a.uk-link-muted:hover, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-muted:hover, .uk-overlay-primary a.uk-link-muted:hover, .uk-offcanvas-bar a.uk-link-muted:hover,
  .uk-light .uk-link-muted a:hover,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-muted a:hover,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a:hover,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,
  .uk-card-primary.uk-card-body .uk-link-muted a:hover,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-muted a:hover,
  .uk-card-secondary.uk-card-body .uk-link-muted a:hover,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-muted a:hover,
  .uk-overlay-primary .uk-link-muted a:hover,
  .uk-offcanvas-bar .uk-link-muted a:hover,
  .uk-light .uk-link-toggle:hover .uk-link-muted,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
  .uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-muted,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-toggle:hover .uk-link-muted,
  .uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-muted,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-toggle:hover .uk-link-muted,
  .uk-overlay-primary .uk-link-toggle:hover .uk-link-muted,
  .uk-offcanvas-bar .uk-link-toggle:hover .uk-link-muted,
  .uk-light .uk-link-toggle:focus .uk-link-muted,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-muted,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-muted,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-muted,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-muted,
  .uk-card-primary.uk-card-body .uk-link-toggle:focus .uk-link-muted,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-toggle:focus .uk-link-muted,
  .uk-card-secondary.uk-card-body .uk-link-toggle:focus .uk-link-muted,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-toggle:focus .uk-link-muted,
  .uk-overlay-primary .uk-link-toggle:focus .uk-link-muted,
  .uk-offcanvas-bar .uk-link-toggle:focus .uk-link-muted {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light a.uk-link-text:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-card-primary.uk-card-body a.uk-link-text:hover, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-text:hover, .uk-card-secondary.uk-card-body a.uk-link-text:hover, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-text:hover, .uk-overlay-primary a.uk-link-text:hover, .uk-offcanvas-bar a.uk-link-text:hover,
  .uk-light .uk-link-text a:hover,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-text a:hover,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-text a:hover,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-text a:hover,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-text a:hover,
  .uk-card-primary.uk-card-body .uk-link-text a:hover,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-text a:hover,
  .uk-card-secondary.uk-card-body .uk-link-text a:hover,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-text a:hover,
  .uk-overlay-primary .uk-link-text a:hover,
  .uk-offcanvas-bar .uk-link-text a:hover,
  .uk-light .uk-link-toggle:hover .uk-link-text,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
  .uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-text,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-toggle:hover .uk-link-text,
  .uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-text,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-toggle:hover .uk-link-text,
  .uk-overlay-primary .uk-link-toggle:hover .uk-link-text,
  .uk-offcanvas-bar .uk-link-toggle:hover .uk-link-text,
  .uk-light .uk-link-toggle:focus .uk-link-text,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-text,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-text,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-text,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-text,
  .uk-card-primary.uk-card-body .uk-link-toggle:focus .uk-link-text,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-toggle:focus .uk-link-text,
  .uk-card-secondary.uk-card-body .uk-link-toggle:focus .uk-link-text,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-toggle:focus .uk-link-text,
  .uk-overlay-primary .uk-link-toggle:focus .uk-link-text,
  .uk-offcanvas-bar .uk-link-toggle:focus .uk-link-text {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light a.uk-link-heading:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-card-primary.uk-card-body a.uk-link-heading:hover, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-heading:hover, .uk-card-secondary.uk-card-body a.uk-link-heading:hover, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-heading:hover, .uk-overlay-primary a.uk-link-heading:hover, .uk-offcanvas-bar a.uk-link-heading:hover,
  .uk-light .uk-link-heading a:hover,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-heading a:hover,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-heading a:hover,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,
  .uk-card-primary.uk-card-body .uk-link-heading a:hover,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-heading a:hover,
  .uk-card-secondary.uk-card-body .uk-link-heading a:hover,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-heading a:hover,
  .uk-overlay-primary .uk-link-heading a:hover,
  .uk-offcanvas-bar .uk-link-heading a:hover,
  .uk-light .uk-link-toggle:hover .uk-link-heading,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,
  .uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-heading,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-toggle:hover .uk-link-heading,
  .uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-heading,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-toggle:hover .uk-link-heading,
  .uk-overlay-primary .uk-link-toggle:hover .uk-link-heading,
  .uk-offcanvas-bar .uk-link-toggle:hover .uk-link-heading,
  .uk-light .uk-link-toggle:focus .uk-link-heading,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-heading,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-heading,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-heading,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-heading,
  .uk-card-primary.uk-card-body .uk-link-toggle:focus .uk-link-heading,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-toggle:focus .uk-link-heading,
  .uk-card-secondary.uk-card-body .uk-link-toggle:focus .uk-link-heading,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-toggle:focus .uk-link-heading,
  .uk-overlay-primary .uk-link-toggle:focus .uk-link-heading,
  .uk-offcanvas-bar .uk-link-toggle:focus .uk-link-heading {
    color: #fff; }
  .uk-light .uk-heading-divider, .uk-section-primary:not(.uk-preserve-color) .uk-heading-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-divider, .uk-card-primary.uk-card-body .uk-heading-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-divider, .uk-card-secondary.uk-card-body .uk-heading-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-divider, .uk-overlay-primary .uk-heading-divider, .uk-offcanvas-bar .uk-heading-divider {
    border-bottom-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-heading-bullet::before, .uk-section-primary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-card-primary.uk-card-body .uk-heading-bullet::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-bullet::before, .uk-card-secondary.uk-card-body .uk-heading-bullet::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-bullet::before, .uk-overlay-primary .uk-heading-bullet::before, .uk-offcanvas-bar .uk-heading-bullet::before {
    border-left-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-heading-line > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-card-primary.uk-card-body .uk-heading-line > ::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-line > ::before, .uk-card-secondary.uk-card-body .uk-heading-line > ::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-line > ::before, .uk-overlay-primary .uk-heading-line > ::before, .uk-offcanvas-bar .uk-heading-line > ::before,
  .uk-light .uk-heading-line > ::after,
  .uk-section-primary:not(.uk-preserve-color) .uk-heading-line > ::after,
  .uk-section-secondary:not(.uk-preserve-color) .uk-heading-line > ::after,
  .uk-tile-primary:not(.uk-preserve-color) .uk-heading-line > ::after,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line > ::after,
  .uk-card-primary.uk-card-body .uk-heading-line > ::after,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-line > ::after,
  .uk-card-secondary.uk-card-body .uk-heading-line > ::after,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-line > ::after,
  .uk-overlay-primary .uk-heading-line > ::after,
  .uk-offcanvas-bar .uk-heading-line > ::after {
    border-bottom-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-divider-icon, .uk-section-primary:not(.uk-preserve-color) .uk-divider-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon, .uk-card-primary.uk-card-body .uk-divider-icon, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-icon, .uk-card-secondary.uk-card-body .uk-divider-icon, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-icon, .uk-overlay-primary .uk-divider-icon, .uk-offcanvas-bar .uk-divider-icon {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.2)%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
  .uk-light .uk-divider-icon::before, .uk-section-primary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-card-primary.uk-card-body .uk-divider-icon::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-icon::before, .uk-card-secondary.uk-card-body .uk-divider-icon::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-icon::before, .uk-overlay-primary .uk-divider-icon::before, .uk-offcanvas-bar .uk-divider-icon::before,
  .uk-light .uk-divider-icon::after,
  .uk-section-primary:not(.uk-preserve-color) .uk-divider-icon::after,
  .uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon::after,
  .uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon::after,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon::after,
  .uk-card-primary.uk-card-body .uk-divider-icon::after,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-icon::after,
  .uk-card-secondary.uk-card-body .uk-divider-icon::after,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-icon::after,
  .uk-overlay-primary .uk-divider-icon::after,
  .uk-offcanvas-bar .uk-divider-icon::after {
    border-bottom-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-divider-small::after, .uk-section-primary:not(.uk-preserve-color) .uk-divider-small::after, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-small::after, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-small::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-small::after, .uk-card-primary.uk-card-body .uk-divider-small::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-small::after, .uk-card-secondary.uk-card-body .uk-divider-small::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-small::after, .uk-overlay-primary .uk-divider-small::after, .uk-offcanvas-bar .uk-divider-small::after {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-divider-vertical, .uk-section-primary:not(.uk-preserve-color) .uk-divider-vertical, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-vertical, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-vertical, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-vertical, .uk-card-primary.uk-card-body .uk-divider-vertical, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-vertical, .uk-card-secondary.uk-card-body .uk-divider-vertical, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-vertical, .uk-overlay-primary .uk-divider-vertical, .uk-offcanvas-bar .uk-divider-vertical {
    border-left-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-list-muted > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-muted > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-muted > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-muted > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-muted > ::before, .uk-card-primary.uk-card-body .uk-list-muted > ::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-list-muted > ::before, .uk-card-secondary.uk-card-body .uk-list-muted > ::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-muted > ::before, .uk-overlay-primary .uk-list-muted > ::before, .uk-offcanvas-bar .uk-list-muted > ::before {
    color: rgba(255, 255, 255, 0.5) !important; }
  .uk-light .uk-list-emphasis > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-emphasis > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-emphasis > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-emphasis > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-emphasis > ::before, .uk-card-primary.uk-card-body .uk-list-emphasis > ::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-list-emphasis > ::before, .uk-card-secondary.uk-card-body .uk-list-emphasis > ::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-emphasis > ::before, .uk-overlay-primary .uk-list-emphasis > ::before, .uk-offcanvas-bar .uk-list-emphasis > ::before {
    color: #fff !important; }
  .uk-light .uk-list-primary > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-primary > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-primary > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-primary > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-primary > ::before, .uk-card-primary.uk-card-body .uk-list-primary > ::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-list-primary > ::before, .uk-card-secondary.uk-card-body .uk-list-primary > ::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-primary > ::before, .uk-overlay-primary .uk-list-primary > ::before, .uk-offcanvas-bar .uk-list-primary > ::before {
    color: #fff !important; }
  .uk-light .uk-list-secondary > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-secondary > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-secondary > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-secondary > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-secondary > ::before, .uk-card-primary.uk-card-body .uk-list-secondary > ::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-list-secondary > ::before, .uk-card-secondary.uk-card-body .uk-list-secondary > ::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-secondary > ::before, .uk-overlay-primary .uk-list-secondary > ::before, .uk-offcanvas-bar .uk-list-secondary > ::before {
    color: #fff !important; }
  .uk-light .uk-list-bullet > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-bullet > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-bullet > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-bullet > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-bullet > ::before, .uk-card-primary.uk-card-body .uk-list-bullet > ::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-list-bullet > ::before, .uk-card-secondary.uk-card-body .uk-list-bullet > ::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-bullet > ::before, .uk-overlay-primary .uk-list-bullet > ::before, .uk-offcanvas-bar .uk-list-bullet > ::before {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  .uk-light .uk-list-divider > :nth-child(n+2), .uk-section-primary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n+2), .uk-section-secondary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n+2), .uk-tile-primary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n+2), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n+2), .uk-card-primary.uk-card-body .uk-list-divider > :nth-child(n+2), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-divider > :nth-child(n+2), .uk-card-secondary.uk-card-body .uk-list-divider > :nth-child(n+2), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-divider > :nth-child(n+2), .uk-overlay-primary .uk-list-divider > :nth-child(n+2), .uk-offcanvas-bar .uk-list-divider > :nth-child(n+2) {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-list-striped > *:nth-of-type(odd), .uk-section-primary:not(.uk-preserve-color) .uk-list-striped > *:nth-of-type(odd), .uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > *:nth-of-type(odd), .uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > *:nth-of-type(odd), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > *:nth-of-type(odd), .uk-card-primary.uk-card-body .uk-list-striped > *:nth-of-type(odd), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-striped > *:nth-of-type(odd), .uk-card-secondary.uk-card-body .uk-list-striped > *:nth-of-type(odd), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-striped > *:nth-of-type(odd), .uk-overlay-primary .uk-list-striped > *:nth-of-type(odd), .uk-offcanvas-bar .uk-list-striped > *:nth-of-type(odd) {
    border-top-color: rgba(255, 255, 255, 0.2);
    border-bottom-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-list-striped > :nth-of-type(odd), .uk-section-primary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd), .uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd), .uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd), .uk-card-primary.uk-card-body .uk-list-striped > :nth-of-type(odd), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-striped > :nth-of-type(odd), .uk-card-secondary.uk-card-body .uk-list-striped > :nth-of-type(odd), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-striped > :nth-of-type(odd), .uk-overlay-primary .uk-list-striped > :nth-of-type(odd), .uk-offcanvas-bar .uk-list-striped > :nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.1); }
  .uk-light .uk-icon-link, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link, .uk-card-primary.uk-card-body .uk-icon-link, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link, .uk-card-secondary.uk-card-body .uk-icon-link, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link, .uk-overlay-primary .uk-icon-link, .uk-offcanvas-bar .uk-icon-link {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-icon-link:hover, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-card-primary.uk-card-body .uk-icon-link:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link:hover, .uk-card-secondary.uk-card-body .uk-icon-link:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link:hover, .uk-overlay-primary .uk-icon-link:hover, .uk-offcanvas-bar .uk-icon-link:hover,
  .uk-light .uk-icon-link:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-icon-link:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:focus,
  .uk-card-primary.uk-card-body .uk-icon-link:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link:focus,
  .uk-card-secondary.uk-card-body .uk-icon-link:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link:focus,
  .uk-overlay-primary .uk-icon-link:focus,
  .uk-offcanvas-bar .uk-icon-link:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-icon-link:active, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link:active, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:active, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:active, .uk-card-primary.uk-card-body .uk-icon-link:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link:active, .uk-card-secondary.uk-card-body .uk-icon-link:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link:active, .uk-overlay-primary .uk-icon-link:active, .uk-offcanvas-bar .uk-icon-link:active,
  .uk-light .uk-active > .uk-icon-link,
  .uk-section-primary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
  .uk-section-secondary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
  .uk-tile-primary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
  .uk-card-primary.uk-card-body .uk-active > .uk-icon-link,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-active > .uk-icon-link,
  .uk-card-secondary.uk-card-body .uk-active > .uk-icon-link,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-active > .uk-icon-link,
  .uk-overlay-primary .uk-active > .uk-icon-link,
  .uk-offcanvas-bar .uk-active > .uk-icon-link {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-icon-button, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button, .uk-card-primary.uk-card-body .uk-icon-button, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button, .uk-card-secondary.uk-card-body .uk-icon-button, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button, .uk-overlay-primary .uk-icon-button, .uk-offcanvas-bar .uk-icon-button {
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-icon-button:hover, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-card-primary.uk-card-body .uk-icon-button:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button:hover, .uk-card-secondary.uk-card-body .uk-icon-button:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button:hover, .uk-overlay-primary .uk-icon-button:hover, .uk-offcanvas-bar .uk-icon-button:hover,
  .uk-light .uk-icon-button:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-icon-button:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:focus,
  .uk-card-primary.uk-card-body .uk-icon-button:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button:focus,
  .uk-card-secondary.uk-card-body .uk-icon-button:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button:focus,
  .uk-overlay-primary .uk-icon-button:focus,
  .uk-offcanvas-bar .uk-icon-button:focus {
    background-color: rgba(242, 242, 242, 0.1);
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-icon-button:active, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button:active, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:active, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:active, .uk-card-primary.uk-card-body .uk-icon-button:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button:active, .uk-card-secondary.uk-card-body .uk-icon-button:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button:active, .uk-overlay-primary .uk-icon-button:active, .uk-offcanvas-bar .uk-icon-button:active {
    background-color: rgba(230, 230, 230, 0.1);
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-input, .uk-section-primary:not(.uk-preserve-color) .uk-input, .uk-section-secondary:not(.uk-preserve-color) .uk-input, .uk-tile-primary:not(.uk-preserve-color) .uk-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-input, .uk-card-primary.uk-card-body .uk-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-input, .uk-card-secondary.uk-card-body .uk-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input, .uk-overlay-primary .uk-input, .uk-offcanvas-bar .uk-input,
  .uk-light .uk-select,
  .uk-section-primary:not(.uk-preserve-color) .uk-select,
  .uk-section-secondary:not(.uk-preserve-color) .uk-select,
  .uk-tile-primary:not(.uk-preserve-color) .uk-select,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-select,
  .uk-card-primary.uk-card-body .uk-select,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-select,
  .uk-card-secondary.uk-card-body .uk-select,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-select,
  .uk-overlay-primary .uk-select,
  .uk-offcanvas-bar .uk-select,
  .uk-light .uk-textarea,
  .uk-section-primary:not(.uk-preserve-color) .uk-textarea,
  .uk-section-secondary:not(.uk-preserve-color) .uk-textarea,
  .uk-tile-primary:not(.uk-preserve-color) .uk-textarea,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea,
  .uk-card-primary.uk-card-body .uk-textarea,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea,
  .uk-card-secondary.uk-card-body .uk-textarea,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea,
  .uk-overlay-primary .uk-textarea,
  .uk-offcanvas-bar .uk-textarea {
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7);
    background-clip: padding-box;
    border-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-input:focus, .uk-card-primary.uk-card-body .uk-input:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-input:focus, .uk-card-secondary.uk-card-body .uk-input:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input:focus, .uk-overlay-primary .uk-input:focus, .uk-offcanvas-bar .uk-input:focus,
    .uk-light .uk-select:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-select:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-select:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-select:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-select:focus,
    .uk-card-primary.uk-card-body .uk-select:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-select:focus,
    .uk-card-secondary.uk-card-body .uk-select:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-select:focus,
    .uk-overlay-primary .uk-select:focus,
    .uk-offcanvas-bar .uk-select:focus,
    .uk-light .uk-textarea:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-textarea:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-textarea:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-textarea:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea:focus,
    .uk-card-primary.uk-card-body .uk-textarea:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea:focus,
    .uk-card-secondary.uk-card-body .uk-textarea:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea:focus,
    .uk-overlay-primary .uk-textarea:focus,
    .uk-offcanvas-bar .uk-textarea:focus {
      background-color: rgba(255, 255, 255, 0.1);
      color: rgba(255, 255, 255, 0.7);
      border-color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-input::-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-input::-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input::-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-input::-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input::-ms-input-placeholder, .uk-overlay-primary .uk-input::-ms-input-placeholder, .uk-offcanvas-bar .uk-input::-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.5) !important; }
  .uk-light .uk-input::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::placeholder, .uk-card-primary.uk-card-body .uk-input::placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input::placeholder, .uk-card-secondary.uk-card-body .uk-input::placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input::placeholder, .uk-overlay-primary .uk-input::placeholder, .uk-offcanvas-bar .uk-input::placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-textarea::-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-textarea::-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-textarea::-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::-ms-input-placeholder, .uk-overlay-primary .uk-textarea::-ms-input-placeholder, .uk-offcanvas-bar .uk-textarea::-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.5) !important; }
  .uk-light .uk-textarea::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-card-primary.uk-card-body .uk-textarea::placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::placeholder, .uk-card-secondary.uk-card-body .uk-textarea::placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::placeholder, .uk-overlay-primary .uk-textarea::placeholder, .uk-offcanvas-bar .uk-textarea::placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-select:not([multiple]):not([size]), .uk-section-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-section-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-tile-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-tile-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-card-primary.uk-card-body .uk-select:not([multiple]):not([size]), .uk-card-primary > :not([class*='uk-card-media']) .uk-select:not([multiple]):not([size]), .uk-card-secondary.uk-card-body .uk-select:not([multiple]):not([size]), .uk-card-secondary > :not([class*='uk-card-media']) .uk-select:not([multiple]):not([size]), .uk-overlay-primary .uk-select:not([multiple]):not([size]), .uk-offcanvas-bar .uk-select:not([multiple]):not([size]) {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
  .uk-light .uk-input[list]:hover, .uk-section-primary:not(.uk-preserve-color) .uk-input[list]:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-input[list]:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-input[list]:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-input[list]:hover, .uk-card-primary.uk-card-body .uk-input[list]:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-input[list]:hover, .uk-card-secondary.uk-card-body .uk-input[list]:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input[list]:hover, .uk-overlay-primary .uk-input[list]:hover, .uk-offcanvas-bar .uk-input[list]:hover,
  .uk-light .uk-input[list]:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-input[list]:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-input[list]:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-input[list]:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-input[list]:focus,
  .uk-card-primary.uk-card-body .uk-input[list]:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-input[list]:focus,
  .uk-card-secondary.uk-card-body .uk-input[list]:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-input[list]:focus,
  .uk-overlay-primary .uk-input[list]:focus,
  .uk-offcanvas-bar .uk-input[list]:focus {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%2012%208%206%2016%206%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
  .uk-light .uk-radio, .uk-section-primary:not(.uk-preserve-color) .uk-radio, .uk-section-secondary:not(.uk-preserve-color) .uk-radio, .uk-tile-primary:not(.uk-preserve-color) .uk-radio, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio, .uk-card-primary.uk-card-body .uk-radio, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio, .uk-card-secondary.uk-card-body .uk-radio, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio, .uk-overlay-primary .uk-radio, .uk-offcanvas-bar .uk-radio,
  .uk-light .uk-checkbox,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox,
  .uk-card-primary.uk-card-body .uk-checkbox,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox,
  .uk-card-secondary.uk-card-body .uk-checkbox,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox,
  .uk-overlay-primary .uk-checkbox,
  .uk-offcanvas-bar .uk-checkbox {
    background-color: rgba(242, 242, 242, 0.1);
    border-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-radio:focus, .uk-section-primary:not(.uk-preserve-color) .uk-radio:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:focus, .uk-card-primary.uk-card-body .uk-radio:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:focus, .uk-card-secondary.uk-card-body .uk-radio:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:focus, .uk-overlay-primary .uk-radio:focus, .uk-offcanvas-bar .uk-radio:focus,
  .uk-light .uk-checkbox:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:focus,
  .uk-card-primary.uk-card-body .uk-checkbox:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:focus,
  .uk-card-secondary.uk-card-body .uk-checkbox:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:focus,
  .uk-overlay-primary .uk-checkbox:focus,
  .uk-offcanvas-bar .uk-checkbox:focus {
    border-color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-radio:checked, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-card-primary.uk-card-body .uk-radio:checked, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-card-secondary.uk-card-body .uk-radio:checked, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-overlay-primary .uk-radio:checked, .uk-offcanvas-bar .uk-radio:checked,
  .uk-light .uk-checkbox:checked,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-card-primary.uk-card-body .uk-checkbox:checked,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:checked,
  .uk-card-secondary.uk-card-body .uk-checkbox:checked,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:checked,
  .uk-overlay-primary .uk-checkbox:checked,
  .uk-offcanvas-bar .uk-checkbox:checked,
  .uk-light .uk-checkbox:indeterminate,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-card-primary.uk-card-body .uk-checkbox:indeterminate,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
  .uk-card-secondary.uk-card-body .uk-checkbox:indeterminate,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
  .uk-overlay-primary .uk-checkbox:indeterminate,
  .uk-offcanvas-bar .uk-checkbox:indeterminate {
    background-color: #fff;
    border-color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-radio:checked:focus, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-card-primary.uk-card-body .uk-radio:checked:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked:focus, .uk-card-secondary.uk-card-body .uk-radio:checked:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked:focus, .uk-overlay-primary .uk-radio:checked:focus, .uk-offcanvas-bar .uk-radio:checked:focus,
  .uk-light .uk-checkbox:checked:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
  .uk-card-primary.uk-card-body .uk-checkbox:checked:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:checked:focus,
  .uk-card-secondary.uk-card-body .uk-checkbox:checked:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:checked:focus,
  .uk-overlay-primary .uk-checkbox:checked:focus,
  .uk-offcanvas-bar .uk-checkbox:checked:focus,
  .uk-light .uk-checkbox:indeterminate:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
  .uk-card-primary.uk-card-body .uk-checkbox:indeterminate:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate:focus,
  .uk-card-secondary.uk-card-body .uk-checkbox:indeterminate:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate:focus,
  .uk-overlay-primary .uk-checkbox:indeterminate:focus,
  .uk-offcanvas-bar .uk-checkbox:indeterminate:focus {
    background-color: #e6e6e6; }
  .uk-light .uk-radio:checked, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-card-primary.uk-card-body .uk-radio:checked, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-card-secondary.uk-card-body .uk-radio:checked, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-overlay-primary .uk-radio:checked, .uk-offcanvas-bar .uk-radio:checked {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23666%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  
  .uk-light .uk-checkbox:checked,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-card-primary.uk-card-body .uk-checkbox:checked,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:checked,
  .uk-card-secondary.uk-card-body .uk-checkbox:checked,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:checked,
  .uk-overlay-primary .uk-checkbox:checked,
  .uk-offcanvas-bar .uk-checkbox:checked {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
  
  .uk-light .uk-checkbox:indeterminate,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-card-primary.uk-card-body .uk-checkbox:indeterminate,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
  .uk-card-secondary.uk-card-body .uk-checkbox:indeterminate,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
  .uk-overlay-primary .uk-checkbox:indeterminate,
  .uk-offcanvas-bar .uk-checkbox:indeterminate {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  .uk-light .uk-form-label, .uk-section-primary:not(.uk-preserve-color) .uk-form-label, .uk-section-secondary:not(.uk-preserve-color) .uk-form-label, .uk-tile-primary:not(.uk-preserve-color) .uk-form-label, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-label, .uk-card-primary.uk-card-body .uk-form-label, .uk-card-primary > :not([class*='uk-card-media']) .uk-form-label, .uk-card-secondary.uk-card-body .uk-form-label, .uk-card-secondary > :not([class*='uk-card-media']) .uk-form-label, .uk-overlay-primary .uk-form-label, .uk-offcanvas-bar .uk-form-label {
    color: #fff; }
  .uk-light .uk-form-icon, .uk-section-primary:not(.uk-preserve-color) .uk-form-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-form-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-form-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon, .uk-card-primary.uk-card-body .uk-form-icon, .uk-card-primary > :not([class*='uk-card-media']) .uk-form-icon, .uk-card-secondary.uk-card-body .uk-form-icon, .uk-card-secondary > :not([class*='uk-card-media']) .uk-form-icon, .uk-overlay-primary .uk-form-icon, .uk-offcanvas-bar .uk-form-icon {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-form-icon:hover, .uk-section-primary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-card-primary.uk-card-body .uk-form-icon:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-form-icon:hover, .uk-card-secondary.uk-card-body .uk-form-icon:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-form-icon:hover, .uk-overlay-primary .uk-form-icon:hover, .uk-offcanvas-bar .uk-form-icon:hover {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-button-default, .uk-section-primary:not(.uk-preserve-color) .uk-button-default, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default, .uk-card-primary.uk-card-body .uk-button-default, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default, .uk-card-secondary.uk-card-body .uk-button-default, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default, .uk-overlay-primary .uk-button-default, .uk-offcanvas-bar .uk-button-default {
    background-color: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-button-default:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-default:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:hover, .uk-card-primary.uk-card-body .uk-button-default:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default:hover, .uk-card-secondary.uk-card-body .uk-button-default:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default:hover, .uk-overlay-primary .uk-button-default:hover, .uk-offcanvas-bar .uk-button-default:hover,
  .uk-light .uk-button-default:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-default:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-default:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-default:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:focus,
  .uk-card-primary.uk-card-body .uk-button-default:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default:focus,
  .uk-card-secondary.uk-card-body .uk-button-default:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default:focus,
  .uk-overlay-primary .uk-button-default:focus,
  .uk-offcanvas-bar .uk-button-default:focus {
    background-color: transparent;
    color: #fff;
    border-color: #fff; }
  .uk-light .uk-button-default:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-default:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:active, .uk-card-primary.uk-card-body .uk-button-default:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default:active, .uk-card-secondary.uk-card-body .uk-button-default:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default:active, .uk-overlay-primary .uk-button-default:active, .uk-offcanvas-bar .uk-button-default:active,
  .uk-light .uk-button-default.uk-active,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-default.uk-active,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-default.uk-active,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,
  .uk-card-primary.uk-card-body .uk-button-default.uk-active,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default.uk-active,
  .uk-card-secondary.uk-card-body .uk-button-default.uk-active,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default.uk-active,
  .uk-overlay-primary .uk-button-default.uk-active,
  .uk-offcanvas-bar .uk-button-default.uk-active {
    background-color: transparent;
    color: #fff;
    border-color: #fff; }
  .uk-light .uk-button-primary, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary, .uk-card-primary.uk-card-body .uk-button-primary, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary, .uk-card-secondary.uk-card-body .uk-button-primary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary, .uk-overlay-primary .uk-button-primary, .uk-offcanvas-bar .uk-button-primary {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-button-primary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-card-primary.uk-card-body .uk-button-primary:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:hover, .uk-card-secondary.uk-card-body .uk-button-primary:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:hover, .uk-overlay-primary .uk-button-primary:hover, .uk-offcanvas-bar .uk-button-primary:hover,
  .uk-light .uk-button-primary:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:focus,
  .uk-card-primary.uk-card-body .uk-button-primary:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:focus,
  .uk-card-secondary.uk-card-body .uk-button-primary:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:focus,
  .uk-overlay-primary .uk-button-primary:focus,
  .uk-offcanvas-bar .uk-button-primary:focus {
    background-color: #f2f2f2;
    color: #666; }
  .uk-light .uk-button-primary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-card-primary.uk-card-body .uk-button-primary:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:active, .uk-card-secondary.uk-card-body .uk-button-primary:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:active, .uk-overlay-primary .uk-button-primary:active, .uk-offcanvas-bar .uk-button-primary:active,
  .uk-light .uk-button-primary.uk-active,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,
  .uk-card-primary.uk-card-body .uk-button-primary.uk-active,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary.uk-active,
  .uk-card-secondary.uk-card-body .uk-button-primary.uk-active,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary.uk-active,
  .uk-overlay-primary .uk-button-primary.uk-active,
  .uk-offcanvas-bar .uk-button-primary.uk-active {
    background-color: #e6e6e6;
    color: #666; }
  .uk-light .uk-button-secondary, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-card-primary.uk-card-body .uk-button-secondary, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary, .uk-card-secondary.uk-card-body .uk-button-secondary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary, .uk-overlay-primary .uk-button-secondary, .uk-offcanvas-bar .uk-button-secondary {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-button-secondary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-card-primary.uk-card-body .uk-button-secondary:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:hover, .uk-card-secondary.uk-card-body .uk-button-secondary:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:hover, .uk-overlay-primary .uk-button-secondary:hover, .uk-offcanvas-bar .uk-button-secondary:hover,
  .uk-light .uk-button-secondary:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:focus,
  .uk-card-primary.uk-card-body .uk-button-secondary:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:focus,
  .uk-card-secondary.uk-card-body .uk-button-secondary:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:focus,
  .uk-overlay-primary .uk-button-secondary:focus,
  .uk-offcanvas-bar .uk-button-secondary:focus {
    background-color: #f2f2f2;
    color: #666; }
  .uk-light .uk-button-secondary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-card-primary.uk-card-body .uk-button-secondary:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:active, .uk-card-secondary.uk-card-body .uk-button-secondary:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:active, .uk-overlay-primary .uk-button-secondary:active, .uk-offcanvas-bar .uk-button-secondary:active,
  .uk-light .uk-button-secondary.uk-active,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
  .uk-card-primary.uk-card-body .uk-button-secondary.uk-active,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary.uk-active,
  .uk-card-secondary.uk-card-body .uk-button-secondary.uk-active,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary.uk-active,
  .uk-overlay-primary .uk-button-secondary.uk-active,
  .uk-offcanvas-bar .uk-button-secondary.uk-active {
    background-color: #e6e6e6;
    color: #666; }
  .uk-light .uk-button-text, .uk-section-primary:not(.uk-preserve-color) .uk-button-text, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text, .uk-card-primary.uk-card-body .uk-button-text, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text, .uk-card-secondary.uk-card-body .uk-button-text, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text, .uk-overlay-primary .uk-button-text, .uk-offcanvas-bar .uk-button-text {
    color: #fff; }
    .uk-light .uk-button-text::before, .uk-section-primary:not(.uk-preserve-color) .uk-button-text::before, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text::before, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text::before, .uk-card-primary.uk-card-body .uk-button-text::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text::before, .uk-card-secondary.uk-card-body .uk-button-text::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text::before, .uk-overlay-primary .uk-button-text::before, .uk-offcanvas-bar .uk-button-text::before {
      border-bottom-color: #fff; }
  .uk-light .uk-button-text:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-text:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:hover, .uk-card-primary.uk-card-body .uk-button-text:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text:hover, .uk-card-secondary.uk-card-body .uk-button-text:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text:hover, .uk-overlay-primary .uk-button-text:hover, .uk-offcanvas-bar .uk-button-text:hover,
  .uk-light .uk-button-text:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-text:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:focus,
  .uk-card-primary.uk-card-body .uk-button-text:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text:focus,
  .uk-card-secondary.uk-card-body .uk-button-text:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text:focus,
  .uk-overlay-primary .uk-button-text:focus,
  .uk-offcanvas-bar .uk-button-text:focus {
    color: #fff; }
  .uk-light .uk-button-text:disabled, .uk-section-primary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-card-primary.uk-card-body .uk-button-text:disabled, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text:disabled, .uk-card-secondary.uk-card-body .uk-button-text:disabled, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text:disabled, .uk-overlay-primary .uk-button-text:disabled, .uk-offcanvas-bar .uk-button-text:disabled {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-button-link, .uk-section-primary:not(.uk-preserve-color) .uk-button-link, .uk-section-secondary:not(.uk-preserve-color) .uk-button-link, .uk-tile-primary:not(.uk-preserve-color) .uk-button-link, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link, .uk-card-primary.uk-card-body .uk-button-link, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link, .uk-card-secondary.uk-card-body .uk-button-link, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link, .uk-overlay-primary .uk-button-link, .uk-offcanvas-bar .uk-button-link {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-button-link:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-link:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-link:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-link:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:hover, .uk-card-primary.uk-card-body .uk-button-link:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link:hover, .uk-card-secondary.uk-card-body .uk-button-link:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link:hover, .uk-overlay-primary .uk-button-link:hover, .uk-offcanvas-bar .uk-button-link:hover,
  .uk-light .uk-button-link:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-link:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-link:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-link:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:focus,
  .uk-card-primary.uk-card-body .uk-button-link:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link:focus,
  .uk-card-secondary.uk-card-body .uk-button-link:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link:focus,
  .uk-overlay-primary .uk-button-link:focus,
  .uk-offcanvas-bar .uk-button-link:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-grid-divider > :not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-grid-divider > :not(.uk-first-column)::before, .uk-overlay-primary .uk-grid-divider > :not(.uk-first-column)::before, .uk-offcanvas-bar .uk-grid-divider > :not(.uk-first-column)::before {
    border-left-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-section-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-primary.uk-card-body .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-secondary.uk-card-body .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-overlay-primary .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-offcanvas-bar .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-close, .uk-section-primary:not(.uk-preserve-color) .uk-close, .uk-section-secondary:not(.uk-preserve-color) .uk-close, .uk-tile-primary:not(.uk-preserve-color) .uk-close, .uk-tile-secondary:not(.uk-preserve-color) .uk-close, .uk-card-primary.uk-card-body .uk-close, .uk-card-primary > :not([class*='uk-card-media']) .uk-close, .uk-card-secondary.uk-card-body .uk-close, .uk-card-secondary > :not([class*='uk-card-media']) .uk-close, .uk-overlay-primary .uk-close, .uk-offcanvas-bar .uk-close {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-close:hover, .uk-section-primary:not(.uk-preserve-color) .uk-close:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-close:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-close:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-close:hover, .uk-card-primary.uk-card-body .uk-close:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-close:hover, .uk-card-secondary.uk-card-body .uk-close:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-close:hover, .uk-overlay-primary .uk-close:hover, .uk-offcanvas-bar .uk-close:hover,
  .uk-light .uk-close:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-close:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-close:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-close:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-close:focus,
  .uk-card-primary.uk-card-body .uk-close:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-close:focus,
  .uk-card-secondary.uk-card-body .uk-close:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-close:focus,
  .uk-overlay-primary .uk-close:focus,
  .uk-offcanvas-bar .uk-close:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-totop, .uk-section-primary:not(.uk-preserve-color) .uk-totop, .uk-section-secondary:not(.uk-preserve-color) .uk-totop, .uk-tile-primary:not(.uk-preserve-color) .uk-totop, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop, .uk-card-primary.uk-card-body .uk-totop, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop, .uk-card-secondary.uk-card-body .uk-totop, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop, .uk-overlay-primary .uk-totop, .uk-offcanvas-bar .uk-totop {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-totop:hover, .uk-section-primary:not(.uk-preserve-color) .uk-totop:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-totop:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-totop:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:hover, .uk-card-primary.uk-card-body .uk-totop:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:hover, .uk-card-secondary.uk-card-body .uk-totop:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:hover, .uk-overlay-primary .uk-totop:hover, .uk-offcanvas-bar .uk-totop:hover,
  .uk-light .uk-totop:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-totop:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-totop:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-totop:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:focus,
  .uk-card-primary.uk-card-body .uk-totop:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:focus,
  .uk-card-secondary.uk-card-body .uk-totop:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:focus,
  .uk-overlay-primary .uk-totop:focus,
  .uk-offcanvas-bar .uk-totop:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-totop:active, .uk-section-primary:not(.uk-preserve-color) .uk-totop:active, .uk-section-secondary:not(.uk-preserve-color) .uk-totop:active, .uk-tile-primary:not(.uk-preserve-color) .uk-totop:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:active, .uk-card-primary.uk-card-body .uk-totop:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:active, .uk-card-secondary.uk-card-body .uk-totop:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:active, .uk-overlay-primary .uk-totop:active, .uk-offcanvas-bar .uk-totop:active {
    color: #fff; }
  .uk-light .uk-badge, .uk-section-primary:not(.uk-preserve-color) .uk-badge, .uk-section-secondary:not(.uk-preserve-color) .uk-badge, .uk-tile-primary:not(.uk-preserve-color) .uk-badge, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge, .uk-card-primary.uk-card-body .uk-badge, .uk-card-primary > :not([class*='uk-card-media']) .uk-badge, .uk-card-secondary.uk-card-body .uk-badge, .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge, .uk-overlay-primary .uk-badge, .uk-offcanvas-bar .uk-badge {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-badge:hover, .uk-section-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-card-primary.uk-card-body .uk-badge:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-badge:hover, .uk-card-secondary.uk-card-body .uk-badge:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge:hover, .uk-overlay-primary .uk-badge:hover, .uk-offcanvas-bar .uk-badge:hover,
  .uk-light .uk-badge:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-badge:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-badge:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-badge:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-badge:focus,
  .uk-card-primary.uk-card-body .uk-badge:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-badge:focus,
  .uk-card-secondary.uk-card-body .uk-badge:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge:focus,
  .uk-overlay-primary .uk-badge:focus,
  .uk-offcanvas-bar .uk-badge:focus {
    color: #666; }
  .uk-light .uk-label, .uk-section-primary:not(.uk-preserve-color) .uk-label, .uk-section-secondary:not(.uk-preserve-color) .uk-label, .uk-tile-primary:not(.uk-preserve-color) .uk-label, .uk-tile-secondary:not(.uk-preserve-color) .uk-label, .uk-card-primary.uk-card-body .uk-label, .uk-card-primary > :not([class*='uk-card-media']) .uk-label, .uk-card-secondary.uk-card-body .uk-label, .uk-card-secondary > :not([class*='uk-card-media']) .uk-label, .uk-overlay-primary .uk-label, .uk-offcanvas-bar .uk-label {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-article-meta, .uk-section-primary:not(.uk-preserve-color) .uk-article-meta, .uk-section-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-primary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-card-primary.uk-card-body .uk-article-meta, .uk-card-primary > :not([class*='uk-card-media']) .uk-article-meta, .uk-card-secondary.uk-card-body .uk-article-meta, .uk-card-secondary > :not([class*='uk-card-media']) .uk-article-meta, .uk-overlay-primary .uk-article-meta, .uk-offcanvas-bar .uk-article-meta {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input, .uk-card-primary.uk-card-body .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input, .uk-overlay-primary .uk-search-input, .uk-offcanvas-bar .uk-search-input {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-search-input:-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-search-input:-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input:-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-search-input:-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input:-ms-input-placeholder, .uk-overlay-primary .uk-search-input:-ms-input-placeholder, .uk-offcanvas-bar .uk-search-input:-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.5) !important; }
  .uk-light .uk-search-input::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-card-primary.uk-card-body .uk-search-input::placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::placeholder, .uk-card-secondary.uk-card-body .uk-search-input::placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::placeholder, .uk-overlay-primary .uk-search-input::placeholder, .uk-offcanvas-bar .uk-search-input::placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search .uk-search-icon, .uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-card-primary.uk-card-body .uk-search .uk-search-icon, .uk-card-primary > :not([class*='uk-card-media']) .uk-search .uk-search-icon, .uk-card-secondary.uk-card-body .uk-search .uk-search-icon, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search .uk-search-icon, .uk-overlay-primary .uk-search .uk-search-icon, .uk-offcanvas-bar .uk-search .uk-search-icon {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search .uk-search-icon:hover, .uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-card-primary.uk-card-body .uk-search .uk-search-icon:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-search .uk-search-icon:hover, .uk-card-secondary.uk-card-body .uk-search .uk-search-icon:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search .uk-search-icon:hover, .uk-overlay-primary .uk-search .uk-search-icon:hover, .uk-offcanvas-bar .uk-search .uk-search-icon:hover {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search-default .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-card-primary.uk-card-body .uk-search-default .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-default .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input, .uk-overlay-primary .uk-search-default .uk-search-input, .uk-offcanvas-bar .uk-search-default .uk-search-input {
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-search-default .uk-search-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-card-primary.uk-card-body .uk-search-default .uk-search-input:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input:focus, .uk-card-secondary.uk-card-body .uk-search-default .uk-search-input:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input:focus, .uk-overlay-primary .uk-search-default .uk-search-input:focus, .uk-offcanvas-bar .uk-search-default .uk-search-input:focus {
    background-color: transparent; }
  .uk-light .uk-search-navbar .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-card-primary.uk-card-body .uk-search-navbar .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-navbar .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-navbar .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-navbar .uk-search-input, .uk-overlay-primary .uk-search-navbar .uk-search-input, .uk-offcanvas-bar .uk-search-navbar .uk-search-input {
    background-color: transparent; }
  .uk-light .uk-search-large .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-card-primary.uk-card-body .uk-search-large .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-large .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-large .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-large .uk-search-input, .uk-overlay-primary .uk-search-large .uk-search-input, .uk-offcanvas-bar .uk-search-large .uk-search-input {
    background-color: transparent; }
  .uk-light .uk-search-toggle, .uk-section-primary:not(.uk-preserve-color) .uk-search-toggle, .uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle, .uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle, .uk-card-primary.uk-card-body .uk-search-toggle, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-toggle, .uk-card-secondary.uk-card-body .uk-search-toggle, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-toggle, .uk-overlay-primary .uk-search-toggle, .uk-offcanvas-bar .uk-search-toggle {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search-toggle:hover, .uk-section-primary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-card-primary.uk-card-body .uk-search-toggle:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-toggle:hover, .uk-card-secondary.uk-card-body .uk-search-toggle:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-toggle:hover, .uk-overlay-primary .uk-search-toggle:hover, .uk-offcanvas-bar .uk-search-toggle:hover,
  .uk-light .uk-search-toggle:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-search-toggle:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle:focus,
  .uk-card-primary.uk-card-body .uk-search-toggle:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-search-toggle:focus,
  .uk-card-secondary.uk-card-body .uk-search-toggle:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-toggle:focus,
  .uk-overlay-primary .uk-search-toggle:focus,
  .uk-offcanvas-bar .uk-search-toggle:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-nav-parent-icon > .uk-parent > a::after, .uk-section-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-primary.uk-card-body .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-secondary.uk-card-body .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent > a::after, .uk-overlay-primary .uk-nav-parent-icon > .uk-parent > a::after, .uk-offcanvas-bar .uk-nav-parent-icon > .uk-parent > a::after {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.7)%22%20stroke-width%3D%221.1%22%20points%3D%2210%201%204%207%2010%2013%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  .uk-light .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-section-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-primary.uk-card-body .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-secondary.uk-card-body .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-overlay-primary .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-offcanvas-bar .uk-nav-parent-icon > .uk-parent.uk-open > a::after {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.7)%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  .uk-light .uk-nav-default > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-card-primary.uk-card-body .uk-nav-default > li > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li > a, .uk-card-secondary.uk-card-body .uk-nav-default > li > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li > a, .uk-overlay-primary .uk-nav-default > li > a, .uk-offcanvas-bar .uk-nav-default > li > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-nav-default > li > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-card-primary.uk-card-body .uk-nav-default > li > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li > a:hover, .uk-card-secondary.uk-card-body .uk-nav-default > li > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li > a:hover, .uk-overlay-primary .uk-nav-default > li > a:hover, .uk-offcanvas-bar .uk-nav-default > li > a:hover,
  .uk-light .uk-nav-default > li > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
  .uk-card-primary.uk-card-body .uk-nav-default > li > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li > a:focus,
  .uk-card-secondary.uk-card-body .uk-nav-default > li > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li > a:focus,
  .uk-overlay-primary .uk-nav-default > li > a:focus,
  .uk-offcanvas-bar .uk-nav-default > li > a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-nav-default > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-default > li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-default > li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li.uk-active > a, .uk-overlay-primary .uk-nav-default > li.uk-active > a, .uk-offcanvas-bar .uk-nav-default > li.uk-active > a {
    color: #fff; }
  .uk-light .uk-nav-default .uk-nav-header, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-header, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-header, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-header, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-header, .uk-overlay-primary .uk-nav-default .uk-nav-header, .uk-offcanvas-bar .uk-nav-default .uk-nav-header {
    color: #fff; }
  .uk-light .uk-nav-default .uk-nav-divider, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-divider, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-divider, .uk-overlay-primary .uk-nav-default .uk-nav-divider, .uk-offcanvas-bar .uk-nav-default .uk-nav-divider {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-nav-default .uk-nav-sub a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a, .uk-overlay-primary .uk-nav-default .uk-nav-sub a, .uk-offcanvas-bar .uk-nav-default .uk-nav-sub a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-nav-default .uk-nav-sub a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:hover, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:hover, .uk-overlay-primary .uk-nav-default .uk-nav-sub a:hover, .uk-offcanvas-bar .uk-nav-default .uk-nav-sub a:hover,
  .uk-light .uk-nav-default .uk-nav-sub a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
  .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:focus,
  .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:focus,
  .uk-overlay-primary .uk-nav-default .uk-nav-sub a:focus,
  .uk-offcanvas-bar .uk-nav-default .uk-nav-sub a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-overlay-primary .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-offcanvas-bar .uk-nav-default .uk-nav-sub li.uk-active > a {
    color: #fff; }
  .uk-light .uk-nav-primary > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-card-primary.uk-card-body .uk-nav-primary > li > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li > a, .uk-card-secondary.uk-card-body .uk-nav-primary > li > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li > a, .uk-overlay-primary .uk-nav-primary > li > a, .uk-offcanvas-bar .uk-nav-primary > li > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-nav-primary > li > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-card-primary.uk-card-body .uk-nav-primary > li > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:hover, .uk-card-secondary.uk-card-body .uk-nav-primary > li > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:hover, .uk-overlay-primary .uk-nav-primary > li > a:hover, .uk-offcanvas-bar .uk-nav-primary > li > a:hover,
  .uk-light .uk-nav-primary > li > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
  .uk-card-primary.uk-card-body .uk-nav-primary > li > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:focus,
  .uk-card-secondary.uk-card-body .uk-nav-primary > li > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:focus,
  .uk-overlay-primary .uk-nav-primary > li > a:focus,
  .uk-offcanvas-bar .uk-nav-primary > li > a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-nav-primary > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-primary > li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-primary > li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li.uk-active > a, .uk-overlay-primary .uk-nav-primary > li.uk-active > a, .uk-offcanvas-bar .uk-nav-primary > li.uk-active > a {
    color: #fff; }
  .uk-light .uk-nav-primary .uk-nav-header, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-header, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-header, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-header, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-header, .uk-overlay-primary .uk-nav-primary .uk-nav-header, .uk-offcanvas-bar .uk-nav-primary .uk-nav-header {
    color: #fff; }
  .uk-light .uk-nav-primary .uk-nav-divider, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-divider, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-divider, .uk-overlay-primary .uk-nav-primary .uk-nav-divider, .uk-offcanvas-bar .uk-nav-primary .uk-nav-divider {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-nav-primary .uk-nav-sub a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a, .uk-overlay-primary .uk-nav-primary .uk-nav-sub a, .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-nav-primary .uk-nav-sub a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:hover, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:hover, .uk-overlay-primary .uk-nav-primary .uk-nav-sub a:hover, .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a:hover,
  .uk-light .uk-nav-primary .uk-nav-sub a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
  .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:focus,
  .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:focus,
  .uk-overlay-primary .uk-nav-primary .uk-nav-sub a:focus,
  .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-overlay-primary .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub li.uk-active > a {
    color: #fff; }
  .uk-light .uk-navbar-nav > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a, .uk-overlay-primary .uk-navbar-nav > li > a, .uk-offcanvas-bar .uk-navbar-nav > li > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-navbar-nav > li:hover > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li:hover > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li:hover > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li:hover > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li:hover > a, .uk-overlay-primary .uk-navbar-nav > li:hover > a, .uk-offcanvas-bar .uk-navbar-nav > li:hover > a,
  .uk-light .uk-navbar-nav > li > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
  .uk-card-primary.uk-card-body .uk-navbar-nav > li > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:focus,
  .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:focus,
  .uk-overlay-primary .uk-navbar-nav > li > a:focus,
  .uk-offcanvas-bar .uk-navbar-nav > li > a:focus,
  .uk-light .uk-navbar-nav > li > a.uk-open,
  .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
  .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
  .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
  .uk-card-primary.uk-card-body .uk-navbar-nav > li > a.uk-open,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a.uk-open,
  .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a.uk-open,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a.uk-open,
  .uk-overlay-primary .uk-navbar-nav > li > a.uk-open,
  .uk-offcanvas-bar .uk-navbar-nav > li > a.uk-open {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-navbar-nav > li > a:active, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-card-primary.uk-card-body .uk-navbar-nav > li > a:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:active, .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:active, .uk-overlay-primary .uk-navbar-nav > li > a:active, .uk-offcanvas-bar .uk-navbar-nav > li > a:active {
    color: #fff; }
  .uk-light .uk-navbar-nav > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li.uk-active > a, .uk-overlay-primary .uk-navbar-nav > li.uk-active > a, .uk-offcanvas-bar .uk-navbar-nav > li.uk-active > a {
    color: #fff; }
  .uk-light .uk-navbar-item, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-item, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-item, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-item, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-item, .uk-card-primary.uk-card-body .uk-navbar-item, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-item, .uk-card-secondary.uk-card-body .uk-navbar-item, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-item, .uk-overlay-primary .uk-navbar-item, .uk-offcanvas-bar .uk-navbar-item {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-navbar-toggle, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-card-primary.uk-card-body .uk-navbar-toggle, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle, .uk-card-secondary.uk-card-body .uk-navbar-toggle, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle, .uk-overlay-primary .uk-navbar-toggle, .uk-offcanvas-bar .uk-navbar-toggle {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-navbar-toggle:hover, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-card-primary.uk-card-body .uk-navbar-toggle:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle:hover, .uk-card-secondary.uk-card-body .uk-navbar-toggle:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle:hover, .uk-overlay-primary .uk-navbar-toggle:hover, .uk-offcanvas-bar .uk-navbar-toggle:hover,
  .uk-light .uk-navbar-toggle:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
  .uk-card-primary.uk-card-body .uk-navbar-toggle:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle:focus,
  .uk-card-secondary.uk-card-body .uk-navbar-toggle:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle:focus,
  .uk-overlay-primary .uk-navbar-toggle:focus,
  .uk-offcanvas-bar .uk-navbar-toggle:focus,
  .uk-light .uk-navbar-toggle.uk-open,
  .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
  .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
  .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
  .uk-card-primary.uk-card-body .uk-navbar-toggle.uk-open,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle.uk-open,
  .uk-card-secondary.uk-card-body .uk-navbar-toggle.uk-open,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle.uk-open,
  .uk-overlay-primary .uk-navbar-toggle.uk-open,
  .uk-offcanvas-bar .uk-navbar-toggle.uk-open {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-subnav > * > :first-child, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-card-primary.uk-card-body .uk-subnav > * > :first-child, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > * > :first-child, .uk-card-secondary.uk-card-body .uk-subnav > * > :first-child, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > * > :first-child, .uk-overlay-primary .uk-subnav > * > :first-child, .uk-offcanvas-bar .uk-subnav > * > :first-child {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-subnav > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-card-primary.uk-card-body .uk-subnav > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > * > a:hover, .uk-card-secondary.uk-card-body .uk-subnav > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > * > a:hover, .uk-overlay-primary .uk-subnav > * > a:hover, .uk-offcanvas-bar .uk-subnav > * > a:hover,
  .uk-light .uk-subnav > * > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
  .uk-card-primary.uk-card-body .uk-subnav > * > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > * > a:focus,
  .uk-card-secondary.uk-card-body .uk-subnav > * > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > * > a:focus,
  .uk-overlay-primary .uk-subnav > * > a:focus,
  .uk-offcanvas-bar .uk-subnav > * > a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-subnav > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-card-primary.uk-card-body .uk-subnav > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > .uk-active > a, .uk-card-secondary.uk-card-body .uk-subnav > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > .uk-active > a, .uk-overlay-primary .uk-subnav > .uk-active > a, .uk-offcanvas-bar .uk-subnav > .uk-active > a {
    color: #fff; }
  .uk-light .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-overlay-primary .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-offcanvas-bar .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
    border-left-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-subnav-pill > * > :first-child, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-card-primary.uk-card-body .uk-subnav-pill > * > :first-child, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > :first-child, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > :first-child, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > :first-child, .uk-overlay-primary .uk-subnav-pill > * > :first-child, .uk-offcanvas-bar .uk-subnav-pill > * > :first-child {
    background-color: transparent;
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-subnav-pill > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-card-primary.uk-card-body .uk-subnav-pill > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:hover, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:hover, .uk-overlay-primary .uk-subnav-pill > * > a:hover, .uk-offcanvas-bar .uk-subnav-pill > * > a:hover,
  .uk-light .uk-subnav-pill > * > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
  .uk-card-primary.uk-card-body .uk-subnav-pill > * > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:focus,
  .uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:focus,
  .uk-overlay-primary .uk-subnav-pill > * > a:focus,
  .uk-offcanvas-bar .uk-subnav-pill > * > a:focus {
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-subnav-pill > * > a:active, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-card-primary.uk-card-body .uk-subnav-pill > * > a:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:active, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:active, .uk-overlay-primary .uk-subnav-pill > * > a:active, .uk-offcanvas-bar .uk-subnav-pill > * > a:active {
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-subnav-pill > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-card-primary.uk-card-body .uk-subnav-pill > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > .uk-active > a, .uk-card-secondary.uk-card-body .uk-subnav-pill > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > .uk-active > a, .uk-overlay-primary .uk-subnav-pill > .uk-active > a, .uk-offcanvas-bar .uk-subnav-pill > .uk-active > a {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-subnav > .uk-disabled > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-card-primary.uk-card-body .uk-subnav > .uk-disabled > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > .uk-disabled > a, .uk-card-secondary.uk-card-body .uk-subnav > .uk-disabled > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > .uk-disabled > a, .uk-overlay-primary .uk-subnav > .uk-disabled > a, .uk-offcanvas-bar .uk-subnav > .uk-disabled > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-breadcrumb > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-card-primary.uk-card-body .uk-breadcrumb > * > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > * > *, .uk-card-secondary.uk-card-body .uk-breadcrumb > * > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > * > *, .uk-overlay-primary .uk-breadcrumb > * > *, .uk-offcanvas-bar .uk-breadcrumb > * > * {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-breadcrumb > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-card-primary.uk-card-body .uk-breadcrumb > * > :hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :hover, .uk-card-secondary.uk-card-body .uk-breadcrumb > * > :hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :hover, .uk-overlay-primary .uk-breadcrumb > * > :hover, .uk-offcanvas-bar .uk-breadcrumb > * > :hover,
  .uk-light .uk-breadcrumb > * > :focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
  .uk-card-primary.uk-card-body .uk-breadcrumb > * > :focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :focus,
  .uk-card-secondary.uk-card-body .uk-breadcrumb > * > :focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :focus,
  .uk-overlay-primary .uk-breadcrumb > * > :focus,
  .uk-offcanvas-bar .uk-breadcrumb > * > :focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-breadcrumb > :last-child > *, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-card-primary.uk-card-body .uk-breadcrumb > :last-child > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > :last-child > *, .uk-card-secondary.uk-card-body .uk-breadcrumb > :last-child > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > :last-child > *, .uk-overlay-primary .uk-breadcrumb > :last-child > *, .uk-offcanvas-bar .uk-breadcrumb > :last-child > * {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-overlay-primary .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-offcanvas-bar .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-pagination > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-card-primary.uk-card-body .uk-pagination > * > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > * > *, .uk-card-secondary.uk-card-body .uk-pagination > * > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > * > *, .uk-overlay-primary .uk-pagination > * > *, .uk-offcanvas-bar .uk-pagination > * > * {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-pagination > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-card-primary.uk-card-body .uk-pagination > * > :hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > * > :hover, .uk-card-secondary.uk-card-body .uk-pagination > * > :hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > * > :hover, .uk-overlay-primary .uk-pagination > * > :hover, .uk-offcanvas-bar .uk-pagination > * > :hover,
  .uk-light .uk-pagination > * > :focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > :focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > :focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > :focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > :focus,
  .uk-card-primary.uk-card-body .uk-pagination > * > :focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > * > :focus,
  .uk-card-secondary.uk-card-body .uk-pagination > * > :focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > * > :focus,
  .uk-overlay-primary .uk-pagination > * > :focus,
  .uk-offcanvas-bar .uk-pagination > * > :focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-pagination > .uk-active > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-card-primary.uk-card-body .uk-pagination > .uk-active > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > .uk-active > *, .uk-card-secondary.uk-card-body .uk-pagination > .uk-active > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > .uk-active > *, .uk-overlay-primary .uk-pagination > .uk-active > *, .uk-offcanvas-bar .uk-pagination > .uk-active > * {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-pagination > .uk-disabled > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-card-primary.uk-card-body .uk-pagination > .uk-disabled > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > .uk-disabled > *, .uk-card-secondary.uk-card-body .uk-pagination > .uk-disabled > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > .uk-disabled > *, .uk-overlay-primary .uk-pagination > .uk-disabled > *, .uk-offcanvas-bar .uk-pagination > .uk-disabled > * {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-tab::before, .uk-section-primary:not(.uk-preserve-color) .uk-tab::before, .uk-section-secondary:not(.uk-preserve-color) .uk-tab::before, .uk-tile-primary:not(.uk-preserve-color) .uk-tab::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab::before, .uk-card-primary.uk-card-body .uk-tab::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab::before, .uk-card-secondary.uk-card-body .uk-tab::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab::before, .uk-overlay-primary .uk-tab::before, .uk-offcanvas-bar .uk-tab::before {
    border-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-tab > * > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a, .uk-card-primary.uk-card-body .uk-tab > * > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > * > a, .uk-card-secondary.uk-card-body .uk-tab > * > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > * > a, .uk-overlay-primary .uk-tab > * > a, .uk-offcanvas-bar .uk-tab > * > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-tab > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-card-primary.uk-card-body .uk-tab > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > * > a:hover, .uk-card-secondary.uk-card-body .uk-tab > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > * > a:hover, .uk-overlay-primary .uk-tab > * > a:hover, .uk-offcanvas-bar .uk-tab > * > a:hover,
  .uk-light .uk-tab > * > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a:focus,
  .uk-card-primary.uk-card-body .uk-tab > * > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > * > a:focus,
  .uk-card-secondary.uk-card-body .uk-tab > * > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > * > a:focus,
  .uk-overlay-primary .uk-tab > * > a:focus,
  .uk-offcanvas-bar .uk-tab > * > a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-tab > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-card-primary.uk-card-body .uk-tab > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > .uk-active > a, .uk-card-secondary.uk-card-body .uk-tab > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > .uk-active > a, .uk-overlay-primary .uk-tab > .uk-active > a, .uk-offcanvas-bar .uk-tab > .uk-active > a {
    color: #fff;
    border-color: #fff; }
  .uk-light .uk-tab > .uk-disabled > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-card-primary.uk-card-body .uk-tab > .uk-disabled > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > .uk-disabled > a, .uk-card-secondary.uk-card-body .uk-tab > .uk-disabled > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > .uk-disabled > a, .uk-overlay-primary .uk-tab > .uk-disabled > a, .uk-offcanvas-bar .uk-tab > .uk-disabled > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-slidenav, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav, .uk-card-primary.uk-card-body .uk-slidenav, .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav, .uk-card-secondary.uk-card-body .uk-slidenav, .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav, .uk-overlay-primary .uk-slidenav, .uk-offcanvas-bar .uk-slidenav {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-slidenav:hover, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-card-primary.uk-card-body .uk-slidenav:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav:hover, .uk-card-secondary.uk-card-body .uk-slidenav:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav:hover, .uk-overlay-primary .uk-slidenav:hover, .uk-offcanvas-bar .uk-slidenav:hover,
  .uk-light .uk-slidenav:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-slidenav:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:focus,
  .uk-card-primary.uk-card-body .uk-slidenav:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav:focus,
  .uk-card-secondary.uk-card-body .uk-slidenav:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav:focus,
  .uk-overlay-primary .uk-slidenav:focus,
  .uk-offcanvas-bar .uk-slidenav:focus {
    color: rgba(255, 255, 255, 0.95); }
  .uk-light .uk-slidenav:active, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav:active, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:active, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:active, .uk-card-primary.uk-card-body .uk-slidenav:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav:active, .uk-card-secondary.uk-card-body .uk-slidenav:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav:active, .uk-overlay-primary .uk-slidenav:active, .uk-offcanvas-bar .uk-slidenav:active {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-dotnav > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-card-primary.uk-card-body .uk-dotnav > * > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > *, .uk-card-secondary.uk-card-body .uk-dotnav > * > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > *, .uk-overlay-primary .uk-dotnav > * > *, .uk-offcanvas-bar .uk-dotnav > * > * {
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.9); }
  .uk-light .uk-dotnav > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-card-primary.uk-card-body .uk-dotnav > * > :hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > :hover, .uk-card-secondary.uk-card-body .uk-dotnav > * > :hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > :hover, .uk-overlay-primary .uk-dotnav > * > :hover, .uk-offcanvas-bar .uk-dotnav > * > :hover,
  .uk-light .uk-dotnav > * > :focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
  .uk-card-primary.uk-card-body .uk-dotnav > * > :focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > :focus,
  .uk-card-secondary.uk-card-body .uk-dotnav > * > :focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > :focus,
  .uk-overlay-primary .uk-dotnav > * > :focus,
  .uk-offcanvas-bar .uk-dotnav > * > :focus {
    background-color: rgba(255, 255, 255, 0.9);
    border-color: transparent; }
  .uk-light .uk-dotnav > * > :active, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-card-primary.uk-card-body .uk-dotnav > * > :active, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > :active, .uk-card-secondary.uk-card-body .uk-dotnav > * > :active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > :active, .uk-overlay-primary .uk-dotnav > * > :active, .uk-offcanvas-bar .uk-dotnav > * > :active {
    background-color: rgba(255, 255, 255, 0.5);
    border-color: transparent; }
  .uk-light .uk-dotnav > .uk-active > *, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-card-primary.uk-card-body .uk-dotnav > .uk-active > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > .uk-active > *, .uk-card-secondary.uk-card-body .uk-dotnav > .uk-active > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > .uk-active > *, .uk-overlay-primary .uk-dotnav > .uk-active > *, .uk-offcanvas-bar .uk-dotnav > .uk-active > * {
    background-color: rgba(255, 255, 255, 0.9);
    border-color: transparent; }
  .uk-light .uk-accordion-title::before, .uk-section-primary:not(.uk-preserve-color) .uk-accordion-title::before, .uk-section-secondary:not(.uk-preserve-color) .uk-accordion-title::before, .uk-tile-primary:not(.uk-preserve-color) .uk-accordion-title::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-accordion-title::before, .uk-card-primary.uk-card-body .uk-accordion-title::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-accordion-title::before, .uk-card-secondary.uk-card-body .uk-accordion-title::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-accordion-title::before, .uk-overlay-primary .uk-accordion-title::before, .uk-offcanvas-bar .uk-accordion-title::before {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  .uk-light .uk-open > .uk-accordion-title::before, .uk-section-primary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::before, .uk-section-secondary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::before, .uk-tile-primary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::before, .uk-card-primary.uk-card-body .uk-open > .uk-accordion-title::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-open > .uk-accordion-title::before, .uk-card-secondary.uk-card-body .uk-open > .uk-accordion-title::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-open > .uk-accordion-title::before, .uk-overlay-primary .uk-open > .uk-accordion-title::before, .uk-offcanvas-bar .uk-open > .uk-accordion-title::before {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  .uk-light .uk-iconnav > * > a, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-card-primary.uk-card-body .uk-iconnav > * > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > a, .uk-card-secondary.uk-card-body .uk-iconnav > * > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > a, .uk-overlay-primary .uk-iconnav > * > a, .uk-offcanvas-bar .uk-iconnav > * > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-iconnav > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-card-primary.uk-card-body .uk-iconnav > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > a:hover, .uk-card-secondary.uk-card-body .uk-iconnav > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > a:hover, .uk-overlay-primary .uk-iconnav > * > a:hover, .uk-offcanvas-bar .uk-iconnav > * > a:hover,
  .uk-light .uk-iconnav > * > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
  .uk-card-primary.uk-card-body .uk-iconnav > * > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > a:focus,
  .uk-card-secondary.uk-card-body .uk-iconnav > * > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > a:focus,
  .uk-overlay-primary .uk-iconnav > * > a:focus,
  .uk-offcanvas-bar .uk-iconnav > * > a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-iconnav > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-card-primary.uk-card-body .uk-iconnav > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > a, .uk-card-secondary.uk-card-body .uk-iconnav > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > a, .uk-overlay-primary .uk-iconnav > .uk-active > a, .uk-offcanvas-bar .uk-iconnav > .uk-active > a {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-text-lead, .uk-section-primary:not(.uk-preserve-color) .uk-text-lead, .uk-section-secondary:not(.uk-preserve-color) .uk-text-lead, .uk-tile-primary:not(.uk-preserve-color) .uk-text-lead, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-lead, .uk-card-primary.uk-card-body .uk-text-lead, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-lead, .uk-card-secondary.uk-card-body .uk-text-lead, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-lead, .uk-overlay-primary .uk-text-lead, .uk-offcanvas-bar .uk-text-lead {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-text-meta, .uk-section-primary:not(.uk-preserve-color) .uk-text-meta, .uk-section-secondary:not(.uk-preserve-color) .uk-text-meta, .uk-tile-primary:not(.uk-preserve-color) .uk-text-meta, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-meta, .uk-card-primary.uk-card-body .uk-text-meta, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-meta, .uk-card-secondary.uk-card-body .uk-text-meta, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-meta, .uk-overlay-primary .uk-text-meta, .uk-offcanvas-bar .uk-text-meta {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-text-muted, .uk-section-primary:not(.uk-preserve-color) .uk-text-muted, .uk-section-secondary:not(.uk-preserve-color) .uk-text-muted, .uk-tile-primary:not(.uk-preserve-color) .uk-text-muted, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-muted, .uk-card-primary.uk-card-body .uk-text-muted, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-muted, .uk-card-secondary.uk-card-body .uk-text-muted, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-muted, .uk-overlay-primary .uk-text-muted, .uk-offcanvas-bar .uk-text-muted {
    color: rgba(255, 255, 255, 0.5) !important; }
  .uk-light .uk-text-emphasis, .uk-section-primary:not(.uk-preserve-color) .uk-text-emphasis, .uk-section-secondary:not(.uk-preserve-color) .uk-text-emphasis, .uk-tile-primary:not(.uk-preserve-color) .uk-text-emphasis, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-emphasis, .uk-card-primary.uk-card-body .uk-text-emphasis, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-emphasis, .uk-card-secondary.uk-card-body .uk-text-emphasis, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-emphasis, .uk-overlay-primary .uk-text-emphasis, .uk-offcanvas-bar .uk-text-emphasis {
    color: #fff !important; }
  .uk-light .uk-text-primary, .uk-section-primary:not(.uk-preserve-color) .uk-text-primary, .uk-section-secondary:not(.uk-preserve-color) .uk-text-primary, .uk-tile-primary:not(.uk-preserve-color) .uk-text-primary, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-primary, .uk-card-primary.uk-card-body .uk-text-primary, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-primary, .uk-card-secondary.uk-card-body .uk-text-primary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-primary, .uk-overlay-primary .uk-text-primary, .uk-offcanvas-bar .uk-text-primary {
    color: #fff !important; }
  .uk-light .uk-text-secondary, .uk-section-primary:not(.uk-preserve-color) .uk-text-secondary, .uk-section-secondary:not(.uk-preserve-color) .uk-text-secondary, .uk-tile-primary:not(.uk-preserve-color) .uk-text-secondary, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-secondary, .uk-card-primary.uk-card-body .uk-text-secondary, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-secondary, .uk-card-secondary.uk-card-body .uk-text-secondary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-secondary, .uk-overlay-primary .uk-text-secondary, .uk-offcanvas-bar .uk-text-secondary {
    color: #fff !important; }
  .uk-light .uk-column-divider, .uk-section-primary:not(.uk-preserve-color) .uk-column-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-column-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-column-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-column-divider, .uk-card-primary.uk-card-body .uk-column-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-column-divider, .uk-card-secondary.uk-card-body .uk-column-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-column-divider, .uk-overlay-primary .uk-column-divider, .uk-offcanvas-bar .uk-column-divider {
    column-rule-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-logo, .uk-section-primary:not(.uk-preserve-color) .uk-logo, .uk-section-secondary:not(.uk-preserve-color) .uk-logo, .uk-tile-primary:not(.uk-preserve-color) .uk-logo, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo, .uk-card-primary.uk-card-body .uk-logo, .uk-card-primary > :not([class*='uk-card-media']) .uk-logo, .uk-card-secondary.uk-card-body .uk-logo, .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo, .uk-overlay-primary .uk-logo, .uk-offcanvas-bar .uk-logo {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-logo:hover, .uk-section-primary:not(.uk-preserve-color) .uk-logo:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-logo:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-logo:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo:hover, .uk-card-primary.uk-card-body .uk-logo:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-logo:hover, .uk-card-secondary.uk-card-body .uk-logo:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo:hover, .uk-overlay-primary .uk-logo:hover, .uk-offcanvas-bar .uk-logo:hover,
  .uk-light .uk-logo:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-logo:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-logo:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-logo:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-logo:focus,
  .uk-card-primary.uk-card-body .uk-logo:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-logo:focus,
  .uk-card-secondary.uk-card-body .uk-logo:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo:focus,
  .uk-overlay-primary .uk-logo:focus,
  .uk-offcanvas-bar .uk-logo:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-section-primary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-section-secondary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-tile-primary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-tile-secondary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-primary.uk-card-body .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-primary > :not([class*='uk-card-media']) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-secondary.uk-card-body .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-overlay-primary .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-offcanvas-bar .uk-logo > :not(.uk-logo-inverse):not(:only-of-type) {
    display: none; }
  .uk-light .uk-logo-inverse, .uk-section-primary:not(.uk-preserve-color) .uk-logo-inverse, .uk-section-secondary:not(.uk-preserve-color) .uk-logo-inverse, .uk-tile-primary:not(.uk-preserve-color) .uk-logo-inverse, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo-inverse, .uk-card-primary.uk-card-body .uk-logo-inverse, .uk-card-primary > :not([class*='uk-card-media']) .uk-logo-inverse, .uk-card-secondary.uk-card-body .uk-logo-inverse, .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo-inverse, .uk-overlay-primary .uk-logo-inverse, .uk-offcanvas-bar .uk-logo-inverse {
    display: inline; }

/* ========================================================================
   Component: Print
 ========================================================================== */
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

html {
  font-family: 'Fira Sans Condensed', sans-serif; }

h1, .uk-h1,
h2, .uk-h2,
h3, .uk-h3,
h4, .uk-h4,
h5, .uk-h5,
h6, .uk-h6,
.uk-heading-small,
.uk-heading-medium,
.uk-heading-large,
.uk-heading-xlarge,
.uk-heading-2xlarge {
  font-family: 'Fira Sans Condensed', sans-serif; }

.uk-navbar-container:not(.uk-navbar-transparent) {
  background-color: #004899;
  background-image: linear-gradient(to top right, #151F4E, #004899); }

.img-responsive {
  height: auto;
  width: auto;
  min-height: 26px;
  max-height: 30px;
  max-width: 250px; }

.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 {
  background-color: #004899;
  background-image: linear-gradient(to top right, #151F4E, #004899); }
  .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: #F39200;
    background-image: linear-gradient(to top right, #F39200, #F9AF00);
    color: #fff;
    border-radius: 6px; }
    .uk-light .uk-button-primary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-card-primary.uk-card-body .uk-button-primary:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:hover, .uk-card-secondary.uk-card-body .uk-button-primary:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:hover, .uk-overlay-primary .uk-button-primary:hover, .uk-offcanvas-bar .uk-button-primary:hover {
      background-color: #a7690b;
      background-image: linear-gradient(to top right, #dd880c, #ae7e03);
      color: #fff;
      border-radius: 6px; }

.uk-responsive-height {
  margin-left: 60px; }

.uk-navbar-right {
  margin-right: 0; }

.uk-background-cover {
  padding-bottom: 140px; }

.uk-grid-match {
  margin: 40px 0 80px 0; }

.bg-white {
  background-color: #fff; }

.uk-card-body {
  padding: 30px 40px; }

.uk-card-title {
  margin-bottom: 35px;
  margin-top: 3px;
  color: #004899; }

.h4-blue {
  color: #004899; }

@media (min-width: 480px) {
  .uk-grid + .uk-grid:nth-child(2) {
    margin-top: 0; }
  .uk-grid + .why-debbt-three + .uk-grid:nth-child(3) {
    margin-top: 40px; } }

.uk-first-header-text {
  padding: 0; }

.header-content-left {
  color: #fff;
  width: 80%; }

.uk-heading-small {
  color: #fff; }

.subtitle-header {
  margin-top: -15px; }

.long-text-header {
  color: #fff;
  font-size: 16px;
  line-height: 1.45; }

.uk-first-header-text-left {
  padding-left: 0;
  margin-top: 7px; }

@media (max-width: 480px) {
  .steps {
    width: 50%; }
  .mobile-img {
    width: 50%;
    margin-top: 20px; }
  .mobile-customers-space {
    padding-top: 30px; }
  .uk-grid > .uk-grid-margin > .mobile-customers-space-last {
    margin-top: 10px; }
  .icon-image img {
    width: 65%; }
  .space-top-button {
    padding-top: 30px; }
  .uk-card-title {
    font-size: 1.4rem; } }

@media (min-width: 480px) {
  .second-text {
    margin-left: 30px; } }

@media (min-width: 770px) {
  .step-three {
    margin-top: 0 !important; } }

@media (max-width: 800px) {
  .uk-first-header-text-right {
    padding: 0; }
  .uk-first-header-text-left {
    padding-left: 0; } }

.three-steps {
  text-align: center; }

.inputError {
  color: #ff0000; }

.error-message-e-mail {
  color: #ff0000;
  font-size: 11px;
  top: 223px;
  font-family: 'Fira Sans Condensed', sans-serif; }

.error-message-company-name {
  color: #ff0000;
  font-size: 11px;
  top: 155px;
  font-family: 'Fira Sans Condensed', sans-serif; }

.error-message-password {
  color: #ff0000;
  font-size: 11px;
  top: 290px;
  font-family: 'Fira Sans Condensed', sans-serif; }

.hidden {
  display: none; }

.uk-input,
.uk-select,
.uk-textarea,
.uk-radio,
.uk-checkbox {
  border-bottom: 1px solid #e5e5e5 !important;
  border: none;
  padding-left: 0; }

label {
  color: #999;
  position: absolute;
  pointer-events: none;
  left: 0;
  top: 10px;
  transition: 0.2s;
  font-family: 'Fira Sans Condensed', sans-serif; }

input:focus ~ label, input:valid ~ label {
  top: -12px;
  font-size: small;
  color: #004899;
  background-color: #fff;
  padding: 0 5px 0 0; }

.uk-navbar-nav > li > a {
  color: #fff; }

.uk-modal-title {
  margin-bottom: 53px;
  font-family: 'Fira Sans Condensed', sans-serif; }

.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 {
  color: #272727; }

.uk-list {
  padding-top: 20px; }

.uk-button-primary {
  background-color: #F39200;
  background-image: linear-gradient(to top right, #F39200, #F9AF00);
  color: #fff;
  border-radius: 6px; }
  .uk-button-primary:hover {
    background-color: #a7690b;
    background-image: linear-gradient(to top right, #dd880c, #ae7e03);
    color: #fff;
    border-radius: 6px; }

.uk-card {
  border-radius: 4px; }

.card-button {
  margin: 30px 0 5px 0; }

.h4-card-text {
  color: #004899;
  font-weight: 600;
  font-size: 28px;
  margin-bottom: 30px; }

.title-block {
  margin-bottom: 35px; }

.content-second-block {
  margin-bottom: -12px; }

.uk-description-list > dt {
  color: #fff; }

.step-align-left {
  text-align: left; }

.space-top-button {
  margin-top: 20px; }

.header-h2 {
  margin-bottom: 10px; }

h4.desktop-h4-cta {
  margin-top: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS5jc3MiLCJzb3VyY2VzIjpbInNpdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy92YXJpYWJsZXMtdGhlbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9taXhpbnMtdGhlbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy91aWtpdC10aGVtZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL19pbXBvcnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS92YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9iYXNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbGluay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2hlYWRpbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9kaXZpZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2Rlc2NyaXB0aW9uLWxpc3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS90YWJsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2ljb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9mb3JtLXJhbmdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvZm9ybS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2J1dHRvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3Byb2dyZXNzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvc2VjdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3RpbGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9jYXJkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvY2xvc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9zcGlubmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbWFya2VyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdG90b3Auc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9hbGVydC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3BsYWNlaG9sZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvYmFkZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL292ZXJsYXkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9hcnRpY2xlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvY29tbWVudC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3NlYXJjaC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2Ryb3Auc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9kcm9wZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL21vZGFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvc2xpZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvc3RpY2t5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvb2ZmY2FudmFzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbGVhZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbm90aWZpY2F0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdG9vbHRpcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3NvcnRhYmxlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvY291bnRkb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL25hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL25hdmJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3N1Ym5hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2JyZWFkY3J1bWIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdGFiLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvc2xpZGVuYXYuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9kb3RuYXYuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS90aHVtYm5hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2ljb25uYXYuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9saWdodGJveC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2FuaW1hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3dpZHRoLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvaGVpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2NvbHVtbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2JhY2tncm91bmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9hbGlnbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3V0aWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9tYXJnaW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9wYWRkaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS90cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvaW52ZXJzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvX2ltcG9ydC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9taXhpbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGluay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaGVhZGluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZGl2aWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZGVzY3JpcHRpb24tbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGFibGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2ljb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Zvcm0tcmFuZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Zvcm0uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2J1dHRvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NlY3Rpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGlsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY2FyZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY2xvc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NwaW5uZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RvdG9wLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9tYXJrZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FsZXJ0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wbGFjZWhvbGRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFkZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9vdmVybGF5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hcnRpY2xlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb21tZW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zZWFyY2guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZHJvcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZHJvcGRvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21vZGFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZXNob3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NsaWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc3RpY2t5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9vZmZjYW52YXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3N3aXRjaGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9sZWFkZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdG9vbHRpcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc29ydGFibGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvdW50ZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbmF2LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9uYXZiYXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3N1Ym5hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYnJlYWRjcnVtYi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGFiLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZW5hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZG90bmF2LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90aHVtYm5hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaWNvbm5hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGlnaHRib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FuaW1hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvd2lkdGguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2hlaWdodC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY29sdW1uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb3Zlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFja2dyb3VuZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYWxpZ24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3N2Zy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdXRpbGl0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZmxleC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbWFyZ2luLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wYWRkaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaW52ZXJzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcHJpbnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyAxLiBZb3VyIGN1c3RvbSB2YXJpYWJsZXMgYW5kIHZhcmlhYmxlIG92ZXJ3cml0ZXMuIERvZXNuJ3Qgd29ya1xuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAjZmZmO1xuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICNEQTdEMDI7XG4kbm9ybWFsLWJsdWUtYmFja2dyb3VuZDogIzAwNDg5OTtcbiRkYXJrLWJsdWUtYmFja2dyb3VuZDogIzE1MUY0RTtcbiRub3JtYWwtb3JhbmdlLWJhY2tncm91bmQ6ICNGMzkyMDA7XG4kbGlnaHQtb3JhbmdlLWJhY2tncm91bmQ6ICNGOUFGMDA7XG4kaG92ZXItb3JhbmdlLWJhY2tncm91bmQ6ICNhNzY5MGI7XG4kaG92ZXItYmFja2dyb3VuZC1kYXJrLW9yYW5nZTogI2FlN2UwMztcbiRob3Zlci1iYWNrZ3JvdW5kLWxpZ2h0LW9yYW5nZTogI2RkODgwYztcbiRyZWQ6ICNmZjAwMDA7XG4kd2hpdGU6ICNmZmY7XG5cbi8vIDIuIEltcG9ydCBkZWZhdWx0IHZhcmlhYmxlcyBhbmQgYXZhaWxhYmxlIG1peGlucy5cbkBpbXBvcnQgXCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdmFyaWFibGVzLXRoZW1lLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvbWl4aW5zLXRoZW1lLnNjc3NcIjtcblxuLy8gMy4gWW91ciBjdXN0b20gbWl4aW4gb3ZlcndyaXRlcy5cbkBtaXhpbiBob29rLWNhcmQoKSB7XG4gIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcbn1cblxuLy8gNC4gSW1wb3J0IFVJa2l0LlxuQGltcG9ydCBcIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy91aWtpdC10aGVtZS5zY3NzXCI7XG5cbi8vIDUuIE92ZXJ3cml0ZSBjbGFzc2VzXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6ICdGaXJhIFNhbnMgQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcbn1cblxuaDEsIC51ay1oMSwgaDIsIC51ay1oMiwgaDMsIC51ay1oMywgaDQsIC51ay1oNCwgaDUsIC51ay1oNSwgaDYsIC51ay1oNiwgLnVrLWhlYWRpbmctc21hbGwsIC51ay1oZWFkaW5nLW1lZGl1bSwgLnVrLWhlYWRpbmctbGFyZ2UsIC51ay1oZWFkaW5nLXhsYXJnZSwgLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gIGZvbnQtZmFtaWx5OiAnRmlyYSBTYW5zIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG59XG5cbi51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRub3JtYWwtYmx1ZS1iYWNrZ3JvdW5kO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wIHJpZ2h0LCAkZGFyay1ibHVlLWJhY2tncm91bmQsICRub3JtYWwtYmx1ZS1iYWNrZ3JvdW5kKTtcbn1cblxuLmltZy1yZXNwb25zaXZlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWluLWhlaWdodDogMjZweDtcbiAgbWF4LWhlaWdodDogMzBweDtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbn1cblxuLnVrLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjokbm9ybWFsLWJsdWUtYmFja2dyb3VuZDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCByaWdodCwgJGRhcmstYmx1ZS1iYWNrZ3JvdW5kLCAkbm9ybWFsLWJsdWUtYmFja2dyb3VuZCk7XG4gIC51ay1idXR0b24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5vcm1hbC1vcmFuZ2UtYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wIHJpZ2h0LCAkbm9ybWFsLW9yYW5nZS1iYWNrZ3JvdW5kLCAkbGlnaHQtb3JhbmdlLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLW9yYW5nZS1iYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCByaWdodCwgJGhvdmVyLWJhY2tncm91bmQtbGlnaHQtb3JhbmdlLCAkaG92ZXItYmFja2dyb3VuZC1kYXJrLW9yYW5nZSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIH1cbiAgfVxufVxuXG4udWstcmVzcG9uc2l2ZS1oZWlnaHQge1xuICBtYXJnaW4tbGVmdDo2MHB4O1xufVxuXG4udWstbmF2YmFyLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OjA7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWNvdmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDE0MHB4O1xufVxuXG4udWstZ3JpZC1tYXRjaCB7XG4gIG1hcmdpbjogNDBweCAwIDgwcHggMDtcbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG4udWstY2FyZC1ib2R5IHtcbiAgcGFkZGluZzogMzBweCA0MHB4O1xufVxuXG4udWstY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIG1hcmdpbi10b3A6IDNweDtcbiAgY29sb3I6ICRub3JtYWwtYmx1ZS1iYWNrZ3JvdW5kO1xufVxuXG4uaDQtYmx1ZSB7XG4gIGNvbG9yOiAkbm9ybWFsLWJsdWUtYmFja2dyb3VuZDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC51ay1ncmlkICsgLnVrLWdyaWQ6bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC51ay1ncmlkICsgLndoeS1kZWJidC10aHJlZSArIC51ay1ncmlkOm50aC1jaGlsZCgzKSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuXG4udWstZmlyc3QtaGVhZGVyLXRleHQge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uaGVhZGVyLWNvbnRlbnQtbGVmdCB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdpZHRoOiA4MCU7XG59XG5cbi51ay1oZWFkaW5nLXNtYWxsIHtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLnN1YnRpdGxlLWhlYWRlciB7XG4gIG1hcmdpbi10b3A6IC0xNXB4O1xufVxuXG4ubG9uZy10ZXh0LWhlYWRlciB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6MS40NTtcbn1cblxuLnVrLWZpcnN0LWhlYWRlci10ZXh0LWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDdweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5zdGVwcyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5tb2JpbGUtaW1nIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cblxuICAubW9iaWxlLWN1c3RvbWVycy1zcGFjZSB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gIH1cblxuICAudWstZ3JpZCA+IC51ay1ncmlkLW1hcmdpbiA+IC5tb2JpbGUtY3VzdG9tZXJzLXNwYWNlLWxhc3Qge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cblxuICAuaWNvbi1pbWFnZSB7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA2NSU7XG4gICAgfVxuICB9XG5cbiAgLnNwYWNlLXRvcC1idXR0b24ge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICB9XG5cbiAgLnVrLWNhcmQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuc2Vjb25kLXRleHQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NzBweCkge1xuICAuc3RlcC10aHJlZSB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAudWstZmlyc3QtaGVhZGVyLXRleHQtcmlnaHQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAudWstZmlyc3QtaGVhZGVyLXRleHQtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OjA7XG4gIH1cbn1cblxuLnRocmVlLXN0ZXBzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaW5wdXRFcnJvcntcbiAgY29sb3I6ICRyZWQ7XG59XG5cbi5lcnJvci1tZXNzYWdlLWUtbWFpbCB7XG4gIGNvbG9yOiAkcmVkO1xuICBmb250LXNpemU6IDExcHg7XG4gIHRvcDogMjIzcHg7XG4gIGZvbnQtZmFtaWx5OiAnRmlyYSBTYW5zIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG59XG5cbi5lcnJvci1tZXNzYWdlLWNvbXBhbnktbmFtZSB7XG4gIGNvbG9yOiAkcmVkO1xuICBmb250LXNpemU6IDExcHg7XG4gIHRvcDogMTU1cHg7XG4gIGZvbnQtZmFtaWx5OiAnRmlyYSBTYW5zIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG59XG5cbi5lcnJvci1tZXNzYWdlLXBhc3N3b3JkIHtcbiAgY29sb3I6ICRyZWQ7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgdG9wOiAyOTBweDtcbiAgZm9udC1mYW1pbHk6ICdGaXJhIFNhbnMgQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi51ay1pbnB1dCwgLnVrLXNlbGVjdCwgLnVrLXRleHRhcmVhLCAudWstcmFkaW8sIC51ay1jaGVja2JveCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5sYWJlbCB7XG4gIGNvbG9yOiAjOTk5O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBsZWZ0OiAwO1xuICB0b3A6IDEwcHg7XG4gIHRyYW5zaXRpb246IDAuMnM7XG4gIGZvbnQtZmFtaWx5OiAnRmlyYSBTYW5zIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG59XG5cbmlucHV0OmZvY3VzIH4gbGFiZWwsIGlucHV0OnZhbGlkIH4gbGFiZWwge1xuICB0b3A6IC0xMnB4O1xuICBmb250LXNpemU6IHNtYWxsO1xuICBjb2xvcjogJG5vcm1hbC1ibHVlLWJhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgcGFkZGluZzowIDVweCAwIDA7XG59XG5cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLnVrLW1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNTNweDtcbiAgZm9udC1mYW1pbHk6ICdGaXJhIFNhbnMgQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcbn1cblxuLnVrLWxpZ2h0IC51ay1pbnB1dHtcbiAgY29sb3I6ICMyNzI3Mjc7XG59XG5cbi51ay1saXN0IHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG5cbi51ay1idXR0b24tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRub3JtYWwtb3JhbmdlLWJhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AgcmlnaHQsICRub3JtYWwtb3JhbmdlLWJhY2tncm91bmQsICRsaWdodC1vcmFuZ2UtYmFja2dyb3VuZCk7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItb3JhbmdlLWJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCByaWdodCwgJGhvdmVyLWJhY2tncm91bmQtbGlnaHQtb3JhbmdlLCAkaG92ZXItYmFja2dyb3VuZC1kYXJrLW9yYW5nZSk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIH1cbn1cblxuLnVrLWNhcmQge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5jYXJkLWJ1dHRvbiB7XG4gIG1hcmdpbjogMzBweCAwIDVweCAwO1xufVxuXG4uaDQtY2FyZC10ZXh0IHtcbiAgY29sb3I6ICRub3JtYWwtYmx1ZS1iYWNrZ3JvdW5kO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDI4cHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi50aXRsZS1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG59XG5cbi5jb250ZW50LXNlY29uZC1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IC0xMnB4O1xufVxuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGR0e1xuICBjb2xvcjogJHdoaXRlO1xufVxuXG4uc3RlcC1hbGlnbi1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnNwYWNlLXRvcC1idXR0b24ge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uaGVhZGVyLWgyIHtcbiAgbWFyZ2luLWJvdHRvbToxMHB4O1xufVxuXG5oNCB7XG4gICYuZGVza3RvcC1oNC1jdGEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn0iLCIkZ2xvYmFsLW1hcmdpbjogMjBweCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taXRlbS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtY29sb3I6ICM2NjYgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1pbnZlcnNlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1jb2xvcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1ndXR0ZXI6IDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1yaWdodDogJGFsZXJ0LXBhZGRpbmcgKyAxNHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAjZjhmOGY4ICFkZWZhdWx0O1xuJGFsZXJ0LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS10b3A6ICRhbGVydC1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXJpZ2h0OiAkYWxlcnQtcGFkZGluZyAhZGVmYXVsdDtcbiRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMWU4N2YwICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQ6ICMzMmQyOTYgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQsIDQwJSksIDI1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZDogI2ZhYTA1YSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCwgNDUlKSwgMTUlKSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQ6ICNmMDUwNmUgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtZ3V0dGVyOiAzMHB4ICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tZ3V0dGVyOiA0MHB4ICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRhbmltYXRpb24tZHVyYXRpb246IDAuNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhZGUtZHVyYXRpb246IDAuOHMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXN0cm9rZS1kdXJhdGlvbjogMnMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uOiAxNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhc3QtZHVyYXRpb246IDAuMXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogMTBweCAhZGVmYXVsdDtcbiRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogNTBweCAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtbWFyZ2luOiA3MHB4ICFkZWZhdWx0O1xuJGFydGljbGUtbWFyZ2luLXRvcDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplOiAyLjYyNXJlbSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tOiAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtZm9udC1zaXplOiAkYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1mb250LXNpemU6IDAuODc1cmVtICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1jb2xvcjogIzk5OSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWJhY2tncm91bmQ6ICNmZmYgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAjMjIyICFkZWZhdWx0O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFkZ2Utc2l6ZTogMjJweCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsOiAwICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogNXB4ICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGJhZGdlLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYWRnZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1jb2xvcjogIzFlODdmMCAhZGVmYXVsdDtcbiRiYXNlLWxpbmstY29sb3I6ICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yOiAjMGY2ZWNkICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRiYXNlLXN0cm9uZy1mb250LXdlaWdodDogYm9sZGVyICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGJhc2UtY29kZS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWVtLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtaW5zLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2Utc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tbWFyZ2luOiA0MHB4ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemUtbTogJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgxLWZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZS1tOiAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemU6ICRiYXNlLWgyLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgyLWxpbmUtaGVpZ2h0OiAxLjMgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJGJhc2UtaDMtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgzLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNC1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg0LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg2LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNi1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtbGlzdC1wYWRkaW5nLWxlZnQ6IDMwcHggIWRlZmF1bHQ7XG4kYmFzZS1oci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZ2xvYmFsLWJvcmRlcjogI2U1ZTVlNSAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLW1hcmdpbjogMTBweCAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLXByZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtZmFtaWx5OiAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ6ICMzOWYgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWJvcmRlcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6IFwiL1wiICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZm9udC1zaXplOiAkYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodDogMzBweCAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQ6IDU1cHggIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ob3Zlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tbGluay1jb2xvcjogJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXRvcDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1yaWdodDogJGNhcmQtYmFkZ2UtdG9wICFkZWZhdWx0O1xuJGNhcmQtaG92ZXItYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I6ICRjYXJkLXByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICRjYXJkLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yOiAkY2FyZC1zZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ndXR0ZXI6IDcwcHggIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2xvc2UtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbW1lbnQtaGVhZGVyLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDogMzBweCAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW06IDEwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1tYXgtd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcbiRjb250YWluZXIteHNtYWxsLW1heC13aWR0aDogNzUwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDogOTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDogMTQwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRoOiAxNjAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItbGluZS1oZWlnaHQ6IDAuOCAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1zOiA0cmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLW06IDZyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1saW5lLWhlaWdodDogMS42ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLXM6IDJyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtbTogM3JlbSAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1oZWlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWNvbG9yOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS10b3A6IDUwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS13aWR0aDogMTAwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC13aWR0aDogMTAwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWhlaWdodDogMTAwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJGRvdG5hdi1tYXJnaW4tdmVydGljYWw6ICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0td2lkdGg6IDEwcHggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taGVpZ2h0OiAkZG90bmF2LWl0ZW0td2lkdGggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kZ2xvYmFsLXotaW5kZXg6IDEwMDAgIWRlZmF1bHQ7XG4kZHJvcC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbiRkcm9wLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nOiAyNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1tYXJnaW46ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogMTVweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0OiAzcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kOiBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kOiBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAxNSUpICFkZWZhdWx0O1xuJGZvcm0taGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLWxpbmUtaGVpZ2h0OiAkZm9ybS1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctdmVydGljYWw6IDRweCAhZGVmYXVsdDtcbiRmb3JtLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiA4cHggIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1saW5lLWhlaWdodDogJGZvcm0tc21hbGwtaGVpZ2h0IC0gKDIqICRmb3JtLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ6ICRmb3JtLWxhcmdlLWhlaWdodCAtICgyKiAkZm9ybS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXhzbWFsbDogNTBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXNtYWxsOiAxMzBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLW1lZGl1bTogMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1sYXJnZTogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDogMjBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LW9wdGlvbi1jb2xvcjogIzQ0NCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZGF0YWxpc3QtcGFkZGluZy1yaWdodDogMjBweCAhZGVmYXVsdDtcbiRmb3JtLWRhdGFsaXN0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogLTRweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiBkYXJrZW4oJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1sZWdlbmQtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTogNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A6IDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6IDIxNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOiA3cHggIWRlZmF1bHQ7XG4kZm9ybS1pY29uLXdpZHRoOiAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taWNvbi1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tZGF0YWxpc3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMiUyMDglMjA2JTIwMTYlMjA2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIweCUzRCUyMjMlMjIlMjB5JTNEJTIyOCUyMiUyMHdpZHRoJTNEJTIyMTAlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWljb24taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWwtbDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbDogNHJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgKiAwLjgxMjUgIWRlZmF1bHQ7XG4kaGVhZGluZy1zbWFsbC1mb250LXNpemU6ICRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1tICogMC44ICFkZWZhdWx0O1xuJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgKiAwLjg3NSAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemU6ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbSAqIDAuODI1ICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW06ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemUtbDogNnJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWwgIWRlZmF1bHQ7XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZTogJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0O1xuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sOiA4cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemUtbTogJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemUtbDogMTFyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1zbWFsbC1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGhlYWRpbmctbWVkaXVtLWxpbmUtaGVpZ2h0OiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy1sYXJnZS1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmcteGxhcmdlLWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b206IHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4xZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aDogdW5xdW90ZSgnY2FsYygwLjJweCArIDAuMDVlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC10b3A6IHVucXVvdGUoJ2NhbGMoLTAuMSAqIDFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1oZWlnaHQ6IHVucXVvdGUoJ2NhbGMoNHB4ICsgMC43ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0OiB1bnF1b3RlKCdjYWxjKDVweCArIDAuMmVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aDogdW5xdW90ZSgnY2FsYyg1cHggKyAwLjFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS10b3A6IDUwJSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoOiB1bnF1b3RlKCdjYWxjKDAuMnB4ICsgMC4wNWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS13aWR0aDogMjAwMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDogdW5xdW90ZSgnY2FsYyg1cHggKyAwLjNlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWw6IDMuNzVyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LWw6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW06ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWwgKiAwLjkgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbCAqIDAuOCAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWw6IDhyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LWw6IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sICogMC43NSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbTogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sICogMC41ICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctbGluZS1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVpZ2h0LXNtYWxsLWhlaWdodDogMTUwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LW1lZGl1bS1oZWlnaHQ6IDMwMHB4ICFkZWZhdWx0O1xuJGhlaWdodC1sYXJnZS1oZWlnaHQ6IDQ1MHB4ICFkZWZhdWx0O1xuJGljb24taW1hZ2Utc2l6ZTogMjBweCAhZGVmYXVsdDtcbiRpY29uLWxpbmstY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1hY3RpdmUtY29sb3I6IGRhcmtlbigkZ2xvYmFsLWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tc2l6ZTogMzZweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDogJGljb25uYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsOiAwICFkZWZhdWx0O1xuJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGFiZWwtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsYWJlbC1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctYmFja2dyb3VuZDogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGFiZWwtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1jb250ZW50OiB1bnF1b3RlKCcuJykgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJhY2tncm91bmQ6ICMwMDAgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tbWF4LXdpZHRoOiAxMDB2dyAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC1oZWlnaHQ6IDEwMHZoICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24taG92ZXItY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLXNpemU6IDUwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWJhY2tncm91bmQ6ICRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWhvdmVyLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGluay1tdXRlZC1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLXRleHQtaG92ZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaW5rLWhlYWRpbmctaG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay10ZXh0LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXBhZGRpbmctbGVmdDogMzBweCAhZGVmYXVsdDtcbiRsaXN0LW1hcmtlci1oZWlnaHQ6ICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRsaXN0LW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZW1waGFzaXMtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjI2JTIyJTIwaGVpZ2h0JTNEJTIyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYlMjA2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWVtcGhhc2lzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXByaW1hcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbWFyZ2luLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXNtYWxsLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLW1lZGl1bS1tYXJnaW46ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLWxhcmdlLW1hcmdpbi1sOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbjogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1tYXJnaW46IDE0MHB4ICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJrZXItcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG1hcmtlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1hcmtlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJG1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNikgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWw6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zOiA1MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1jb250YWluZXItd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBvc2l0aW9uOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogMTAwJSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yOiBsaWdodGVuKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0OiAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAycHggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWhlaWdodDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxMCUyMDElMjA0JTIwNyUyMDEwJTIwMTMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItY29sb3ItbW9kZTogbm9uZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taGVpZ2h0OiA4MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaXRlbS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjogMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tcGFkZGluZzogMjVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogKCRuYXZiYXItZHJvcGRvd24tcGFkZGluZyAqIDIpICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci12ZXJ0aWNhbDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3A6IDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kOiAkbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItei1pbmRleDogJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXBvc2l0aW9uOiAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyA0MCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24td2lkdGg6IDM1MHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi10b3A6IDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXRvcDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0OiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXdpZHRoOiAyNzBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXdpZHRoLW06IDM1MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjogMjBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmctbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwb3NpdGlvbi1zbWFsbC1tYXJnaW46ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW46ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbjogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw6IDUwcHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LXdpZHRoOiAxODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLXdpZHRoOiA0MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWljb24td2lkdGg6IDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLXdpZHRoOiA1MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtaGVpZ2h0OiA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOiA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC10b2dnbGUtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG4kc2VjdGlvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1jb2xvcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWhvdmVyLWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjk1KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tdG9wOiAtMTFweCAhZGVmYXVsdDtcbiRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1ib3R0b206IC0zOXB4ICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLWxlZnQ6IC0yNXB4ICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLXJpZ2h0OiAtMjVweCAhZGVmYXVsdDtcbiRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDUwICFkZWZhdWx0O1xuJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk6IDAgIWRlZmF1bHQ7XG4kc29ydGFibGUtZW1wdHktaGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc2l6ZTogMzBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXN0cm9rZS13aWR0aDogMSAhZGVmYXVsdDtcbiRzcGlubmVyLXJhZGl1czogZmxvb3IoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpIC8gMikgIWRlZmF1bHQ7XG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiByb3VuZCgyICogMy4xNDEgKiAkc3Bpbm5lci1yYWRpdXMpICFkZWZhdWx0O1xuJHNwaW5uZXItZHVyYXRpb246IDEuNHMgIWRlZmF1bHQ7XG4kc3RpY2t5LXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ6IDEuNWVtICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6IDE2cHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWZvb3Rlci1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogI2ZmZCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAyMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWV4cGFuZC1taW4td2lkdGg6IDE1MHB4ICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDAuMDIpICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LWVtcGhhc2lzLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtYmFja2dyb3VuZC1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbWV0YS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tdXRlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1lbXBoYXNpcy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1zZWNvbmRhcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsOiAkdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcbiR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiR0b29sdGlwLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDMwICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctdmVydGljYWw6IDNweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctaG9yaXpvbnRhbDogNnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtYmFja2dyb3VuZDogIzY2NiAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6IDJweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemU6IDEycHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XG4kdG90b3AtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJHRvdG9wLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRvdG9wLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRvdG9wLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcyAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNjYWxlOiAxLjEgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6IDEwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiA1MHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xvdy1kdXJhdGlvbjogMC43cyAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDogMTcwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czogNXB4ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctZHVyYXRpb246IDAuMXMgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJvcmRlci1yYWRpdXM6IDEwMCUgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDogIzQ0NCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ibHVyOiAyMHB4ICFkZWZhdWx0O1xuJGRyb3BjYXAtbWFyZ2luLXJpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGRyb3BjYXAtZm9udC1zaXplOiAoKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAzKSAqIDFlbSkgIWRlZmF1bHQ7XG4kbG9nby1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGxvZ28tZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbG9nby1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsb2dvLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyYWdvdmVyLWJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMTAwLDEwMCwxMDAsMC4zKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkZXByZWNhdGVkOiBmYWxzZSAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsOiA2NDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LW1lZGl1bTogOTYwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZTogMTIwMHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQteGxhcmdlOiAxNjAwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC14c21hbGwtbWF4OiAoJGJyZWFrcG9pbnQtc21hbGwgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsLW1heDogKCRicmVha3BvaW50LW1lZGl1bSAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbWVkaXVtLW1heDogKCRicmVha3BvaW50LWxhcmdlIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZS1tYXg6ICgkYnJlYWtwb2ludC14bGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OiAwIDI4cHggNTBweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuJHdpZHRoLXNtYWxsLXdpZHRoOiAxNTBweCAhZGVmYXVsdDtcbiR3aWR0aC1tZWRpdW0td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLWxhcmdlLXdpZHRoOiA0NTBweCAhZGVmYXVsdDtcbiR3aWR0aC14bGFyZ2Utd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLTJ4bGFyZ2Utd2lkdGg6IDc1MHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLW1hcmdpbi1sZWZ0OiAxMHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLWFjY29yZGlvbi1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWFjY29yZGlvbi1jbG9zZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMyUyMDEzJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB3aWR0aCUzRCUyMjElMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHglM0QlMjI2JTIyJTIweSUzRCUyMjAlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1vcGFjaXR5OiAwLjQgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtaG92ZXItb3BhY2l0eTogMC44ICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5rLWNvbG9yOiAkYXJ0aWNsZS1tZXRhLWNvbG9yICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtY29kZS1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtcGFkZGluZy12ZXJ0aWNhbDogMnB4ICFkZWZhdWx0O1xuJGJhc2UtY29kZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcbiRiYXNlLXByZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDIwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAzMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtYm9yZGVyOiAkYnV0dG9uLXRleHQtaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjb21tZW50LXByaW1hcnktcGFkZGluZzogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXI6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC40KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ob3Zlci1ib3JkZXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1hY3RpdmUtYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwwLDAsMC4xNSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDEwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWRhbmdlci1ib3JkZXI6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWJvcmRlcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1ibGFuay1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyLXN0eWxlOiBkYXNoZWQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDEwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1ib3JkZXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tbGFiZWwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1mdWxsLXBhZGRpbmc6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLWZ1bGwtYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwwLDAsMC4xNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItYm94LXNoYWRvdzogMCA1cHggN3B4IHJnYmEoMCwgMCwgMCwgMC4wNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0YWItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0YWItaXRlbS1hY3RpdmUtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluay1jb2xvcjogJHRleHQtbWV0YS1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0aHVtYm5hdi1pdGVtLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1iYWNrZ3JvdW5kLCAwLjQpICFkZWZhdWx0O1xuJHRodW1ibmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7IiwiQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUoKXtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogKCRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQgKiAxZW0pO1xuICAgICAgICBoZWlnaHQ6ICgkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0ICogMWVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRhY2NvcmRpb24taWNvbi1tYXJnaW4tbGVmdDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJGFjY29yZGlvbi1pY29uLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICB9XG5cbiAgICAudWstb3BlbiA+ICY6OmJlZm9yZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1hY2NvcmRpb24tb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRhY2NvcmRpb24taWNvbi1jb2xvcik7IH1cblxufVxuQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYWNjb3JkaW9uKCl7XG5cbiAgICAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZ2xvYmFsLWNvbG9yKTsgfVxuXG4gICAgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLW9wZW4taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1nbG9iYWwtY29sb3IpOyB9XG5cbn1cbkBtaXhpbiBob29rLWFsZXJ0KCl7fVxuQG1peGluIGhvb2stYWxlcnQtY2xvc2UoKXtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBvcGFjaXR5OiAkYWxlcnQtY2xvc2Utb3BhY2l0eTtcbn1cbkBtaXhpbiBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCl7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLWhvdmVyLW9wYWNpdHk7XG59XG5AbWl4aW4gaG9vay1hbGVydC1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stYWxlcnQtc3VjY2Vzcygpe31cbkBtaXhpbiBob29rLWFsZXJ0LXdhcm5pbmcoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1taXNjKCl7XG5cbiAgICAvKlxuICAgICAqIENvbnRlbnRcbiAgICAgKi9cblxuICAgIC51ay1hbGVydCBoMSxcbiAgICAudWstYWxlcnQgaDIsXG4gICAgLnVrLWFsZXJ0IGgzLFxuICAgIC51ay1hbGVydCBoNCxcbiAgICAudWstYWxlcnQgaDUsXG4gICAgLnVrLWFsZXJ0IGg2IHsgY29sb3I6IGluaGVyaXQ7IH1cblxuICAgIC51ay1hbGVydCBhOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAudWstYWxlcnQgYTpub3QoW2NsYXNzXSk6aG92ZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fVxuQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlKCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWFydGljbGUtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLW1ldGEoKXtcblxuICAgIGEgeyBjb2xvcjogJGFydGljbGUtbWV0YS1saW5rLWNvbG9yOyB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRhcnRpY2xlLW1ldGEtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stYXJ0aWNsZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hcnRpY2xlKCl7XG5cbiAgICAudWstYXJ0aWNsZS10aXRsZSAge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCk7fVxuICAgIH1cblxuICAgIC51ay1hcnRpY2xlLW1ldGEgIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1iYWNrZ3JvdW5kLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1iYWRnZSgpe31cbkBtaXhpbiBob29rLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYmFkZ2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFkZ2UoKXtcblxuICAgIC51ay1iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYWRnZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhZGdlKCk7fVxuICAgIH1cblxuICAgIC51ay1iYWRnZTpob3ZlcixcbiAgICAudWstYmFkZ2U6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYWRnZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJhc2UtYm9keSgpe31cbkBtaXhpbiBob29rLWJhc2UtbGluaygpe31cbkBtaXhpbiBob29rLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJhc2UtY29kZSgpe1xuICAgIHBhZGRpbmc6ICRiYXNlLWNvZGUtcGFkZGluZy12ZXJ0aWNhbCAkYmFzZS1jb2RlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1jb2RlLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuQG1peGluIGhvb2stYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuQG1peGluIGhvb2stYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7XG4gICAgY29sb3I6ICRiYXNlLWJsb2NrcXVvdGUtY29sb3I7XG59XG5AbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7XG5cbiAgICBjb2xvcjogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I7XG5cbiAgICAmOjpiZWZvcmUgeyBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG59XG5AbWl4aW4gaG9vay1iYXNlLXByZSgpe1xuICAgIHBhZGRpbmc6ICRiYXNlLXByZS1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGJhc2UtcHJlLWJvcmRlci13aWR0aCBzb2xpZCAkYmFzZS1wcmUtYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYXNlLXByZS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXByZS1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7XG4gICAgYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpeyBjb2xvcjogJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFzZSgpe1xuXG4gICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtY29sb3I7XG5cbiAgICAvLyBCYXNlXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgYSxcbiAgICAudWstbGluayAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtbGluaygpO31cbiAgICB9XG5cbiAgICBhOmhvdmVyLFxuICAgIC51ay1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBDb2RlXG4gICAgLy9cblxuICAgIDpub3QocHJlKSA+IGNvZGUsXG4gICAgOm5vdChwcmUpID4ga2JkLFxuICAgIDpub3QocHJlKSA+IHNhbXAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1jb2RlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWNvZGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtY29kZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEVtcGhhc2l6ZVxuICAgIC8vXG5cbiAgICBlbSB7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWVtLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIEhlYWRpbmdzXG4gICAgLy9cblxuICAgIGgxLCAudWstaDEsXG4gICAgaDIsIC51ay1oMixcbiAgICBoMywgLnVrLWgzLFxuICAgIGg0LCAudWstaDQsXG4gICAgaDUsIC51ay1oNSxcbiAgICBoNiwgLnVrLWg2LFxuICAgIC51ay1oZWFkaW5nLXNtYWxsLFxuICAgIC51ay1oZWFkaW5nLW1lZGl1bSxcbiAgICAudWstaGVhZGluZy1sYXJnZSxcbiAgICAudWstaGVhZGluZy14bGFyZ2UsXG4gICAgLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKCk7fVxuICAgIH1cblxuICAgIGgxLCAudWstaDEge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWgxKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWgxKCk7fVxuICAgIH1cblxuICAgIGgyLCAudWstaDIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWgyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWgyKCk7fVxuICAgIH1cblxuICAgIGgzLCAudWstaDMge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWgzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWgzKCk7fVxuICAgIH1cblxuICAgIGg0LCAudWstaDQge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWg0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWg0KCk7fVxuICAgIH1cblxuICAgIGg1LCAudWstaDUge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWg1KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWg1KCk7fVxuICAgIH1cblxuICAgIGg2LCAudWstaDYge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWg2KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWg2KCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gQmxvY2txdW90ZXNcbiAgICAvL1xuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCk7fVxuICAgIH1cblxuICAgIGJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEhvcml6b250YWwgcnVsZXNcbiAgICAvL1xuXG4gICAgaHIsIC51ay1ociB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWJhc2UtaHItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWhyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWhyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYnJlYWRjcnVtYigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbSgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJyZWFkY3J1bWIoKXtcblxuICAgIC51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlclxuICAgIC8vXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uKCl7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRidXR0b24tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWZvY3VzKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0KCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgJGJ1dHRvbi1kZWZhdWx0LWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnkoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5KCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXIoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1zbWFsbCgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1sYXJnZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0KCl7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRidXR0b24tdGV4dC1ib3JkZXItd2lkdGggc29saWQgJGJ1dHRvbi10ZXh0LWJvcmRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4zcyBlYXNlLW91dDtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7XG5cbiAgICAmOjpiZWZvcmUgeyByaWdodDogMDsgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpe1xuXG4gICAgJjo6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1taXNjKCl7XG5cbiAgICAvKiBHcm91cFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBDb2xsYXBzZSBib3JkZXJcbiAgICAgKi9cblxuICAgIC51ay1idXR0b24tZ3JvdXAgPiAudWstYnV0dG9uOm50aC1jaGlsZChuKzIpLFxuICAgIC51ay1idXR0b24tZ3JvdXAgPiBkaXY6bnRoLWNoaWxkKG4rMikgLnVrLWJ1dHRvbiB7IG1hcmdpbi1sZWZ0OiAoLSRidXR0b24tYm9yZGVyLXdpZHRoKTsgfVxuXG4gICAgLypcbiAgICAgKiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCB0byBzdXBlcmltcG9zZSB0aGUgc3VjY2Vzc29yIGVsZW1lbnRzIGJvcmRlclxuICAgICAqIEtub3duIGlzc3VlOiBJZiB5b3UgdXNlIGFuIGBhYCBlbGVtZW50IGFzIGJ1dHRvbiBhbmQgYW4gaWNvbiBpbnNpZGUsXG4gICAgICogdGhlIGFjdGl2ZSBzdGF0ZSB3aWxsIG5vdCB3b3JrIGlmIHlvdSBjbGljayB0aGUgaWNvbiBpbnNpZGUgdGhlIGJ1dHRvblxuICAgICAqIFdvcmthcm91bmQ6IEp1c3QgdXNlIGEgYGJ1dHRvbmAgb3IgYGlucHV0YCBlbGVtZW50IGFzIGJ1dHRvblxuICAgICAqL1xuXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmhvdmVyLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjpmb2N1cyxcbiAgICAudWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246YWN0aXZlLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbi51ay1hY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCl7XG4gICAgJjo6YmVmb3JlIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1idXR0b24oKXtcblxuICAgIC8vXG4gICAgLy8gRGVmYXVsdFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUHJpbWFyeVxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gU2Vjb25kYXJ5XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlcixcbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLFxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVGV4dFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXRleHQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXRleHQ6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBMaW5rXG4gICAgLy9cblxuICAgIC51ay1idXR0b24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tbGluay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1saW5rKCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tbGluazpob3ZlcixcbiAgICAudWstYnV0dG9uLWxpbms6Zm9jdXMgeyBjb2xvcjogJGludmVyc2UtYnV0dG9uLWxpbmstaG92ZXItY29sb3I7IH1cblxuXG59XG5AbWl4aW4gaG9vay1jYXJkKCl7IHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLWluLW91dDsgfVxuQG1peGluIGhvb2stY2FyZC1ib2R5KCl7fVxuQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLXRvcCgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpe31cbkBtaXhpbiBob29rLWNhcmQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWJhZGdlKCl7fVxuQG1peGluIGhvb2stY2FyZC1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQoKXsgYm94LXNoYWRvdzogJGNhcmQtZGVmYXVsdC1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKXsgYm94LXNoYWRvdzogJGNhcmQtZGVmYXVsdC1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCl7IGJvcmRlci1ib3R0b206ICRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1mb290ZXIoKXsgYm9yZGVyLXRvcDogJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyLXdpZHRoICBzb2xpZCAkY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeSgpeyBib3gtc2hhZG93OiAkY2FyZC1wcmltYXJ5LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1wcmltYXJ5LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5KCl7IGJveC1zaGFkb3c6ICRjYXJkLXNlY29uZGFyeS1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLXNlY29uZGFyeS1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLW1pc2MoKXtcblxuICAgIC8qXG4gICAgICogRGVmYXVsdFxuICAgICAqL1xuXG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICB9XG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwgKyAxNXB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogKC0kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwgKyAxNXB4KTtcbiAgICB9XG5cbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdCArICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cblxuICAgIC8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbCk7XG4gICAgICAgIH1cbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgKyAxNXB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgKyAxNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsXG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7XG4gICAgICAgIH1cblxuICAgICAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdCArICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIH1cblxuICAgIC8qXG4gICAgICogU21hbGxcbiAgICAgKi9cblxuICAgIC51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgIH1cbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWwgKyAxNXB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogKC0kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWwgKyAxNXB4KTtcbiAgICB9XG5cbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQgKyAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4gICAgLypcbiAgICAgKiBMYXJnZVxuICAgICAqL1xuXG4gICAgLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQgeyBtYXJnaW46IDA7IH1cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7IG1hcmdpbjogMDsgfVxuXG4gICAgICAgIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ7IH1cblxuICAgIH1cblxufVxuQG1peGluIGhvb2stY2xvc2UoKXtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBvcGFjaXR5O1xufVxuQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1jbG9zZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jbG9zZSgpe1xuXG4gICAgLnVrLWNsb3NlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWNsb3NlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY2xvc2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNsb3NlOmhvdmVyLFxuICAgIC51ay1jbG9zZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stY29sdW1uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jb2x1bW4oKXtcblxuICAgIC51ay1jb2x1bW4tZGl2aWRlciB7IGNvbHVtbi1ydWxlLWNvbG9yOiAkaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOyB9XG5cbn1cbkBtaXhpbiBob29rLWNvbW1lbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWJvZHkoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LW1ldGEoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWF2YXRhcigpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1wcmltYXJ5KCl7XG4gICAgcGFkZGluZzogJGNvbW1lbnQtcHJpbWFyeS1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb21tZW50LXByaW1hcnktYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLWNvbW1lbnQtbWlzYygpe31cbkBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbnVtYmVyKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY291bnRkb3duKCl7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlcixcbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tbGFiZWwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNvdmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0oKXtcbiAgICBmb250LXNpemU6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLXRleHQtdHJhbnNmb3JtO1xufVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpe31cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCl7fVxuQG1peGluIHN2Zy1maWxsKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3LCAkcHJvcGVydHk6IGJhY2tncm91bmQtaW1hZ2Upe1xuXG4gICAgJGVzY2FwZS1jb2xvci1kZWZhdWx0OiAgZXNjYXBlKCRjb2xvci1kZWZhdWx0KSAhZGVmYXVsdDtcbiAgICAkZXNjYXBlLWNvbG9yLW5ldzogIGVzY2FwZShcIiN7JGNvbG9yLW5ld31cIikgIWRlZmF1bHQ7XG5cbiAgICAkZGF0YS11cmk6ICBkYXRhLXVyaSgnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04JywgXCIjeyRzcmN9XCIpICFkZWZhdWx0O1xuICAgICRyZXBsYWNlLXNyYzogIHJlcGxhY2UoXCIjeyRkYXRhLXVyaX1cIiwgXCIjeyRlc2NhcGUtY29sb3ItZGVmYXVsdH1cIiwgXCIjeyRlc2NhcGUtY29sb3ItbmV3fVwiLCBcImdcIikgIWRlZmF1bHQ7XG5cbiAgICAjeyRwcm9wZXJ0eX06IHVucXVvdGUoJHJlcGxhY2Utc3JjKTtcbn1cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbigpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1zbWFsbCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItdmVydGljYWwoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItdmVydGljYWwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kaXZpZGVyKCl7XG5cbiAgICAudWstZGl2aWRlci1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWRpdmlkZXItaWNvbi1jb2xvcik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCk7fVxuICAgIH1cblxuICAgIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSxcbiAgICAudWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCk7fVxuICAgIH1cblxuICAgIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCk7fVxuICAgIH1cblxuICAgIC51ay1kaXZpZGVyLXZlcnRpY2FsIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWRpdmlkZXItdmVydGljYWwtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stZG90bmF2KCl7fVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0oKXtcbiAgICBib3JkZXI6ICRkb3RuYXYtaXRlbS1ib3JkZXItd2lkdGggc29saWQgJGRvdG5hdi1pdGVtLWJvcmRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbn1cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWhvdmVyKCl7IGJvcmRlci1jb2xvcjogJGRvdG5hdi1pdGVtLWhvdmVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0tb25jbGljaygpeyBib3JkZXItY29sb3I6ICRkb3RuYXYtaXRlbS1vbmNsaWNrLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogJGRvdG5hdi1pdGVtLWFjdGl2ZS1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWRvdG5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSgpeyBib3JkZXItY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljaygpeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kb3RuYXYoKXtcblxuICAgIC51ay1kb3RuYXYgPiAqID4gKiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gKiA+IDpob3ZlcixcbiAgICAudWstZG90bmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stZHJvcC1taXNjKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24oKXsgYm94LXNoYWRvdzogJGRyb3Bkb3duLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdigpeyBmb250LXNpemU6ICRkcm9wZG93bi1uYXYtZm9udC1zaXplOyB9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbWlzYygpe31cbkBtaXhpbiBob29rLWZsZXgtbWlzYygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRodW1iKCl7IGJvcmRlcjogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjaygpeyBib3JkZXItcmFkaXVzOiAkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS1taXNjKCl7fVxuQG1peGluIGhvb2stZm9ybSgpe1xuICAgIGJvcmRlcjogJGZvcm0tYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLWJvcmRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7XG59XG5AbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lKCl7fVxuQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuQG1peGluIGhvb2stZm9ybS1mb2N1cygpeyBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1kaXNhYmxlZCgpeyBib3JkZXItY29sb3I6ICRmb3JtLWRpc2FibGVkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1kYW5nZXIoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1kYW5nZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXN1Y2Nlc3MoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1zdWNjZXNzLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1ibGFuaygpeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1mb3JtLWJsYW5rLWZvY3VzKCl7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1ibGFuay1mb2N1cy1ib3JkZXI7XG4gICAgYm9yZGVyLXN0eWxlOiAkZm9ybS1ibGFuay1mb2N1cy1ib3JkZXItc3R5bGU7XG59XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvKCl7XG4gICAgYm9yZGVyOiAkZm9ybS1yYWRpby1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tcmFkaW8tYm9yZGVyO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyO1xufVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1mb2N1cygpeyBib3JkZXItY29sb3I6ICRmb3JtLXJhZGlvLWZvY3VzLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1yYWRpby1kaXNhYmxlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tbGVnZW5kKCl7fVxuQG1peGluIGhvb2stZm9ybS1sYWJlbCgpe1xuICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbn1cbkBtaXhpbiBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybSgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1mb2N1cygpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKXsgY29sb3I6ICRpbnZlcnNlLWZvcm0tbGFiZWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWZvcm0oKXtcblxuICAgIC51ay1pbnB1dCxcbiAgICAudWstc2VsZWN0LFxuICAgIC51ay10ZXh0YXJlYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWZvcm0tY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0oKTt9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjtcbiAgICAgICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tZm9jdXMoKTt9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFBsYWNlaG9sZGVyXG4gICAgLy9cblxuICAgIC51ay1pbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay1pbnB1dDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4gICAgLnVrLXRleHRhcmVhOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFNlbGVjdFxuICAgIC8vXG5cbiAgICAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3IpOyB9XG5cbiAgICAvL1xuICAgIC8vIERhdGFsaXN0XG4gICAgLy9cblxuICAgIC51ay1pbnB1dFtsaXN0XTpob3ZlcixcbiAgICAudWstaW5wdXRbbGlzdF06Zm9jdXMgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1kYXRhbGlzdC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcik7IH1cblxuICAgIC8vXG4gICAgLy8gUmFkaW8gYW5kIGNoZWNrYm94XG4gICAgLy9cblxuICAgIC51ay1yYWRpbyxcbiAgICAudWstY2hlY2tib3gge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8oKTt9XG4gICAgfVxuXG4gICAgLy8gRm9jdXNcbiAgICAudWstcmFkaW86Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmZvY3VzIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpO31cbiAgICB9XG5cbiAgICAvLyBDaGVja2VkXG4gICAgLnVrLXJhZGlvOmNoZWNrZWQsXG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKTt9XG4gICAgfVxuXG4gICAgLy8gRm9jdXNcbiAgICAudWstcmFkaW86Y2hlY2tlZDpmb2N1cyxcbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbiAgICAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpO31cbiAgICB9XG5cbiAgICAvLyBJY29uXG4gICAgLnVrLXJhZGlvOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuICAgIC51ay1jaGVja2JveDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbiAgICAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cblxuICAgIC8vIExhYmVsXG4gICAgLnVrLWZvcm0tbGFiZWwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLWxhYmVsKCk7fVxuICAgIH1cblxuICAgIC8vIEljb25cbiAgICAudWstZm9ybS1pY29uIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0taWNvbi1jb2xvcjsgfVxuICAgIC51ay1mb3JtLWljb246aG92ZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1pY29uLWhvdmVyLWNvbG9yOyB9XG5cbn1cbkBtaXhpbiBob29rLWdyaWQtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWdyaWQoKXtcblxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBib3JkZXItbGVmdC1jb2xvcjogJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjsgfVxuXG59XG5AbWl4aW4gaG9vay1oZWFkaW5nLXNtYWxsKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1tZWRpdW0oKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWxhcmdlKCl7fVxuQG1peGluIGhvb2staGVhZGluZy14bGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWhlcm8oKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWJ1bGxldCgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctbGluZSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1zbWFsbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1tZWRpdW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmcteGxhcmdlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1oZWFkaW5nKCl7XG5cbiAgICAudWstaGVhZGluZy1zbWFsbCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctc21hbGwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctc21hbGwoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctbWVkaXVtIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1tZWRpdW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctbWVkaXVtKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWxhcmdlIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1sYXJnZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1sYXJnZSgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy14bGFyZ2Uge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLXhsYXJnZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy14bGFyZ2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctMnhsYXJnZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy0yeGxhcmdlKCk7fVxuICAgIH1cblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkgeyAudWstaGVhZGluZy1wcmltYXJ5IHsgQGlmIChtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCk7fX19XG5cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHsgLnVrLWhlYWRpbmctaGVybyB7IEBpZiAobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybygpO319fVxuXG4gICAgLnVrLWhlYWRpbmctZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSxcbiAgICAudWstaGVhZGluZy1saW5lID4gOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWhlYWRpbmctbGluZS1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1saW5lKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staGVpZ2h0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pY29uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pY29uLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pY29uLWxpbmstYWN0aXZlKCl7fVxuQG1peGluIGhvb2staWNvbi1idXR0b24oKXtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xufVxuQG1peGluIGhvb2staWNvbi1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWljb24oKXtcblxuICAgIC8vXG4gICAgLy8gTGlua1xuICAgIC8vXG5cbiAgICAudWstaWNvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tbGluay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1saW5rKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tbGluazpob3ZlcixcbiAgICAudWstaWNvbi1saW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tbGluazphY3RpdmUsXG4gICAgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmsge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEJ1dHRvblxuICAgIC8vXG5cbiAgICAudWstaWNvbi1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1idXR0b246aG92ZXIsXG4gICAgLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWljb25uYXYoKXt9XG5AbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWljb25uYXYoKXtcblxuICAgIC51ay1pY29ubmF2ID4gKiA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbm5hdi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLFxuICAgIC51ay1pY29ubmF2ID4gKiA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saW5rKCl7XG5cbiAgICBhLnVrLWxpbmstbXV0ZWQsXG4gICAgLnVrLWxpbmstbXV0ZWQgYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLW11dGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLW11dGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay1tdXRlZDpob3ZlcixcbiAgICAudWstbGluay1tdXRlZCBhOmhvdmVyLFxuICAgIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1tdXRlZCxcbiAgICAudWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmstbXV0ZWQgIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgYS51ay1saW5rLXRleHQ6aG92ZXIsXG4gICAgLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuICAgIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay10ZXh0LFxuICAgIC51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluay10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgYS51ay1saW5rLWhlYWRpbmc6aG92ZXIsXG4gICAgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuICAgIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1oZWFkaW5nLFxuICAgIC51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluay1oZWFkaW5nIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saXN0KCl7XG5cbiAgICAudWstbGlzdC1tdXRlZCA+IDo6YmVmb3JlIHsgY29sb3I6ICRpbnZlcnNlLWxpc3QtbXV0ZWQtY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay1saXN0LWVtcGhhc2lzID4gOjpiZWZvcmUgeyBjb2xvcjogJGludmVyc2UtbGlzdC1lbXBoYXNpcy1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLWxpc3QtcHJpbWFyeSA+IDo6YmVmb3JlIHsgY29sb3I6ICRpbnZlcnNlLWxpc3QtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLWxpc3Qtc2Vjb25kYXJ5ID4gOjpiZWZvcmUgeyBjb2xvcjogJGludmVyc2UtbGlzdC1zZWNvbmRhcnktY29sb3IgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLWxpc3QtYnVsbGV0ID4gOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yKTtcbiAgICB9XG5cbiAgICAudWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpO31cbiAgICB9XG5cbiAgICAudWstbGlzdC1zdHJpcGVkID4gOm50aC1vZi10eXBlKG9kZCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10b3RvcCgpe1xuXG4gICAgLnVrLXRvdG9wIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRvdG9wLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdG90b3AoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRvdG9wOmhvdmVyLFxuICAgIC51ay10b3RvcDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3AtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10b3RvcDphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxhYmVsKCl7XG5cbiAgICAudWstbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGFiZWwtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNlYXJjaCgpe1xuXG4gICAgLy9cbiAgICAvLyBJbnB1dFxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLWlucHV0IHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1jb2xvcjsgfVxuXG4gICAgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4gICAgLy9cbiAgICAvLyBJY29uXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOyB9XG4gICAgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gU3R5bGUgbW9kaWZpZXJcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG4gICAgfVxuICAgIFxuICAgIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVG9nZ2xlXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW5hdigpe1xuXG4gICAgLy9cbiAgICAvLyBQYXJlbnQgaWNvbiBtb2RpZmllclxuICAgIC8vXG5cbiAgICAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBEZWZhdWx0XG4gICAgLy9cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlcixcbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFByaW1hcnlcbiAgICAvL1xuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlcixcbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2YmFyKCl7XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLWl0ZW0ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuICAgIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuICAgIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXN1Ym5hdigpe1xuXG4gICAgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXZpZGVyXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFBpbGxcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGlzYWJsZWRcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXBhZ2luYXRpb24oKXtcblxuICAgIC51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFiKCl7XG5cbiAgICAudWstdGFiIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuICAgIC51ay10YWIgPiAqID4gYTpmb2N1c3tcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCl7XG5cbiAgICAudWstc2xpZGVuYXYge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdigpO31cbiAgICB9XG5cbiAgICAudWstc2xpZGVuYXY6aG92ZXIsXG4gICAgLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNsaWRlbmF2OmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpe1xuXG4gICAgLnVrLXRleHQtbGVhZCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGV4dC1sZWFkKCk7fVxuICAgIH1cblxuICAgIC51ay10ZXh0LW1ldGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpO31cbiAgICB9XG5cbiAgICAudWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1lbXBoYXNpcyB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LWVtcGhhc2lzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtc2Vjb25kYXJ5IHsgY29sb3I6ICRpbnZlcnNlLXRleHQtc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdXRpbGl0eSgpe1xuXG4gICAgLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbiAgICAudWstZHJvcGNhcCBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRyb3BjYXApKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRyb3BjYXAoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ28ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbG9nby1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbG9nbykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbG9nbygpO31cbiAgICB9XG5cbiAgICAudWstbG9nbzpob3ZlcixcbiAgICAudWstbG9nbzpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1sb2dvLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSkgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgLnVrLWxvZ28taW52ZXJzZSB7IGRpc3BsYXk6IGlubGluZTsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlKCl7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saW5rKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1oZWFkaW5nKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kaXZpZGVyKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saXN0KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1mb3JtKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1idXR0b24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWdyaWQoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWNsb3NlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10b3RvcCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFkZ2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWxhYmVsKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hcnRpY2xlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zZWFyY2goKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LW5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2YmFyKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zdWJuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJyZWFkY3J1bWIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXBhZ2luYXRpb24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXRhYigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2xpZGVuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWRvdG5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYWNjb3JkaW9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29ubmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10ZXh0KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXV0aWxpdHkoKTtcbn1cbkBtaXhpbiBob29rLWxhYmVsKCl7XG4gICAgYm9yZGVyLXJhZGl1czogJGxhYmVsLWJvcmRlci1yYWRpdXM7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRsYWJlbC10ZXh0LXRyYW5zZm9ybTtcbn1cbkBtaXhpbiBob29rLWxhYmVsLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1sYWJlbC13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stbGFiZWwtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stbGFiZWwtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1sZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1sZWFkZXItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGVhZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGVhZGVyKCl7XG5cbiAgICAudWstbGVhZGVyLWZpbGw6OmFmdGVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sZWFkZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1saWdodGJveCgpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1saW5rLW11dGVkKCl7fVxuQG1peGluIGhvb2stbGluay1tdXRlZC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpbmstdGV4dCgpe31cbkBtaXhpbiBob29rLWxpbmstdGV4dC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpbmstaGVhZGluZygpe31cbkBtaXhpbiBob29rLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG5AbWl4aW4gaG9vay1saW5rLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGlzdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbGlzdC1zdHJpcGVkKCl7XG5cbiAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBib3JkZXItdG9wOiAkbGlzdC1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1zdHJpcGVkLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGxpc3Qtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJGxpc3Qtc3RyaXBlZC1ib3JkZXI7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1saXN0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKCl7XG5cbiAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stbWFyZ2luLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1tYXJrZXIoKXtcbiAgICBib3JkZXItcmFkaXVzOiA1MDBweDtcbn1cbkBtaXhpbiBob29rLW1hcmtlci1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1hcmtlci1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlci1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW1hcmtlcigpe1xuXG4gICAgLnVrLW1hcmtlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLW1hcmtlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbWFya2VyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1tYXJrZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW1hcmtlcigpO31cbiAgICB9XG5cbiAgICAudWstbWFya2VyOmhvdmVyLFxuICAgIC51ay1tYXJrZXI6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbWFya2VyLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1tYXJrZXItaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW1hcmtlci1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLW1vZGFsKCl7fVxuQG1peGluIGhvb2stbW9kYWwtZGlhbG9nKCl7fVxuQG1peGluIGhvb2stbW9kYWwtZnVsbCgpe31cbkBtaXhpbiBob29rLW1vZGFsLWJvZHkoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1oZWFkZXIoKXsgYm9yZGVyLWJvdHRvbTogJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLW1vZGFsLWZvb3RlcigpeyBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stbW9kYWwtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKXtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogJG1vZGFsLWNsb3NlLWZ1bGwtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtY2xvc2UtZnVsbC1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1uYXYtc3ViKCl7fVxuQG1peGluIGhvb2stbmF2LXBhcmVudC1pY29uKCl7fVxuQG1peGluIGhvb2stbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQoKXsgZm9udC1zaXplOiAkbmF2LWRlZmF1bHQtZm9udC1zaXplOyB9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbSgpe1xuICAgIHRleHQtdHJhbnNmb3JtOiAkbmF2YmFyLW5hdi1pdGVtLXRleHQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG59XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXN1YnRpdGxlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItc3RpY2t5KCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duKCl7IGJveC1zaGFkb3c6ICRuYXZiYXItZHJvcGRvd24tYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKXsgYm94LXNoYWRvdzogbm9uZTsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpeyBmb250LXNpemU6ICRuYXZiYXItZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSgpeyBib3gtc2hhZG93OiAkbmF2YmFyLWRyb3BiYXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stbmF2YmFyLW1pc2MoKXtcblxuICAgIC8qXG4gICAgICogTmF2YmFyXG4gICAgICovXG5cbiAgICAudWstbmF2YmFyLWNvbnRhaW5lciA+IC51ay1jb250YWluZXIgLnVrLW5hdmJhci1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgIH1cbiAgICAudWstbmF2YmFyLWNvbnRhaW5lciA+IC51ay1jb250YWluZXIgLnVrLW5hdmJhci1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cblxuICAgIC8qXG4gICAgICogR3JpZCBEaXZpZGVyXG4gICAgICovXG5cbiAgICAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiAgICAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAoJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsIC8gMik7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgIH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKCRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWwgLyAyKTtcbiAgICAgICAgbGVmdDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtYmFyKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLWNsb3NlKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtbWlzYygpe31cbkBtaXhpbiBob29rLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWljb24oKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWRkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtKCl7IHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wbGFjZWhvbGRlcigpeyBib3JkZXI6ICRwbGFjZWhvbGRlci1ib3JkZXItd2lkdGggZGFzaGVkICRwbGFjZWhvbGRlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXBsYWNlaG9sZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcHJpbnQoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcygpe1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1iYXIoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1taXNjKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXsgYm9yZGVyOiAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLXdpZHRoIHNvbGlkICRzZWFyY2gtZGVmYXVsdC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbigpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tb3ZlcmxhcCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2KCl7IHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLXNsaWRlbmF2LWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1uZXh0KCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1jb250YWluZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXNsaWRlcigpe31cbkBtaXhpbiBob29rLXNsaWRlci1taXNjKCl7fVxuQG1peGluIGhvb2stc2xpZGVzaG93KCl7fVxuQG1peGluIGhvb2stc2xpZGVzaG93LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZSgpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWRyYWcoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWVtcHR5KCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtbWlzYygpe31cbkBtaXhpbiBob29rLXNwaW5uZXIoKXt9XG5AbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbkBtaXhpbiBob29rLXN1Ym5hdigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7XG4gICAgZm9udC1zaXplOiAkc3VibmF2LWl0ZW0tZm9udC1zaXplO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkc3VibmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXN2Zy1taXNjKCl7fVxuQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe31cbkBtaXhpbiBob29rLXRhYigpe1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1pdGVtKCl7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0YWItaXRlbS10ZXh0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay10YWItaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkdGFiLWl0ZW0tYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay10YWItYm90dG9tKCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe1xuICAgIGJvcmRlci10b3A6ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbkBtaXhpbiBob29rLXRhYi1sZWZ0KCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1yaWdodCgpe1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogJHRhYi1ib3JkZXItd2lkdGggc29saWQgJHRhYi1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10YWItbGVmdC1pdGVtKCl7XG4gICAgYm9yZGVyLXJpZ2h0OiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItcmlnaHQtaXRlbSgpe1xuICAgIGJvcmRlci1sZWZ0OiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItbWlzYygpe1xuXG4gICAgLnVrLXRhYiAudWstZHJvcGRvd24geyBtYXJnaW4tbGVmdDogKCR0YWItbWFyZ2luLWhvcml6b250YWwgKyAkdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsKSB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7XG5cbiAgICAmOjpiZWZvcmUgeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLXRhYi1ib3JkZXI7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay10YWJsZSgpe31cbkBtaXhpbiBob29rLXRhYmxlLWhlYWRlci1jZWxsKCl7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbkBtaXhpbiBob29rLXRhYmxlLWNlbGwoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1mb290ZXIoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1jYXB0aW9uKCl7fVxuQG1peGluIGhvb2stdGFibGUtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXN0cmlwZWQoKXtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLXN0cmlwZWQtYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtc3RyaXBlZC1ib3JkZXI7XG59XG5AbWl4aW4gaG9vay10YWJsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1zbWFsbCgpe31cbkBtaXhpbiBob29rLXRhYmxlLWxhcmdlKCl7fVxuQG1peGluIGhvb2stdGFibGUtbWlzYygpe1xuXG4gICAgLnVrLXRhYmxlIHRib2R5IHRyIHsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGxpbmVhcjsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCl7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyO1xufVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRhYmxlKCl7XG5cbiAgICAudWstdGFibGUgdGgge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUgY2FwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWJsZS1jYXB0aW9uLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZSA+IHRyLnVrLWFjdGl2ZSxcbiAgICAudWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1kaXZpZGVyID4gdHI6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLnVrLXRhYmxlLWRpdmlkZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgPiB0cixcbiAgICAudWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShvZGQpLFxuICAgIC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuICAgIC51ay10YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10ZXh0LWxlYWQoKXt9XG5AbWl4aW4gaG9vay10ZXh0LW1ldGEoKXtcblxuICAgIGEgeyBjb2xvcjogJHRleHQtbWV0YS1saW5rLWNvbG9yOyB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0LW1ldGEtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGV4dC1zbWFsbCgpe31cbkBtaXhpbiBob29rLXRleHQtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay10ZXh0LWJhY2tncm91bmQoKXt9XG5AbWl4aW4gaG9vay10ZXh0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuQG1peGluIGhvb2stdGh1bWJuYXYoKXt9XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtKCl7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGh1bWJuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKCl7XG4gICAgJjo6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOyB9XG59XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe1xuICAgICY6OmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7IH1cbn1cbkBtaXhpbiBob29rLXRodW1ibmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGh1bWJuYXYoKXtcblxuICAgIC51ay10aHVtYm5hdiA+ICogPiAqIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstdGh1bWJuYXYgPiAqID4gOmhvdmVyLFxuICAgIC51ay10aHVtYm5hdiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10aHVtYm5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stdGlsZSgpe31cbkBtaXhpbiBob29rLXRpbGUtZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay10aWxlLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay10aWxlLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXRpbGUtbWlzYygpe31cbkBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG5AbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10b3RvcCgpeyB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0OyB9XG5AbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRvdG9wLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXRvdG9wLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdHJhbnNpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbkBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuQG1peGluIGhvb2stZHJvcGNhcCgpe1xuICAgIC8vIFByZXZlbnQgbGluZSB3cmFwXG4gICAgbWFyZ2luLWJvdHRvbTogLTJweDtcbn1cbkBtaXhpbiBob29rLWxvZ28oKXt9XG5AbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kcm9wY2FwKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdmlzaWJpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2std2lkdGgtbWlzYygpe30iLCIvL1xuLy8gVGhlbWVcbi8vXG5cbkBpbXBvcnQgXCJ0aGVtZS9faW1wb3J0LnNjc3NcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvX2ltcG9ydC5zY3NzXCI7XG5cblxuIiwiLy8gQmFzZVxuQGltcG9ydCBcInZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwiYmFzZS5zY3NzXCI7XG5cbi8vIEVsZW1lbnRzXG5AaW1wb3J0IFwibGluay5zY3NzXCI7XG5AaW1wb3J0IFwiaGVhZGluZy5zY3NzXCI7XG5AaW1wb3J0IFwiZGl2aWRlci5zY3NzXCI7XG5AaW1wb3J0IFwibGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwiZGVzY3JpcHRpb24tbGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwidGFibGUuc2Nzc1wiO1xuQGltcG9ydCBcImljb24uc2Nzc1wiO1xuQGltcG9ydCBcImZvcm0tcmFuZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcImZvcm0uc2Nzc1wiO1xuQGltcG9ydCBcImJ1dHRvbi5zY3NzXCI7XG5AaW1wb3J0IFwicHJvZ3Jlc3Muc2Nzc1wiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJzZWN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJjb250YWluZXIuc2Nzc1wiO1xuQGltcG9ydCBcInRpbGUuc2Nzc1wiO1xuQGltcG9ydCBcImNhcmQuc2Nzc1wiO1xuXG4vLyBDb21tb25cbkBpbXBvcnQgXCJjbG9zZS5zY3NzXCI7XG5AaW1wb3J0IFwic3Bpbm5lci5zY3NzXCI7XG5AaW1wb3J0IFwibWFya2VyLnNjc3NcIjtcbkBpbXBvcnQgXCJ0b3RvcC5zY3NzXCI7XG5AaW1wb3J0IFwiYWxlcnQuc2Nzc1wiO1xuQGltcG9ydCBcInBsYWNlaG9sZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJiYWRnZS5zY3NzXCI7XG5AaW1wb3J0IFwibGFiZWwuc2Nzc1wiO1xuQGltcG9ydCBcIm92ZXJsYXkuc2Nzc1wiO1xuQGltcG9ydCBcImFydGljbGUuc2Nzc1wiO1xuQGltcG9ydCBcImNvbW1lbnQuc2Nzc1wiO1xuQGltcG9ydCBcInNlYXJjaC5zY3NzXCI7XG5cbi8vIEphdmFTY3JpcHRcbkBpbXBvcnQgXCJhY2NvcmRpb24uc2Nzc1wiO1xuQGltcG9ydCBcImRyb3Auc2Nzc1wiO1xuQGltcG9ydCBcImRyb3Bkb3duLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2RhbC5zY3NzXCI7XG5AaW1wb3J0IFwic2xpZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJzdGlja3kuc2Nzc1wiO1xuQGltcG9ydCBcIm9mZmNhbnZhcy5zY3NzXCI7XG5AaW1wb3J0IFwibGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJub3RpZmljYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcInRvb2x0aXAuc2Nzc1wiO1xuQGltcG9ydCBcInNvcnRhYmxlLnNjc3NcIjtcbkBpbXBvcnQgXCJjb3VudGRvd24uc2Nzc1wiO1xuXG5AaW1wb3J0IFwiZ3JpZC5zY3NzXCI7XG5cbi8vIE5hdnNcbkBpbXBvcnQgXCJuYXYuc2Nzc1wiO1xuQGltcG9ydCBcIm5hdmJhci5zY3NzXCI7XG5AaW1wb3J0IFwic3VibmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1iLnNjc3NcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ0YWIuc2Nzc1wiO1xuQGltcG9ydCBcInNsaWRlbmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJkb3RuYXYuc2Nzc1wiO1xuQGltcG9ydCBcInRodW1ibmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJpY29ubmF2LnNjc3NcIjtcblxuQGltcG9ydCBcImxpZ2h0Ym94LnNjc3NcIjtcblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwiYW5pbWF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ3aWR0aC5zY3NzXCI7XG5AaW1wb3J0IFwiaGVpZ2h0LnNjc3NcIjtcbkBpbXBvcnQgXCJ0ZXh0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb2x1bW4uc2Nzc1wiO1xuQGltcG9ydCBcImJhY2tncm91bmQuc2Nzc1wiO1xuQGltcG9ydCBcImFsaWduLnNjc3NcIjtcbkBpbXBvcnQgXCJ1dGlsaXR5LnNjc3NcIjtcbkBpbXBvcnQgXCJtYXJnaW4uc2Nzc1wiO1xuQGltcG9ydCBcInBhZGRpbmcuc2Nzc1wiO1xuQGltcG9ydCBcInBvc2l0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ0cmFuc2l0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJpbnZlcnNlLnNjc3NcIjtcbiIsIi8vXG4vLyBDb21wb25lbnQ6IFZhcmlhYmxlc1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIEdsb2JhbCB2YXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy9cbi8vIENvbG9yc1xuLy9cblxuLy9cbi8vIEJhY2tncm91bmRzXG4vL1xuXG4vL1xuLy8gQm9yZGVyc1xuLy9cblxuLy9cbi8vIFNwYWNpbmdzXG4vL1xuXG4vL1xuLy8gQ29udHJvbHNcbi8vXG5cbi8vXG4vLyBaLWluZGV4XG4vLyIsIi8vXG4vLyBDb21wb25lbnQ6IEJhc2Vcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kYmFzZS1jb2RlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgNnB4ICFkZWZhdWx0O1xuJGJhc2UtY29kZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRiYXNlLWJsb2NrcXVvdGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJhc2UtcHJlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgIDNweCAhZGVmYXVsdDtcblxuXG4vLyBCb2R5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYmFzZS1ib2R5KCl7fVxuXG5cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYmFzZS1saW5rKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmstaG92ZXIoKXt9XG5cblxuLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBIZWFkaW5nc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtaGVhZGluZygpe31cblxuLy8gQG1peGluIGhvb2stYmFzZS1oMSgpe31cblxuLy8gQG1peGluIGhvb2stYmFzZS1oMigpe31cblxuLy8gQG1peGluIGhvb2stYmFzZS1oMygpe31cblxuLy8gQG1peGluIGhvb2stYmFzZS1oNCgpe31cblxuLy8gQG1peGluIGhvb2stYmFzZS1oNSgpe31cblxuLy8gQG1peGluIGhvb2stYmFzZS1oNigpe31cblxuXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYmFzZS1ocigpe31cblxuXG4vLyBCbG9ja3F1b3Rlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG4vLyBQcmVmb3JtYXR0ZWQgdGV4dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDYoKXt9XG5cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ocigpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBMaW5rXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNdXRlZFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpbmstbXV0ZWQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG5cblxuLy8gVGV4dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dCgpe31cblxuLy8gQG1peGluIGhvb2stbGluay10ZXh0LWhvdmVyKCl7fVxuXG5cbi8vIEhlYWRpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saW5rLWhlYWRpbmcoKXt9XG5cbi8vIEBtaXhpbiBob29rLWxpbmstaGVhZGluZy1ob3Zlcigpe31cblxuXG4vLyBSZXNldFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpbmstbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBIZWFkaW5nXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXNtYWxsKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLW1lZGl1bSgpe31cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1sYXJnZSgpe31cblxuLy8gQG1peGluIGhvb2staGVhZGluZy14bGFyZ2UoKXt9XG5cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctMnhsYXJnZSgpe31cblxuXG4vLyBEaXZpZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuXG5cbi8vIEJ1bGxldFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctYnVsbGV0KCl7fVxuXG5cbi8vIExpbmVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG5cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctc21hbGwoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1tZWRpdW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1sYXJnZSgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXhsYXJnZSgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IERpdmlkZXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIEljb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cblxuXG4vLyBTbWFsbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG5cblxuLy8gVmVydGljYWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItdmVydGljYWwoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogTGlzdFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saXN0LWRpdmlkZXIoKXt9XG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saXN0LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCl7fVxuXG4iLCIvL1xuLy8gQ29tcG9uZW50OiBEZXNjcmlwdGlvbiBsaXN0XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKXt9XG5cblxuLy8gU3R5bGUgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFRhYmxlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLXRhYmxlLWNlbGwoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRhYmxlLWZvb3Rlcigpe31cblxuLy8gQG1peGluIGhvb2stdGFibGUtY2FwdGlvbigpe31cblxuLy8gQG1peGluIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuXG5cblxuLy8gQG1peGluIGhvb2stdGFibGUtaG92ZXIoKXt9XG5cblxuLy8gU2l6ZSBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRhYmxlLXNtYWxsKCl7fVxuXG4vLyBAbWl4aW4gaG9vay10YWJsZS1sYXJnZSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogSWNvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gU3R5bGUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIExpbmtcbi8vXG5cbi8vIEBtaXhpbiBob29rLWljb24tbGluaygpe31cblxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29uLWxpbmstYWN0aXZlKCl7fVxuXG4vL1xuLy8gQnV0dG9uXG4vL1xuXG5cblxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEZvcm0gUmFuZ2Vcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAxMCUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZSgpe31cblxuXG4vLyBUaHVtYlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIFRyYWNrXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBGb3JtXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvcm0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWhlaWdodCAtICgyKiAkZm9ybS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuXG4kZm9ybS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGZvcm0tc21hbGwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLXNtYWxsLWhlaWdodCAtICgyKiAkZm9ybS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWxhcmdlLWhlaWdodCAtICgyKiAkZm9ybS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRmb3JtLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGZvcm0tZm9jdXMtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kZm9ybS1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kZm9ybS1ibGFuay1mb2N1cy1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1ibGFuay1mb2N1cy1ib3JkZXItc3R5bGU6ICAgICAgICAgICAgICAgICAgZGFzaGVkICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAxMCUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1mb2N1cy1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWNoZWNrZWQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpe31cblxuLy8gQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuXG5cblxuXG5cblxuLy8gU3R5bGUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cblxuXG5cblxuLy8gUmFkaW8gYW5kIGNoZWNrYm94XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cblxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuXG5cblxuXG4vLyBMZWdlbmRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLWxlZ2VuZCgpe31cblxuXG4vLyBMYWJlbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIExheW91dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpe31cblxuLy8gQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWZvcm0tbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG5cblxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5cbiIsIi8vXG4vLyBDb21wb25lbnQ6IEJ1dHRvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRidXR0b24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGJ1dHRvbi10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJGJ1dHRvbi10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgICAgICAgIHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAyMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMzAlKSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kYnV0dG9uLXRleHQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1mb2N1cygpe31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLWFjdGl2ZSgpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG4vL1xuLy8gUHJpbWFyeVxuLy9cblxuXG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG5cbi8vXG4vLyBTZWNvbmRhcnlcbi8vXG5cblxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cblxuLy9cbi8vIERhbmdlclxuLy9cblxuXG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCl7fVxuXG5cbi8vIERpc2FibGVkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gU2l6ZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24tc21hbGwoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1sYXJnZSgpe31cblxuXG4vLyBUZXh0IG1vZGlmaWVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cblxuXG4vLyBMaW5rIG1vZGlmaWVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxpbmsoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1saW5rKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFByb2dyZXNzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcy1iYXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLW1pc2MoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBTZWN0aW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uKCl7fVxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1tdXRlZCgpe31cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1wcmltYXJ5KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1taXNjKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogQ29udGFpbmVyXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY29udGFpbmVyLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogVGlsZVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdGlsZSgpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10aWxlLWRlZmF1bHQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUtcHJpbWFyeSgpe31cblxuLy8gQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnkoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRpbGUtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBDYXJkXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNhcmQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRjYXJkLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRjYXJkLWhvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGNhcmQtcHJpbWFyeS1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGNhcmQtc2Vjb25kYXJ5LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBTZWN0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtYm9keSgpe31cblxuLy8gQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuXG5cbi8vIE1lZGlhXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cblxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS10b3AoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtcmlnaHQoKXt9XG5cblxuLy8gVGl0bGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jYXJkLXRpdGxlKCl7fVxuXG5cbi8vIEJhZGdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY2FyZC1iYWRnZSgpe31cblxuXG4vLyBIb3ZlciBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKXt9XG5cblxuXG5cblxuXG5cbi8vXG4vLyBQcmltYXJ5XG4vL1xuXG5cblxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuXG5cblxuLy9cbi8vIFNlY29uZGFyeVxuLy9cblxuXG5cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCl7fVxuXG5cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuIiwiLy9cbi8vIENvbXBvbmVudDogQ2xvc2Vcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1jbG9zZS1ob3Zlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY2xvc2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogU3Bpbm5lclxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNwaW5uZXItbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBNYXJrZXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1tYXJrZXItaG92ZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1hcmtlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogVG90b3Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stdG90b3AtYWN0aXZlKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogQWxlcnRcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kYWxlcnQtY2xvc2Utb3BhY2l0eTogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC40ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWhvdmVyLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAgIDAuOCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydCgpe31cblxuXG4vLyBDbG9zZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydC1wcmltYXJ5KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydC1zdWNjZXNzKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydC13YXJuaW5nKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydC1kYW5nZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiIsIi8vXG4vLyBDb21wb25lbnQ6IFBsYWNlaG9sZGVyXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kcGxhY2Vob2xkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXBsYWNlaG9sZGVyLW1pc2MoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBCYWRnZVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYmFkZ2UoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJhZGdlLWhvdmVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1iYWRnZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYWRnZS1ob3Zlcigpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBMYWJlbFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRsYWJlbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAycHggIWRlZmF1bHQ7XG4kbGFiZWwtdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIENvbG9yIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxhYmVsLXN1Y2Nlc3MoKXt9XG5cbi8vIEBtaXhpbiBob29rLWxhYmVsLXdhcm5pbmcoKXt9XG5cbi8vIEBtaXhpbiBob29rLWxhYmVsLWRhbmdlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGFiZWwtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sYWJlbCgpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBPdmVybGF5XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1vdmVybGF5KCl7fVxuXG4vLyBJY29uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1pY29uKCl7fVxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktZGVmYXVsdCgpe31cblxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1wcmltYXJ5KCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogQXJ0aWNsZVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRhcnRpY2xlLW1ldGEtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkYXJ0aWNsZS1tZXRhLWNvbG9yICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYXJ0aWNsZSgpe31cblxuXG4vLyBBZGphY2VudCBzaWJsaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpe31cblxuXG4vLyBUaXRsZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWFydGljbGUtdGl0bGUoKXt9XG5cblxuLy8gTWV0YVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IENvbW1lbnRcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kY29tbWVudC1wcmltYXJ5LXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQoKXt9XG5cblxuLy8gU2VjdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWJvZHkoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtaGVhZGVyKCl7fVxuXG5cbi8vIFRpdGxlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY29tbWVudC10aXRsZSgpe31cblxuXG4vLyBNZXRhXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY29tbWVudC1tZXRhKCl7fVxuXG5cbi8vIEF2YXRhclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtYXZhdGFyKCl7fVxuXG5cbi8vIExpc3Rcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKXt9XG5cblxuLy8gU3R5bGUgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY29tbWVudC1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFNlYXJjaFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRzZWFyY2gtZGVmYXVsdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1pbnB1dCgpe31cblxuXG4vLyBEZWZhdWx0IG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIE5hdmJhciBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cblxuXG4vLyBMYXJnZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG5cblxuLy8gVG9nZ2xlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZSgpe31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBBY2NvcmRpb25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kYWNjb3JkaW9uLWljb24tbWFyZ2luLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1hY2NvcmRpb24tb3Blbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMyUyMDEzJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjYlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1hY2NvcmRpb24tY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMlMjAxMyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB4JTNEJTIyNiUyMiUyMHklM0QlMjIwJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuXG5cbi8vIEl0ZW1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24taXRlbSgpe31cblxuXG4vLyBUaXRsZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5cblxuLy8gQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1jb250ZW50KCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tbWlzYygpe31cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5cblxuIiwiLy9cbi8vIENvbXBvbmVudDogRHJvcFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWRyb3AtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBEcm9wZG93blxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkcm9wZG93bi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJGRyb3Bkb3duLW5hdi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAgICAgMCA1cHggMTJweCByZ2JhKDAsMCwwLDAuMTUpICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIE5hdlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpe31cblxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IE1vZGFsXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jbG9zZS1mdWxsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLWZ1bGwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsKCl7fVxuXG5cbi8vIERpYWxvZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLWRpYWxvZygpe31cblxuXG4vLyBGdWxsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbW9kYWwtZnVsbCgpe31cblxuXG4vLyBTZWN0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1ib2R5KCl7fVxuXG5cblxuXG4vLyBUaXRsZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLXRpdGxlKCl7fVxuXG5cbi8vIENsb3NlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UoKXt9XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuXG5cblxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3Zlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbW9kYWwtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBTbGlkZXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zbGlkZXItbWlzYygpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IFN0aWNreVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXN0aWNreS1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IE9mZi1jYW52YXNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIEJhclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1iYXIoKXt9XG5cblxuLy8gQ2xvc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtY2xvc2UoKXt9XG5cblxuLy8gT3ZlcmxheVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1vdmVybGF5KCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBMZWFkZXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxlYWRlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGVhZGVyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGVhZGVyKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IE5vdGlmaWNhdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uKCl7fVxuXG5cbi8vIE1lc3NhZ2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpe31cblxuXG4vLyBDbG9zZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFRvb2x0aXBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBTb3J0YWJsZVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc29ydGFibGUoKXt9XG5cblxuLy8gRHJhZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLWRyYWcoKXt9XG5cblxuLy8gUGxhY2Vob2xkZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpe31cblxuXG4vLyBFbXB0eVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLWVtcHR5KCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1taXNjKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogQ291bnRkb3duXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24oKXt9XG5cblxuLy8gSXRlbVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1pdGVtKCl7fVxuXG5cbi8vIE51bWJlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1udW1iZXIoKXt9XG5cblxuLy8gU2VwYXJhdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cblxuXG4vLyBMYWJlbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY291bnRkb3duLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IEdyaWRcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogTmF2XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJG5hdi1kZWZhdWx0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG5cbi8vIFN1Ymxpc3RzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2LXN1Yigpe31cblxuXG4vLyBQYXJlbnQgaWNvbiBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdi1wYXJlbnQtaWNvbigpe31cblxuXG4vLyBIZWFkZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtaGVhZGVyKCl7fVxuXG5cbi8vIERpdmlkZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtZGl2aWRlcigpe31cblxuXG4vLyBEZWZhdWx0IHN0eWxlIG1vZGlmaWVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5cblxuLy8gUHJpbWFyeSBzdHlsZSBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cblxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IE5hdmJhclxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgMjVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgKCRuYXZiYXItZHJvcGRvd24tcGFkZGluZyAqIDIpICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kbmF2YmFyLW5hdi1pdGVtLXRleHQtdHJhbnNmb3JtOiAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAwIDVweCAxMnB4IHJnYmEoMCwwLDAsMC4xNSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGJhci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAwIDVweCA3cHggcmdiYSgwLCAwLCAwLCAwLjA1KSAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhcigpe31cblxuXG4vLyBDb250YWluZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItY29udGFpbmVyKCl7fVxuXG5cbi8vIE5hdlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuXG5cbi8vIEl0ZW1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItaXRlbSgpe31cblxuXG4vLyBUb2dnbGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3Zlcigpe31cblxuXG4vLyBTdWJ0aXRsZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1zdWJ0aXRsZSgpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItcHJpbWFyeSgpe31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3RpY2t5KCl7fVxuXG5cbi8vIERyb3Bkb3duXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cbi8vIERyb3Bkb3duIG5hdlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cblxuXG4vLyBEcm9wYmFyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXIoKXt9XG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBTdWJuYXZcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kc3VibmF2LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdigpe31cblxuXG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5cblxuLy8gRGl2aWRlciBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1kaXZpZGVyKCl7fVxuXG5cbi8vIFBpbGwgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuXG5cbi8vIERpc2FibGVkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBCcmVhZGNydW1iXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iKCl7fVxuXG5cbi8vIEl0ZW1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cblxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cblxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogUGFnaW5hdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbigpe31cblxuXG4vLyBJdGVtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogVGFiXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJHRhYi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kdGFiLWl0ZW0tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4kdGFiLWl0ZW0tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gSXRlbXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG5cblxuXG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1kaXNhYmxlZCgpe31cblxuXG4vLyBQb3NpdGlvbiBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdGFiLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFNsaWRlbmF2XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWFjdGl2ZSgpe31cblxuXG4vLyBJY29uIG1vZGlmaWVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW5leHQoKXt9XG5cblxuLy8gU2l6ZSBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWxhcmdlKCl7fVxuXG5cbi8vIENvbnRhaW5lclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSgpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IERvdG5hdlxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kZG90bmF2LWl0ZW0tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG5cbiRkb3RuYXYtaXRlbS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC40KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kb3RuYXYoKXt9XG5cblxuXG5cblxuXG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2KCl7fVxuXG5cblxuIiwiLy9cbi8vIENvbXBvbmVudDogVGh1bWJuYXZcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kdGh1bWJuYXYtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuNCkgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYoKXt9XG5cblxuXG5cblxuXG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogSWNvbm5hdlxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staWNvbm5hdigpe31cblxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWljb25uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSgpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBMaWdodGJveFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3goKXt9XG5cblxuLy8gSXRlbVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWl0ZW0oKXt9XG5cblxuLy8gVG9vbGJhclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKXt9XG5cblxuLy8gVG9vbGJhciBJY29uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKXt9XG5cblxuLy8gQnV0dG9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbi1hY3RpdmUoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogQW5pbWF0aW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogV2lkdGhcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay13aWR0aC1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEhlaWdodFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWhlaWdodC1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFRleHRcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kdGV4dC1tZXRhLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRleHQtbWV0YS1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRleHQtbGVhZCgpe31cblxuXG5cblxuLy8gU2l6ZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10ZXh0LXNtYWxsKCl7fVxuXG4vLyBAbWl4aW4gaG9vay10ZXh0LWxhcmdlKCl7fVxuXG5cbi8vIEJhY2tncm91bmQgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10ZXh0LWJhY2tncm91bmQoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRleHQtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10ZXh0LWxlYWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IENvbHVtblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvbHVtbi1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEJhY2tncm91bmRcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1iYWNrZ3JvdW5kLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogQWxpZ25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFV0aWxpdHlcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFBhbmVsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cblxuXG4vLyBCb3gtc2hhZG93IGJvdHRvbVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuXG5cbi8vIERyb3AgY2FwXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gTG9nb1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxvZ28oKXt9XG5cbi8vIEBtaXhpbiBob29rLWxvZ28taG92ZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXV0aWxpdHktbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kcm9wY2FwKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogTWFyZ2luXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbWFyZ2luLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogUGFkZGluZ1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXBhZGRpbmctbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBQb3NpdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXBvc2l0aW9uLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogVHJhbnNpdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRyYW5zaXRpb24tbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBJbnZlcnNlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlKCl7fSIsIi8vIEJhc2VcbkBpbXBvcnQgXCJ2YXJpYWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcIm1peGluLnNjc3NcIjtcbkBpbXBvcnQgXCJiYXNlLnNjc3NcIjtcblxuLy8gRWxlbWVudHNcbkBpbXBvcnQgXCJsaW5rLnNjc3NcIjtcbkBpbXBvcnQgXCJoZWFkaW5nLnNjc3NcIjtcbkBpbXBvcnQgXCJkaXZpZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJsaXN0LnNjc3NcIjtcbkBpbXBvcnQgXCJkZXNjcmlwdGlvbi1saXN0LnNjc3NcIjtcbkBpbXBvcnQgXCJ0YWJsZS5zY3NzXCI7XG5AaW1wb3J0IFwiaWNvbi5zY3NzXCI7XG5AaW1wb3J0IFwiZm9ybS1yYW5nZS5zY3NzXCI7XG5AaW1wb3J0IFwiZm9ybS5zY3NzXCI7IC8vIEFmdGVyOiBJY29uLCBGb3JtIFJhbmdlXG5AaW1wb3J0IFwiYnV0dG9uLnNjc3NcIjtcbkBpbXBvcnQgXCJwcm9ncmVzcy5zY3NzXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcInNlY3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcImNvbnRhaW5lci5zY3NzXCI7XG5AaW1wb3J0IFwidGlsZS5zY3NzXCI7XG5AaW1wb3J0IFwiY2FyZC5zY3NzXCI7XG5cbi8vIENvbW1vblxuQGltcG9ydCBcImNsb3NlLnNjc3NcIjsgLy8gQWZ0ZXI6IEljb25cbkBpbXBvcnQgXCJzcGlubmVyLnNjc3NcIjsgLy8gQWZ0ZXI6IEljb25cbkBpbXBvcnQgXCJ0b3RvcC5zY3NzXCI7IC8vIEFmdGVyOiBJY29uXG5AaW1wb3J0IFwibWFya2VyLnNjc3NcIjsgLy8gQWZ0ZXI6IEljb25cbkBpbXBvcnQgXCJhbGVydC5zY3NzXCI7IC8vIEFmdGVyOiBDbG9zZVxuQGltcG9ydCBcInBsYWNlaG9sZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJiYWRnZS5zY3NzXCI7XG5AaW1wb3J0IFwibGFiZWwuc2Nzc1wiO1xuQGltcG9ydCBcIm92ZXJsYXkuc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcImFydGljbGUuc2Nzc1wiO1xuQGltcG9ydCBcImNvbW1lbnQuc2Nzc1wiO1xuQGltcG9ydCBcInNlYXJjaC5zY3NzXCI7IC8vIEFmdGVyOiBJY29uXG5cbi8vIEphdmFTY3JpcHRcbkBpbXBvcnQgXCJhY2NvcmRpb24uc2Nzc1wiO1xuQGltcG9ydCBcImRyb3Auc2Nzc1wiOyAvLyBBZnRlcjogQ2FyZFxuQGltcG9ydCBcImRyb3Bkb3duLnNjc3NcIjsgLy8gQWZ0ZXI6IENhcmRcbkBpbXBvcnQgXCJtb2RhbC5zY3NzXCI7IC8vIEFmdGVyOiBDbG9zZVxuQGltcG9ydCBcInNsaWRlc2hvdy5zY3NzXCI7XG5AaW1wb3J0IFwic2xpZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJzdGlja3kuc2Nzc1wiO1xuQGltcG9ydCBcIm9mZmNhbnZhcy5zY3NzXCI7XG5AaW1wb3J0IFwic3dpdGNoZXIuc2Nzc1wiO1xuQGltcG9ydCBcImxlYWRlci5zY3NzXCI7XG5AaW1wb3J0IFwibm90aWZpY2F0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ0b29sdGlwLnNjc3NcIjtcbkBpbXBvcnQgXCJzb3J0YWJsZS5zY3NzXCI7XG5AaW1wb3J0IFwiY291bnRkb3duLnNjc3NcIjtcbi8vIFNjcm9sbHNweVxuLy8gVG9nZ2xlXG4vLyBTY3JvbGxcblxuQGltcG9ydCBcImdyaWQuc2Nzc1wiO1xuXG4vLyBOYXZzXG5AaW1wb3J0IFwibmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJuYXZiYXIuc2Nzc1wiOyAvLyBBZnRlcjogQ2FyZCwgR3JpZCwgTmF2LCBJY29uLCBTZWFyY2hcbkBpbXBvcnQgXCJzdWJuYXYuc2Nzc1wiO1xuQGltcG9ydCBcImJyZWFkY3J1bWIuc2Nzc1wiO1xuQGltcG9ydCBcInBhZ2luYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcInRhYi5zY3NzXCI7XG5AaW1wb3J0IFwic2xpZGVuYXYuc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcImRvdG5hdi5zY3NzXCI7XG5AaW1wb3J0IFwidGh1bWJuYXYuc2Nzc1wiO1xuQGltcG9ydCBcImljb25uYXYuc2Nzc1wiO1xuXG5AaW1wb3J0IFwibGlnaHRib3guc2Nzc1wiOyAvLyBBZnRlcjogQ2xvc2UsIFNsaWRlbmF2XG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcImFuaW1hdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwid2lkdGguc2Nzc1wiO1xuQGltcG9ydCBcImhlaWdodC5zY3NzXCI7XG5AaW1wb3J0IFwidGV4dC5zY3NzXCI7XG5AaW1wb3J0IFwiY29sdW1uLnNjc3NcIjtcbkBpbXBvcnQgXCJjb3Zlci5zY3NzXCI7XG5AaW1wb3J0IFwiYmFja2dyb3VuZC5zY3NzXCI7XG5AaW1wb3J0IFwiYWxpZ24uc2Nzc1wiO1xuQGltcG9ydCBcInN2Zy5zY3NzXCI7XG5AaW1wb3J0IFwidXRpbGl0eS5zY3NzXCI7XG5AaW1wb3J0IFwiZmxleC5zY3NzXCI7IC8vIEFmdGVyOiBVdGlsaXR5XG5AaW1wb3J0IFwibWFyZ2luLnNjc3NcIjtcbkBpbXBvcnQgXCJwYWRkaW5nLnNjc3NcIjtcbkBpbXBvcnQgXCJwb3NpdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwidmlzaWJpbGl0eS5zY3NzXCI7XG5AaW1wb3J0IFwiaW52ZXJzZS5zY3NzXCI7XG5cbi8vIE5lZWQgdG8gYmUgbG9hZGVkIGxhc3RcbkBpbXBvcnQgXCJwcmludC5zY3NzXCI7XG4iLCIvL1xuLy8gQ29tcG9uZW50OiAgICAgICBWYXJpYWJsZXNcbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBjb21tb24gdmFsdWVzIHdoaWNoIGFyZSB1c2VkIGFjcm9zcyBhbGwgY29tcG9uZW50c1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIExvYWQgZGVwcmVjYXRlZCBjb21wb25lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRlcHJlY2F0ZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWtwb2ludHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBQaG9uZSBQb3J0cmFpdDogICBHYWxheHkgKDM2MHg2NDApLCBpUGhvbmUgNiAoMzc1eDY2NyksIGlQaG9uZSA2KyAoNDE0eDczNilcbi8vIFBob25lIExhbmRzY2FwZTogIEdhbGF4eSAoNjQweDM2MCksIGlQaG9uZSA2ICg2Njd4Mzc1KSwgaVBob25lIDYrICg3MzZ4NDE0KVxuLy8gVGFibGV0IFBvcnRyYWl0OiAgaVBhZCAoNzY4eDEwMjQpLCBHYWxheHkgVGFiICg4MDB4MTI4MCksXG4vLyBUYWJsZXQgTGFuZHNjYXBlOiBpUGFkICgxMDI0eDc2OCksIGlQYWQgUHJvICgxMDI0eDEzNjYpLFxuLy8gRGVza3RvcDogICAgICAgICAgR2FsYXh5IFRhYiAoMTI4MHg4MDApLCBpUGFkIFBybyAoMTM2NngxMDI0KVxuXG4kYnJlYWtwb2ludC1zbWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2NDBweCAhZGVmYXVsdDsgIC8vIFBob25lIGxhbmRzY2FwZVxuJGJyZWFrcG9pbnQtbWVkaXVtOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOTYwcHggIWRlZmF1bHQ7ICAvLyBUYWJsZXQgTGFuZHNjYXBlXG4kYnJlYWtwb2ludC1sYXJnZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7IC8vIERlc2t0b3BcbiRicmVha3BvaW50LXhsYXJnZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2MDBweCAhZGVmYXVsdDsgLy8gTGFyZ2UgU2NyZWVuc1xuXG4kYnJlYWtwb2ludC14c21hbGwtbWF4OiAgICAgICAgICAgICAgICAgICAgICAgICAoJGJyZWFrcG9pbnQtc21hbGwgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgICgkYnJlYWtwb2ludC1tZWRpdW0gLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LW1lZGl1bS1tYXg6ICAgICAgICAgICAgICAgICAgICAgICAgICgkYnJlYWtwb2ludC1sYXJnZSAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbGFyZ2UtbWF4OiAgICAgICAgICAgICAgICAgICAgICAgICAgKCRicmVha3BvaW50LXhsYXJnZSAtIDEpICFkZWZhdWx0O1xuXG5cbi8vIEdsb2JhbCB2YXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuJGdsb2JhbC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRnbG9iYWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGdsb2JhbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDsgICAgICAvLyAyNHB4XG5cbiRnbG9iYWwtMnhsYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAyLjYyNXJlbSAhZGVmYXVsdDsgLy8gNDJweFxuJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7ICAgICAvLyAzMnB4XG4kZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0OyAgIC8vIDI0cHhcbiRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0OyAgLy8gMjBweFxuJGdsb2JhbC1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgIDAuODc1cmVtICFkZWZhdWx0OyAvLyAxNHB4XG5cbi8vXG4vLyBDb2xvcnNcbi8vXG5cbiRnbG9iYWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNjY2ICFkZWZhdWx0O1xuJGdsb2JhbC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kZ2xvYmFsLW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuJGdsb2JhbC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMxZTg3ZjAgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIzBmNmVjZCAhZGVmYXVsdDtcblxuJGdsb2JhbC1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCYWNrZ3JvdW5kc1xuLy9cblxuJGdsb2JhbC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAjZjhmOGY4ICFkZWZhdWx0O1xuJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICMxZTg3ZjAgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgIzIyMiAhZGVmYXVsdDtcblxuJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICMzMmQyOTYgIWRlZmF1bHQ7XG4kZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgI2ZhYTA1YSAhZGVmYXVsdDtcbiRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAjZjA1MDZlICFkZWZhdWx0O1xuXG4vL1xuLy8gQm9yZGVyc1xuLy9cblxuJGdsb2JhbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRnbG9iYWwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vL1xuLy8gQm94LVNoYWRvd3Ncbi8vXG5cbiRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDJweCA4cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAwIDVweCAxNXB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgMCAxNHB4IDI1cHggcmdiYSgwLDAsMCwwLjE2KSAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAwIDI4cHggNTBweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuXG4vL1xuLy8gU3BhY2luZ3Ncbi8vXG5cbi8vIFVzZWQgaW4gbWFyZ2luLCBzZWN0aW9uLCBsaXN0XG4kZ2xvYmFsLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgNzBweCAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAxNDBweCAhZGVmYXVsdDtcblxuLy8gVXNlZCBpbiBncmlkLCBjb2x1bW4sIGNvbnRhaW5lciwgYWxpZ24sIGNhcmQsIHBhZGRpbmdcbiRnbG9iYWwtZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3MHB4ICFkZWZhdWx0O1xuXG4vL1xuLy8gQ29udHJvbHNcbi8vXG5cbiRnbG9iYWwtY29udHJvbC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTVweCAhZGVmYXVsdDtcblxuLy9cbi8vIFotaW5kZXhcbi8vXG5cbiRnbG9iYWwtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuIiwiLy9cbi8vIENvbXBvbmVudDogICAgICAgTWl4aW5cbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBtaXhpbnMgd2hpY2ggYXJlIHVzZWQgYWNyb3NzIGFsbCBjb21wb25lbnRzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gU1ZHXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuQG1peGluIHN2Zy1maWxsKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3KXtcblxuICAgICRyZXBsYWNlLXNyYzogc3RyLXJlcGxhY2UoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpICFkZWZhdWx0O1xuICAgICRyZXBsYWNlLXNyYzogc3RyLXJlcGxhY2UoJHJlcGxhY2Utc3JjLCBcIiNcIiwgXCIlMjNcIik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHF1b3RlKCRyZXBsYWNlLXNyYykpO1xufSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFzZVxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZhdWx0IHZhbHVlcyBmb3IgSFRNTCBlbGVtZW50c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oMWAsIGB1ay1oMmAsIGB1ay1oM2AsIGB1ay1oNGAsIGB1ay1oNWAsIGB1ay1oNmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYXNlLWJvZHktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYmFzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcblxuJGJhc2Utc3Ryb25nLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtaW5zLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLW1hcmstYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZkICFkZWZhdWx0O1xuJGJhc2UtbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1xdW90ZS1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRhbGljICFkZWZhdWx0O1xuJGJhc2Utc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJGJhc2UtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWgxLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlLWgxLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgxLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlLWgyLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgyLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjMgIWRlZmF1bHQ7XG4kYmFzZS1oMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMy1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDYtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGJhc2UtbGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbiRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgaXRhbGljICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJhc2UtcHJlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtcHJlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAjMzlmICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgYGZvbnQtc2l6ZWAgdG8gc3VwcG9ydCBgcmVtYCB1bml0c1xuICogICAgTm90IHVzaW5nIGBmb250YCBwcm9wZXJ0eSBiZWNhdXNlIGEgbGVhZGluZyBoeXBoZW4gKGUuZy4gLWFwcGxlLXN5c3RlbSkgY2F1c2VzIHRoZSBmb250IHRvIGJyZWFrIGluIElFMTEgYW5kIEVkZ2VcbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICogMy4gU3R5bGVcbiAqL1xuXG5odG1sIHtcbiAgICAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ib2R5LWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGJhc2UtYm9keS1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtYm9keS1saW5lLWhlaWdodDtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1ib2R5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLWJvZHktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtYm9keSkpIHtAaW5jbHVkZSBob29rLWJhc2UtYm9keSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHsgbWFyZ2luOiAwOyB9XG5cblxuLyogTGlua3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogU3R5bGVcbiAqL1xuXG5hLFxuLnVrLWxpbmsge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb247XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWxpbmspKSB7QGluY2x1ZGUgaG9vay1iYXNlLWxpbmsoKTt9XG59XG5cbmE6aG92ZXIsXG4udWstbGluazpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluayxcbi51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluayB7XG4gICAgY29sb3I6ICRiYXNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1saW5rLWhvdmVyKCk7fVxufVxuXG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gRWRnZS5cbiAqIDIuIFRoZSBzaG9ydGhhbmQgZGVjbGFyYXRpb24gYHVuZGVybGluZSBkb3R0ZWRgIGlzIG5vdCBzdXBwb3J0ZWQgaW4gU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1zdHlsZTogZG90dGVkO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHsgZm9udC13ZWlnaHQ6ICRiYXNlLXN0cm9uZy1mb250LXdlaWdodDsgfVxuXG4vKlxuICogMS4gQ29uc29sYXMgaGFzIGEgYmV0dGVyIGJhc2VsaW5lIGluIHJ1bm5pbmcgdGV4dCBjb21wYXJlZCB0byBgQ291cmllcmBcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIFN0eWxlXG4gKi9cblxuOm5vdChwcmUpID4gY29kZSxcbjpub3QocHJlKSA+IGtiZCxcbjpub3QocHJlKSA+IHNhbXAge1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogJGJhc2UtY29kZS1mb250LWZhbWlseTtcbiAgICAvKiAyICovXG4gICAgZm9udC1zaXplOiAkYmFzZS1jb2RlLWZvbnQtc2l6ZTtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRiYXNlLWNvZGUtY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1jb2RlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1jb2RlKCk7fVxufVxuXG4vKlxuICogRW1waGFzaXplXG4gKi9cblxuZW0geyBjb2xvcjogJGJhc2UtZW0tY29sb3I7IH1cblxuLypcbiAqIEluc2VydFxuICovXG5cbmlucyB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtaW5zLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLWlucy1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBNYXJrXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtbWFyay1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1tYXJrLWNvbG9yO1xufVxuXG4vKlxuICogUXVvdGVcbiAqL1xuXG5xIHsgZm9udC1zdHlsZTogJGJhc2UtcXVvdGUtZm9udC1zdHlsZTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwgeyBmb250LXNpemU6ICRiYXNlLXNtYWxsLWZvbnQtc2l6ZTsgfVxuXG4vKlxuICogUHJldmVudHMgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7IHRvcDogLTAuNWVtOyB9XG5zdWIgeyBib3R0b206IC0wLjI1ZW07IH1cblxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gZW1iZWRkZWQgY29udGVudCBhbmQgdGhlIGJvdHRvbSBvZiB0aGVpciBjb250YWluZXJzLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8geyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qXG4gKiAxLiBBZGQgcmVzcG9uc2l2ZW5lc3MuXG4gKiAyLiBBdXRvLXNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50LlxuICogMy4gQ29ycmVjdHMgcmVzcG9uc2l2ZSBgbWF4LXdpZHRoYCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWQuXG4gKiA0LiBFeGNsdWRlIFNWR3MgZm9yIElFMTEgYmVjYXVzZSB0aGV5IGRvbid0IHByZXNlcnZlIHRoZWlyIGFzcGVjdCByYXRpby5cbiAqL1xuXG5jYW52YXMsXG5pbWcsXG52aWRlbyB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiA0ICovXG5Ac3VwcG9ydHMgKGRpc3BsYXk6IGJsb2NrKSB7XG5cbiAgIHN2ZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxufVxuXG4vKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiAxLiBGaXggbGF6eSBsb2FkaW5nIGltYWdlcyBpZiBwYXJlbnQgZWxlbWVudCBpcyBzZXQgdG8gYGRpc3BsYXk6IGlubGluZWAgYW5kIGhhcyBgb3ZlcmZsb3c6IGhpZGRlbmAuXG4gKiAyLiBIaWRlIGBhbHRgIHRleHQgZm9yIGxhenkgbG9hZGluZyBpbWFnZXMuXG4gKiBOb3RlOiBTZWxlY3RvciBmb3IgYmFja2dyb3VuZCB3aGlsZSBsb2FkaW5nIGltZ1tkYXRhLXNyYyo9Jy5qcGcnXVtzcmMqPSdkYXRhOmltYWdlJ10geyBiYWNrZ3JvdW5kOiBncmV5OyB9XG4gKi9cblxuaW1nOm5vdChbc3JjXSkge1xuICAgIC8qIDEgKi9cbiAgICBtaW4td2lkdGg6IDFweDtcbiAgICAvKiAyICovXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogSWZyYW1lXG4gKiBSZW1vdmUgYm9yZGVyIGluIGFsbCBicm93c2Vyc1xuICovXG5cbmlmcmFtZSB7IGJvcmRlcjogMDsgfVxuXG5cbi8qIEJsb2NrIGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE1hcmdpbnNcbiAqL1xuXG5wLFxudWwsXG5vbCxcbmRsLFxucHJlLFxuYWRkcmVzcyxcbmZpZWxkc2V0LFxuZmlndXJlIHsgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgcCxcbiogKyB1bCxcbiogKyBvbCxcbiogKyBkbCxcbiogKyBwcmUsXG4qICsgYWRkcmVzcyxcbiogKyBmaWVsZHNldCxcbiogKyBmaWd1cmUgeyBtYXJnaW4tdG9wOiAkYmFzZS1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBIZWFkaW5nc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmgxLCAudWstaDEsXG5oMiwgLnVrLWgyLFxuaDMsIC51ay1oMyxcbmg0LCAudWstaDQsXG5oNSwgLnVrLWg1LFxuaDYsIC51ay1oNixcbi51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLWhlYWRpbmctbWVkaXVtLFxuLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstaGVhZGluZy14bGFyZ2UsXG4udWstaGVhZGluZy0yeGxhcmdlIHtcbiAgICBtYXJnaW46IDAgMCAkYmFzZS1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBmb250LWZhbWlseTogJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGJhc2UtaGVhZGluZy1jb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oZWFkaW5nKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oZWFkaW5nKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBoMSwgKiArIC51ay1oMSxcbiogKyBoMiwgKiArIC51ay1oMixcbiogKyBoMywgKiArIC51ay1oMyxcbiogKyBoNCwgKiArIC51ay1oNCxcbiogKyBoNSwgKiArIC51ay1oNSxcbiogKyBoNiwgKiArIC51ay1oNixcbiogKyAudWstaGVhZGluZy1zbWFsbCxcbiogKyAudWstaGVhZGluZy1tZWRpdW0sXG4qICsgLnVrLWhlYWRpbmctbGFyZ2UsXG4qICsgLnVrLWhlYWRpbmcteGxhcmdlLFxuKiArIC51ay1oZWFkaW5nLTJ4bGFyZ2UgeyBtYXJnaW4tdG9wOiAkYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A7IH1cblxuLypcbiAqIFNpemVzXG4gKi9cblxuaDEsIC51ay1oMSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgxLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgxKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMSgpO31cbn1cblxuaDIsIC51ay1oMiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMigpO31cbn1cblxuaDMsIC51ay1oMyB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMy1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgzLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgzKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMygpO31cbn1cblxuaDQsIC51ay1oNCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg0LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg0KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNCgpO31cbn1cblxuaDUsIC51ay1oNSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg1LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg1KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNSgpO31cbn1cblxuaDYsIC51ay1oNiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg2LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg2KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNigpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICBoMSwgLnVrLWgxIHsgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemUtbTsgfVxuICAgIGgyLCAudWstaDIgeyBmb250LXNpemU6ICRiYXNlLWgyLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBMaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbnVsLFxub2wgeyBwYWRkaW5nLWxlZnQ6ICRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OyB9XG5cbi8qXG4gKiBSZXNldCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICovXG5cbnVsID4gbGkgPiB1bCxcbnVsID4gbGkgPiBvbCxcbm9sID4gbGkgPiBvbCxcbm9sID4gbGkgPiB1bCB7IG1hcmdpbjogMDsgfVxuXG5cbi8qIERlc2NyaXB0aW9uIGxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZHQgeyBmb250LXdlaWdodDogYm9sZDsgfVxuZGQgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG5cbi8qIEhvcml6b250YWwgcnVsZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gQ2hyb21lLCBFZGdlIGFuZCBJRS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0LWFsaWduIGluIEVkZ2UgYW5kIElFLlxuICogMy4gU3R5bGVcbiAqL1xuXG5ociwgLnVrLWhyIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogMiAqL1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbjogMCAwICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAkYmFzZS1oci1ib3JkZXItd2lkdGggc29saWQgJGJhc2UtaHItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWhyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ocigpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaHIsXG4qICsgLnVrLWhyIHsgbWFyZ2luLXRvcDogJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsIH1cblxuXG4vKiBBZGRyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYWRkcmVzcyB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5cbi8qIEJsb2NrcXVvdGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBmb250LXNpemU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBibG9ja3F1b3RlIHsgbWFyZ2luLXRvcDogJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIENvbnRlbnRcbiAqL1xuXG5ibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpO31cbn1cblxuXG4vKiBQcmVmb3JtYXR0ZWQgdGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIGZvbnQ6ICRiYXNlLXByZS1mb250LXNpemUgdW5xdW90ZShcIi9cIikgJGJhc2UtcHJlLWxpbmUtaGVpZ2h0ICRiYXNlLXByZS1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGJhc2UtcHJlLWNvbG9yO1xuICAgIC1tb3otdGFiLXNpemU6IDQ7XG4gICAgdGFiLXNpemU6IDQ7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLXByZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtcHJlKCk7fVxufVxuXG5wcmUgY29kZSB7IGZvbnQtZmFtaWx5OiAkYmFzZS1wcmUtZm9udC1mYW1pbHk7IH1cblxuXG4vKiBTZWxlY3Rpb24gcHNldWRvLWVsZW1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLXNlbGVjdGlvbi1jb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuXG4vKiBIVE1MNSBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWFpbiB7IC8qIDIgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHsgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBQYXNzIG1lZGlhIGJyZWFrcG9pbnRzIHRvIEpTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJyZWFrcG9pbnRzXG4gKi9cblxuLnVrLWJyZWFrcG9pbnQtczo6YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LXNtYWxsfSc7IH1cbi51ay1icmVha3BvaW50LW06OmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1tZWRpdW19JzsgfVxuLnVrLWJyZWFrcG9pbnQtbDo6YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LWxhcmdlfSc7IH1cbi51ay1icmVha3BvaW50LXhsOjpiZWZvcmUgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC14bGFyZ2V9JzsgfVxuXG46cm9vdCB7XG4gICAgLS11ay1icmVha3BvaW50LXM6ICN7JGJyZWFrcG9pbnQtc21hbGx9O1xuICAgIC0tdWstYnJlYWtwb2ludC1tOiAjeyRicmVha3BvaW50LW1lZGl1bX07XG4gICAgLS11ay1icmVha3BvaW50LWw6ICN7JGJyZWFrcG9pbnQtbGFyZ2V9O1xuICAgIC0tdWstYnJlYWtwb2ludC14bDogI3skYnJlYWtwb2ludC14bGFyZ2V9O1xufVxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1iYXNlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtY29kZSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg1KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaHIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1wcmUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJhc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaW5rXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlua3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saW5rLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay10ZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay1oZWFkaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay1yZXNldGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1saW5rLXRvZ2dsZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGluay1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbGluay10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpbmstaGVhZGluZy1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpbmtcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIE11dGVkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYS51ay1saW5rLW11dGVkLFxuLnVrLWxpbmstbXV0ZWQgYSB7XG4gICAgY29sb3I6ICRsaW5rLW11dGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLW11dGVkKSkge0BpbmNsdWRlIGhvb2stbGluay1tdXRlZCgpO31cbn1cblxuYS51ay1saW5rLW11dGVkOmhvdmVyLFxuLnVrLWxpbmstbXV0ZWQgYTpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1tdXRlZCxcbi51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluay1tdXRlZCB7XG4gICAgY29sb3I6ICRsaW5rLW11dGVkLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLW11dGVkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay1tdXRlZC1ob3ZlcigpO31cbn1cblxuXG4vKiBUZXh0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYS51ay1saW5rLXRleHQsXG4udWstbGluay10ZXh0IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXRleHQpKSB7QGluY2x1ZGUgaG9vay1saW5rLXRleHQoKTt9XG59XG5cbmEudWstbGluay10ZXh0OmhvdmVyLFxuLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLXRleHQsXG4udWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmstdGV4dCB7XG4gICAgY29sb3I6ICRsaW5rLXRleHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpbmstdGV4dC1ob3ZlcigpO31cbn1cblxuXG4vKiBIZWFkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYS51ay1saW5rLWhlYWRpbmcsXG4udWstbGluay1oZWFkaW5nIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1saW5rLWhlYWRpbmcoKTt9XG59XG5cbmEudWstbGluay1oZWFkaW5nOmhvdmVyLFxuLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLWhlYWRpbmcsXG4udWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmstaGVhZGluZyB7XG4gICAgY29sb3I6ICRsaW5rLWhlYWRpbmctaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1oZWFkaW5nLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1oZWFkaW5nLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay1oZWFkaW5nLWhvdmVyKCk7fVxufVxuXG5cbi8qIFJlc2V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgaW52ZXJzZSBjb21wb25lbnRcbiAqL1xuXG5hLnVrLWxpbmstcmVzZXQsXG4udWstbGluay1yZXNldCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXJlc2V0KSkge0BpbmNsdWRlIGhvb2stbGluay1yZXNldCgpO31cbn1cblxuXG4vKiBUb2dnbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGluay10b2dnbGUge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4gXG4udWstbGluay10b2dnbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1taXNjKSkge0BpbmNsdWRlIGhvb2stbGluay1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stbGluay1tdXRlZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBIZWFkaW5nXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgaGVhZGluZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oZWFkaW5nLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWhlcm9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWJ1bGxldGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctbGluZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaGVhZGluZy1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctc21hbGwtZm9udC1zaXplLW0gKiAwLjggIWRlZmF1bHQ7ICAgICAgLy8gMzhweCAwLjczXG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tICogMC44MjUgIWRlZmF1bHQ7ICAgICAvLyA0MHB4IDAuNzE0XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0OyAgICAgIC8vIDUwcHggMC43OFxuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0OyAgICAgICAgICAgICAvLyA0cmVtIC8gNjRweFxuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbSAhZGVmYXVsdDsgICAgICAgICAgICAvLyA2cmVtIC8gOTZweFxuXG4kaGVhZGluZy1zbWFsbC1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44MTI1ICFkZWZhdWx0OyAgIC8vIDMuMjVyZW0gLyA1MnB4XG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44NzUgIWRlZmF1bHQ7ICAgIC8vIDMuNXJlbSAvIDU2cHhcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgIWRlZmF1bHQ7ICAgICAgICAgICAgLy8gNHJlbSAvIDY0cHhcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1sYXJnZS1mb250LXNpemUtbCAhZGVmYXVsdDsgICAgICAgICAgICAgLy8gNnJlbSAvIDk2cHhcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLWwgIWRlZmF1bHQ7ICAgICAgICAgICAgLy8gOHJlbSAvIDEyOHB4XG5cbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgICA0cmVtICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gNjRweFxuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA5NnB4XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAgOHJlbSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEyOHB4XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgMTFyZW0gIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDE3NnB4XG5cbiRoZWFkaW5nLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDVweCArIDAuMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoMC4ycHggKyAwLjA1ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWJ1bGxldC10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKC0wLjEgKiAxZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYyg0cHggKyAwLjdlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1tYXJnaW4tcmlnaHQ6ICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDVweCArIDAuMmVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4xZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWxpbmUtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoMC4ycHggKyAwLjA1ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYyg1cHggKyAwLjNlbSknKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSGVhZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLXNtYWxsIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctc21hbGwtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctc21hbGwpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXNtYWxsKCk7fVxufVxuXG4udWstaGVhZGluZy1tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctbWVkaXVtLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLW1lZGl1bSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctbWVkaXVtKCk7fVxufVxuXG4udWstaGVhZGluZy1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1sYXJnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxhcmdlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWxhcmdlKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1sYXJnZSgpO31cbn1cblxuLnVrLWhlYWRpbmcteGxhcmdlIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXhsYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy14bGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXhsYXJnZSgpO31cbn1cblxuLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctMnhsYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy0yeGxhcmdlKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy0yeGxhcmdlKCk7fVxufVxuXG4vKiBUYWJsZXQgTGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oZWFkaW5nLXNtYWxsIHsgZm9udC1zaXplOiAkaGVhZGluZy1zbWFsbC1mb250LXNpemUtbTsgfVxuICAgIC51ay1oZWFkaW5nLW1lZGl1bSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tOyB9XG4gICAgLnVrLWhlYWRpbmctbGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tOyB9XG4gICAgLnVrLWhlYWRpbmcteGxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLW07IH1cbiAgICAudWstaGVhZGluZy0yeGxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuLyogTGFwdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWhlYWRpbmctbWVkaXVtIHsgZm9udC1zaXplOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWw7IH1cbiAgICAudWstaGVhZGluZy1sYXJnZSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWw7IH1cbiAgICAudWstaGVhZGluZy14bGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbDsgfVxuICAgIC51ay1oZWFkaW5nLTJ4bGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLWw7IH1cblxufVxuXG5cbi8qIFByaW1hcnlcbiAgIERlcHJlY2F0ZWQ6IFVzZSBgdWstaGVhZGluZy1tZWRpdW1gIGluc3RlYWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgMy43NXJlbSAhZGVmYXVsdDsgIC8vIDYwcHhcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbDogICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC45ICFkZWZhdWx0OyAvLyA1NHB4XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC44ICFkZWZhdWx0OyAvLyA0OHB4XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuXG5AaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay1oZWFkaW5nLXByaW1hcnkge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctcHJpbWFyeSgpO31cbn1cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay1oZWFkaW5nLXByaW1hcnkgeyBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW07IH1cbn1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodC1sO1xuICAgIH1cbn1cblxufVxuXG5cbi8qIEhlcm9cbiAgIERlcHJlY2F0ZWQ6IFVzZSBgdWstaGVhZGluZy14bGFyZ2VgIGluc3RlYWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgICAgOHJlbSAhZGVmYXVsdDsgLy8gMTI4cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbDogICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNzUgIWRlZmF1bHQ7IC8vIDk2cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbTogICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNSAhZGVmYXVsdDsgLy8gNjRweFxuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcblxuQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1oZXJvIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWhlcm8pKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWhlcm8oKTt9XG59XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tO1xuICAgIH1cbn1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1sO1xuICAgIH1cbn1cblxufVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1kaXZpZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGhlYWRpbmctZGl2aWRlci1wYWRkaW5nLWJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1kaXZpZGVyKCk7fVxufVxuXG5cbi8qIEJ1bGxldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLWJ1bGxldCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxuICogMS4gVXNpbmcgYGlubGluZS1ibG9ja2AgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGV4dCBhbGlnbm1lbnRcbiAqIDIuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6ICRoZWFkaW5nLWJ1bGxldC10b3A7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAzICovXG4gICAgaGVpZ2h0OiAkaGVhZGluZy1idWxsZXQtaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDtcbiAgICBib3JkZXItbGVmdDogJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1idWxsZXQtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctYnVsbGV0KCk7fVxufVxuXG5cbi8qIExpbmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ2xpcCB0aGUgY2hpbGQgZWxlbWVudFxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFeHRyYSBtYXJrdXAgaXMgbmVlZGVkIHRvIG1ha2UgaXQgd29yayB3aXRoIHRleHQgYWxpZ25cbiAqL1xuXG4udWstaGVhZGluZy1saW5lID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIDEuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAyLiBNYWtlIHRoZSBlbGVtZW50IGFzIGxhcmdlIGFzIHBvc3NpYmxlLiBJdCdzIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lci5cbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLFxuLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHVucXVvdGUoJ2NhbGMoI3skaGVhZGluZy1saW5lLXRvcH0gLSAoI3skaGVhZGluZy1saW5lLWhlaWdodH0gLyAyKSknKTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6ICRoZWFkaW5nLWxpbmUtd2lkdGg7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWxpbmUtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWxpbmUoKTt9XG59XG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsO1xufVxuLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6ICRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1taXNjKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1tZWRpdW0oKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy14bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWhlcm8oKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWJ1bGxldCgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLW1lZGl1bSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy14bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctMnhsYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRGl2aWRlclxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGRpdmlkZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZGl2aWRlci1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGl2aWRlci1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpdmlkZXItdmVydGljYWxgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZGl2aWRlci1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG5cbiRkaXZpZGVyLXNtYWxsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGRpdmlkZXItdmVydGljYWwtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEwMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0IGRlZmF1bHQgYGhyYFxuICogMi4gU2V0IG1hcmdpbiBpZiBhIGBkaXZgIGlzIHVzZWQgZm9yIHNlbWFudGljYWwgcmVhc29uXG4gKi9cblxuW2NsYXNzKj0ndWstZGl2aWRlciddIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkZGl2aWRlci1tYXJnaW4tdmVydGljYWw7XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIFtjbGFzcyo9J3VrLWRpdmlkZXInXSB7IG1hcmdpbi10b3A6ICRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGl2aWRlci1pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAkZGl2aWRlci1pY29uLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlLCBcIiMwMDBcIiwgJGRpdmlkZXItaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24pKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24oKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSxcbi51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRkaXZpZGVyLWljb24tbGluZS10b3A7XG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSAtICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgYm9yZGVyLWJvdHRvbTogJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aCBzb2xpZCAkZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZSkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lKCk7fVxufVxuXG4udWstZGl2aWRlci1pY29uOjpiZWZvcmUge1xuICAgIHJpZ2h0OiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgd2lkdGg6ICRkaXZpZGVyLWljb24tbGluZS13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICBsZWZ0OiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgd2lkdGg6ICRkaXZpZGVyLWljb24tbGluZS13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpO31cbn1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaXggaGVpZ2h0IGJlY2F1c2Ugb2YgYGlubGluZS1ibG9ja2BcbiAqIDIuIFVzaW5nIDo6YWZ0ZXIgYW5kIGlubGluZS1ibG9jayB0byBtYWtlIGB0ZXh0LWFsaWduYCB3b3JrXG4gKi9cblxuLyogMSAqL1xuLnVrLWRpdmlkZXItc21hbGwgeyBsaW5lLWhlaWdodDogMDsgfVxuXG4vKiAyICovXG4udWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkZGl2aWRlci1zbWFsbC13aWR0aDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLXNtYWxsLWJvcmRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1zbWFsbCgpO31cbn1cblxuXG4vKiBWZXJ0aWNhbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXZpZGVyLXZlcnRpY2FsIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogJGRpdmlkZXItdmVydGljYWwtaGVpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBib3JkZXItbGVmdDogJGRpdmlkZXItdmVydGljYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci12ZXJ0aWNhbCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItdmVydGljYWwoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaXN0XG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saXN0YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWxpc3QtZGlzY2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtY2lyY2xlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1zcXVhcmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWRlY2ltYWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWh5cGhlbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWVtcGhhc2lzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWJ1bGxldGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3Qtc3RyaXBlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWNvbGxhcHNlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaXN0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbiRsaXN0LW1hcmtlci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG5cbiRsaXN0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZW1waGFzaXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGxpc3QtYnVsbGV0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjI2JTIyJTIwaGVpZ2h0JTNEJTIyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYlMjA2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWxpc3QgPiAqID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBTdHlsZVxuICovXG5cbi51ay1saXN0ID4gOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QgPiAqID4gdWwgeyBtYXJnaW4tdG9wOiAkbGlzdC1tYXJnaW4tdG9wOyB9XG5cblxuLyogTWFya2VyIG1vZGlmaWVyc1xuICogTW92aW5nIGA6Om1hcmtlcmAgaW5zaWRlIGA6OmJlZm9yZWAgdG8gc3R5bGUgaXQgZGlmZmVyZW50bHlcbiAqIFRvIHN0eWxlIHRoZSBgOjptYXJrZXJgIGlzIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRlZCBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdC1kaXNjID4gKixcbi51ay1saXN0LWNpcmNsZSA+ICosXG4udWstbGlzdC1zcXVhcmUgPiAqLFxuLnVrLWxpc3QtZGVjaW1hbCA+ICosXG4udWstbGlzdC1oeXBoZW4gPiAqIHsgcGFkZGluZy1sZWZ0OiAkbGlzdC1wYWRkaW5nLWxlZnQ7IH1cblxuLypcbiAqIFR5cGUgbW9kaWZpZXJzXG4gKi9cblxuLnVrLWxpc3QtZGVjaW1hbCB7IGNvdW50ZXItcmVzZXQ6IGRlY2ltYWw7IH1cbi51ay1saXN0LWRlY2ltYWwgPiAqIHsgY291bnRlci1pbmNyZW1lbnQ6IGRlY2ltYWw7IH1cblxuW2NsYXNzKj0ndWstbGlzdCddID4gOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAoLSRsaXN0LXBhZGRpbmctbGVmdCk7XG4gICAgd2lkdGg6ICRsaXN0LXBhZGRpbmctbGVmdDtcbiAgICBoZWlnaHQ6ICRsaXN0LW1hcmtlci1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogKC0kbGlzdC1tYXJrZXItaGVpZ2h0KTtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udWstbGlzdC1kaXNjID4gOjpiZWZvcmUgeyBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cbi51ay1saXN0LWNpcmNsZSA+IDo6YmVmb3JlIHsgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7IH1cbi51ay1saXN0LXNxdWFyZSA+IDo6YmVmb3JlIHsgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7IH1cbi51ay1saXN0LWRlY2ltYWwgPiA6OmJlZm9yZSB7IGNvbnRlbnQ6IGNvdW50ZXIoZGVjaW1hbCwgZGVjaW1hbCkgJ1xcMjAwQS5cXDAwQTAnOyB9XG4udWstbGlzdC1oeXBoZW4gPiA6OmJlZm9yZSB7IGNvbnRlbnQ6ICfigJNcXDAwQTBcXDAwQTAnOyB9XG5cbi8qXG4gKiBDb2xvciBtb2RpZmllcnNcbiAqL1xuXG4udWstbGlzdC1tdXRlZCA+IDo6YmVmb3JlIHsgY29sb3I6ICRsaXN0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay1saXN0LWVtcGhhc2lzID4gOjpiZWZvcmUgeyBjb2xvcjogJGxpc3QtZW1waGFzaXMtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWxpc3QtcHJpbWFyeSA+IDo6YmVmb3JlIHsgY29sb3I6ICRsaXN0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWxpc3Qtc2Vjb25kYXJ5ID4gOjpiZWZvcmUgeyBjb2xvcjogJGxpc3Qtc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBJbWFnZSBidWxsZXQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdC1idWxsZXQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkbGlzdC1wYWRkaW5nLWxlZnQ7IH1cblxuLnVrLWxpc3QtYnVsbGV0ID4gOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6ICgtJGxpc3QtcGFkZGluZy1sZWZ0KTtcbiAgICB3aWR0aDogJGxpc3QtcGFkZGluZy1sZWZ0O1xuICAgIGhlaWdodDogJGxpc3QtbWFya2VyLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAoLSRsaXN0LW1hcmtlci1oZWlnaHQpO1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZSwgXCIjMDAwXCIsICRsaXN0LWJ1bGxldC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDtcbiAgICBib3JkZXItdG9wOiAkbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbGlzdC1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay1saXN0LXN0cmlwZWQgPiAqIHtcbiAgICBwYWRkaW5nOiAkbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWwgJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3Qtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWxpc3Qtc3RyaXBlZCgpO31cbn1cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtb2YtdHlwZShvZGQpIHsgYmFja2dyb3VuZDogJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOyB9XG5cbi51ay1saXN0LXN0cmlwZWQgPiA6bnRoLWNoaWxkKG4rMikgeyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saXN0LWxhcmdlID4gOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QtbGFyZ2UgPiAqID4gdWwgeyBtYXJnaW4tdG9wOiAkbGlzdC1sYXJnZS1tYXJnaW4tdG9wOyB9XG5cbi51ay1saXN0LWNvbGxhcHNlID4gOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QtY29sbGFwc2UgPiAqID4gdWwgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDtcbn1cblxuLnVrLWxpc3QtY29sbGFwc2UudWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+ICogeyBwYWRkaW5nOiAkbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWwgJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuLnVrLWxpc3QtY29sbGFwc2UudWstbGlzdC1zdHJpcGVkID4gKiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtY2hpbGQobisyKSxcbi51ay1saXN0LWNvbGxhcHNlLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtY2hpbGQobisyKSB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saXN0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpc3QtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWxpc3Qtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLWxpc3QtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbGlzdC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3Qtc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGludmVyc2UtbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRGVzY3JpcHRpb24gbGlzdFxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZGVzY3JpcHRpb24tbGlzdGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wOiAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGg6ICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXI6ICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGVzY3JpcHRpb24gbGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUZXJtXG4gKi9cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdCB7XG4gICAgY29sb3I6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSkpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpO31cbn1cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wO1xufVxuXG4vKlxuICogRGVzY3JpcHRpb25cbiAqL1xuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGRkIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbikpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGluZVxuICovXG5cbi51ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXIgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wO1xuICAgIGJvcmRlci10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGggc29saWQgJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0pKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFRhYmxlXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgdGFibGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGFibGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGFibGUtbWlkZGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXN0cmlwZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtanVzdGlmeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXNocmlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWV4cGFuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1yZXNwb25zaXZlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1mb290ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAjZmZkICFkZWZhdWx0O1xuXG4kdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMjJweCAhZGVmYXVsdDtcbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdGFibGUtZXhwYW5kLW1pbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgMTUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqIDIuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstdGFibGUge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWJvdHRvbTogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUpKSB7QGluY2x1ZGUgaG9vay10YWJsZSgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXRhYmxlIHsgbWFyZ2luLXRvcDogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEhlYWRlciBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKi9cblxuLnVrLXRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZGVyLWNlbGwtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhlYWRlci1jZWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKTt9XG59XG5cblxuLyogQ2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtY2VsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWNlbGwoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstdGFibGUgdGQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBGb290ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgdGZvb3Qge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWZvb3Rlci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLXRhYmxlLWZvb3RlcigpO31cbn1cblxuXG4vKiBDYXB0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIGNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWNhcHRpb24tZm9udC1zaXplO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2stdGFibGUtY2FwdGlvbigpO31cbn1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtbWlkZGxlLFxuLnVrLXRhYmxlLW1pZGRsZSB0ZCB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLXRhYmxlLWRpdmlkZXIgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSxcbi51ay10YWJsZS1kaXZpZGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpID4gdHIsXG4udWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKG9kZCksXG4udWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXN0cmlwZWQoKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuLnVrLXRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaG92ZXIoKTt9XG59XG5cblxuLyogQWN0aXZlIHN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlID4gdHIudWstYWN0aXZlLFxuLnVrLXRhYmxlIHRib2R5IHRyLnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtcm93LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXJvdy1hY3RpdmUoKTt9XG59XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtc21hbGwgdGgsXG4udWstdGFibGUtc21hbGwgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1zbWFsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXNtYWxsKCk7fVxufVxuXG4udWstdGFibGUtbGFyZ2UgdGgsXG4udWstdGFibGUtbGFyZ2UgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWxhcmdlKCk7fVxufVxuXG5cbi8qIEp1c3RpZnkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtanVzdGlmeSB0aDpmaXJzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmZpcnN0LWNoaWxkIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmxhc3QtY2hpbGQsXG4udWstdGFibGUtanVzdGlmeSB0ZDpsYXN0LWNoaWxkIHsgcGFkZGluZy1yaWdodDogMDsgfVxuXG5cbi8qIENlbGwgc2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1zaHJpbmsgeyB3aWR0aDogMXB4OyB9XG4udWstdGFibGUtZXhwYW5kIHsgbWluLXdpZHRoOiAkdGFibGUtZXhwYW5kLW1pbi13aWR0aDsgfVxuXG5cbi8qIENlbGwgbGluayBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEb2VzIG5vdCB3b3JrIHdpdGggYHVrLXRhYmxlLWp1c3RpZnlgIGF0IHRoZSBtb21lbnRcbiAqL1xuXG4udWstdGFibGUtbGluayB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4udWstdGFibGUtbGluayA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstdGFibGUtc21hbGwgLnVrLXRhYmxlLWxpbmsgPiBhIHsgcGFkZGluZzogJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuXG4vKiBSZXNwb25zaXZlIHRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRib2R5LFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRyIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoZWFkIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpmaXJzdC1jaGlsZCkgPiBhIHsgcGFkZGluZy10b3A6IHJvdW5kKCR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgLyAzKSAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIC51ay10YWJsZS1saW5rOm5vdCg6bGFzdC1jaGlsZCkgPiBhIHsgcGFkZGluZy1ib3R0b206IHJvdW5kKCR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgLyAzKSAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXRhYmxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1jZWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtY2FwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAwLjAyKSAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgSWNvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGljb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1pY29uLWltYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1idXR0b25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGljb24taW1hZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRpY29uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtY29sb3IsIDUlKSAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM2cHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTm90ZTogMS4gLSA3LiBpcyByZXF1aXJlZCBmb3IgYGJ1dHRvbmAgZWxlbWVudHMuIE5lZWRlZCBmb3IgQ2xvc2UgYW5kIEZvcm0gSWNvbiBjb21wb25lbnQuXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBSZW1vdmUgYm9yZGVyLXJhZGl1cyBpbiBDaHJvbWUuXG4gKiA0LiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNS4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDYuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNy4gUmVtb3ZlIGRlZmF1bHQgYGJ1dHRvbmAgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBjb2xvclxuICogOC4gU3R5bGVcbiAqIDkuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDEwLiBMZXQgdGhlIGNvbnRhaW5lciBmaXQgdGhlIGhlaWdodCBvZiB0aGUgaWNvblxuICovXG5cbi51ay1pY29uIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDUgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDYgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAvKiA3LiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogOCAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiA5ICovXG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIC8qIDEwICovXG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi8qIFJlcXVpcmVkIGZvciBgYnV0dG9uYC4gKi9cbmJ1dHRvbi51ay1pY29uOm5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbi51ay1pY29uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG5cbi51ay1pY29uOm5vdCgudWstcHJlc2VydmUpIFtmaWxsKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgZmlsbDogY3VycmVudGNvbG9yOyB9XG4udWstaWNvbjpub3QoLnVrLXByZXNlcnZlKSBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH1cblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cblxuLnVrLWljb24gPiAqIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTsgfVxuXG5cbi8qIEltYWdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpc3BsYXkgaW1hZ2VzIGluIGljb24gZGltZW5zaW9uc1xuICovXG5cbi51ay1pY29uLWltYWdlIHtcbiAgICB3aWR0aDogJGljb24taW1hZ2Utc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWltYWdlLXNpemU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMaW5rXG4gKi9cblxuLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluaykpIHtAaW5jbHVkZSBob29rLWljb24tbGluaygpO31cbn1cblxuLnVrLWljb24tbGluazpob3Zlcixcbi51ay1pY29uLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAkaWNvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWljb24tbGluay1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tbGluazphY3RpdmUsXG4udWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWxpbmstYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEJ1dHRvblxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWljb24tYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkaWNvbi1idXR0b24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWJ1dHRvbi1zaXplO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWJ1dHRvbjphY3RpdmUsXG4udWstYWN0aXZlID4gLnVrLWljb24tYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1pY29uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWljb24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1pY29uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGb3JtIFJhbmdlXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgdGhlIHJhbmdlIGlucHV0IHR5cGVcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1yYW5nZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAxNSUpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtIFJhbmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE5vcm1hbGl6ZSBhbmQgZGVmYXVsdHNcbiAqIDIuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDMuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBSZW1vdmUgd2hpdGUgYmFja2dyb3VuZCBpbiBDaHJvbWVcbiAqIDYuIFJlbW92ZSBwYWRkaW5nIGluIElFMTFcbiAqL1xuXG4udWstcmFuZ2Uge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDIgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIC8qIDYgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZSgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYW5nZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbi51ay1yYW5nZTo6LW1vei1mb2N1cy1vdXRlciB7IGJvcmRlcjogbm9uZTsgfVxuXG4vKiBJRTExIFJlc2V0ICovXG4udWstcmFuZ2U6Oi1tcy10cmFjayB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG5cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LW1vei1yYW5nZS10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbXMtdGh1bWIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuXG4vKiBUaHVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogKGZsb29yKCRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCAvIDIpICogLTEpO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdGh1bWIpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRodW1iKCk7fVxufVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEVkZ2UgKyBJRTExICovXG4udWstcmFuZ2U6Oi1tcy10b29sdGlwIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIFRyYWNrXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNhZmFyaSBkb2Vzbid0IGhhdmUgYSBmb2N1cyBzdGF0ZS4gVXNpbmcgYWN0aXZlIGluc3RlYWQuXG4gKi9cblxuLyogV2Via2l0ICovXG4udWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayxcbi8qIDEgKi9cbi51ay1yYW5nZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuLyogRmlyZWZveCAqL1xuLnVrLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuLyogRWRnZSAqL1xuLnVrLXJhbmdlOjotbXMtZmlsbC1sb3dlcixcbi51ay1yYW5nZTo6LW1zLWZpbGwtdXBwZXIge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOmZvY3VzOjotbXMtZmlsbC11cHBlciB7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS1taXNjKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10aHVtYigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2soKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGb3JtXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZm9ybXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mb3JtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnB1dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlbGVjdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRleHRhcmVhYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmFkaW9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jaGVja2JveGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxlZ2VuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZpZWxkc2V0YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWZvcm0tY3VzdG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdGFja2VkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ob3Jpem9udGFsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYWJlbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb24tZmxpcGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1mb3JtLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tZGFuZ2VyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ibGFua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgteHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHMtdGV4dGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG5cbiRmb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zbWFsbC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kZm9ybS1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb3JtLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kZm9ybS13aWR0aC14c21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXNtYWxsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMzBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLW1lZGl1bTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLWxhcmdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWRhdGFsaXN0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIC00cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWxlZ2VuZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgIDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6ICAgICAgICAgICAyMTVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDogICAgICA3cHggIWRlZmF1bHQ7XG5cbiRmb3JtLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWRhdGFsaXN0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTIlMjA4JTIwNiUyMDE2JTIwNiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAgICBEZWZhdWx0IGlzIGBjb250ZW50LWJveGAgd2l0aCBmb2xsb3dpbmcgZXhjZXB0aW9ucyBzZXQgdG8gYGJvcmRlci1ib3hgXG4gKiAgICBgc2VsZWN0YCwgYGlucHV0W3R5cGU9XCJjaGVja2JveFwiXWAgYW5kIGBpbnB1dFt0eXBlPVwicmFkaW9cIl1gXG4gKiAgICBgaW5wdXRbdHlwZT1cInNlYXJjaFwiXWAgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBgaW5wdXRbdHlwZT1cImNvbG9yXCJdYCBpbiBGaXJlZm94XG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhLFxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xufVxuXG4vKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG4udWstaW5wdXQgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1zZWxlY3QgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiAyLiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIGFuZCB1c2UgYGJvbGRgIGluc3RlYWQuXG4gKiBOT1RFOiBCb3RoIGRlY2xhcmF0aW9ucyBkb24ndCB3b3JrIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqL1xuXG4udWstc2VsZWN0IG9wdGdyb3VwIHtcbiAgICAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiAyICovXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG4udWstdGV4dGFyZWEgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5cbi8qXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7IGhlaWdodDogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsXG4udWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgeyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG5cbi51ay1yYWRpbzpub3QoOmRpc2FibGVkKSxcbi51ay1jaGVja2JveDpub3QoOmRpc2FibGVkKSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbi51ay1maWVsZHNldCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5cbi8qIElucHV0LCBzZWxlY3QgYW5kIHRleHRhcmVhXG4gKiBBbGxvd2VkOiBgdGV4dGAsIGBwYXNzd29yZGAsIGBkYXRldGltZWAsIGBkYXRldGltZS1sb2NhbGAsIGBkYXRlYCwgIGBtb250aGAsXG4gICAgICAgICAgICBgdGltZWAsIGB3ZWVrYCwgYG51bWJlcmAsIGBlbWFpbGAsIGB1cmxgLCBgc2VhcmNoYCwgYHRlbGAsIGBjb2xvcmBcbiAqIERpc2FsbG93ZWQ6IGByYW5nZWAsIGByYWRpb2AsIGBjaGVja2JveGAsIGBmaWxlYCwgYHN1Ym1pdGAsIGByZXNldGAgYW5kIGBpbWFnZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gaU9TLlxuICovXG5cbi51ay1pbnB1dCxcbi51ay10ZXh0YXJlYSB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gUmVzZXQgZGVmYXVsdFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6IDAgJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtKSkge0BpbmNsdWRlIGhvb2stZm9ybSgpO31cbn1cblxuLypcbiAqIFNpbmdsZS1saW5lXG4gKiAxLiBBbGxvdyBhbnkgZWxlbWVudCB0byBsb29rIGxpa2UgYW4gYGlucHV0YCBvciBgc2VsZWN0YCBlbGVtZW50XG4gKiAyLiBNYWtlIHN1cmUgbGluZS1oZWlnaHQgaXMgbm90IGxhcmdlciB0aGFuIGhlaWdodFxuICogICAgQWxzbyBuZWVkZWQgdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHlcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1oZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXNpbmdsZS1saW5lKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpO31cbn1cblxuLyogMiAqL1xuLnVrLWlucHV0Om5vdChpbnB1dCksXG4udWstc2VsZWN0Om5vdChzZWxlY3QpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLWxpbmUtaGVpZ2h0OyB9XG5cbi8qXG4gKiBNdWx0aS1saW5lXG4gKi9cblxuLnVrLXNlbGVjdFttdWx0aXBsZV0sXG4udWstc2VsZWN0W3NpemVdLFxuLnVrLXRleHRhcmVhIHtcbiAgICBwYWRkaW5nLXRvcDogJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW11bHRpLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW11bHRpLWxpbmUoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstaW5wdXQ6Zm9jdXMsXG4udWstc2VsZWN0OmZvY3VzLFxuLnVrLXRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWZvY3VzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1mb2N1cygpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1pbnB1dDpkaXNhYmxlZCxcbi51ay1zZWxlY3Q6ZGlzYWJsZWQsXG4udWstdGV4dGFyZWE6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1kaXNhYmxlZCgpO31cbn1cblxuLypcbiAqIFBsYWNlaG9sZGVyXG4gKi9cblxuLnVrLWlucHV0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4udWstdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1mb3JtLXNtYWxsIHsgZm9udC1zaXplOiAkZm9ybS1zbWFsbC1mb250LXNpemU7IH1cblxuLnVrLWZvcm0tc21hbGw6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0tc21hbGwtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLnVrLWZvcm0tc21hbGw6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay1mb3JtLWxhcmdlIHsgZm9udC1zaXplOiAkZm9ybS1sYXJnZS1mb250LXNpemU7IH1cblxuLnVrLWZvcm0tbGFyZ2U6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0tbGFyZ2UtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLnVrLWZvcm0tbGFyZ2U6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBFcnJvclxuICovXG5cbi51ay1mb3JtLWRhbmdlcixcbi51ay1mb3JtLWRhbmdlcjpmb2N1cyB7XG4gICAgY29sb3I6ICRmb3JtLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWRhbmdlcigpO31cbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstZm9ybS1zdWNjZXNzLFxuLnVrLWZvcm0tc3VjY2Vzczpmb2N1cyAge1xuICAgIGNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBCbGFua1xuICovXG5cbi51ay1mb3JtLWJsYW5rIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWJsYW5rKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ibGFuaygpO31cbn1cblxuLnVrLWZvcm0tYmxhbms6Zm9jdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWJsYW5rLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ibGFuay1mb2N1cygpO31cbn1cblxuXG4vKiBXaWR0aCBtb2RpZmllcnMgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGaXhlZCB3aWR0aHNcbiAqIERpZmZlcmVudCB3aWR0aHMgZm9yIG1pbmkgc2l6ZWQgYGlucHV0YCBhbmQgYHNlbGVjdGAgZWxlbWVudHNcbiAqL1xuXG5pbnB1dC51ay1mb3JtLXdpZHRoLXhzbWFsbCB7IHdpZHRoOiAkZm9ybS13aWR0aC14c21hbGw7IH1cblxuc2VsZWN0LnVrLWZvcm0td2lkdGgteHNtYWxsIHsgd2lkdGg6ICgkZm9ybS13aWR0aC14c21hbGwgKyAyNXB4KTsgfVxuXG4udWstZm9ybS13aWR0aC1zbWFsbCB7IHdpZHRoOiAkZm9ybS13aWR0aC1zbWFsbDsgfVxuXG4udWstZm9ybS13aWR0aC1tZWRpdW0geyB3aWR0aDogJGZvcm0td2lkdGgtbWVkaXVtOyB9XG5cbi51ay1mb3JtLXdpZHRoLWxhcmdlIHsgd2lkdGg6ICRmb3JtLXdpZHRoLWxhcmdlOyB9XG5cblxuLyogU2VsZWN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHN0eWxlLiBBbHNvIHdvcmtzIGluIEZpcmVmb3hcbiAqIDIuIFN0eWxlXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBJRSAxMC8xMVxuICogNC4gU2V0IGBjb2xvcmAgZm9yIG9wdGlvbnMgaW4gdGhlIHNlbGVjdCBkcm9wZG93biwgYmVjYXVzZSB0aGUgaW5oZXJpdGVkIGBjb2xvcmAgbWlnaHQgYmUgdG9vIGxpZ2h0LlxuICovXG5cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tc2VsZWN0LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG59XG5cbi8qIDMgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOjotbXMtZXhwYW5kIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiA0ICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSBvcHRpb24geyBjb2xvcjogJGZvcm0tc2VsZWN0LW9wdGlvbi1jb2xvcjsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTpkaXNhYmxlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuXG5cbi8qIERhdGFsaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIENocm9tZVxuICovXG5cbiAudWstaW5wdXRbbGlzdF0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWRhdGFsaXN0LXBhZGRpbmctcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbn1cblxuLnVrLWlucHV0W2xpc3RdOmhvdmVyLFxuLnVrLWlucHV0W2xpc3RdOmZvY3VzIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tZGF0YWxpc3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yKTsgfVxuXG4vKiAxICovXG4udWstaW5wdXRbbGlzdF06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBSYWRpbyBhbmQgY2hlY2tib3hcbiAqIE5vdGU6IERvZXMgbm90IHdvcmsgaW4gSUUxMVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTdHlsZVxuICogMi4gTWFrZSBib3ggbW9yZSByb2J1c3Qgc28gaXQgY2xpcHMgdGhlIGNoaWxkIGVsZW1lbnRcbiAqIDMuIFZlcnRpY2FsIGFsaWdubWVudFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIEZpeCBibGFjayBiYWNrZ3JvdW5kIG9uIGlPU1xuICogNi4gQ2VudGVyIGljb25zXG4gKi9cblxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogJGZvcm0tcmFkaW8tc2l6ZTtcbiAgICB3aWR0aDogJGZvcm0tcmFkaW8tc2l6ZTtcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLXRvcDogJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8pKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvKCk7fVxufVxuXG4udWstcmFkaW8geyBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpmb2N1cyxcbi51ay1jaGVja2JveDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBDaGVja2VkXG4gKi9cblxuLnVrLXJhZGlvOmNoZWNrZWQsXG4udWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tY2hlY2tlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uc1xuICovXG5cbi51ay1yYWRpbzpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuXG4udWstcmFkaW86ZGlzYWJsZWQsXG4udWstY2hlY2tib3g6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCk7fVxufVxuXG4udWstcmFkaW86ZGlzYWJsZWQ6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpkaXNhYmxlZDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBMZWdlbmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGVnZW5kXG4gKiAxLiBCZWhhdmUgbGlrZSBibG9jayBlbGVtZW50XG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1sZWdlbmQge1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxlZ2VuZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tbGVnZW5kKCk7fVxufVxuXG5cbi8qIEN1c3RvbSBjb250cm9sc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gQmVoYXZlIGxpa2UgbW9zdCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAqL1xuXG4udWstZm9ybS1jdXN0b20ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKlxuICogMS4gUG9zaXRpb24gYW5kIHJlc2l6ZSB0aGUgZm9ybSBjb250cm9sIHRvIGFsd2F5cyBjb3ZlciBpdHMgY29udGFpbmVyXG4gKiAyLiBSZXF1aXJlZCBmb3IgRmlyZWZveCBmb3IgcG9zaXRpb25pbmcgdG8gdGhlIGxlZnRcbiAqIDMuIFJlcXVpcmVkIGZvciBXZWJraXQgdG8gbWFrZSBgaGVpZ2h0YCB3b3JrXG4gKiA0LiBIaWRlIGNvbnRyb2xlIGFuZCBzaG93IGN1cnNvclxuICogNS4gTmVlZGVkIGZvciB0aGUgY3Vyc29yXG4gKiA2LiBDbGlwIGhlaWdodCBjYXVzZWQgYnkgNS4gTmVlZGVkIGZvciBXZWJraXQgb25seVxuICovXG5cbi51ay1mb3JtLWN1c3RvbSBzZWxlY3QsXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBsZWZ0OiAwO1xuICAgIC8qIDMgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNCAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDUgKi9cbiAgICBmb250LXNpemU6IDUwMHB4O1xuICAgIC8qIDYgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWZvcm0tbGFiZWwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1sYWJlbCgpO31cbn1cblxuXG4vKiBMYXlvdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU3RhY2tlZFxuICovXG5cbi51ay1mb3JtLXN0YWNrZWQgLnVrLWZvcm0tbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCk7fVxufVxuXG4vKlxuICogSG9yaXpvbnRhbFxuICovXG5cbi8qIFRhYmxldCBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLyogQmVoYXZlIGxpa2UgYHVrLWZvcm0tc3RhY2tlZGAgKi9cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3RhY2tlZC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpO31cbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtd2lkdGg7XG4gICAgICAgIG1hcmdpbi10b3A6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKTt9XG4gICAgfVxuXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scyB7IG1hcmdpbi1sZWZ0OiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLW1hcmdpbi1sZWZ0OyB9XG5cbiAgICAvKiBCZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50IGlmIGNvbnRyb2xzIGFyZSBjaGVja2JveGVzIGFuZCByYWRpbyBidXR0b25zIHdpdGggdGV4dCAqL1xuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMtdGV4dCB7IHBhZGRpbmctdG9wOiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A7IH1cblxufVxuXG5cbi8qIEljb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2V0IHdpZHRoXG4gKiAzLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWZvcm0taWNvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAkZm9ybS1pY29uLXdpZHRoO1xuICAgIC8qIDMgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDQgKi9cbiAgICBjb2xvcjogJGZvcm0taWNvbi1jb2xvcjtcbn1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLWZvcm0taWNvbjpob3ZlciB7IGNvbG9yOiAkZm9ybS1pY29uLWhvdmVyLWNvbG9yOyB9XG5cbi8qXG4gKiBNYWtlIGBpbnB1dGAgZWxlbWVudCBjbGlja2FibGUgdGhyb3VnaCBpY29uLCBlLmcuIGlmIGl0J3MgYSBgc3BhbmBcbiAqL1xuXG4udWstZm9ybS1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIElucHV0IHBhZGRpbmdcbiAqL1xuXG4udWstZm9ybS1pY29uOm5vdCgudWstZm9ybS1pY29uLWZsaXApIH4gLnVrLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAkZm9ybS1pY29uLXdpZHRoICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cblxuLnVrLWZvcm0taWNvbi1mbGlwIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG4udWstZm9ybS1pY29uLWZsaXAgfiAudWstaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1pY29uLXdpZHRoICFpbXBvcnRhbnQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tYmxhbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWJsYW5rLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6ICAgZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0taWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEJ1dHRvblxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGJ1dHRvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1idXR0b25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYnV0dG9uLWdyb3VwYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWJ1dHRvbi1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tc2Vjb25kYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWRhbmdlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi10ZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tbGFyZ2VgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRidXR0b24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcblxuJGJ1dHRvbi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tbGluay1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJ1dHRvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNC4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDUuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgZm9yIGBpbnB1dCB0eXBlPVwic3VibWl0XCJgaW4gaU9TLlxuICogNy4gU3R5bGVcbiAqIDguIGBsaW5lLWhlaWdodGAgaXMgdXNlZCB0byBjcmVhdGUgYSBoZWlnaHQgYmVjYXVzZSBpdCBhbHNvIGNlbnRlcnMgdGhlIHRleHQgdmVydGljYWxseSBmb3IgYGFgIGVsZW1lbnRzLlxuICogICAgQmV0dGVyIHdvdWxkIGJlIHRvIHVzZSBoZWlnaHQgYW5kIGZsZXhib3ggdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHkgYnV0IGZsZXhib3ggZG9lc24ndCB3b3JrIGluIEZpcmVmb3ggb24gYGJ1dHRvbmAgZWxlbWVudHMuXG4gKiA5LiBBbGlnbiB0ZXh0IGlmIGJ1dHRvbiBoYXMgYSB3aWR0aFxuICogMTAuIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLWJ1dHRvbiB7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAyICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiA1ICovXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgLyogNiAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDcgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAvKiA4ICovXG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGluZS1oZWlnaHQ7XG4gICAgLyogOSAqL1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiAxMCAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uKCk7fVxufVxuXG4udWstYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbi51ay1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWJ1dHRvbjpob3ZlciB7XG4gICAgLyogOSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWhvdmVyKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLWJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWZvY3VzKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uOmFjdGl2ZSxcbi51ay1idXR0b24udWstYWN0aXZlIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1hY3RpdmUoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstYnV0dG9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tZGVmYXVsdDpob3Zlcixcbi51ay1idXR0b24tZGVmYXVsdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbi51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1idXR0b24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tcHJpbWFyeSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLFxuLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstYnV0dG9uLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXNlY29uZGFyeTpob3Zlcixcbi51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1idXR0b24tZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXIoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tZGFuZ2VyOmhvdmVyLFxuLnVrLWJ1dHRvbi1kYW5nZXI6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlci1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kYW5nZXIudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gKi9cblxuLnVrLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLWRhbmdlcjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGlzYWJsZWQoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYnV0dG9uLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1zbWFsbC1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zbWFsbCgpO31cbn1cblxuLnVrLWJ1dHRvbi1sYXJnZSB7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRidXR0b24tbGFyZ2UtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbGFyZ2UoKTt9XG59XG5cblxuLyogVGV4dCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVGV4dFxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWJ1dHRvbi10ZXh0IHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tdGV4dDpob3Zlcixcbi51ay1idXR0b24tdGV4dDpmb2N1cyB7XG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tdGV4dC1ob3ZlcigpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tdGV4dDpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpO31cbn1cblxuLypcbiAqIExpbmtcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1idXR0b24tbGluayB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGluay1saW5lLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGJ1dHRvbi1saW5rLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbGluaykpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1saW5rKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWxpbms6aG92ZXIsXG4udWstYnV0dG9uLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYnV0dG9uLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uO1xufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi1saW5rOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vKiBHcm91cFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBVc2luZyBgZmxleGAgaW5zdGVhZCBvZiBgaW5saW5lLWJsb2NrYCB0byBwcmV2ZW50IHdoaXRlc3BhY2UgYmV0d2VlbnQgY2hpbGQgZWxlbWVudHNcbiAqIDIuIEJlaGF2ZSBsaWtlIGJ1dHRvblxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqL1xuXG4udWstYnV0dG9uLWdyb3VwIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbWlzYykpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1saW5rKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQcm9ncmVzc1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHByb2dyZXNzIGJhcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wcm9ncmVzc2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJvZ3Jlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiAzLiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDQuIFJlbW92ZSBib3JkZXJzIGluIEZpcmVmb3ggYW5kIEVkZ2VcbiAqIDUuIFNldCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBwcm9ncmVzcyBjb250YWluZXIgaW4gRmlyZWZveCwgSUUxMSBhbmQgRWRnZVxuICogNi4gU3R5bGVcbiAqL1xuXG4udWstcHJvZ3Jlc3Mge1xuICAgIC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICBib3JkZXI6IDA7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsO1xuICAgIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcygpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXByb2dyZXNzIHsgbWFyZ2luLXRvcDogJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogUmVtb3ZlIGFuaW1hdGVkIGNpcmNsZXMgZm9yIGluZGV0ZXJtaW5hdGUgc3RhdGUgaW4gSUUxMSBhbmQgRWRnZVxuICovXG5cbi51ay1wcm9ncmVzczppbmRldGVybWluYXRlIHsgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qXG4gKiBQcm9ncmVzcyBjb250YWluZXJcbiAqIDIuIFJlbW92ZSBwcm9ncmVzcyBiYXIgZm9yIGluZGV0ZXJtaW5hdGUgc3RhdGUgaW4gRmlyZWZveFxuICovXG5cbi51ay1wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MoKTt9XG59XG5cbi8qIDIgKi9cbi51ay1wcm9ncmVzczppbmRldGVybWluYXRlOjotbW96LXByb2dyZXNzLWJhciB7IHdpZHRoOiAwOyB9XG5cbi8qXG4gKiBQcm9ncmVzcyBiYXJcbiAqIDEuIFJlbW92ZSByaWdodCBib3JkZXIgaW4gSUUxMSBhbmQgRWRnZVxuICovXG5cbi51ay1wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG4udWstcHJvZ3Jlc3M6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLWJhcikpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLWJhcigpO31cbn1cblxuLnVrLXByb2dyZXNzOjotbXMtZmlsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1iYXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtbWlzYykpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzKCl7fVxuLy8gQG1peGluIGhvb2stcHJvZ3Jlc3MtYmFyKCl7fVxuLy8gQG1peGluIGhvb2stcHJvZ3Jlc3MtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU2VjdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGhvcml6b250YWwgbGF5b3V0IHNlY3Rpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zZWN0aW9uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNlY3Rpb24teHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXhsYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tb3ZlcmxhcGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZS1jb2xvcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTWFrZSBpdCB3b3JrIHdpdGggYDEwMHZoYCBhbmQgaGVpZ2h0IGluIGdlbmVyYWxcbiAqL1xuXG4udWstc2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbikpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24oKTt9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBYU21hbGxcbiAqL1xuXG4udWstc2VjdGlvbi14c21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1zZWN0aW9uLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKlxuICogWExhcmdlXG4gKi9cblxuLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uLXhsYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1zZWN0aW9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuXG4udWstc2VjdGlvbi1tdXRlZCB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1tdXRlZCkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tbXV0ZWQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLXNlY3Rpb24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLXByaW1hcnkoKTt9XG59XG5cbkBpZiAoICRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1zZWN0aW9uLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKTt9XG59XG5cbkBpZiAoICRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKiBPdmVybGFwIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2VydmVkIG1vZGlmaWVyIHRvIG1ha2UgYSBzZWN0aW9uIG92ZXJsYXAgYW5vdGhlciBzZWN0aW9uIHdpdGggYW4gYm9yZGVyIGltYWdlXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuXG4udWstc2VjdGlvbi1vdmVybGFwIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1vdmVybGFwKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1vdmVybGFwKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tb3ZlcmxhcCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbnRhaW5lclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gYWxpZ24gYW5kIGNlbnRlciB5b3VyIHNpdGUgYW5kIGdyaWQgY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbnRhaW5lcmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1jb250YWluZXItc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWV4cGFuZC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWV4cGFuZC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29udGFpbmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcbiRjb250YWluZXIteHNtYWxsLW1heC13aWR0aDogICAgICAgICAgICAgNzUwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDogICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAxNDAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXhsYXJnZS1tYXgtd2lkdGg6ICAgICAgICAgICAgIDE2MDBweCAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQm94IHNpemluZyBoYXMgdG8gYmUgYGNvbnRlbnQtYm94YCBzbyB0aGUgbWF4LXdpZHRoIGlzIGFsd2F5cyB0aGUgc2FtZSBhbmRcbiAqICAgIHVuYWZmZWN0ZWQgYnkgdGhlIHBhZGRpbmcgb24gZGlmZmVyZW50IGJyZWFrcG9pbnRzLiBJdCdzIGltcG9ydGFudCBmb3IgdGhlIHNpemUgbW9kaWZpZXJzLlxuICovXG5cbi51ay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWNvbnRhaW5lciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICogUmVtb3ZlIHBhZGRpbmcgZnJvbSBuZXN0ZWQgY29udGFpbmVyc1xuICovXG5cbi51ay1jb250YWluZXIgLnVrLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb250YWluZXIteHNtYWxsIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci1zbWFsbCB7IG1heC13aWR0aDogJGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci1sYXJnZSB7IG1heC13aWR0aDogJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci14bGFyZ2UgeyBtYXgtd2lkdGg6ICRjb250YWluZXIteGxhcmdlLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWV4cGFuZCB7IG1heC13aWR0aDogbm9uZTsgfVxuXG5cbi8qIEV4cGFuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBFeHBhbmQgb25lIHNpZGUgb25seVxuICovXG5cbi51ay1jb250YWluZXItZXhwYW5kLWxlZnQgeyBtYXJnaW4tbGVmdDogMDsgfVxuLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItc21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItc21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zfSknKTsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhzbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXIteHNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1zbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLWxhcmdlLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1sYXJnZSB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLWxhcmdlLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhsYXJnZSxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteGxhcmdlIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXIteGxhcmdlLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVXRpbGl0eSBjbGFzc2VzIHRvIHJlc2V0IGNvbnRhaW5lciBwYWRkaW5nIG9uIHRoZSBsZWZ0IG9yIHJpZ2h0IHNpZGVcbiAqIE5vdGU6IEl0IGhhcyB0byBiZSBuZWdhdGl2ZSBtYXJnaW4gb24gdGhlIGl0ZW0sIGJlY2F1c2UgaXQncyBzcGVjaWZpYyB0byB0aGUgaXRlbS5cbiAqL1xuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKyAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsfSknKSB9XG5cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwpOyB9XG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwpOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKyAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXN9KScpIH1cblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcyk7IH1cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcyk7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKyAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpIH1cblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbSk7IH1cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbSk7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbnRhaW5lci1taXNjKSkge0BpbmNsdWRlIGhvb2stY29udGFpbmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgVGlsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRpbGVkIGJveGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGlsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10aWxlLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS14bGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1zZWNvbmRhcnlgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmUtY29sb3JgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuXG4kdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0aWxlLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUaWxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRpbGUge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXBhZGRpbmctdmVydGljYWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUpKSB7QGluY2x1ZGUgaG9vay10aWxlKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstdGlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstdGlsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFhTbWFsbFxuICovXG5cbi51ay10aWxlLXhzbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXRpbGUtc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstdGlsZS1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRpbGUtbGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuXG4udWstdGlsZS14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRpbGUteGxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLXRpbGUtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay10aWxlLWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBNdXRlZFxuICovXG5cbi51ay10aWxlLW11dGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1tdXRlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLW11dGVkKSkge0BpbmNsdWRlIGhvb2stdGlsZS1tdXRlZCgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstdGlsZS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLXRpbGUtcHJpbWFyeSgpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay10aWxlLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stdGlsZS1zZWNvbmRhcnkoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10aWxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENhcmRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBib3hlZCBjb250ZW50IGNvbnRhaW5lcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jYXJkYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNhcmQtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1mb290ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLW1lZGlhLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1iYWRnZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1jYXJkLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1sYXJnZWBcbi8vXG4vLyBVc2VzOiAgICAgICAgICAgIGB1ay1ncmlkLXN0YWNrYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICByb3VuZCgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kY2FyZC1iYWRnZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjYXJkLWJhZGdlLXRvcCAhZGVmYXVsdDtcblxuJGNhcmQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcblxuJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkY2FyZC1wcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRjYXJkLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkY2FyZC1zZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcblxuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ2FyZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZCkpIHtAaW5jbHVkZSBob29rLWNhcmQoKTt9XG59XG5cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWJvZHkoKTt9XG59XG5cbi51ay1jYXJkLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBhZGRpbmc6ICRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1oZWFkZXIoKTt9XG59XG5cbi51ay1jYXJkLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBhZGRpbmc6ICRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1mb290ZXIoKTt9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jYXJkLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtZm9vdGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogTWVkaWFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXJ2ZWQgYWxpZ25tZW50IG1vZGlmaWVyIHRvIHN0eWxlIHRoZSBtZWRpYSBlbGVtZW50LCBlLmcuIHdpdGggYGJvcmRlci1yYWRpdXNgXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuXG5bY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhKSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYSgpO31cbn1cblxuLnVrLWNhcmQtbWVkaWEtdG9wLFxuLnVrLWdyaWQtc3RhY2sgPiAudWstY2FyZC1tZWRpYS1sZWZ0LFxuLnVrLWdyaWQtc3RhY2sgPiAudWstY2FyZC1tZWRpYS1yaWdodCAge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLXRvcCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtdG9wKCk7fVxufVxuXG4udWstY2FyZC1tZWRpYS1ib3R0b20ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLWJvdHRvbSkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtYm90dG9tKCk7fVxufVxuXG46bm90KC51ay1ncmlkLXN0YWNrKSA+IC51ay1jYXJkLW1lZGlhLWxlZnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLWxlZnQpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLWxlZnQoKTt9XG59XG5cbjpub3QoLnVrLWdyaWQtc3RhY2spID4gLnVrLWNhcmQtbWVkaWEtcmlnaHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRjYXJkLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXRpdGxlKCk7fVxufVxuXG5cbi8qIEJhZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRjYXJkLWJhZGdlLXRvcDtcbiAgICByaWdodDogJGNhcmQtYmFkZ2UtcmlnaHQ7XG4gICAgei1pbmRleDogMTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtYmFkZ2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbi51ay1jYXJkLWJhZGdlOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vKiBIb3ZlciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLWhvdmVyOm5vdCgudWstY2FyZC1kZWZhdWx0KTpub3QoLnVrLWNhcmQtcHJpbWFyeSk6bm90KC51ay1jYXJkLXNlY29uZGFyeSk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKiBOb3RlOiBIZWFkZXIgYW5kIEZvb3RlciBhcmUgb25seSBpbXBsZW1lbnRlZCBmb3IgdGhlIGRlZmF1bHQgc3R5bGVcbiAqL1xuXG4udWstY2FyZC1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLWRlZmF1bHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdCgpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdC51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC1ob3ZlcigpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1oZWFkZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcigpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1mb290ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcigpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstY2FyZC1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeSgpO31cbn1cblxuLnVrLWNhcmQtcHJpbWFyeSAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeS1ob3ZlcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1jYXJkLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLXNlY29uZGFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeSgpO31cbn1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstY2FyZC1zbWFsbC51ay1jYXJkLWJvZHksXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7IH1cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jYXJkLWxhcmdlLnVrLWNhcmQtYm9keSxcbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1taXNjKSkge0BpbmNsdWRlIGhvb2stY2FyZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jYXJkKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLXRvcCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDbG9zZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgY2xvc2UgYnV0dG9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2xvc2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2xvc2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ2xvc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1jbG9zZSB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1jbG9zZSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWNsb3NlOmhvdmVyLFxuLnVrLWNsb3NlOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2xvc2UtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWNsb3NlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jbG9zZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1jbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTcGlubmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBsb2FkaW5nIHNwaW5uZXJcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zcGlubmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzcGlubmVyLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc3Ryb2tlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kc3Bpbm5lci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3IoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpIC8gMikgIWRlZmF1bHQ7IC8vIE1pbnVzIHN0cm9rZSB3aWR0aCB0byBwcmV2ZW50IG92ZXJmbG93IGNsaXBwaW5nXG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiAgICAgICAgICAgICAgICAgICAgICAgICAgcm91bmQoMiAqIDMuMTQxICogJHNwaW5uZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRzcGlubmVyLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjRzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTcGlubmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstc3Bpbm5lciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNwaW5uZXIpKSB7QGluY2x1ZGUgaG9vay1zcGlubmVyKCk7fVxufVxuXG5cbi8qIFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zcGlubmVyID4gKiB7IGFuaW1hdGlvbjogdWstc3Bpbm5lci1yb3RhdGUgJHNwaW5uZXItZHVyYXRpb24gbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1yb3RhdGUge1xuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxufVxuXG4vKlxuICogQ2lyY2xlXG4gKi9cblxuLnVrLXNwaW5uZXIgPiAqID4gKiB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgYW5pbWF0aW9uOiB1ay1zcGlubmVyLWRhc2ggJHNwaW5uZXItZHVyYXRpb24gZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgc3Ryb2tlLXdpZHRoOiAkc3Bpbm5lci1zdHJva2Utd2lkdGg7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xufVxuXG5Aa2V5ZnJhbWVzIHVrLXNwaW5uZXItZGFzaCB7XG4gICAgMCUgeyBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTsgfVxuICAgIDUwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlLzQ7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlO1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDQ1MGRlZyk7XG4gICAgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNwaW5uZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXNwaW5uZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3Bpbm5lcigpe31cbi8vIEBtaXhpbiBob29rLXNwaW5uZXItbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVG90b3Bcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBpY29uIHRvIHNjcm9sbCBiYWNrIHRvIHRvcFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRvdG9wYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0b3RvcC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdG90b3AtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHRvdG9wLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiR0b3RvcC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUb3RvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay10b3RvcCB7XG4gICAgcGFkZGluZzogJHRvdG9wLXBhZGRpbmc7XG4gICAgY29sb3I6ICR0b3RvcC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3ApKSB7QGluY2x1ZGUgaG9vay10b3RvcCgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRvdG9wOmhvdmVyLFxuLnVrLXRvdG9wOmZvY3VzIHtcbiAgICBjb2xvcjogJHRvdG9wLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdG90b3AtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay10b3RvcDphY3RpdmUge1xuICAgIGNvbG9yOiAkdG90b3AtYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10b3RvcC1hY3RpdmUoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3AtbWlzYykpIHtAaW5jbHVkZSBob29rLXRvdG9wLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRvdG9wKCl7fVxuLy8gQG1peGluIGhvb2stdG90b3AtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10b3RvcC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10b3RvcC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10b3RvcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AtYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBNYXJrZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIG1hcmtlciBpY29uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbWFya2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtYXJrZXItcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG1hcmtlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1hcmtlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRtYXJrZXItaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNYXJrZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstbWFya2VyIHtcbiAgICBwYWRkaW5nOiAkbWFya2VyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG1hcmtlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbWFya2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJrZXIpKSB7QGluY2x1ZGUgaG9vay1tYXJrZXIoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1tYXJrZXI6aG92ZXIsXG4udWstbWFya2VyOmZvY3VzIHtcbiAgICBjb2xvcjogJG1hcmtlci1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJrZXItaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tYXJrZXItaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbWFya2VyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1tYXJrZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbWFya2VyKCl7fVxuLy8gQG1peGluIGhvb2stbWFya2VyLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbWFya2VyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLW1hcmtlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlci1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQWxlcnRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbGVydCBtZXNzYWdlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFsZXJ0YFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLWFsZXJ0LWNsb3NlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWFsZXJ0LXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGVydC1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxlcnQtd2FybmluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsZXJ0LWRhbmdlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYWxlcnQtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsZXJ0LXBhZGRpbmcgKyAxNHB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYWxlcnQtY2xvc2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsZXJ0LXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsZXJ0LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbiRhbGVydC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQsIDQwJSksIDI1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQsIDQ1JSksIDE1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGVydFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbGVydCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tdmVydGljYWw7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcgJGFsZXJ0LXBhZGRpbmctcmlnaHQgJGFsZXJ0LXBhZGRpbmcgJGFsZXJ0LXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQpKSB7QGluY2x1ZGUgaG9vay1hbGVydCgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLWFsZXJ0IHsgbWFyZ2luLXRvcDogJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWFsZXJ0ID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFsZXJ0LWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkYWxlcnQtY2xvc2UtdG9wO1xuICAgIHJpZ2h0OiAkYWxlcnQtY2xvc2UtcmlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LWNsb3NlKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtY2xvc2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbi51ay1hbGVydC1jbG9zZTpmaXJzdC1jaGlsZCArICogeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBIb3ZlciArIEZvY3VzXG4gKi9cblxuLnVrLWFsZXJ0LWNsb3NlOmhvdmVyLFxuLnVrLWFsZXJ0LWNsb3NlOmZvY3VzIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1jbG9zZS1ob3ZlcigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1hbGVydC1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWFsZXJ0LXByaW1hcnkoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWFsZXJ0LXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1zdWNjZXNzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtc3VjY2VzcygpO31cbn1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuXG4udWstYWxlcnQtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1hbGVydC13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLWFsZXJ0LWRhbmdlciB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1kYW5nZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtbWlzYykpIHtAaW5jbHVkZSBob29rLWFsZXJ0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFsZXJ0KCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1jbG9zZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBQbGFjZWhvbGRlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHBsYWNlaG9sZGVyIGJveGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGxhY2Vob2xkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGxhY2Vob2xkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGxhY2Vob2xkZXIge1xuICAgIG1hcmdpbi1ib3R0b206ICRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw7XG4gICAgcGFkZGluZzogJHBsYWNlaG9sZGVyLXBhZGRpbmctdmVydGljYWwgJHBsYWNlaG9sZGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkcGxhY2Vob2xkZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGxhY2Vob2xkZXIpKSB7QGluY2x1ZGUgaG9vay1wbGFjZWhvbGRlcigpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXBsYWNlaG9sZGVyIHsgbWFyZ2luLXRvcDogJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXBsYWNlaG9sZGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcGxhY2Vob2xkZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXBsYWNlaG9sZGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBsYWNlaG9sZGVyKCl7fVxuLy8gQG1peGluIGhvb2stcGxhY2Vob2xkZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEJhZGdlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbm90aWZpY2F0aW9uIGJhZGdlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJhZGdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYWRnZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMnB4ICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGJhZGdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJhZGdlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFkZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIENlbnRlciBjaGlsZCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstYmFkZ2Uge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLXdpZHRoOiAkYmFkZ2Utc2l6ZTtcbiAgICBoZWlnaHQ6ICRiYWRnZS1zaXplO1xuICAgIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsICRiYWRnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYm9yZGVyLXJhZGl1czogJGJhZGdlLWJvcmRlci1yYWRpdXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UoKTt9XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cblxuLnVrLWJhZGdlOmhvdmVyLFxuLnVrLWJhZGdlOmZvY3VzIHtcbiAgICBjb2xvcjogJGJhZGdlLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYWRnZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJhZGdlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1iYWRnZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYWRnZSgpe31cbi8vIEBtaXhpbiBob29rLWJhZGdlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYmFkZ2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYWRnZS1ob3Zlcigpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIExhYmVsXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBpbmRpY2F0ZSBpbXBvcnRhbnQgbm90ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1sYWJlbGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1sYWJlbC1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGFiZWwtd2FybmluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxhYmVsLWRhbmdlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGFiZWwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsYWJlbC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmctdmVydGljYWwgJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBsaW5lLWhlaWdodDogJGxhYmVsLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1sYWJlbCgpO31cbn1cblxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1sYWJlbC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtc3VjY2Vzcy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWxhYmVsLXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cblxuLnVrLWxhYmVsLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC13YXJuaW5nLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC13YXJuaW5nKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtd2FybmluZygpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1sYWJlbC1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtZGFuZ2VyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC13YXJuaW5nKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbGFiZWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sYWJlbCgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIE92ZXJsYXlcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBjb250ZW50IGFyZWFzIG92ZXJsYXlpbmcgYW4gaW1hZ2Vcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1vdmVybGF5YFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW92ZXJsYXktaWNvbmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1vdmVybGF5LWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vdmVybGF5LXByaW1hcnlgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kb3ZlcmxheS1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG5cbiRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE92ZXJsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmxheSB7XG4gICAgcGFkZGluZzogJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbCAkb3ZlcmxheS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXkpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLW92ZXJsYXkgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW92ZXJsYXktaWNvbiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktaWNvbikpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktaWNvbigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1vdmVybGF5LWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1vdmVybGF5LXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1wcmltYXJ5KCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1vdmVybGF5LXByaW1hcnkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW92ZXJsYXktcHJpbWFyeSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktbWlzYykpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stb3ZlcmxheSgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktaWNvbigpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQXJ0aWNsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFydGljbGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYXJ0aWNsZWBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hcnRpY2xlLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYXJ0aWNsZS1tZXRhYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhcnRpY2xlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtMnhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcblxuJGFydGljbGUtbWV0YS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBcnRpY2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstYXJ0aWNsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEFkamFjZW50IHNpYmxpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZSArIC51ay1hcnRpY2xlIHtcbiAgICBtYXJnaW4tdG9wOiAkYXJ0aWNsZS1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLWFkamFjZW50KSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLXRpdGxlKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1hcnRpY2xlLXRpdGxlIHsgZm9udC1zaXplOiAkYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlLW1ldGEge1xuICAgIGZvbnQtc2l6ZTogJGFydGljbGUtbWV0YS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRhcnRpY2xlLW1ldGEtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtbWV0YSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUtbWV0YSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFydGljbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBDb21tZW50XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbmVzdGVkIGNvbW1lbnRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29tbWVudGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb21tZW50LWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LW1ldGFgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWF2YXRhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtbGlzdGBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1jb21tZW50LXByaW1hcnlgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvbW1lbnQtaGVhZGVyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kY29tbWVudC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGNvbW1lbnQtbWV0YS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kY29tbWVudC1saXN0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW06ICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29tbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQoKTt9XG59XG5cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtYm9keSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtYm9keSgpO31cbn1cblxuLnVrLWNvbW1lbnQtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNvbW1lbnQtaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY29tbWVudC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY29tbWVudC1oZWFkZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRjb21tZW50LXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNvbW1lbnQtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LXRpdGxlKCk7fVxufVxuXG5cbi8qIE1ldGFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1tZXRhIHtcbiAgICBmb250LXNpemU6ICRjb21tZW50LW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY29tbWVudC1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LW1ldGEpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LW1ldGEoKTt9XG59XG5cblxuLyogQXZhdGFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtYXZhdGFyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1hdmF0YXIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWF2YXRhcigpO31cbn1cblxuXG4vKiBMaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICogTm90ZTogR2VuZXJhbCBzaWJsaW5nIHNlbGVjdG9yIGFsbG93cyByZXBseSBibG9jayBiZXR3ZWVuIGNvbW1lbnQgYW5kIHN1Ymxpc3RcbiAqL1xuXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwge1xuICAgIG1hcmdpbjogJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wIDAgMCAwO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1saXN0LXN1YikpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1zdWIoKTt9XG59XG5cbi8qIFRhYmxldCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwgeyBwYWRkaW5nLWxlZnQ6ICRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW07IH1cblxufVxuXG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtcHJpbWFyeSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtcHJpbWFyeSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWF2YXRhcigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU2VhcmNoXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdGhlIHNlYXJjaFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNlYXJjaGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zZWFyY2gtaW5wdXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtdG9nZ2xlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLXNlYXJjaC1pY29uYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXNlYXJjaC1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLW5hdmJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2VhcmNoLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHNlYXJjaC1kZWZhdWx0LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgNnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbmF2YmFyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuXG4kc2VhcmNoLWxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuXG4kc2VhcmNoLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlYXJjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gUmVzZXQgYGZvcm1gXG4gKi9cblxuLnVrLXNlYXJjaCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIG1hcmdpbjogMDtcbn1cblxuXG4vKiBJbnB1dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstc2VhcmNoLWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogMS4gRGVmaW5lIGNvbnNpc3RlbnQgYm94IHNpemluZy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveC9JRSBhbmQgQ2hyb21lL1NhZmFyaS9PcGVyYS5cbiAqIDMuIFJlbW92ZSBgYm9yZGVyLXJhZGl1c2AgaW4gaU9TLlxuICogNC4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiA1LiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gaU9TLlxuICogNy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA4LiBUYWtlIHRoZSBmdWxsIGNvbnRhaW5lciB3aWR0aFxuICogOS4gU3R5bGVcbiAqL1xuXG4udWstc2VhcmNoLWlucHV0IHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIC8qIDUgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA2ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDcgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDggKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiA5ICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAkc2VhcmNoLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtaW5wdXQoKTt9XG59XG5cbi51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qIFBsYWNlaG9sZGVyICovXG4udWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4vKiBJY29uIChBZG9wdHMgYHVrLWljb25gKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG5cbi51ay1zZWFyY2gtaWNvbjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFBvc2l0aW9uIGFib3ZlIGlucHV0XG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkc2VhcmNoLWljb24tY29sb3I7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyIHsgY29sb3I6ICRzZWFyY2gtaWNvbi1jb2xvcjsgfVxuXG4vKlxuICogTWFrZSBgaW5wdXRgIGVsZW1lbnQgY2xpY2thYmxlIHRocm91Z2ggaWNvbiwgZS5nLiBpZiBpdCdzIGEgYHNwYW5gXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbi1mbGlwIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIERlZmF1bHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgeyB3aWR0aDogJHNlYXJjaC1kZWZhdWx0LXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDsgfVxuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoKTsgfVxuXG5cbi8qIE5hdmJhciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIHsgd2lkdGg6ICRzZWFyY2gtbmF2YmFyLXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1uYXZiYXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgZm9udC1zaXplOiAkc2VhcmNoLW5hdmJhci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1uYXZiYXItaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoOyB9XG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtbmF2YmFyLWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24tZmxpcCB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aCk7IH1cblxuXG4vKiBMYXJnZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtbGFyZ2UgeyB3aWR0aDogJHNlYXJjaC1sYXJnZS13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1sYXJnZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kO1xuICAgIGZvbnQtc2l6ZTogJHNlYXJjaC1sYXJnZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1sYXJnZS1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpO31cbn1cblxuLypcbiAqIEljb25cbiAqL1xuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLWxhcmdlLWljb24td2lkdGg7IH1cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLWxhcmdlLWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbi1mbGlwIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLWxhcmdlLWljb24td2lkdGgpOyB9XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC10b2dnbGUge1xuICAgIGNvbG9yOiAkc2VhcmNoLXRvZ2dsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC10b2dnbGUoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLFxuLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICAgIGNvbG9yOiAkc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXNlYXJjaC10b2dnbGUtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2Utc2VhcmNoLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBY2NvcmRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhY2NvcmRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYWNjb3JkaW9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFjY29yZGlvbi10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFjY29yZGlvbi1jb250ZW50YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWNvbnRlbnQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWNjb3JkaW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24pKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24oKTt9XG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24gPiA6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRhY2NvcmRpb24taXRlbS1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24taXRlbSkpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi1pdGVtKCk7fVxufVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGFjY29yZGlvbi10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLXRpdGxlKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYWNjb3JkaW9uLXRpdGxlOmhvdmVyLFxuLnVrLWFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgY29sb3I6ICRhY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi10aXRsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi10aXRsZS1ob3ZlcigpO31cbn1cblxuXG4vKiBDb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgbWFyZ2luLXRvcDogJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1jb250ZW50KSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4gLnVrLWFjY29yZGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZS1ob3Zlcigpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIERyb3Bcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIHBvc2l0aW9uIGFueSBlbGVtZW50IG5leHQgdG8gYW55IG90aGVyIGVsZW1lbnQuXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZHJvcGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kcm9wLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtZ3JpZGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vIFVzZXM6ICAgICAgICAgICAgQW5pbWF0aW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRyb3Atei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRkcm9wLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKi9cblxuLnVrLWRyb3Age1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGRyb3Atei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJGRyb3Atd2lkdGg7XG59XG5cbi8qIFNob3cgKi9cbi51ay1kcm9wLnVrLW9wZW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLWRyb3AtdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRkcm9wLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3AtYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkZHJvcC1tYXJnaW47IH1cbltjbGFzcyo9J3VrLWRyb3AtbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJGRyb3AtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcC1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRkcm9wLW1hcmdpbjsgfVxuXG5cbi8qIEdyaWQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3Atc3RhY2sgLnVrLWRyb3AtZ3JpZCA+ICogeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcC1taXNjKSkge0BpbmNsdWRlIGhvb2stZHJvcC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERyb3Bkb3duXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgZHJvcGRvd24gbWVudXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kcm9wZG93bmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1kcm9wZG93bi1uYXZgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZHJvcGRvd24tdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLWdyaWRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkcm9wZG93bi16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstZHJvcGRvd24ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGRyb3Bkb3duLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstZHJvcGRvd24udWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogTmF2XG4gKiBBZG9wdHMgYHVrLW5hdmBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcGRvd24tbmF2IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKyBBY3RpdmUgKi9cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1kcm9wZG93bi10b3AnXSB7IG1hcmdpbi10b3A6ICgtJGRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3Bkb3duLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJGRyb3Bkb3duLW1hcmdpbjsgfVxuW2NsYXNzKj0ndWstZHJvcGRvd24tbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJGRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3Bkb3duLXJpZ2h0J10geyBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLW1hcmdpbjsgfVxuXG5cbi8qIEdyaWQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3Bkb3duLXN0YWNrIC51ay1kcm9wZG93bi1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBNb2RhbFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG1vZGFsIGRpYWxvZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tb2RhbGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1tb2RhbC1wYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZGlhbG9nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWZvb3RlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2VgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbW9kYWwtY2xvc2UtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLW91dHNpZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1mdWxsYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW1vZGFsLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWZ1bGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbW9kYWwtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwwLjYpICFkZWZhdWx0O1xuXG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXM6ICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGFpbmVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMS4zICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2UtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTW9kYWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1tb2RhbCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG1vZGFsLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkbW9kYWwtcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbCgpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW1vZGFsIHsgcGFkZGluZzogJG1vZGFsLXBhZGRpbmctdmVydGljYWwtcyAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1tb2RhbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBPcGVuXG4gKi9cblxuLnVrLW1vZGFsLnVrLW9wZW4geyBvcGFjaXR5OiAxOyB9XG5cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuXG4udWstbW9kYWwtcGFnZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBEaWFsb2dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIHNwaW5uZXIgYW5kIGNsb3NlIGJ1dHRvblxuICogMi4gRGltZW5zaW9uc1xuICogMy4gRml4IGBtYXgtd2lkdGg6IDEwMCVgIG5vdCB3b3JraW5nIGluIGNvbWJpbmF0aW9uIHdpdGggZmxleCBhbmQgcmVzcG9uc2l2ZSBpbWFnZXMgaW4gSUUxMVxuICogICAgYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVyd3JpdGUgYHVrLXdpZHRoLWF1dG9gLiBTZWUgYCNtb2RhbC1tZWRpYS1pbWFnZWAgaW4gdGVzdHNcbiAqIDQuIFN0eWxlXG4gKiA1LiBTbGlkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogJG1vZGFsLWRpYWxvZy13aWR0aDtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAwLjAxcHgpJykgIWltcG9ydGFudDtcbiAgICAvKiA0ICovXG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kO1xuICAgIC8qIDUgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xuICAgIHRyYW5zaXRpb246IDAuM3MgbGluZWFyO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZGlhbG9nKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZGlhbG9nKCk7fVxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1vcGVuID4gLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb250YWluZXIgc2l6ZVxuICogVGFrZSB0aGUgc2FtZSBzaXplIGFzIHRoZSBDb250YWluZXIgY29tcG9uZW50XG4gKi9cblxuLnVrLW1vZGFsLWNvbnRhaW5lciAudWstbW9kYWwtZGlhbG9nIHsgd2lkdGg6ICRtb2RhbC1jb250YWluZXItd2lkdGg7IH1cblxuLypcbiAqIEZ1bGwgc2l6ZVxuICogMS4gUmVtb3ZlIHBhZGRpbmcgYW5kIGJhY2tncm91bmQgZnJvbSBtb2RhbFxuICogMi4gUmVzZXQgYWxsIGRlZmF1bHQgZGVjbGFyYXRpb25zIGZyb20gbW9kYWwgZGlhbG9nXG4gKi9cblxuLyogMSAqL1xuLnVrLW1vZGFsLWZ1bGwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLyogMiAqL1xuLnVrLW1vZGFsLWZ1bGwgLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWZ1bGwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1mdWxsKCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1vZGFsLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtYm9keSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWJvZHkoKTt9XG59XG5cbi51ay1tb2RhbC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1oZWFkZXIoKTt9XG59XG5cbi51ay1tb2RhbC1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1mb290ZXIoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstbW9kYWwtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWZvb3RlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1vZGFsLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRtb2RhbC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC10aXRsZSgpO31cbn1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRtb2RhbC16LWluZGV4O1xuICAgIHRvcDogJG1vZGFsLWNsb3NlLXBvc2l0aW9uO1xuICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2UtcG9zaXRpb247XG4gICAgcGFkZGluZzogJG1vZGFsLWNsb3NlLXBhZGRpbmc7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ106aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1kZWZhdWx0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1kZWZhdWx0OmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qXG4gKiBPdXRzaWRlXG4gKiAxLiBQcmV2ZW50IHNjcm9sbGJhciBvbiBzbWFsbCBkZXZpY2VzXG4gKi9cblxuLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgIHRvcDogJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb247XG4gICAgLyogMSAqL1xuICAgIHJpZ2h0OiAoLSRtb2RhbC1jbG9zZS1wYWRkaW5nKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIGNvbG9yOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgICBjb2xvcjogJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC8qIDEgKi9cbiAgICAudWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gICAgICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIH1cblxufVxuXG4vKlxuICogRnVsbFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtbWlzYykpIHtAaW5jbHVkZSBob29rLW1vZGFsLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZGlhbG9nKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZXNob3dcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBzbGlkZXNob3dzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2xpZGVzaG93YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlc2hvdy1pdGVtc2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlc2hvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXNob3cge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXNob3cpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXNob3coKTt9XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGFuZCBzdGFja2luZyBjb250ZXh0XG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKiA0LiBQcmV2ZW50IGRpc3BsYXlpbmcgdGhlIGNhbGxvdXQgaW5mb3JtYXRpb24gb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUG9zaXRpb24gaXRlbXMgYWJvdmUgZWFjaCBvdGhlclxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50cywgZS5nLiBmb3IgYHVrLWNvdmVyYFxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA1LiBEaXNhYmxlIGhvcml6b250YWwgcGFubmluZyBnZXN0dXJlcyBpbiBJRTExIGFuZCBFZGdlXG4gKiA2LiBTdXBwcmVzcyBvdXRsaW5lIG9uIGZvY3VzXG4gKi9cblxuLnVrLXNsaWRlc2hvdy1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiA0ICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAvKiA1ICovXG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLyogNiAqL1xuLnVrLXNsaWRlc2hvdy1pdGVtcyA+IDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMgPiA6bm90KC51ay1hY3RpdmUpIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlc2hvdy1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVzaG93LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlc2hvdygpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlc2hvdy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIHNsaWRlcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zbGlkZXJgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2xpZGVyLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlci1pdGVtc2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNsaWRlci1jb250YWluZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAtMTFweCAhZGVmYXVsdDtcbiRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgICAgLTM5cHggIWRlZmF1bHQ7XG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tbGVmdDogICAgICAgICAgICAgICAgICAgICAgIC0yNXB4ICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAtMjVweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2xpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cblxuLnVrLXNsaWRlciB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlcikpIHtAaW5jbHVkZSBob29rLXNsaWRlcigpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ2xpcCBjaGlsZCBlbGVtZW50c1xuICovXG5cbi51ay1zbGlkZXItY29udGFpbmVyIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogV2lkZW4gY29udGFpbmVyIHRvIHByZXZlbnQgYm94LXNoYWRvd3MgZnJvbSBjbGlwcGluZywgYGxhcmdlLWJveC1zaGFkb3dgXG4gKi9cblxuLnVrLXNsaWRlci1jb250YWluZXItb2Zmc2V0IHtcbiAgICBtYXJnaW46ICRzbGlkZXItY29udGFpbmVyLW1hcmdpbi10b3AgJHNsaWRlci1jb250YWluZXItbWFyZ2luLXJpZ2h0ICRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1ib3R0b20gJHNsaWRlci1jb250YWluZXItbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZzogKCRzbGlkZXItY29udGFpbmVyLW1hcmdpbi10b3AgKiAtMSkgKCRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1yaWdodCAqIC0xKSAoJHNsaWRlci1jb250YWluZXItbWFyZ2luLWJvdHRvbSAqIC0xKSAoJHNsaWRlci1jb250YWluZXItbWFyZ2luLWxlZnQgKiAtMSk7XG59XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE9wdGltaXplIGFuaW1hdGlvblxuICogMi4gQ3JlYXRlIGEgY29udGFpbmluZyBibG9jay4gSW4gU2FmYXJpIGl0J3MgbmVpdGhlciBjcmVhdGVkIGJ5IGB0cmFuc2Zvcm1gIG5vciBgd2lsbC1jaGFuZ2VgLlxuICovXG5cbi51ay1zbGlkZXItaXRlbXMge1xuICAgIC8qIDEgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiAxLiBSZXNldCBsaXN0IHN0eWxlIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCBncmlkXG4gKiAyLiBQcmV2ZW50IGRpc3BsYXlpbmcgdGhlIGNhbGxvdXQgaW5mb3JtYXRpb24gb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXItaXRlbXM6bm90KC51ay1ncmlkKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG4udWstc2xpZGVyLWl0ZW1zLnVrLWdyaWQgeyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTGV0IGl0ZW1zIHRha2UgY29udGVudCBkaW1lbnNpb25zICgwIDAgYXV0bylcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBEaXNhYmxlIGhvcml6b250YWwgcGFubmluZyBnZXN0dXJlcyBpbiBJRTExIGFuZCBFZGdlXG4gKiA0LiBTdXBwcmVzcyBvdXRsaW5lIG9uIGZvY3VzXG4gKi9cblxuLnVrLXNsaWRlci1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi8qIDQgKi9cbi51ay1zbGlkZXItaXRlbXMgPiA6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN0aWNreVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gbWFrZSBlbGVtZW50cyBzdGlja3kgaW4gdGhlIHZpZXdwb3J0XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3RpY2t5YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXN0aWNreS1maXhlZGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHN0aWNreS16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuXG4kc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgMC4ycyAhZGVmYXVsdDtcbiRzdGlja3ktcmV2ZXJzZS1hbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAwLjJzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdGlja3lcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzb2x2ZSBmcmFtZSByYXRlIGlzc3VlcyBvbiBkZXZpY2VzIHdpdGggbG93ZXIgZnJhbWUgcmF0ZXMgYnkgZm9yY2luZyBoYXJkd2FyZSBhY2NlbGVyYXRpb25cbiAqL1xuXG4udWstc3RpY2t5LWZpeGVkIHtcbiAgICB6LWluZGV4OiAkc3RpY2t5LXotaW5kZXg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogRmFzdGVyIGFuaW1hdGlvbnNcbiAqL1xuXG4udWstc3RpY2t5W2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjsgfVxuXG4udWstc3RpY2t5LnVrLWFuaW1hdGlvbi1yZXZlcnNlIHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3RpY2t5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdGlja3ktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3RpY2t5LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE9mZi1jYW52YXNcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBvZmYtY2FudmFzIHNpZGViYXJcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1vZmZjYW52YXNgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstb2ZmY2FudmFzLWJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtcGFnZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1vZmZjYW52YXMtY2xvc2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstb2ZmY2FudmFzLWZsaXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtYmFyLWFuaW1hdGlvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1yZXZlYWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtb3ZlcmxheWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG9mZmNhbnZhcy16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1iYXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI3MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtYmFyLXdpZHRoLW06ICAgICAgICAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE9mZi1jYW52YXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqL1xuXG4udWstb2ZmY2FudmFzIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXotaW5kZXg7XG59XG5cbi8qXG4gKiBGbGlwIG1vZGlmaWVyXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cblxuLyogQmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2l6ZSBhbmQgc3R5bGVcbiAqIDMuIEFsbG93IHNjcm9sbGluZ1xuICovXG5cbi51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aCk7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoO1xuICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwgJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtYmFyKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLWJhcigpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgICAgIGxlZnQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgtbSk7XG4gICAgICAgIHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aC1tO1xuICAgICAgICBwYWRkaW5nOiAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLW0gJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1vZmZjYW52YXMtYmFyIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstb2ZmY2FudmFzLWJhciB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKiBGbGlwIG1vZGlmaWVyICovXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgpO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhciB7IHJpZ2h0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoLW0pOyB9XG5cbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtYmFyIHsgbGVmdDogMDsgfVxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG59XG5cbi8qXG4gKiBTbGlkZSBBbmltYXRpb24gKFVzZWQgaW4gc2xpZGUgYW5kIHB1c2ggbW9kZSlcbiAqL1xuXG4udWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24geyB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7IH1cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24geyB0cmFuc2l0aW9uLXByb3BlcnR5OiByaWdodDsgfVxuXG4vKlxuICogUmV2ZWFsIEFuaW1hdGlvblxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBDbGlwIHRoZSBiYXJcbiAqIDMuIEFuaW1hdGlvblxuICogNC4gUmVzZXQgcG9zaXRpb25cbiAqL1xuXG4udWstb2ZmY2FudmFzLXJldmVhbCB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogMyAqL1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAvKiA0ICovXG4gICAgbGVmdDogMDtcbn1cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtcmV2ZWFsIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAvKiA0ICovXG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbn1cblxuLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLXJldmVhbCB7IHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1yZXZlYWwgeyB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGgtbTsgfVxuXG59XG5cbi8qXG4gKiBGbGlwIG1vZGlmaWVyXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vZmZjYW52YXMtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXotaW5kZXg7XG4gICAgdG9wOiAkb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uO1xuICAgIHJpZ2h0OiAkb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uO1xuICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtY2xvc2UtcGFkZGluZztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLWNsb3NlKCk7fVxufVxuXG5cbi8qIE92ZXJsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogT3ZlcmxheSB0aGUgd2hvbGUgcGFnZS4gTmVlZGVkIGZvciB0aGUgYDo6YmVmb3JlYFxuICogMS4gVXNpbmcgYDEwMHZ3YCBzbyBubyBtb2RpZmljYXRpb24gaXMgbmVlZGVkIHdoZW4gb2ZmLWNhbnZhcyBpcyBmbGlwcGVkXG4gKiAyLiBBbGxvdyBmb3IgY2xvc2luZyB3aXRoIHN3aXBlIGdlc3R1cmUgb24gZGV2aWNlcyB3aXRoIHBvaW50ZXIgZXZlbnRzLlxuICovXG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheSB7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICAvKiAyICovXG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vKlxuICogMS4gTWFzayB0aGUgd2hvbGUgcGFnZVxuICogMi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1vdmVybGF5OjpiZWZvcmUge1xuICAgIC8qIDEgKi9cbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ7XG4gICAgLyogMiAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1vdmVybGF5KSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKTt9XG59XG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheS51ay1vcGVuOjpiZWZvcmUgeyBvcGFjaXR5OiAxOyB9XG5cblxuLyogUHJldmVudCBzY3JvbGxpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCBob3Jpem9udGFsIHNjcm9sbGJhciB3aGVuIHRoZSBjb250ZW50IGlzIHNsaWRlLW91dFxuICogSGFzIHRvIGJlIG9uIHRoZSBgaHRtbGAgZWxlbWVudCB0b28gdG8gbWFrZSBpdCB3b3JrIG9uIHRoZSBgYm9keWBcbiAqL1xuXG4udWstb2ZmY2FudmFzLXBhZ2UsXG4udWstb2ZmY2FudmFzLWNvbnRhaW5lciB7IG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmVwYXJlIHNsaWRlLW91dCBhbmltYXRpb24gKFVzZWQgaW4gcmV2ZWFsIGFuZCBwdXNoIG1vZGUpXG4gKiBVc2luZyBgcG9zaXRpb246IGxlZnRgIGluc3RlYWQgb2YgYHRyYW5zZm9ybWAgYmVjYXVzZSBwb3NpdGlvbiBgZml4ZWRgIGVsZW1lbnRzIGxpa2Ugc3RpY2t5IG5hdmJhcnNcbiAqIGxvc2UgdGhlaXIgZml4ZWQgc3RhdGUgYW5kIGJlaGF2ZXMgbGlrZSBgYWJzb2x1dGVgIHdpdGhpbiBhIHRyYW5zZm9ybWVkIGNvbnRhaW5lclxuICogMS4gUHJvdmlkZSBhIGZpeGVkIHdpZHRoIGFuZCBwcmV2ZW50IHNocmlua2luZ1xuICovXG5cbi51ay1vZmZjYW52YXMtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qXG4gKiBBY3RpdmF0ZSBzbGlkZS1vdXQgYW5pbWF0aW9uXG4gKi9cblxuOm5vdCgudWstb2ZmY2FudmFzLWZsaXApLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHsgbGVmdDogJG9mZmNhbnZhcy1iYXItd2lkdGg7IH1cblxuLnVrLW9mZmNhbnZhcy1mbGlwLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHsgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aCk7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICA6bm90KC51ay1vZmZjYW52YXMtZmxpcCkudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAkb2ZmY2FudmFzLWJhci13aWR0aC1tOyB9XG5cbiAgICAudWstb2ZmY2FudmFzLWZsaXAudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoLW0pOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtbWlzYykpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtYmFyKCl7fVxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU3dpdGNoZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIG5hdmlnYXRlIHRocm91Z2ggZGlmZmVyZW50IGNvbnRlbnQgcGFuZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zd2l0Y2hlcmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN3aXRjaGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstc3dpdGNoZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZSBub3QgYWN0aXZlIGl0ZW1zXG4gKi9cblxuLnVrLXN3aXRjaGVyID4gOm5vdCgudWstYWN0aXZlKSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1zd2l0Y2hlciA+ICogPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zd2l0Y2hlci1taXNjKSkge0BpbmNsdWRlIGhvb2stc3dpdGNoZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIExlYWRlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRvdCBsZWFkZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGVhZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsZWFkZXItZmlsbC1jb250ZW50OiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCcuJykgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExlYWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1sZWFkZXIgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiAxLiBQbGFjZSBlbGVtZW50IGluIHRleHQgZmxvd1xuICogMi4gTmV2ZXIgYnJlYWsgaW50byBhIG5ldyBsaW5lXG4gKiAzLiBHZXQgYSBzdHJpbmcgYmFjayB3aXRoIGFzIG1hbnkgcmVwZWF0aW5nIGNoYXJhY3RlcnMgdG8gZmlsbCB0aGUgY29udGFpbmVyXG4gKiA0LiBQcmV2ZW50IHdyYXBwaW5nLiBPdmVyZmxvd2luZyBjaGFyYWN0ZXJzIHdpbGwgYmUgY2xpcHBlZCBieSB0aGUgY29udGFpbmVyXG4gKi9cblxuLnVrLWxlYWRlci1maWxsOjphZnRlciB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0O1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMDtcbiAgICAvKiAzICovXG4gICAgY29udGVudDogYXR0cihkYXRhLWZpbGwpO1xuICAgIC8qIDQgKi9cbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1sZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBIaWRlIGlmIG1lZGlhIGRvZXMgbm90IG1hdGNoXG4gKi9cblxuLnVrLWxlYWRlci1maWxsLnVrLWxlYWRlci1oaWRlOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIFBhc3MgZmlsbCBjaGFyYWN0ZXIgdG8gSlNcbiAqL1xuXG4udWstbGVhZGVyLWZpbGwtY29udGVudDo6YmVmb3JlIHsgY29udGVudDogJyN7JGxlYWRlci1maWxsLWNvbnRlbnR9JzsgfVxuOnJvb3QgeyAtLXVrLWxlYWRlci1maWxsLWNvbnRlbnQ6ICN7JGxlYWRlci1maWxsLWNvbnRlbnR9OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGVhZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1sZWFkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbGVhZGVyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTm90aWZpY2F0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbm90aWZpY2F0aW9uIG1lc3NhZ2VzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbm90aWZpY2F0aW9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1ub3RpZmljYXRpb24tdG9wLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgNDAgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tY2xvc2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5vdGlmaWNhdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIERpbWVuc2lvbnNcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICBsZWZ0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgIHotaW5kZXg6ICRub3RpZmljYXRpb24tei1pbmRleDtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG5vdGlmaWNhdGlvbi13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uKCk7fVxufVxuXG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbn1cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyLFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6ICgkbm90aWZpY2F0aW9uLXdpZHRoIC8gLTIpO1xufVxuXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1sZWZ0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206ICRub3RpZmljYXRpb24tcG9zaXRpb247XG59XG5cblxuLyogUmVzcG9uc2l2ZW5lc3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFBob25lcyBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay1ub3RpZmljYXRpb24ge1xuICAgICAgICBsZWZ0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgICAgICByaWdodDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbn1cblxuXG4vKiBNZXNzYWdlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpO31cbn1cblxuKiArIC51ay1ub3RpZmljYXRpb24tbWVzc2FnZSB7IG1hcmdpbi10b3A6ICRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wOyB9XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkbm90aWZpY2F0aW9uLWNsb3NlLXRvcDtcbiAgICByaWdodDogJG5vdGlmaWNhdGlvbi1jbG9zZS1yaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCk7fVxufVxuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2U6aG92ZXIgLnVrLW5vdGlmaWNhdGlvbi1jbG9zZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcyB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcygpO31cbn1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZyB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVG9vbHRpcFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRvb2x0aXBzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdG9vbHRpcGBcbi8vXG4vLyBNb2RpZmllcnMgICAgICAgIGB1ay10b29sdGlwLXRvcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtdG9wLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLXRvcC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b20tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtYm90dG9tLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1yaWdodGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRvb2x0aXAtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDMwICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICA2cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzY2NiAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAycHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUb29sdGlwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gUG9zaXRpb25cbiAqIDMuIFJlbW92ZSB0b29sdGlwIGZyb20gZG9jdW1lbnQgZmxvdyB0byBrZWVwIHRoZSBVSWtpdCBjb250YWluZXIgZnJvbSBjaGFuZ2luZyBpdHMgc2l6ZSB3aGVuIGluamVjdGVkIGludG8gdGhlIGRvY3VtZW50IGluaXRpYWxseVxuICogNC4gRGltZW5zaW9uc1xuICogNS4gU3R5bGVcbiAqL1xuXG4udWstdG9vbHRpcCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkdG9vbHRpcC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICB0b3A6IDA7XG4gICAgLyogNCAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbCAkdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6ICR0b29sdGlwLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cztcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvb2x0aXApKSB7QGluY2x1ZGUgaG9vay10b29sdGlwKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstdG9vbHRpcC51ay1hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLXRvb2x0aXAtdG9wJ10geyBtYXJnaW4tdG9wOiAoLSR0b29sdGlwLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLXRvb2x0aXAtYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkdG9vbHRpcC1tYXJnaW47IH1cbltjbGFzcyo9J3VrLXRvb2x0aXAtbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJHRvb2x0aXAtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstdG9vbHRpcC1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICR0b29sdGlwLW1hcmdpbjsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRvb2x0aXAtbWlzYykpIHtAaW5jbHVkZSBob29rLXRvb2x0aXAtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdG9vbHRpcCgpe31cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU29ydGFibGVcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBzb3J0YWJsZSBncmlkcyBhbmQgbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zb3J0YWJsZWBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zb3J0YWJsZS1kcmFnYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc29ydGFibGUtcGxhY2Vob2xkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zb3J0YWJsZS1oYW5kbGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc29ydGFibGUtZW1wdHlgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZHJhZ2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc29ydGFibGUtZHJhZ2dlZC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgNTAgIWRlZmF1bHQ7XG5cbiRzb3J0YWJsZS1wbGFjZWhvbGRlci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kc29ydGFibGUtZW1wdHktaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU29ydGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1zb3J0YWJsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIERyYWdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUtZHJhZyB7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogJHNvcnRhYmxlLWRyYWdnZWQtei1pbmRleCAhaW1wb3J0YW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZS1kcmFnKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtZHJhZygpO31cbn1cblxuXG4vKiBQbGFjZWhvbGRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1wbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIoKTt9XG59XG5cblxuLyogRW1wdHkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUtZW1wdHkge1xuICAgIG1pbi1oZWlnaHQ6ICRzb3J0YWJsZS1lbXB0eS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLWVtcHR5KSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtZW1wdHkoKTt9XG59XG5cblxuLyogSGFuZGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogSG92ZXIgKi9cbi51ay1zb3J0YWJsZS1oYW5kbGU6aG92ZXIgeyBjdXJzb3I6IG1vdmU7IH1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZSgpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLWRyYWcoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLWVtcHR5KCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ291bnRkb3duXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgY291bnRkb3duIHRpbWVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvdW50ZG93bmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb3VudGRvd24tbnVtYmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY291bnRkb3duLXNlcGFyYXRvcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvdW50ZG93bi1sYWJlbGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY291bnRkb3duLW51bWJlci1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgMC44ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7IC8vIDMycHhcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1zOiAgICAgICAgICAgICAgICAgICA0cmVtICFkZWZhdWx0OyAvLyA2NHB4XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDsgLy8gOTZweFxuXG4kY291bnRkb3duLXNlcGFyYXRvci1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgMS42ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIDE2cHhcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOiAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0OyAvLyAzMnB4XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtbTogICAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDsgLy8gNDhweFxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3VudGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duLW51bWJlcixcbi51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24taXRlbSgpO31cbn1cblxuXG4vKiBOdW1iZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qXG4gKiAxLiBNYWtlIG51bWJlcnMgYWxsIG9mIHRoZSBzYW1lIHNpemUgdG8gcHJldmVudCBqdW1waW5nLiBNdXN0IGJlIHN1cHBvcnRlZCBieSB0aGUgZm9udC5cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWNvdW50ZG93bi1udW1iZXIge1xuICAgIC8qIDEgKi9cbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIC8qIDIgKi9cbiAgICBmb250LXNpemU6ICRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNvdW50ZG93bi1udW1iZXItbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1udW1iZXIpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbnVtYmVyKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyIHsgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogU2VwYXJhdG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY291bnRkb3duLXNlcGFyYXRvci1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLXNlcGFyYXRvcikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1zZXBhcmF0b3IoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHsgZm9udC1zaXplOiAkY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3IgeyBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24tbGFiZWwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbGFiZWwoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY291bnRkb3duKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tbnVtYmVyKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBHcmlkXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcmVzcG9uc2l2ZSwgZmx1aWQgYW5kIG5lc3RhYmxlIGdyaWRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZ3JpZGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1ncmlkLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1jb2xsYXBzZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWF0Y2hgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLXN0YWNrYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW5gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tY29sbGFwc2VgXG4vL1xuLy8gU3ViLW1vZGlmaWVyOiAgICBgdWstZ3JpZC1pdGVtLW1hdGNoYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWZpcnN0LWNvbHVtbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG5cbiRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuXG4kZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZ3JpZC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEdyaWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgY2VsbHMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogR3JpZCBjZWxsXG4gKiBOb3RlOiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3M6IDAgMSBhdXRvXG4gKiBSZXNldCBtYXJnaW4gZm9yIGUuZy4gcGFyYWdyYXBoc1xuICovXG5cbi51ay1ncmlkID4gKiB7IG1hcmdpbjogMDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWdyaWQgPiAqID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogR3V0dGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWd1dHRlci1ob3Jpem9udGFsKTsgfVxuLnVrLWdyaWQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZCxcbi51ay1ncmlkID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRncmlkLWd1dHRlci12ZXJ0aWNhbDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCk7IH1cbiAgICAudWstZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQgKyAudWstZ3JpZCxcbiAgICAudWstZ3JpZCA+IC51ay1ncmlkLW1hcmdpbixcbiAgICAqICsgLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw7IH1cblxufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkLWNvbHVtbi1zbWFsbCB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsKTsgfVxuLnVrLWdyaWQtc21hbGwgPiAqLFxuLnVrLWdyaWQtY29sdW1uLXNtYWxsID4gKiAgeyBwYWRkaW5nLWxlZnQ6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLXNtYWxsLFxuLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctc21hbGwsXG4udWstZ3JpZC1zbWFsbCA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1zbWFsbCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLW1lZGl1bSxcbi51ay1ncmlkLWNvbHVtbi1tZWRpdW0geyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1tZWRpdW0gPiAqLFxuLnVrLWdyaWQtY29sdW1uLW1lZGl1bSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZCArIC51ay1ncmlkLXJvdy1tZWRpdW0sXG4udWstZ3JpZC1tZWRpdW0gPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctbWVkaXVtID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWxhcmdlLFxuLnVrLWdyaWQtY29sdW1uLWxhcmdlIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1sYXJnZSA+ICosXG4udWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1sYXJnZSxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LWxhcmdlLFxuLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtbGFyZ2UsXG4gICAgLnVrLWdyaWQtY29sdW1uLWxhcmdlIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCk7IH1cbiAgICAudWstZ3JpZC1sYXJnZSA+ICosXG4gICAgLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuICAgIC51ay1ncmlkICsgLnVrLWdyaWQtcm93LWxhcmdlLFxuICAgIC51ay1ncmlkLWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgIC51ay1ncmlkLXJvdy1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiAgICAqICsgLnVrLWdyaWQtbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWw7IH1cblxufVxuXG4vKlxuICogQ29sbGFwc2VcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1jb2xsYXBzZSxcbi51ay1ncmlkLWNvbHVtbi1jb2xsYXBzZSB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4udWstZ3JpZC1jb2xsYXBzZSA+ICosXG4udWstZ3JpZC1jb2x1bW4tY29sbGFwc2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLWNvbGxhcHNlLFxuLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctY29sbGFwc2UsXG4udWstZ3JpZC1jb2xsYXBzZSA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1jb2xsYXBzZSA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWdyaWQtZGl2aWRlciA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXItbGVmdDogJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGdyaWQtZGl2aWRlci1ib3JkZXI7XG59XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAkZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbn1cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlciA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6ICgtJGdyaWQtZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG4gICAgLnVrLWdyaWQtZGl2aWRlciA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1ndXR0ZXItdmVydGljYWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIHRvcDogKC0kZ3JpZC1ndXR0ZXItdmVydGljYWwtbCk7XG4gICAgICAgIGxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7XG4gICAgfVxuXG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiAqLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1zbWFsbCA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgdG9wOiAoLSRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCk7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gKixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbWVkaXVtID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IHRvcDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgdG9wOiAoLSRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCk7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UsXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICosXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbixcbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbCk7XG4gICAgICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7XG4gICAgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwpOyB9XG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbn1cblxuXG4vKiBNYXRjaCBjaGlsZCBvZiBhIGdyaWQgY2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDEuIFdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoLCBhdCBsZWFzdCAxMDAlLiBPbmx5IGlmIG5vIGNsYXNzIGZyb20gdGhlIFdpZHRoIGNvbXBvbmVudCBpcyBzZXQuXG4gKiAzLiBFeHBhbmQgd2lkdGggZXZlbiBpZiBsYXJnZXIgdGhhbiAxMDAlLCBlLmcuIGJlY2F1c2Ugb2YgbmVnYXRpdmUgbWFyZ2luIChOZWVkZWQgZm9yIG5lc3RlZCBncmlkcylcbiAqL1xuXG4udWstZ3JpZC1tYXRjaCA+ICosXG4udWstZ3JpZC1pdGVtLW1hdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi51ay1ncmlkLW1hdGNoID4gKiA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSksXG4udWstZ3JpZC1pdGVtLW1hdGNoID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGZsZXg6IGF1dG87XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZ3JpZC1taXNjKSkge0BpbmNsdWRlIGhvb2stZ3JpZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuIiwiLy8gTmFtZTogICAgICAgICAgICBOYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBzdHlsZXMgZm9yIGxpc3QgbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1uYXZgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbmF2LWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LXN1YmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1uYXYtcGFyZW50LWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWNlbnRlcmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYXJlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vcGVuYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG91Y2hgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kbmF2LXN1Ymxpc3QtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAycHggIWRlZmF1bHQ7XG5cbiRuYXYtcGFyZW50LWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJG5hdi1wYXJlbnQtaWNvbi13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtOiAgICAgICAgICAgICAgICAgICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJG5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0XG4gKiAxLiBQcmVwYXJlIGxpc3RzXG4gKiAyLiBQcmVwYXJlIGxpbmtzXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG5cbi8qIDEgKi9cbi51ay1uYXYsXG4udWstbmF2IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiAyICovXG4udWstbmF2IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiAzICovXG4udWstbmF2IGxpID4gYTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIEl0ZW1zXG4gKiBNdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBsaXN0cylcbiAqL1xuXG4udWstbmF2ID4gbGkgPiBhIHsgcGFkZGluZzogJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFN1Ymxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExldmVsIDJcbiAqIGB1bGAgbmVlZGVkIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgcGFkZGluZ1xuICovXG5cbnVsLnVrLW5hdi1zdWIge1xuICAgIHBhZGRpbmc6ICRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsIDAgJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWwgJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXN1YikpIHtAaW5jbHVkZSBob29rLW5hdi1zdWIoKTt9XG59XG5cbi8qXG4gKiBMZXZlbCAzIGFuZCBkZWVwZXJcbiAqL1xuXG4udWstbmF2LXN1YiB1bCB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ7IH1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1zdWIgYSB7IHBhZGRpbmc6ICRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWwgMDsgfVxuXG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRuYXYtcGFyZW50LWljb24taGVpZ2h0O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRuYXYtcGFyZW50LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXBhcmVudC1pY29uKSkge0BpbmNsdWRlIGhvb2stbmF2LXBhcmVudC1pY29uKCk7fVxufVxuXG4udWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJG5hdi1wYXJlbnQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBIZWFkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWhlYWRlciB7XG4gICAgcGFkZGluZzogJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJG5hdi1oZWFkZXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWhlYWRlcigpO31cbn1cblxuLnVrLW5hdi1oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tdG9wOiAkbmF2LWhlYWRlci1tYXJnaW4tdG9wOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtZGl2aWRlciB7XG4gICAgbWFyZ2luOiAkbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsICRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGl2aWRlcigpO31cbn1cblxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1kZWZhdWx0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxuXG4vKiBQcmltYXJ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6ICRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOyB9XG5cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogU3VibGlzdHMgKi9cbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViLFxuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIgdWwgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXIgICovXG4udWstbmF2LWNlbnRlci51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLW5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtc3ViKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXBhcmVudC1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE5hdmJhclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGhvcml6b250YWwgbmF2aWdhdGlvbiBiYXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbmF2YmFyYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5hdmJhci1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItY2VudGVyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItY2VudGVyLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLW5hdmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1pdGVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXRvZ2dsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1zdWJ0aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wYmFyYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bmAgKyBNb2RpZmllcnNcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bi1uYXZgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd24tZ3JpZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci10b2dnbGUtaWNvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1uYXZiYXItcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci10cmFuc3BhcmVudGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1zdGlja3lgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd24tc3RhY2tgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5hdmJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1pdGVtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgODBweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItc3VidGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2YmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IHRvIGNlbnRlciBuYXZiYXIgZ3JvdXBcbiAqL1xuXG4udWstbmF2YmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhcikpIHtAaW5jbHVkZSBob29rLW5hdmJhcigpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkge1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWNvbnRhaW5lcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1jb250YWluZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRuYXZiYXItY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJG5hdmJhci1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKlxuICogUmVtb3ZlIHBzZXVkbyBlbGVtZW50cyBjcmVhdGVkIGJ5IG1pY3JvIGNsZWFyZml4IGFzIHByZWNhdXRpb24gKGlmIENvbnRhaW5lciBjb21wb25lbnQgaXMgdXNlZClcbiAqL1xuXG4udWstbmF2YmFyLWNvbnRhaW5lciA+IDo6YmVmb3JlLFxuLnVrLW5hdmJhci1jb250YWluZXIgPiA6OmFmdGVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cblxuLyogR3JvdXBzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsaWduIG5hdnMgYW5kIGl0ZW1zIHZlcnRpY2FsbHkgaWYgdGhleSBoYXZlIGEgZGlmZmVyZW50IGhlaWdodFxuICogMi4gTm90ZTogSUUgMTEgcmVxdWlyZXMgYW4gZXh0cmEgYGRpdmAgd2hpY2ggYWZmZWN0cyB0aGUgY2VudGVyIHNlbGVjdG9yXG4gKi9cblxuLnVrLW5hdmJhci1sZWZ0LFxuLnVrLW5hdmJhci1yaWdodCxcbi8vIDIuIFtjbGFzcyo9J3VrLW5hdmJhci1jZW50ZXInXSxcbi51ay1uYXZiYXItY2VudGVyLFxuLnVrLW5hdmJhci1jZW50ZXItbGVmdCA+ICosXG4udWstbmF2YmFyLWNlbnRlci1yaWdodCA+ICoge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBIb3Jpem9udGFsIGFsaWdubWVudFxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGNlbnRlcmVkIG5hdmJhciB3aXRoIHN1YiBncm91cHMgKGxlZnQvcmlnaHQpXG4gKiAyLiBGaXggdGV4dCB3cmFwcGluZyBpZiBjb250ZW50IGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgY29udGFpbmVyLlxuICogMy4gTmVlZGVkIGZvciBkcm9wZG93bnMgYmVjYXVzZSBhIG5ldyBwb3NpdGlvbiBjb250ZXh0IGlzIGNyZWF0ZWRcbiAqICAgIGB6LWluZGV4YCBtdXN0IGJlIHNtYWxsZXIgdGhhbiBvZmYtY2FudmFzXG4gKiA0LiBBbGlnbiBzdWIgZ3JvdXBzIGZvciBjZW50ZXJlZCBuYXZiYXJcbiAqL1xuXG4udWstbmF2YmFyLXJpZ2h0IHsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLnVrLW5hdmJhci1jZW50ZXI6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51ay1uYXZiYXItY2VudGVyOm5vdCg6b25seS1jaGlsZCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMyAqL1xuICAgIHotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDEwO1xufVxuXG4vKiA0ICovXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0LFxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgdG9wOiAwO1xufVxuXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0IHsgcmlnaHQ6IDEwMCU7IH1cbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0IHsgbGVmdDogMTAwJTsgfVxuXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIHtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuXG4vKiBOYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1uYXZiYXItbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIE9ubHkgbm90IGBhYnNvbHV0ZWAgcG9zaXRpb25lZCBncm91cHNcbiAqL1xuXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuLnVrLW5hdmJhci1jZW50ZXI6b25seS1jaGlsZCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4vKlxuICogSXRlbXNcbiAqIDEuIENlbnRlciBjb250ZW50IHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMi4gRGltZW5zaW9uc1xuICogMy4gU3R5bGVcbiAqIDQuIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSwgICAgLy8gTmF2IGl0ZW1cbi51ay1uYXZiYXItaXRlbSwgICAgICAgICAgICAvLyBDb250ZW50IGl0ZW1cbi51ay1uYXZiYXItdG9nZ2xlIHsgICAgICAgICAvLyBDbGlja2FibGUgaXRlbVxuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLWhlaWdodDogJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ7XG4gICAgcGFkZGluZzogMCAkbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgZm9udC1zaXplOiAkbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJG5hdmJhci1uYXYtaXRlbS1mb250LWZhbWlseTtcbiAgICAvKiA0ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKlxuICogTmF2IGl0ZW1zXG4gKi9cblxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0oKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICogQXBwbHkgaG92ZXIgc3R5bGUgYWxzbyB0byBmb2N1cyBzdGF0ZSBhbmQgaWYgZHJvcGRvd24gaXMgb3BlbmVkXG4gKi9cblxuLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgICBjb2xvcjogJG5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1pdGVtIHtcbiAgICBjb2xvcjogJG5hdmJhci1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1pdGVtKCk7fVxufVxuXG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItdG9nZ2xlIHtcbiAgICBjb2xvcjogJG5hdmJhci10b2dnbGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlKCk7fVxufVxuXG4udWstbmF2YmFyLXRvZ2dsZTpob3Zlcixcbi51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiB7XG4gICAgY29sb3I6ICRuYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1ob3ZlcigpO31cbn1cblxuLypcbiAqIEljb25cbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstbmF2YmFyLXRvZ2dsZS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG46aG92ZXIgPiAudWstbmF2YmFyLXRvZ2dsZS1pY29uLFxuOmZvY3VzID4gLnVrLW5hdmJhci10b2dnbGUtaWNvbiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3ZlcigpO31cbn1cblxuXG4vKiBTdWJ0aXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1zdWJ0aXRsZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1zdWJ0aXRsZSgpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLXByaW1hcnkge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1wcmltYXJ5KCk7fVxufVxuXG4udWstbmF2YmFyLXRyYW5zcGFyZW50IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCk7fVxufVxuXG4udWstbmF2YmFyLXN0aWNreSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1zdGlja3kpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItc3RpY2t5KCk7fVxufVxuXG5cbi8qIERyb3Bkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstZHJvcGRvd25gXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRuYXZiYXItZHJvcGRvd24tei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG5hdmJhci1kcm9wZG93bi13aWR0aDtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstbmF2YmFyLWRyb3Bkb3duLnVrLW9wZW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICRuYXZiYXItZHJvcGRvd24tbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJG5hdmJhci1kcm9wZG93bi1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjsgfVxuXG4vKlxuICogR3JpZFxuICogQWRvcHRzIGB1ay1ncmlkYFxuICovXG5cbi8qIEd1dHRlciBIb3Jpem9udGFsICovXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogR3V0dGVyIFZlcnRpY2FsICovXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIFN0YWNrICovXG4udWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiBXaWR0aCBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtMjpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiAyKTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0zOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDMpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTQ6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHsgd2lkdGg6ICgkbmF2YmFyLWRyb3Bkb3duLXdpZHRoICogNCk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNTpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiA1KTsgfVxuXG4vKlxuICogRHJvcGJhciBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tZHJvcGJhciB7XG4gICAgbWFyZ2luLXRvcDogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKTt9XG59XG5cblxuLyogRHJvcGRvd24gTmF2XG4gKiBBZG9wdHMgYHVrLW5hdmBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxuXG4vKiBEcm9wYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1kcm9wYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLWRyb3BiYXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3BiYXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGJhcigpO31cbn1cblxuLypcbiAqIFNsaWRlIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wYmFyLXNsaWRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG5hdmJhci1kcm9wYmFyLXotaW5kZXg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3BiYXItc2xpZGUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbWlzYykpIHtAaW5jbHVkZSBob29rLW5hdmJhci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItY29udGFpbmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaWNvbigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1zdWJ0aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN0aWNreSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXItc2xpZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTdWJuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHN1YiBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3VibmF2YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXN1Ym5hdi1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc3VibmF2LXBpbGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmlyc3QtY29sdW1uYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kc3VibmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDogICAgICAgICAgICAgICAgICAgMS41ZW0gIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkc3VibmF2LWl0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgICAgICAgICAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1zdWJuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2KSkge0BpbmNsdWRlIGhvb2stc3VibmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstc3VibmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIFVzaW5nIGA6Zmlyc3QtY2hpbGRgIGluc3RlYWQgb2YgYGFgIHRvIHN1cHBvcnQgYHNwYW5gIGVsZW1lbnRzIGZvciB0ZXh0XG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLFxuLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBEaXZpZGVyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNldCBndXR0ZXIgXG4gKi9cblxuLnVrLXN1Ym5hdi1kaXZpZGVyIHsgbWFyZ2luLWxlZnQ6IC0oKCRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbCAqIDIpICsgJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aCk7IH1cblxuLypcbiAqIEFsaWduIGl0ZW1zIGFuZCBkaXZpZGVyIHZlcnRpY2FsbHlcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiAqIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKiAxLiBgbnRoLWNoaWxkYCBtYWtlcyBpdCBhbHNvIHdvcmsgd2l0aG91dCBKUyBpZiBpdCdzIG9ubHkgb25lIHJvd1xuICovXG5cbi51ay1zdWJuYXYtZGl2aWRlciA+IDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6ICgkc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWwgLSAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBib3JkZXItbGVmdDogJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLyogMSAqL1xuLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHN1Ym5hdi1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtZGl2aWRlcigpO31cbn1cblxuXG4vKiBQaWxsIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZzogJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAkc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJHN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpob3Zlcixcbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgIGNvbG9yOiAkc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3VibmF2KCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQnJlYWRjcnVtYlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgYnJlYWRjcnVtYiBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYnJlYWRjcnVtYmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnJlYWRjcnVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLWJyZWFkY3J1bWIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWIoKTt9XG59XG5cbi8qXG4gKiAxLiBEb2Vzbid0IGdlbmVyYXRlIGFueSBib3ggYW5kIHJlcGxhY2VkIGJ5IGNoaWxkIGJveGVzXG4gKi9cblxuLnVrLWJyZWFkY3J1bWIgPiAqIHsgZGlzcGxheTogY29udGVudHM7IH1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLFxuLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRicmVhZGNydW1iLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnJlYWRjcnVtYiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+IHNwYW4sXG4udWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gYTpub3QoW2hyZWZdKSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqIGBudGgtY2hpbGRgIG1ha2VzIGl0IGFsc28gd29yayB3aXRob3V0IEpTIGlmIGl0J3Mgb25seSBvbmUgcm93XG4gKiAxLiBSZW1vdmUgc3BhY2UgYmV0d2VlbiBpbmxpbmUgYmxvY2sgZWxlbWVudHMuXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYnJlYWRjcnVtYi1kaXZpZGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwICRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWwgMCB1bnF1b3RlKCdjYWxjKCN7JGJyZWFkY3J1bWItZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbH0gLSA0cHgpJyk7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWItZGl2aWRlci1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGFnaW5hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgcGFnZSBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFnaW5hdGlvbmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1wYWdpbmF0aW9uLW5leHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWdpbmF0aW9uLXByZXZpb3VzYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWdpbmF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbikpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24oKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG5cbi51ay1wYWdpbmF0aW9uID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLXBhZ2luYXRpb24gPiAqID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmctdmVydGljYWwgJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbSkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLFxuLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRhYlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgdGFiYmVkIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10YWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGFiLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYi1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFiLXJpZ2h0YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFiXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstdGFiIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSR0YWItbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYikpIHtAaW5jbHVkZSBob29rLXRhYigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cblxuLnVrLXRhYiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBDZW50ZXIgdGV4dCBpZiBhIHdpZHRoIGlzIHNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstdGFiID4gKiA+IGEge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsICR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICR0YWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuLnVrLXRhYiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstdGFiID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vKiBQb3NpdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCb3R0b21cbiAqL1xuXG4udWstdGFiLWJvdHRvbSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay10YWItYm90dG9tKCk7fVxufVxuXG4udWstdGFiLWJvdHRvbSA+ICogPiBhIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWJvdHRvbS1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWJvdHRvbS1pdGVtKCk7fVxufVxuXG4vKlxuICogTGVmdCArIFJpZ2h0XG4gKiAxLiBSZXNldCBHdXR0ZXJcbiAqL1xuXG4udWstdGFiLWxlZnQsXG4udWstdGFiLXJpZ2h0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyogMSAqL1xuLnVrLXRhYi1sZWZ0ID4gKixcbi51ay10YWItcmlnaHQgPiAqIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWItbGVmdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1sZWZ0KSkge0BpbmNsdWRlIGhvb2stdGFiLWxlZnQoKTt9XG59XG5cbi51ay10YWItcmlnaHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItcmlnaHQpKSB7QGluY2x1ZGUgaG9vay10YWItcmlnaHQoKTt9XG59XG5cbi51ay10YWItbGVmdCA+ICogPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItbGVmdC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWxlZnQtaXRlbSgpO31cbn1cblxuLnVrLXRhYi1yaWdodCA+ICogPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItcmlnaHQtaXRlbSkpIHtAaW5jbHVkZSBob29rLXRhYi1yaWdodC1pdGVtKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1taXNjKSkge0BpbmNsdWRlIGhvb2stdGFiLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRhYigpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1ib3R0b20oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItYm90dG9tLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1sZWZ0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItcmlnaHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10YWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU2xpZGVuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBwcmV2aW91cy9uZXh0IGljb24gbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zbGlkZW5hdmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zbGlkZW5hdi1jb250YWluZXJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc2xpZGVuYXYtcHJldmlvdXNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zbGlkZW5hdi1uZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2xpZGVuYXYtbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNsaWRlbmF2LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG4kc2xpZGVuYXYtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZW5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXNsaWRlbmF2IHtcbiAgICBwYWRkaW5nOiAkc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbCAkc2xpZGVuYXYtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGNvbG9yOiAkc2xpZGVuYXYtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zbGlkZW5hdjpob3Zlcixcbi51ay1zbGlkZW5hdjpmb2N1cyB7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtYWN0aXZlKCk7fVxufVxuXG5cbi8qIEljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmlvdXNcbiAqL1xuXG4udWstc2xpZGVuYXYtcHJldmlvdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1wcmV2aW91cykpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LXByZXZpb3VzKCk7fVxufVxuXG4vKlxuICogTmV4dFxuICovXG5cbi51ay1zbGlkZW5hdi1uZXh0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbmV4dCkpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LW5leHQoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zbGlkZW5hdi1sYXJnZSB7XG4gICAgcGFkZGluZzogJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWwgJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1sYXJnZSgpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2xpZGVuYXYtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1jb250YWluZXIpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1jb250YWluZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2KCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1wcmV2aW91cygpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW5leHQoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNsaWRlbmF2LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOTUpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEb3RuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBkb3QgbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kb3RuYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstZG90bmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZG90bmF2LWl0ZW0td2lkdGggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgNTAlICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEb3RuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay1kb3RuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdikpIHtAaW5jbHVkZSBob29rLWRvdG5hdigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqIDEuIEhpZGUgdGV4dCBpZiBwcmVzZW50XG4gKi9cblxuLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkZG90bmF2LWl0ZW0td2lkdGg7XG4gICAgaGVpZ2h0OiAkZG90bmF2LWl0ZW0taGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1kb3RuYXYgPiAqID4gOmhvdmVyLFxuLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBNb2RpZmllcjogJ3VrLWRvdG5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJGRvdG5hdi1tYXJnaW4tdmVydGljYWwpO1xufVxuXG4vKiAyICovXG4udWstZG90bmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kb3RuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBUaHVtYm5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRodW1ibmFpbCBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRodW1ibmF2YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXRodW1ibmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAkdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRodW1ibmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuXG4udWstdGh1bWJuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdigpO31cbn1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogMS4gR3V0dGVyXG4gKi9cblxuLnVrLXRodW1ibmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmctbGVmdDogJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLXRodW1ibmF2ID4gKiA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10aHVtYm5hdiA+ICogPiA6aG92ZXIsXG4udWstdGh1bWJuYXYgPiAqID4gOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstdGh1bWJuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay10aHVtYm5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLXRodW1ibmF2LXZlcnRpY2FsIHtcbiAgICAvKiAxICovXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsKTtcbn1cblxuLyogMiAqL1xuLnVrLXRodW1ibmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdigpe31cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEljb25uYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBpY29uIG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbm5hdmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1pY29ubmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGljb25uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvbm5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJGljb25uYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2KSkge0BpbmNsdWRlIGhvb2staWNvbm5hdigpO31cbn1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogMS4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZy1sZWZ0OiAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWljb25uYXYgPiAqID4gYSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLFxuLnVrLWljb25uYXYgPiAqID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay1pY29ubmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsKTtcbn1cblxuLyogMiAqL1xuLnVrLWljb25uYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWljb25uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTGlnaHRib3hcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBsaWdodGJveCBpbWFnZSBnYWxsZXJ5XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlnaHRib3hgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbGlnaHRib3gtcGFnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWl0ZW1zYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtdG9vbGJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWJ1dHRvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWNhcHRpb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1pZnJhbWVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGlnaHRib3gtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAxMDB2dyAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxMDB2aCAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLDAuMykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1pY29uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC1idXR0b24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlnaHRib3hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICogNy4gUHJldmVudCBjYW5jZWxsYXRpb24gb2YgcG9pbnRlciBldmVudHMgd2hpbGUgZHJhZ2dpbmdcbiAqL1xuXG4udWstbGlnaHRib3gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRsaWdodGJveC16LWluZGV4O1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICAvKiA3ICovXG4gICAgdG91Y2gtYWN0aW9uOiBwaW5jaC16b29tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveCkpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94KCk7fVxufVxuXG4vKlxuICogT3BlblxuICogMS4gQ2VudGVyIGNoaWxkXG4gKiAyLiBGYWRlLWluXG4gKi9cblxuLnVrLWxpZ2h0Ym94LnVrLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBvcGFjaXR5OiAxO1xufVxuXG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cblxuLnVrLWxpZ2h0Ym94LXBhZ2UgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgY2hpbGQgd2l0aGluIHRoZSB2aWV3cG9ydFxuICogMi4gTm90IHZpc2libGUgYnkgZGVmYXVsdFxuICogMy4gQ29sb3IgbmVlZGVkIGZvciBzcGlubmVyIGljb25cbiAqIDQuIE9wdGltaXplIGFuaW1hdGlvblxuICogNS4gUmVzcG9uc2l2ZW5lc3NcbiAqICAgIFVzaW5nIGB2aGAgZm9yIGBtYXgtaGVpZ2h0YCB0byBmaXggaW1hZ2UgcHJvcG9ydGlvbnMgYWZ0ZXIgcmVzaXplIGluIFNhZmFyaSBhbmQgT3BlcmFcbiAqICAgIFVzaW5nIGB2aGAgYW5kIGB2d2AgdG8gbWFrZSByZXNwb25zaXZlIGltYWdlIHdvcmsgaW4gSUUxMVxuICogNi4gU3VwcHJlc3Mgb3V0bGluZSBvbiBmb2N1c1xuICovXG5cbi51ay1saWdodGJveC1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkbGlnaHRib3gtaXRlbS1jb2xvcjtcbiAgICAvKiA0ICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtaXRlbSkpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LWl0ZW0oKTt9XG59XG5cbi8qIDUgKi9cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiAqIHtcbiAgICBtYXgtd2lkdGg6ICRsaWdodGJveC1pdGVtLW1heC13aWR0aDtcbiAgICBtYXgtaGVpZ2h0OiAkbGlnaHRib3gtaXRlbS1tYXgtaGVpZ2h0O1xufVxuXG4vKiA2ICovXG4udWstbGlnaHRib3gtaXRlbXMgPiA6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiA6bm90KGlmcmFtZSkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gLnVrLWFjdGl2ZSB7IGRpc3BsYXk6IGZsZXg7IH1cblxuLyogVG9vbGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC10b29sYmFyIHtcbiAgICBwYWRkaW5nOiAkbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsICRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhcikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKTt9XG59XG5cbi51ay1saWdodGJveC10b29sYmFyID4gKiB7IGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1jb2xvcjsgfVxuXG5cbi8qIFRvb2xiYXIgSWNvbiAoQ2xvc2UpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbiB7XG4gICAgcGFkZGluZzogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1wYWRkaW5nO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyLWljb24pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyLWljb24oKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay1saWdodGJveC10b29sYmFyLWljb246aG92ZXIge1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKTt9XG59XG5cblxuXG4vKiBCdXR0b24gKFNsaWRlbmF2KVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstbGlnaHRib3gtYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbGlnaHRib3gtYnV0dG9uLXNpemU7XG4gICAgaGVpZ2h0OiAkbGlnaHRib3gtYnV0dG9uLXNpemU7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtYnV0dG9uLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1idXR0b24oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1saWdodGJveC1idXR0b246aG92ZXIsXG4udWstbGlnaHRib3gtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstbGlnaHRib3gtYnV0dG9uOmFjdGl2ZSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtY2FwdGlvbjplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBJZnJhbWVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtaWZyYW1lIHtcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogODAlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveCgpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFuaW1hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGtleWZyYW1lIGFuaW1hdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbmltYXRpb24tKmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1hbmltYXRpb24tZmFkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS11cGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS1kb3duYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWtlbmJ1cm5zYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNoYWtlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXN0cm9rZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1yZXZlcnNlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWZhc3RgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYW5pbWF0aW9uLXRvZ2dsZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhZGUtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgMC44cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tc3Ryb2tlLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAycyAhZGVmYXVsdDtcbiRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAxNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhc3QtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgMC4xcyAhZGVmYXVsdDtcblxuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6ICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQW5pbWF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuXG4vKiBBbmltYXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLWZhZGUge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLypcbiAqIFNjYWxlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zY2FsZS11cCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTAyOyB9XG4udWstYW5pbWF0aW9uLXNjYWxlLWRvd24geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0xODsgfVxuXG4vKlxuICogU2xpZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b207IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQ7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodDsgfVxuXG4vKlxuICogU2xpZGUgU21hbGxcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tc21hbGw7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtc21hbGw7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1zbWFsbDsgfVxuXG4vKlxuICogU2xpZGUgTWVkaXVtXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLW1lZGl1bTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLW1lZGl1bTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LW1lZGl1bTsgfVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuXG4udWstYW5pbWF0aW9uLWtlbmJ1cm5zIHtcbiAgICBhbmltYXRpb24tbmFtZTogdWstc2NhbGUta2VuYnVybnM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uO1xufVxuXG4vKlxuICogU2hha2VcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNoYWtlIHsgYW5pbWF0aW9uLW5hbWU6IHVrLXNoYWtlOyB9XG5cbi8qXG4gKiBTVkcgU3Ryb2tlXG4gKiBUaGUgYC0tdWstYW5pbWF0aW9uLXN0cm9rZWAgY3VzdG9tIHByb3BlcnR5IGNvbnRhaW5zIHRoZSBsb25nZXN0IHBhdGggbGVuZ3RoLlxuICogU2V0IGl0IG1hbnVhbGx5IG9yIHVzZSBgdWstc3ZnPVwic3Ryb2tlLWFuaW1hdGlvbjogdHJ1ZVwiYCB0byBzZXQgaXQgYXV0b21hdGljYWxseS5cbiAqIEFsbCBzdHJva2VzIGFyZSBhbmltYXRlZCBieSB0aGUgc2FtZSBwYWNlIGFuZCBkb2Vzbid0IGVuZCBzaW11bHRhbmVvdXNseS5cbiAqIFRvIGVuZCBzaW11bHRhbmVvdXNseSwgYHBhdGhMZW5ndGg9XCIxXCJgIGNvdWxkIGJlIHVzZWQsIGJ1dCBpdCdzIG5vdCB3b3JraW5nIGluIFNhZmFyaSB5ZXQuXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zdHJva2Uge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1zdHJva2U7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogdmFyKC0tdWstYW5pbWF0aW9uLXN0cm9rZSk7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLXN0cm9rZS1kdXJhdGlvbjtcbn1cblxuXG4vKiBEaXJlY3Rpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gLnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gLnVrLWFuaW1hdGlvbi1mYXN0IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWZhc3QtZHVyYXRpb247IH1cblxuXG4vKiBUb2dnbGUgKEhvdmVyICsgRm9jdXMpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVGhlIHRvZ2dsZSBpcyB0cmlnZ2VyZWQgb24gdG91Y2ggZGV2aWNlcyB1c2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqL1xuXG4udWstYW5pbWF0aW9uLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSBbY2xhc3MqPSd1ay1hbmltYXRpb24tJ10geyBhbmltYXRpb24tbmFtZTogbm9uZTsgfVxuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuXG4udWstYW5pbWF0aW9uLXRvZ2dsZSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG5cbi51ay1hbmltYXRpb24tdG9nZ2xlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG5cbi8qIEtleWZyYW1lcyB1c2VkIGJ5IGFuaW1hdGlvbiBjbGFzc2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUge1xuICAgIDAlIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3BcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHRcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3Atc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tIFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnQgU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tIE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnQgTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNjYWxlIFVwXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTAyIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4vKlxuICogU2NhbGUgRG93blxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0xOCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cblxuQGtleWZyYW1lcyB1ay1zY2FsZS1rZW5idXJucyB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxufVxuXG4vKlxuICogU2hha2VcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLXNoYWtlIHtcbiAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIDEwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOXB4KTsgfVxuICAgIDIwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG4gICAgMzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03cHgpOyB9XG4gICAgNDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7IH1cbiAgICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7IH1cbiAgICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsgfVxuICAgIDcwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTsgfVxuICAgIDgwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XG4gICAgOTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpOyB9XG59XG5cbi8qXG4gKiBTdHJva2VcbiAqL1xuXG4gQGtleWZyYW1lcyB1ay1zdHJva2Uge1xuICAgIDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IHZhcigtLXVrLWFuaW1hdGlvbi1zdHJva2UpOyB9XG4gICAgMTAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAwOyB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYW5pbWF0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbmltYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFdpZHRoXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3Igd2lkdGhzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2hpbGQtd2lkdGgtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXdpZHRoLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHdpZHRoLXNtYWxsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLW1lZGl1bS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLWxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLXhsYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLTJ4bGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBXaWR0aFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogRXF1YWwgY2hpbGQgd2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstY2hpbGQtd2lkdGgnXSA+ICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi51ay1jaGlsZC13aWR0aC0xLTIgPiAqIHsgd2lkdGg6IDUwJTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtMyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4udWstY2hpbGQtd2lkdGgtMS00ID4gKiB7IHdpZHRoOiAyNSU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTUgPiAqIHsgd2lkdGg6IDIwJTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNiA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbi51ay1jaGlsZC13aWR0aC1hdXRvID4gKiB7IHdpZHRoOiBhdXRvOyB9XG5cbi8qXG4gKiAxLiBSZXNldCB0aGUgYG1pbi13aWR0aGAsIHdoaWNoIGlzIHNldCB0byBhdXRvIGJ5IGRlZmF1bHQsIGJlY2F1c2VcbiAqICAgIGZsZXggaXRlbXMgd29uJ3Qgc2hyaW5rIGJlbG93IHRoZWlyIG1pbmltdW0gaW50cmluc2ljIGNvbnRlbnQgc2l6ZS5cbiAqICAgIFVzaW5nIGAxcHhgIGluc3RlYWQgb2YgYDBgLCBzbyBpdGVtcyBzdGlsbCB3cmFwIGludG8gdGhlIG5leHQgbGluZSxcbiAqICAgIGlmIHRoZXkgaGF2ZSB6ZXJvIHdpZHRoIGFuZCBwYWRkaW5nIGFuZCB0aGUgcHJlZGVjZXNzb3IgaXMgMTAwJSB3aWRlLlxuICovXG5cbi51ay1jaGlsZC13aWR0aC1leHBhbmQgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICBmbGV4OiAxO1xuICAgIC8qIDEgKi9cbiAgICBtaW4td2lkdGg6IDFweDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQHMgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAcyA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBzID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAcyA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQHMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBzID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHMgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQG0gPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAbSA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQG0gPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBtID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAbSA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQG0gPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBtID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQG0gPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbCA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBsID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQGwgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBsID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAbCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQGwgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEB4bCA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEB4bCA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHhsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAeGwgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEB4bCA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQHhsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAeGwgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAeGwgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cblxuLyogU2luZ2xlIFdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBgbWF4LXdpZHRoYCBpcyBuZWVkZWQgZm9yIHRoZSBwaXhlbC1iYXNlZCBjbGFzc2VzXG4gKi9cblxuW2NsYXNzKj0ndWstd2lkdGgnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBIYWx2ZXMgKi9cbi51ay13aWR0aC0xLTIgeyB3aWR0aDogNTAlOyB9XG5cbi8qIFRoaXJkcyAqL1xuLnVrLXdpZHRoLTEtMyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbi51ay13aWR0aC0yLTMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbi8qIFF1YXJ0ZXJzICovXG4udWstd2lkdGgtMS00IHsgd2lkdGg6IDI1JTsgfVxuLnVrLXdpZHRoLTMtNCB7IHdpZHRoOiA3NSU7IH1cblxuLyogRmlmdGhzICovXG4udWstd2lkdGgtMS01IHsgd2lkdGg6IDIwJTsgfVxuLnVrLXdpZHRoLTItNSB7IHdpZHRoOiA0MCU7IH1cbi51ay13aWR0aC0zLTUgeyB3aWR0aDogNjAlOyB9XG4udWstd2lkdGgtNC01IHsgd2lkdGg6IDgwJTsgfVxuXG4vKiBTaXh0aHMgKi9cbi51ay13aWR0aC0xLTYgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4udWstd2lkdGgtNS02IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4vKiBQaXhlbCAqL1xuLnVrLXdpZHRoLXNtYWxsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuLnVrLXdpZHRoLW1lZGl1bSB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4udWstd2lkdGgtbGFyZ2UgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4udWstd2lkdGgteGxhcmdlIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbi51ay13aWR0aC0yeGxhcmdlIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG5AaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay13aWR0aC14eGxhcmdlIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG59XG5cbi8qIEF1dG8gKi9cbi51ay13aWR0aC1hdXRvIHsgd2lkdGg6IGF1dG87IH1cblxuLyogRXhwYW5kICovXG4udWstd2lkdGgtZXhwYW5kIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBzIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBzIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBzIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBzIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQHMgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQHMgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQHMgeyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQHMgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAcyB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAcyB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstd2lkdGgteHhsYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbn1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQHMgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQHMge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBtIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBtIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBtIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBtIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQG0geyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQG0geyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQG0geyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQG0geyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAbSB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAbSB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstd2lkdGgteHhsYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbn1cblxuICAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBtIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEBtIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBsIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBsIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBsIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBsIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQGwgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQGwgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQGwgeyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQGwgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAbCB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAbCB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstd2lkdGgteHhsYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbn1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQGwgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQGwge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQHhsIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEB4bCB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEB4bCB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAeGwgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAeGwgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQHhsIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEB4bCB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAeGwgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEB4bCB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAeGwgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLXdpZHRoLXh4bGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxufVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAeGwgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQHhsIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2std2lkdGgtbWlzYykpIHtAaW5jbHVkZSBob29rLXdpZHRoLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXdpZHRoLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEhlaWdodFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGhlaWdodHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oZWlnaHQtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaGVpZ2h0LXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LW1lZGl1bS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlaWdodFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWhlaWdodCddIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogT25seSB3b3JrcyBpZiBwYXJlbnQgZWxlbWVudCBoYXMgYSBoZWlnaHQgc2V0XG4gKi9cblxuLnVrLWhlaWdodC0xLTEgeyBoZWlnaHQ6IDEwMCU7IH1cblxuLypcbiAqIFVzZWZ1bCB0byBjcmVhdGUgaW1hZ2UgdGVhc2Vyc1xuICovXG5cbi51ay1oZWlnaHQtdmlld3BvcnQgeyBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuXG4vKlxuICogUGl4ZWxcbiAqIFVzZWZ1bCBmb3IgYG92ZXJmbG93OiBhdXRvYFxuICovXG5cbi51ay1oZWlnaHQtc21hbGwgeyBoZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1lZGl1bSB7IGhlaWdodDogJGhlaWdodC1tZWRpdW0taGVpZ2h0OyB9XG4udWstaGVpZ2h0LWxhcmdlIHsgaGVpZ2h0OiAkaGVpZ2h0LWxhcmdlLWhlaWdodDsgfVxuXG4udWstaGVpZ2h0LW1heC1zbWFsbCB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1heC1tZWRpdW0geyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LW1lZGl1bS1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWF4LWxhcmdlIHsgbWF4LWhlaWdodDogJGhlaWdodC1sYXJnZS1oZWlnaHQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1oZWlnaHQtbWlzYykpIHtAaW5jbHVkZSBob29rLWhlaWdodC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1oZWlnaHQtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGV4dFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRleHRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10ZXh0LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRleHQtbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGVhZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtZW1waGFzaXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxlYWQge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICR0ZXh0LWxlYWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLXRleHQtbGVhZCgpO31cbn1cblxuLnVrLXRleHQtbWV0YSB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1tZXRhLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbWV0YS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbWV0YS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1tZXRhKSkge0BpbmNsdWRlIGhvb2stdGV4dC1tZXRhKCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1zbWFsbC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1zbWFsbCkpIHtAaW5jbHVkZSBob29rLXRleHQtc21hbGwoKTt9XG59XG5cbi51ay10ZXh0LWxhcmdlIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay10ZXh0LWxhcmdlKCk7fVxufVxuXG4udWstdGV4dC1kZWZhdWx0IHtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8qIFdlaWdodCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxpZ2h0IHsgZm9udC13ZWlnaHQ6IDMwMDsgfVxuLnVrLXRleHQtbm9ybWFsIHsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuLnVrLXRleHQtYm9sZCB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiBcbi51ay10ZXh0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogbGlnaHRlcjsgfVxuLnVrLXRleHQtYm9sZGVyIHsgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4gXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4udWstdGV4dC1pdGFsaWMgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuXG4vKiBUcmFuc2Zvcm0gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtdXBwZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1sb3dlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZC1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1lbXBoYXNpcyB7IGNvbG9yOiAkdGV4dC1lbXBoYXNpcy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtc2Vjb25kYXJ5IHsgY29sb3I6ICR0ZXh0LXNlY29uZGFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1zdWNjZXNzIHsgY29sb3I6ICR0ZXh0LXN1Y2Nlc3MtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtd2FybmluZyB7IGNvbG9yOiAkdGV4dC13YXJuaW5nLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWRhbmdlciB7IGNvbG9yOiAkdGV4dC1kYW5nZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG5cbi8qIEJhY2tncm91bmQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gVGhlIGJhY2tncm91bmQgY2xpcHMgdG8gdGhlIGZvcmVncm91bmQgdGV4dC4gV29ya3MgaW4gQ2hyb21lLCBGaXJlZm94LCBTYWZhcmksIEVkZ2UgYW5kIE9wZXJhXG4gKiAgICBEZWZhdWx0IGNvbG9yIGlzIHNldCB0byB0cmFuc3BhcmVudFxuICogMi4gQ29udGFpbmVyIGZpdHMgdGhlIHRleHRcbiAqIDMuIEZhbGxiYWNrIGNvbG9yIGZvciBJRTExXG4gKi9cblxuLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbkBzdXBwb3J0cyAoLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQpIHtcblxuICAgIC51ay10ZXh0LWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtYmFja2dyb3VuZCkpIHtAaW5jbHVkZSBob29rLXRleHQtYmFja2dyb3VuZCgpO31cbiAgICB9XG5cbn1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAcyB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAcyB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBzIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBtIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBtIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQG0geyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAbCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAbCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBsIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQHhsIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEB4bCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEB4bCB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLypcbiAqIFZlcnRpY2FsXG4gKi9cblxuLnVrLXRleHQtdG9wIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1taWRkbGUgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLnVrLXRleHQtYmFzZWxpbmUgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFdyYXAgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXNcbiAqL1xuXG4udWstdGV4dC1ub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qXG4gKiAxLiBNYWtlIHN1cmUgYSBtYXgtd2lkdGggaXMgc2V0IGFmdGVyIHdoaWNoIHRydW5jYXRpb24gY2FuIG9jY3VyXG4gKiAyLiBQcmV2ZW50IHRleHQgZnJvbSB3cmFwcGluZyBvbnRvIG11bHRpcGxlIGxpbmVzLCBhbmQgdHJ1bmNhdGUgd2l0aCBhbiBlbGxpcHNpc1xuICogMy4gRml4IGZvciB0YWJsZSBjZWxsc1xuICovXG5cbi51ay10ZXh0LXRydW5jYXRlIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIDIgKi9cbnRoLnVrLXRleHQtdHJ1bmNhdGUsXG50ZC51ay10ZXh0LXRydW5jYXRlIHsgbWF4LXdpZHRoOiAwOyB9XG5cblxuLypcbiAqIDEuIFdyYXAgbG9uZyB3b3JkcyBvbnRvIHRoZSBuZXh0IGxpbmUgYW5kIGJyZWFrIHRoZW0gaWYgdGhleSBhcmUgdG9vIGxvbmcgdG8gZml0XG4gKiAyLiBMZWdhY3kgYHdvcmQtd3JhcGAgYXMgZmFsbGJhY2sgZm9yIGBvdmVyZmxvdy13cmFwYFxuICogMy4gRml4IGBvdmVyZmxvdy13cmFwYCB3aGljaCBkb2Vzbid0IHdvcmsgd2l0aCB0YWJsZSBjZWxscyBpbiBDaHJvbWUsIE9wZXJhLCBJRTExIGFuZCBFZGdlXG4gKiAgICBNdXN0IHVzZSBgYnJlYWstYWxsYCB0byBzdXBwb3J0IElFMTEgYW5kIEVkZ2VcbiAqIE5vdGU6IE5vdCB1c2luZyBgaHlwaGVuczogYXV0bztgIGJlY2F1c2UgaXQgaHlwaGVuYXRlcyB0ZXh0IGV2ZW4gaWYgbm90IG5lZWRlZFxuICovXG5cbi51ay10ZXh0LWJyZWFrIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAvKiAyICovXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKiAzICovXG50aC51ay10ZXh0LWJyZWFrLFxudGQudWstdGV4dC1icmVhayB7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1taXNjKSkge0BpbmNsdWRlIGhvb2stdGV4dC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10ZXh0LWxlYWQoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtYmFja2dyb3VuZCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb2x1bW5cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0ZXh0IGNvbHVtbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb2x1bW4tKmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb2x1bW4tc3BhbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1jb2x1bW4tZGl2aWRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29sdW1uLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWd1dHRlci1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb2x1bW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1jb2x1bW4tJ10geyBjb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlcjsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgW2NsYXNzKj0ndWstY29sdW1uLSddIHsgY29sdW1uLWdhcDogJGNvbHVtbi1ndXR0ZXItbDsgfVxuXG59XG5cbi8qXG4gKiBGaXggaW1hZ2UgMXB4IGxpbmUgd3JhcHBpbmcgaW50byB0aGUgbmV4dCBjb2x1bW4gaW4gQ2hyb21lXG4gKi9cblxuW2NsYXNzKj0ndWstY29sdW1uLSddIGltZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEb3VibGUgdGhlIGNvbHVtbiBnYXBcbiAqL1xuXG4udWstY29sdW1uLWRpdmlkZXIge1xuICAgIGNvbHVtbi1ydWxlOiAkY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aCBzb2xpZCAkY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgY29sdW1uLWdhcDogKCRjb2x1bW4tZ3V0dGVyICogMik7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLWRpdmlkZXIge1xuICAgICAgICBjb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXItbCAqIDIpO1xuICAgIH1cblxufVxuXG5cbi8qIFdpZHRoIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb2x1bW4tMS0yIHsgY29sdW1uLWNvdW50OiAyO31cbi51ay1jb2x1bW4tMS0zIHsgY29sdW1uLWNvdW50OiAzOyB9XG4udWstY29sdW1uLTEtNCB7IGNvbHVtbi1jb3VudDogNDsgfVxuLnVrLWNvbHVtbi0xLTUgeyBjb2x1bW4tY291bnQ6IDU7IH1cbi51ay1jb2x1bW4tMS02IHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAcyB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAcyB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAcyB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAcyB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAcyB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBtIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEBtIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEBtIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEBtIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEBtIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAbCB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAbCB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAbCB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAbCB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAbCB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQHhsIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEB4bCB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAeGwgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQHhsIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEB4bCB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIE1ha2UgZWxlbWVudCBzcGFuIGFjcm9zcyBhbGwgY29sdW1uc1xuICogRG9lcyBub3Qgd29yayBpbiBGaXJlZm94IHlldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb2x1bW4tc3BhbiB7IGNvbHVtbi1zcGFuOiBhbGw7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb2x1bW4tbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbHVtbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb2x1bW4tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvdmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBsZXQgZW1iZWRkZWQgY29udGVudCBjb3ZlciB0aGVpciBjb250YWluZXIgaW4gYSBjZW50ZXJlZCBwb3NpdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvdmVyYFxuLy9cbi8vIFN1Yi1vYmplY3Q6ICAgICAgYHVrLWNvdmVyLWNvbnRhaW5lcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogV29ya3Mgd2l0aCBpZnJhbWVzIGFuZCBlbWJlZGRlZCBjb250ZW50XG4gKiAxLiBSZXNldCByZXNwb25zaXZlbmVzcyBmb3IgZW1iZWRkZWQgY29udGVudFxuICogMi4gQ2VudGVyIG9iamVjdFxuICogTm90ZTogUGVyY2VudCB2YWx1ZXMgb24gdGhlIGB0b3BgIHByb3BlcnR5IG9ubHkgd29ya3MgaWYgdGhpcyBlbGVtZW50XG4gKiAgICAgICBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkIG9yIGlmIHRoZSBjb250YWluZXIgaGFzIGEgaGVpZ2h0XG4gKi9cblxuLnVrLWNvdmVyIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG59XG5cbmlmcmFtZS51ay1jb3ZlciB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFBhcmVudCBjb250YWluZXIgd2hpY2ggY2xpcHMgcmVzaXplZCBvYmplY3RcbiAqIDIuIE5lZWRlZCBpZiB0aGUgY2hpbGQgaXMgcG9zaXRpb25lZCBhYnNvbHV0ZS4gU2VlIG5vdGUgYWJvdmVcbiAqL1xuXG4udWstY292ZXItY29udGFpbmVyIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvdmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb3Zlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb3Zlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFja2dyb3VuZFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGJhY2tncm91bmRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYmFja2dyb3VuZC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhY2tncm91bmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtZGVmYXVsdCB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtbXV0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1wcmltYXJ5IHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1zZWNvbmRhcnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDsgfVxuXG5cbi8qIFNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1jb3Zlcixcbi51ay1iYWNrZ3JvdW5kLWNvbnRhaW4ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVrLWJhY2tncm91bmQtY292ZXIgeyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4udWstYmFja2dyb3VuZC1jb250YWluIHsgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cblxuLyogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC10b3AtbGVmdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuLnVrLWJhY2tncm91bmQtdG9wLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwOyB9XG4udWstYmFja2dyb3VuZC10b3AtcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDA7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9XG4udWstYmFja2dyb3VuZC1jZW50ZXItcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLWxlZnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7IH1cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLXJpZ2h0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlOyB9XG5cblxuLyogUmVwZWF0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtbm9yZXBlYXQgeyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cblxuLyogQXR0YWNobWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaXggYnVnIGludHJvZHVjZWQgaW4gQ2hyb21lIDY3OiB0aGUgYmFja2dyb3VuZCBpbWFnZSBpcyBub3QgdmlzaWJsZSBpZiBhbnkgZWxlbWVudCBvbiB0aGUgcGFnZSB1c2VzIGB0cmFuc2xhdGUzZGBcbiAqL1xuXG4udWstYmFja2dyb3VuZC1maXhlZCB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAvKiAxICovXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogRXhjbHVkZSB0b3VjaCBkZXZpY2VzIGJlY2F1c2UgYGZpeGVkYCBkb2Vzbid0IHdvcmsgb24gaU9TIGFuZCBBbmRyb2lkXG4gKi9cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstYmFja2dyb3VuZC1maXhlZCB7IGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOyB9XG59XG5cblxuLyogSW1hZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAcyB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBtIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1lZGl1bS1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAbCB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAeGwge2JhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1ibGVuZC1tdWx0aXBseSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNjcmVlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1vdmVybGF5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1kYXJrZW4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtbGlnaHRlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3ItZG9kZ2UgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvci1idXJuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1oYXJkLWxpZ2h0IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1zb2Z0LWxpZ2h0IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1kaWZmZXJlbmNlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1leGNsdXNpb24geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtaHVlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBodWU7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNhdHVyYXRpb24geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtbHVtaW5vc2l0eSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJhY2tncm91bmQtbWlzYykpIHtAaW5jbHVkZSBob29rLWJhY2tncm91bmQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYmFja2dyb3VuZC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbGlnblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gYWxpZ24gZW1iZWRkZWQgY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFsaWduLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsaWduLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGlnbi1jZW50ZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGlnblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuW2NsYXNzKj0ndWstYWxpZ24nXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuKiArIFtjbGFzcyo9J3VrLWFsaWduJ10geyBtYXJnaW4tdG9wOiAkYWxpZ24tbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBDZW50ZXJcbiAqL1xuXG4udWstYWxpZ24tY2VudGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8qXG4gKiBMZWZ0L1JpZ2h0XG4gKi9cblxuLnVrLWFsaWduLWxlZnQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi51ay1hbGlnbi1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQG0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1sZWZ0LFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAcyxcbiAgICAudWstYWxpZ24tbGVmdFxcQG0sXG4gICAgLnVrLWFsaWduLWxlZnRcXEBsIHsgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0LFxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMsXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbSxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHsgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAeGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEB4bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFsaWduLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbGlnbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU1ZHXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBzdHlsZSBTVkdzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3ZnYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMi4gU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKi9cblxuLyogMSAqL1xuLnVrLXN2Zyxcbi8qIDIgKi9cbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH1cbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW3N0cm9rZSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7IHN0cm9rZTogY3VycmVudGNvbG9yOyB9XG5cbi8qXG4gKiBGaXggRmlyZWZveCBibHVycnkgU1ZHIHJlbmRlcmluZzogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgzNVxuICovXG5cbi51ay1zdmcgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3ZnLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3ZnLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFV0aWxpdHlcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGNvbGxlY3Rpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wYW5lbC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2xlYXJmaXhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mbG9hdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3ZlcmZsb3ctKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXJlc2l6ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGlzcGxheS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW5saW5lLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yZXNwb25zaXZlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wcmVzZXJ2ZS13aWR0aGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJvcmRlci0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm94LXNoYWRvdy0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm94LXNoYWRvdy1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wY2FwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbG9nb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJsZW5kLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2Zvcm0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zZm9ybS1vcmlnaW4tKmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyYWdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcmFnb3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXByZXNlcnZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxNzBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4xcyAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6ICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRkcm9wY2FwLW1hcmdpbi1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGRyb3BjYXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoJGdsb2JhbC1saW5lLWhlaWdodCAqIDMpICogMWVtKSAhZGVmYXVsdDtcblxuJGxvZ28tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGxvZ28tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbG9nby1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsb2dvLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZHJhZ292ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAwIDIwcHggcmdiYSgxMDAsMTAwLDEwMCwwLjMpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQYW5lbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYW5lbCB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXBhbmVsID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLypcbiAqIFNjcm9sbGFibGVcbiAqL1xuXG4udWstcGFuZWwtc2Nyb2xsYWJsZSB7XG4gICAgaGVpZ2h0OiAkcGFuZWwtc2Nyb2xsYWJsZS1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhbmVsLXNjcm9sbGFibGUtcGFkZGluZztcbiAgICBib3JkZXI6ICRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXI7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHJlc2l6ZTogYm90aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFuZWwtc2Nyb2xsYWJsZSkpIHtAaW5jbHVkZSBob29rLXBhbmVsLXNjcm9sbGFibGUoKTt9XG59XG5cblxuLyogQ2xlYXJmaXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gYHRhYmxlLWNlbGxgIGlzIHVzZWQgd2l0aCBgOjpiZWZvcmVgIGJlY2F1c2UgYHRhYmxlYCBjcmVhdGVzIGEgMXB4IGdhcCB3aGVuIGl0IGJlY29tZXMgYSBmbGV4IGl0ZW0sIG9ubHkgaW4gV2Via2l0XG4gKiAyLiBgdGFibGVgIGlzIHVzZWQgYWdhaW4gd2l0aCBgOjphZnRlcmAgYmVjYXVzZSBgY2xlYXJgIG9ubHkgd29ya3Mgd2l0aCBibG9jayBlbGVtZW50cy5cbiAqIE5vdGU6IGBkaXNwbGF5OiBibG9ja2Agd2l0aCBgb3ZlcmZsb3c6IGhpZGRlbmAgaXMgY3VycmVudGx5IG5vdCB3b3JraW5nIGluIHRoZSBsYXRlc3QgU2FmYXJpXG4gKi9cblxuLyogMSAqL1xuLnVrLWNsZWFyZml4OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuLyogMiAqL1xuLnVrLWNsZWFyZml4OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuXG4vKiBGbG9hdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqL1xuXG4udWstZmxvYXQtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG4udWstZmxvYXQtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLyogMSAqL1xuW2NsYXNzKj0ndWstZmxvYXQtJ10geyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuXG4vKiBPdmVyZm93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW92ZXJmbG93LWhpZGRlbiB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIEVuYWJsZSBzY3JvbGxiYXJzIGlmIGNvbnRlbnQgaXMgY2xpcHBlZFxuICogTm90ZTogRmlyZWZveCBpZ25vcmVzIGBwYWRkaW5nLWJvdHRvbWAgZm9yIHRoZSBzY3JvbGxhYmxlIG92ZXJmbG93IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODUxOFxuICovXG5cbi51ay1vdmVyZmxvdy1hdXRvIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi51ay1vdmVyZmxvdy1hdXRvID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogUmVzaXplXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXJlc2l6ZSB7IHJlc2l6ZTogYm90aDsgfVxuLnVrLXJlc2l6ZS12ZXJ0aWNhbCB7IHJlc2l6ZTogdmVydGljYWw7IH1cblxuXG4vKiBEaXNwbGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpc3BsYXktYmxvY2sgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4udWstZGlzcGxheS1pbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuLnVrLWRpc3BsYXktaW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBJbmxpbmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKiA1LiBGb3JjZSBoYXJkd2FyZSBhY2NlbGVyYXRpb24gd2l0aG91dCBjcmVhdGluZyBhIG5ldyBzdGFja2luZyBjb250ZXh0XG4gKiAgICB0byBmaXggMXB4IGdsaXRjaCB3aGVuIGNvbWJpbmVkIHdpdGggb3ZlcmxheXMgYW5kIHRyYW5zaXRpb25zIGluIFdlYmtpdFxuICogNi4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICovXG5cbltjbGFzcyo9J3VrLWlubGluZSddIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA1ICovXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi51ay1pbmxpbmUtY2xpcCB7XG4gICAgLyogNiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLyogUmVzcG9uc2l2ZSBvYmplY3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXNlcnZlIG9yaWdpbmFsIGRpbWVuc2lvbnNcbiAqIEJlY2F1c2UgYGltZywgYHZpZGVvYCwgYGNhbnZhc2AgYW5kICBgYXVkaW9gIGFyZSBhbHJlYWR5IHJlc3BvbnNpdmUgYnkgZGVmYXVsdCwgc2VlIEJhc2UgY29tcG9uZW50XG4gKi9cblxuLnVrLXByZXNlcnZlLXdpZHRoLFxuLnVrLXByZXNlcnZlLXdpZHRoIGNhbnZhcyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBpbWcsXG4udWstcHJlc2VydmUtd2lkdGggc3ZnLFxuLnVrLXByZXNlcnZlLXdpZHRoIHZpZGVvIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qXG4gKiBSZXNwb25zaXZlbmVzc1xuICogQ29ycmVjdHMgYG1heC13aWR0aGAgYW5kIGBtYXgtaGVpZ2h0YCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWRcbiAqL1xuXG4udWstcmVzcG9uc2l2ZS13aWR0aCxcbi51ay1yZXNwb25zaXZlLWhlaWdodCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLypcbiAqIDEuIFNldCBhIG1heGltdW0gd2lkdGguIGBpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVycmlkZSBgdWstcHJlc2VydmUtd2lkdGggaW1nYFxuICogMi4gQXV0byBzY2FsZSB0aGUgaGVpZ2h0LiBPbmx5IG5lZWRlZCBpZiBgaGVpZ2h0YCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICovXG5cbi51ay1yZXNwb25zaXZlLXdpZHRoIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLypcbiAqIDEuIFNldCBhIG1heGltdW0gaGVpZ2h0LiBPbmx5IHdvcmtzIGlmIHRoZSBwYXJlbnQgZWxlbWVudCBoYXMgYSBmaXhlZCBoZWlnaHRcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIHdpZHRoLiBPbmx5IG5lZWRlZCBpZiBgd2lkdGhgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKiAzLiBSZXNldCBtYXgtd2lkdGgsIHdoaWNoIGBpbWcsIGB2aWRlb2AsIGBjYW52YXNgIGFuZCAgYGF1ZGlvYCBhbHJlYWR5IGhhdmUgYnkgZGVmYXVsdFxuICovXG5cbi51ay1yZXNwb25zaXZlLWhlaWdodCB7XG4gICAgLyogMSAqL1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cblxuLyogQm9yZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJvcmRlci1jaXJjbGUgeyBib3JkZXItcmFkaXVzOiA1MCU7IH1cbi51ay1ib3JkZXItcGlsbCB7IGJvcmRlci1yYWRpdXM6IDUwMHB4OyB9XG4udWstYm9yZGVyLXJvdW5kZWQgeyBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czsgfVxuXG4vKlxuICogRml4IGBvdmVyZmxvdzogaGlkZGVuYCB0byBiZSBpZ25vcmVkIHdpdGggYm9yZGVyLXJhZGl1cyBhbmQgQ1NTIHRyYW5zZm9ybXMgaW4gV2Via2l0XG4gKi9cblxuLnVrLWlubGluZS1jbGlwW2NsYXNzKj0ndWstYm9yZGVyLSddIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cblxuXG4vKiBCb3gtc2hhZG93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJveC1zaGFkb3ctc21hbGwgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LW1lZGl1bSB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWxhcmdlIHsgYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy14bGFyZ2UgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbltjbGFzcyo9J3VrLWJveC1zaGFkb3ctaG92ZXInXSB7IHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGJveC1zaGFkb3ctZHVyYXRpb24gZWFzZS1pbi1vdXQ7IH1cblxuLnVrLWJveC1zaGFkb3ctaG92ZXItc21hbGw6aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWhvdmVyLW1lZGl1bTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWhvdmVyLWxhcmdlOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1ob3Zlci14bGFyZ2U6aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OyB9XG5cblxuLyogQm94LXNoYWRvdyBib3R0b21cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uLlxuICogMi4gU2V0IHN0eWxlXG4gKiAzLiBCbHVyIGRvZXNuJ3Qgd29yayBvbiBwc2V1ZG8gZWxlbWVudHMgd2l0aCBuZWdhdGl2ZSBgei1pbmRleGAgaW4gRWRnZS5cbiAqICAgIFNvbHZlZCBieSB1c2luZyBgYmVmb3JlYCBhbmQgYWRkIHBvc2l0aW9uIGNvbnRleHQgdG8gY2hpbGQgZWxlbWVudHMuXG4gKi9cblxuQHN1cHBvcnRzIChmaWx0ZXI6IGJsdXIoMCkpIHtcblxuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLnVrLWJveC1zaGFkb3ctYm90dG9tOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgLyogMSAqL1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogKC0kYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0KTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIC8qIDIgKi9cbiAgICAgICAgaGVpZ2h0OiAkYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYmFja2dyb3VuZDogJGJveC1zaGFkb3ctYm90dG9tLWJhY2tncm91bmQ7XG4gICAgICAgIGZpbHRlcjogYmx1cigkYm94LXNoYWRvdy1ib3R0b20tYmx1cik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ib3gtc2hhZG93LWJvdHRvbSkpIHtAaW5jbHVkZSBob29rLWJveC1zaGFkb3ctYm90dG9tKCk7fVxuICAgIH1cblxuICAgIC8qIDMgKi9cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b20gPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbn1cblxuXG4vKiBEcm9wIGNhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaXJlZm94IGRvZXNuJ3QgYXBwbHkgYDo6Zmlyc3QtbGV0dGVyYCBpZiB0aGUgZmlyc3QgbGV0dGVyIGlzIGluc2lkZSBjaGlsZCBlbGVtZW50c1xuICogICAgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MDA0XG4gKiAyLiBJbiBGaXJlZm94LCBhIGZsb2F0aW5nIGA6OmZpcnN0LWxldHRlcmAgZG9lc24ndCBoYXZlIGEgbGluZSBib3ggYW5kIHRoZXJlIGZvciBubyBgbGluZS1oZWlnaHRgXG4gKiAgICBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTc5MzNcbiAqIDMuIENhdXNlZCBieSAxLjogRWRnZSBjcmVhdGVzIHR3byBuZXN0ZWQgYDo6Zmlyc3QtbGV0dGVyYCBjb250YWluZXJzLCBvbmUgZm9yIGVhY2ggc2VsZWN0b3JcbiAqICAgIFRoaXMgZG91YmxlcyB0aGUgYGZvbnQtc2l6ZWAgZXhwb25lbnRpYWwgd2hlbiB1c2luZyB0aGUgYGVtYCB1bml0LlxuICovXG5cbi51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4vKiAxICovXG4udWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wY2FwLW1hcmdpbi1yaWdodDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6ICRkcm9wY2FwLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGNhcCkpIHtAaW5jbHVkZSBob29rLWRyb3BjYXAoKTt9XG59XG5cbi8qIDIgKi9cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG5cbiAgLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbiAgLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7IG1hcmdpbi10b3A6IDEuMSU7IH1cblxufVxuXG4vKiAzICovXG5Ac3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcblxuICAudWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHsgZm9udC1zaXplOiAxZW07IH1cblxufVxuXG5cbi8qIExvZ29cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVxdWlyZWQgZm9yIGBhYFxuICovXG5cbi51ay1sb2dvIHtcbiAgICBmb250LXNpemU6ICRsb2dvLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJGxvZ28tZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRsb2dvLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxvZ28pKSB7QGluY2x1ZGUgaG9vay1sb2dvKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbG9nbzpob3Zlcixcbi51ay1sb2dvOmZvY3VzIHtcbiAgICBjb2xvcjogJGxvZ28taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sb2dvLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbG9nby1ob3ZlcigpO31cbn1cblxuLnVrLWxvZ28taW52ZXJzZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBEaXNhYmxlZCBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXNhYmxlZCB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogRHJhZyBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBOZWVkZWQgaWYgbW92aW5nIG92ZXIgZWxlbWVudHMgd2l0aCBoYXZlIHRoZWlyIG93biBjdXJzb3Igb24gaG92ZXIsIGUuZy4gbGlua3Mgb3IgYnV0dG9uc1xuICogMi4gRml4IGRyYWdnaW5nIG92ZXIgaWZyYW1lc1xuICovXG5cbi51ay1kcmFnLFxuLyogMSAqL1xuLnVrLWRyYWcgKiB7IGN1cnNvcjogbW92ZTsgfVxuXG4vKiAyICovXG4udWstZHJhZyBpZnJhbWUgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5cbi8qIERyYWdvdmVyIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENyZWF0ZSBhIGJveC1zaGFkb3cgd2hlbiBkcmFnZ2luZyBhIGZpbGUgb3ZlciB0aGUgdXBsb2FkIGFyZWFcbiAqL1xuXG4udWstZHJhZ292ZXIgeyBib3gtc2hhZG93OiAkZHJhZ292ZXItYm94LXNoYWRvdzsgfVxuXG5cbi8qIEJsZW5kIG1vZGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJsZW5kLW11bHRpcGx5IHsgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG4udWstYmxlbmQtc2NyZWVuIHsgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjsgfVxuLnVrLWJsZW5kLW92ZXJsYXkgeyBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTsgfVxuLnVrLWJsZW5kLWRhcmtlbiB7IG1peC1ibGVuZC1tb2RlOiBkYXJrZW47IH1cbi51ay1ibGVuZC1saWdodGVuIHsgbWl4LWJsZW5kLW1vZGU6IGxpZ2h0ZW47IH1cbi51ay1ibGVuZC1jb2xvci1kb2RnZSB7IG1peC1ibGVuZC1tb2RlOiBjb2xvci1kb2RnZTsgfVxuLnVrLWJsZW5kLWNvbG9yLWJ1cm4geyBtaXgtYmxlbmQtbW9kZTogY29sb3ItYnVybjsgfVxuLnVrLWJsZW5kLWhhcmQtbGlnaHQgeyBtaXgtYmxlbmQtbW9kZTogaGFyZC1saWdodDsgfVxuLnVrLWJsZW5kLXNvZnQtbGlnaHQgeyBtaXgtYmxlbmQtbW9kZTogc29mdC1saWdodDsgfVxuLnVrLWJsZW5kLWRpZmZlcmVuY2UgeyBtaXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTsgfVxuLnVrLWJsZW5kLWV4Y2x1c2lvbiB7IG1peC1ibGVuZC1tb2RlOiBleGNsdXNpb247IH1cbi51ay1ibGVuZC1odWUgeyBtaXgtYmxlbmQtbW9kZTogaHVlOyB9XG4udWstYmxlbmQtc2F0dXJhdGlvbiB7IG1peC1ibGVuZC1tb2RlOiBzYXR1cmF0aW9uOyB9XG4udWstYmxlbmQtY29sb3IgeyBtaXgtYmxlbmQtbW9kZTogY29sb3I7IH1cbi51ay1ibGVuZC1sdW1pbm9zaXR5IHsgbWl4LWJsZW5kLW1vZGU6IGx1bWlub3NpdHk7IH1cblxuXG4vKiBUcmFuc2Zvcm1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2Zvcm0tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuXG4vKiBUcmFuc2Zvcm0gT3JpZ2luXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtbGVmdCB7IHRyYW5zZm9ybS1vcmlnaW46IDAgMDsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLWNlbnRlciB7IHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtcmlnaHQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWNlbnRlci1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWNlbnRlci1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tbGVmdCB7IHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tcmlnaHQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay11dGlsaXR5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay11dGlsaXR5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhbmVsLXNjcm9sbGFibGUoKXt9XG4vLyBAbWl4aW4gaG9vay1ib3gtc2hhZG93LWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLWRyb3BjYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1sb2dvKCl7fVxuLy8gQG1peGluIGhvb2stbG9nby1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXV0aWxpdHktbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbG9nby1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kcm9wY2FwKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sb2dvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGbGV4XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgbGF5b3V0cyBiYXNlZCBvbiBmbGV4Ym94XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZmxleC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGbGV4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWZsZXggeyBkaXNwbGF5OiBmbGV4OyB9XG4udWstZmxleC1pbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG4vKlxuICogUmVtb3ZlIHBzZXVkbyBlbGVtZW50cyBjcmVhdGVkIGJ5IG1pY3JvIGNsZWFyZml4IGFzIHByZWNhdXRpb25cbiAqL1xuXG4udWstZmxleDo6YmVmb3JlLFxuLnVrLWZsZXg6OmFmdGVyLFxuLnVrLWZsZXgtaW5saW5lOjpiZWZvcmUsXG4udWstZmxleC1pbmxpbmU6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIEFsaWdubWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBbGlnbiBpdGVtcyBhbG9uZyB0aGUgbWFpbiBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IEhvcml6b250YWxcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1sZWZ0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC1jZW50ZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuLnVrLWZsZXgtcmlnaHQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4udWstZmxleC1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4udWstZmxleC1hcm91bmQgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBzIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAcyB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBzIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBzIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAcyB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAbSB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAbSB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAbSB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAbCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAbCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAbCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEB4bCB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEB4bCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEB4bCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLypcbiAqIEFsaWduIGl0ZW1zIGluIHRoZSBjcm9zcyBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IFZlcnRpY2FsXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtc3RyZXRjaCB7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4udWstZmxleC10b3AgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuLnVrLWZsZXgtbWlkZGxlIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLnVrLWZsZXgtYm90dG9tIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cblxuLyogRGlyZWN0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtcm93IHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuLnVrLWZsZXgtcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbi51ay1mbGV4LWNvbHVtbiB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbi51ay1mbGV4LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cblxuLyogV3JhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LW5vd3JhcCB7IGZsZXgtd3JhcDogbm93cmFwOyB9XG4udWstZmxleC13cmFwIHsgZmxleC13cmFwOiB3cmFwOyB9XG4udWstZmxleC13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsgfVxuXG4vKlxuICogQWxpZ25zIGl0ZW1zIHdpdGhpbiB0aGUgZmxleCBjb250YWluZXIgd2hlbiB0aGVyZSBpcyBleHRyYSBzcGFjZSBpbiB0aGUgY3Jvc3MtYXhpc1xuICogT25seSB3b3JrcyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGxpbmUgb2YgZmxleCBpdGVtc1xuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LXdyYXAtc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7IH1cbi51ay1mbGV4LXdyYXAtdG9wIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuLnVrLWZsZXgtd3JhcC1taWRkbGUgeyBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cbi51ay1mbGV4LXdyYXAtYm90dG9tIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQ7IH1cbi51ay1mbGV4LXdyYXAtYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi51ay1mbGV4LXdyYXAtYXJvdW5kIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cblxuLyogSXRlbSBvcmRlcmluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0IGlzIDBcbiAqL1xuXG4udWstZmxleC1maXJzdCB7IG9yZGVyOiAtMTt9XG4udWstZmxleC1sYXN0IHsgb3JkZXI6IDk5O31cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQHMgeyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAcyB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBtIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQG0geyBvcmRlcjogOTk7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBsIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQGwgeyBvcmRlcjogOTk7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEB4bCB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEB4bCB7IG9yZGVyOiA5OTsgfVxuXG59XG5cblxuLyogSXRlbSBkaW1lbnNpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEluaXRpYWw6IDAgMSBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzXG4gKi9cblxuLypcbiAqIE5vIEZsZXg6IDAgMCBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnNcbiAqL1xuXG4udWstZmxleC1ub25lIHsgZmxleDogbm9uZTsgfVxuXG4vKlxuICogUmVsYXRpdmUgRmxleDogMSAxIGF1dG9cbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBjb25zaWRlcmluZyBjb250ZW50XG4gKi9cblxuLnVrLWZsZXgtYXV0byB7IGZsZXg6IGF1dG87IH1cblxuLypcbiAqIEFic29sdXRlIEZsZXg6IDEgMSAwJVxuICogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBmbGV4XG4gKi9cblxuLnVrLWZsZXgtMSB7IGZsZXg6IDE7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mbGV4LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mbGV4LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZsZXgtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIE1hcmdpblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIG1hcmdpbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tYXJnaW4tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1zbWFsbC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLW1lZGl1bS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLWxhcmdlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4teGxhcmdlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tcmVtb3ZlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tYXV0by0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtYXJnaW4tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbWVkaXVtLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLWxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4teGxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFyZ2luXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstbWFyZ2luIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIE1lZGl1bVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tbWVkaXVtIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDsgfVxuICAgICogKyAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbWFyZ2luLWxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogWExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOyB9XG4gICAgKiArIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogQXV0b1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1hdXRvLXRvcCB7IG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWxlZnQgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQHMge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQHMgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAcyB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEBtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBtIHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQG0geyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEBsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBsIHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQGwgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEB4bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAeGwgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAeGwgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuIC51ay1tYXJnaW4tcmVtb3ZlIHsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS10b3AgeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiBcbiAudWstbWFyZ2luLXJlbW92ZS12ZXJ0aWNhbCB7XG4gICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuIH1cbiBcbiAudWstbWFyZ2luLXJlbW92ZS1hZGphY2VudCArICosXG4gLnVrLW1hcmdpbi1yZW1vdmUtZmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS1sYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQHMgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBzIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEBtIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAbSB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEBsIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAbCB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEB4bCB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQHhsIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbWFyZ2luLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1tYXJnaW4tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbWFyZ2luLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBhZGRpbmdcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBwYWRkaW5nXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFkZGluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhZGRpbmctbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWRkaW5nLXJlbW92ZS0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYWRkaW5nLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZy1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zbWFsbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGFkZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmctcGFkZGluZzsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBhZGRpbmcgeyBwYWRkaW5nOiAkcGFkZGluZy1wYWRkaW5nLWw7IH1cblxufVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmctc21hbGwgeyBwYWRkaW5nOiAkcGFkZGluZy1zbWFsbC1wYWRkaW5nOyB9XG5cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1sYXJnZSB7IHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXBhZGRpbmc7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1wYWRkaW5nLWxhcmdlIHsgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOyB9XG5cbn1cblxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1yZW1vdmUgeyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS10b3AgeyBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtYm90dG9tIHsgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1wYWRkaW5nLXJlbW92ZS12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udWstcGFkZGluZy1yZW1vdmUtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBhZGRpbmctbWlzYykpIHtAaW5jbHVkZSBob29rLXBhZGRpbmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFkZGluZy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQb3NpdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gcG9zaXRpb24gY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBvc2l0aW9uLWFic29sdXRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tcmVsYXRpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi16LWluZGV4YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jb3ZlcmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1wb3NpdGlvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwb3NpdGlvbi1zbWFsbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbWVkaXVtLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIERpcmVjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGBtYXgtd2lkdGg6IDEwMCVgIGlzIHVzZWQgaW5zaWRlIHBvc2l0aW9uIGNvbnRhaW5lci5cbiAqL1xuXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi10b3AnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWJvdHRvbSddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tcmlnaHQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlciddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5cbi8qIEVkZ2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRG9uJ3QgdXNlIGB3aWR0aDogMTAwJWAgYmVjYXVzZSBpdCBpcyB3cm9uZyBpZiB0aGUgcGFyZW50IGhhcyBwYWRkaW5nLiAqL1xuLnVrLXBvc2l0aW9uLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cblxuLyogQ29ybmVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi10b3AtbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi10b3AtcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4vKlxuICogQ2VudGVyXG4gKiAxLiBGaXggdGV4dCB3cmFwcGluZyBpZiBjb250ZW50IGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgY29udGFpbmVyLlxuICovXG5cbi51ay1wb3NpdGlvbi1jZW50ZXIge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFZlcnRpY2FsICovXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0IHsgbGVmdDogMDsgfVxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodCB7IHJpZ2h0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdC1vdXQge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodC1vdXQge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4vKiBIb3Jpem9udGFsICovXG4udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyIHsgdG9wOiAwOyB9XG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IGJvdHRvbTogMDsgfVxuXG5cbi8qIENvdmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLWNvdmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG5cbi8qIFV0aWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tcmVsYXRpdmUgeyBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tYWJzb2x1dGUgeyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tZml4ZWQgeyBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tei1pbmRleCB7IHotaW5kZXg6IDE7IH1cblxuXG4vKiBNYXJnaW4gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstcG9zaXRpb24tc21hbGwge1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gKCN7JHBvc2l0aW9uLXNtYWxsLW1hcmdpbn0gKiAyKSknKTtcbiAgICBtYXJnaW46ICRwb3NpdGlvbi1zbWFsbC1tYXJnaW47XG59XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4sICgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbikpOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tc21hbGxbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKTsgfVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pOyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4udWstcG9zaXRpb24tbWVkaXVtIHtcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtICgjeyRwb3NpdGlvbi1tZWRpdW0tbWFyZ2lufSAqIDIpKScpO1xuICAgIG1hcmdpbjogJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW47XG59XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbiwgKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbikpOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW1bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luKTsgfVxuXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay1wb3NpdGlvbi1sYXJnZSB7XG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAoI3skcG9zaXRpb24tbGFyZ2UtbWFyZ2lufSAqIDIpKScpO1xuICAgIG1hcmdpbjogJHBvc2l0aW9uLWxhcmdlLW1hcmdpbjtcbn1cblxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbiwgKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbik7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZSB7XG4gICAgICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gKCN7JHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sfSAqIDIpKScpO1xuICAgICAgICBtYXJnaW46ICRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbDtcbiAgICB9XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwsICgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sKSk7IH1cblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sKTsgfVxuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sKTsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcG9zaXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXBvc2l0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBvc2l0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRyYW5zaXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0cmFuc2l0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRyYW5zaXRpb24tKmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10cmFuc2l0aW9uLWZhZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNjYWxlLXVwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zY2FsZS1kb3duYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tb3BhcXVlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbG93YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXRyYW5zaXRpb24tdG9nZ2xlYCxcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tYWN0aXZlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4zcyAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tc2NhbGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tc2xvdy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgIDAuN3MgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRyYW5zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFRvZ2dsZSAoSG92ZXIgKyBGb2N1cylcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuXG4udWstdHJhbnNpdGlvbi10b2dnbGUge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKlxuICogUmVtb3ZlIG91dGxpbmUgZm9yIGB0YWJpbmRleGBcbiAqL1xuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cblxuLyogVHJhbnNpdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVGhlIHRvZ2dsZSBpcyB0cmlnZ2VyZWQgb24gdG91Y2ggZGV2aWNlcyBieSB0d28gbWV0aG9kczpcbiAqIDEuIFVzaW5nIGA6Zm9jdXNgIGFuZCB0YWJpbmRleFxuICogMi4gVXNpbmcgYDpob3ZlcmAgYW5kIGEgYHRvdWNoc3RhcnRgIGV2ZW50IGxpc3RlbmVyIHJlZ2lzdGVyZWQgb24gdGhlIGRvY3VtZW50XG4gKiAgICAoRG9lc24ndCB3b3JrIG9uIFN1cmZhY2UgdG91Y2ggZGV2aWNlcylcbiAqXG4gKiBOb3RlOiBUcmFuc2l0aW9ucyBkb24ndCB3b3JrIHdpdGggYHVrLXBvc3Rpb24tY2VudGVyLSpgIGNsYXNzZXMgYmVjYXVzZSB0aGV5IGFsc28gdXNlIGB0cmFuc2Zvcm1gLFxuICogICAgICAgdGhlcmVmb3JlIGl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIGFuIGV4dHJhIGBkaXZgIGZvciB0aGUgdHJhbnNpdGlvbi5cbiAqL1xuXG4udWstdHJhbnNpdGlvbi1mYWRlLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zY2FsZSddLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGZpbHRlcjtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4vKlxuICogRmFkZVxuICovXG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1mYWRlLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLWZhZGUsXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLWZhZGUgeyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBTY2FsZVxuICovXG5cbi51ay10cmFuc2l0aW9uLXNjYWxlLXVwIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpOyB9XG4udWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHsgdHJhbnNmb3JtOiBzY2FsZSgkdHJhbnNpdGlvbi1zY2FsZSwkdHJhbnNpdGlvbi1zY2FsZSk7IH1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1zY2FsZS11cCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKCR0cmFuc2l0aW9uLXNjYWxlLCR0cmFuc2l0aW9uLXNjYWxlKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsMSk7XG59XG5cbi8qXG4gKiBTbGlkZVxuICovXG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTtcbn1cblxuXG4vKiBPcGFjaXR5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zaXRpb24tb3BhcXVlIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIER1cmF0aW9uIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2l0aW9uLXNsb3cgeyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdHJhbnNpdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stdHJhbnNpdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10cmFuc2l0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFZpc2liaWxpdHlcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIHNob3cgb3IgaGlkZSBjb250ZW50IG9uIGJyZWFrcG9pbnRzLCBob3ZlciBvciB0b3VjaFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWhpZGRlbi0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdmlzaWJsZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW52aXNpYmxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdmlzaWJsZS10b2dnbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oaWRkZW4taG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGUtaG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oaWRkZW4tdG91Y2hgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oaWRkZW4tbm90b3VjaGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVmlzaWJpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRkZW5cbiAqIGBoaWRkZW5gIGF0dHJpYnV0ZSBhbHNvIHNldCBoZXJlIHRvIG1ha2UgaXQgc3Ryb25nZXJcbiAqL1xuXG5baGlkZGVuXSxcbi51ay1oaWRkZW4geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWhpZGRlblxcQHMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oaWRkZW5cXEBtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1oaWRkZW5cXEBsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1oaWRkZW5cXEB4bCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qXG4gKiBWaXNpYmxlXG4gKi9cblxuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQHMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAbSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0tbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQHhsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cblxuLyogVG9nZ2xlIChIb3ZlciArIEZvY3VzKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRkZW5cbiAqIDEuIFRoZSB0b2dnbGUgaXMgdHJpZ2dlcmVkIG9uIHRvdWNoIGRldmljZXMgdXNpbmcgYDpmb2N1c2AgYW5kIHRhYmluZGV4XG4gKiAyLiBUaGUgdGFyZ2V0IHN0YXlzIHZpc2libGUgaWYgYW55IGVsZW1lbnQgd2l0aGluIHJlY2VpdmVzIGZvY3VzIHRocm91Z2gga2V5Ym9hcmRcbiAqICAgIERvZXNuJ3Qgd29yayBpbiBFZGdlLCB5ZXQuXG4gKiAzLiBDYW4ndCB1c2UgYGRpc3BsYXk6IG5vbmVgIG5vciBgdmlzaWJpbGl0eTogaGlkZGVuYCBiZWNhdXNlIGJvdGggYXJlIG5vdCBmb2N1c2FibGUuXG4gKlxuICovXG5cbi8qIDEgKyAyICovXG4udWstdmlzaWJsZS10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykgLnVrLWhpZGRlbi1ob3Zlcjpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiBJbnZpc2libGVcbiAqL1xuXG4vKiAxICsgMiAqL1xuLnVrLXZpc2libGUtdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIC51ay1pbnZpc2libGUtaG92ZXI6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICAvKiAzICovXG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuXG4udWstdmlzaWJsZS10b2dnbGUge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKlxuICogUmVtb3ZlIG91dGxpbmUgZm9yIGB0YWJpbmRleGBcbiAqL1xuXG4udWstdmlzaWJsZS10b2dnbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cblxuLyogVG91Y2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZSBpZiBwcmltYXJ5IHBvaW50aW5nIGRldmljZSBoYXMgbGltaXRlZCBhY2N1cmFjeSwgZS5nLiBhIHRvdWNoIHNjcmVlbi5cbiAqIFdvcmtzIG9uIG1vYmlsZSBicm93c2VyczogU2FmYXJpLCBDaHJvbWUgYW5kIEFuZHJvaWQgYnJvd3NlclxuICovXG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLnVrLWhpZGRlbi10b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxufVxuXG4vKlxuICogSGlkZSBpZiBwcmltYXJ5IHBvaW50aW5nIGRldmljZSBpcyBhY2N1cmF0ZSwgZS5nLiBtb3VzZS5cbiAqIDEuIEZhbGxiYWNrIGZvciBJRTExIGFuZCBGaXJlZm94LCBiZWNhdXNlIGBwb2ludGVyYCBpcyBub3Qgc3VwcG9ydGVkXG4gKiAyLiBSZXNldCBpZiBzdXBwb3J0ZWRcbiAqL1xuXG4vKiAxICovXG4udWstaGlkZGVuLW5vdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstaGlkZGVuLW5vdG91Y2ggeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdmlzaWJpbGl0eS1taXNjKSkge0BpbmNsdWRlIGhvb2stdmlzaWJpbGl0eS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay12aXNpYmlsaXR5LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEludmVyc2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgSW52ZXJzZSBjb21wb25lbnQgc3R5bGUgZm9yIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRhcmtgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1nbG9iYWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMSkgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWdsb2JhbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4yKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSW52ZXJzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuXG4vKlxuICogSW1wbGVtZW50ZWQgY2xhc3MgZGVwZW5kcyBvbiB0aGUgZ2VuZXJhbCB0aGVtZSBjb2xvclxuICogYHVrLWxpZ2h0YCBpcyBmb3IgbGlnaHQgY29sb3JzIG9uIGRhcmsgYmFja2dyb3VuZHNcbiAqIGB1ay1kYXJrYCBpcyBvciBkYXJrIGNvbG9ycyBvbiBsaWdodCBiYWNrZ3JvdW5kc1xuICovXG5cbkBpZiAoJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGUgPT0gbGlnaHQpIHsgLnVrLWxpZ2h0IHsgQGlmIChtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZSgpO319fVxuXG5AaWYgKCRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlID09IGRhcmspIHsgLnVrLWRhcmsgeyBAaWYgKG1peGluLWV4aXN0cyhob29rLWludmVyc2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlKCk7fX19XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgUHJpbnRcbi8vIERlc2NyaXB0aW9uOiAgICAgT3B0aW1pemUgcGFnZSBmb3IgcHJpbnRpbmdcbi8vXG4vLyBBZGFwdGVkIGZyb20gaHR0cDovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZVxuLy9cbi8vIE1vZGlmaWNhdGlvbnM6ICAgUmVtb3ZlZCBsaW5rIGBocmVmYCBhbmQgYHRpdGxlYCByZWxhdGVkIHJ1bGVzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByaW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHByaW50IHtcblxuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByaW50KSkge0BpbmNsdWRlIGhvb2stcHJpbnQoKTt9XG5cbn1cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1wcmludCgpe31cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0EwRWtGQTs7OEVBRThFO0FBRTlFOzs7OztHQUtHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDRCxPQUFPO0VBQ1AsV0FBVyxFekVkTSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0I7RXlFZXRNLFNBQVMsRXpFWk0sSUFBSTtFeUVhbkIsV0FBVyxFekVkUyxNQUFNO0V5RWUxQixXQUFXLEV6RVpNLEdBQUc7RXlFYXBCLE9BQU87RUFDUCx3QkFBd0IsRUFBRSxJQUFJO0VBQzlCLE9BQU87RUFDUCxVQUFVLEV6RXpDTSxJQUFJO0V5RTBDcEIsS0FBSyxFekVoR00sSUFBSSxHeUVrR2xCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFJOztBQUdwQjs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLENBQUMsQUFBQSxPQUFPO0FBQ1IsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUk7O0FBRTNCOztHQUVHO0FBRUgsQUFBQSxDQUFDO0FBQ0QsUUFBUSxDQUFDO0VBQ0wsS0FBSyxFekV6Q1csT0FBTztFeUUwQ3ZCLGVBQWUsRXpFeENTLElBQUk7RXlFeUM1QixNQUFNLEVBQUUsT0FBTyxHQUVsQjs7QUFFRCxBQUFBLENBQUMsQUFBQSxNQUFNO0FBQ1AsUUFBUSxBQUFBLE1BQU07QUFDZCxlQUFlLEFBQUEsTUFBTSxDQUFDLFFBQVE7QUFDOUIsZUFBZSxBQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUM7RUFDM0IsS0FBSyxFekVoRGlCLE9BQU87RXlFaUQ3QixlQUFlLEV6RS9DZSxTQUFTLEd5RWlEMUM7O0FBR0Q7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEsSUFBSSxDQUFBLEFBQUEsS0FBQyxBQUFBLEVBQU87RUFDUixPQUFPO0VBQ1AsZUFBZSxFQUFFLGdCQUFnQjtFQUNqQyxPQUFPO0VBQ1AsNkJBQTZCLEVBQUUsTUFBTSxHQUN4Qzs7QUFFRDs7R0FFRztBQUVILEFBQUEsQ0FBQztBQUNELE1BQU0sQ0FBQztFQUFFLFdBQVcsRXpFdkVNLE1BQU0sR3lFdUVrQjs7QUFFbEQ7Ozs7R0FJRztBQUVILEFBQUEsSUFBSyxDQUFBLEdBQUcsSUFBSSxJQUFJO0FBQ2hCLElBQUssQ0FEQSxHQUFHLElBQ0ksR0FBRztBQUNmLElBQUssQ0FGQSxHQUFHLElBRUksSUFBSSxDQUFDO0VBQ2IsT0FBTztFQUNQLFdBQVcsRXpFakZTLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUztFeUVrRi9DLE9BQU87RUFDUCxTQUFTLEV6RTlIWSxRQUFRO0V5RStIN0IsT0FBTztFQUNQLEtBQUssRXpFckprQixPQUFPO0V5RXNKOUIsV0FBVyxFQUFFLE1BQU07RXhFMURuQixPQUFPLEVEcTZCa0IsR0FBRyxDQURELEdBQUc7RUNuNkI5QixVQUFVLEVEM0dZLE9BQU8sR3lFc0toQzs7QUFFRDs7R0FFRztBQUVILEFBQUEsRUFBRSxDQUFDO0VBQUUsS0FBSyxFekU5SmlCLE9BQU8sR3lFOEpKOztBQUU5Qjs7R0FFRztBQUVILEFBQUEsR0FBRyxDQUFDO0VBQ0EsVUFBVSxFekVsR1EsSUFBSTtFeUVtR3RCLEtBQUssRXpFaE1NLElBQUk7RXlFaU1mLGVBQWUsRUFBRSxJQUFJLEdBQ3hCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDRCxVQUFVLEV6RTFHUyxJQUFJO0V5RTJHdkIsS0FBSyxFekUxTU0sSUFBSSxHeUUyTWxCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxDQUFDLENBQUM7RUFBRSxVQUFVLEV6RWhIVSxNQUFNLEd5RWdIWTs7QUFFMUM7O0dBRUc7QUFFSCxBQUFBLEtBQUssQ0FBQztFQUFFLFNBQVMsRXpFckhNLEdBQUcsR3lFcUhrQjs7QUFFNUM7O0dBRUc7QUFFSCxBQUFBLEdBQUc7QUFDSCxHQUFHLENBQUM7RUFDQSxTQUFTLEVBQUUsR0FBRztFQUNkLFdBQVcsRUFBRSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsY0FBYyxFQUFFLFFBQVEsR0FDM0I7O0FBRUQsQUFBQSxHQUFHLENBQUM7RUFBRSxHQUFHLEVBQUUsTUFBTSxHQUFJOztBQUNyQixBQUFBLEdBQUcsQ0FBQztFQUFFLE1BQU0sRUFBRSxPQUFPLEdBQUk7O0FBR3pCOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsS0FBSztBQUNMLE1BQU07QUFDTixNQUFNO0FBQ04sR0FBRztBQUNILEdBQUc7QUFDSCxLQUFLLENBQUM7RUFBRSxjQUFjLEVBQUUsTUFBTSxHQUFJOztBQUVsQzs7Ozs7R0FLRztBQUVILEFBQUEsTUFBTTtBQUNOLEdBQUc7QUFDSCxLQUFLLENBQUM7RUFDRixPQUFPO0VBQ1AsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPO0VBQ1AsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPO0VBQ1AsVUFBVSxFQUFFLFVBQVUsR0FDekI7O0FBRUQsT0FBTztBQUNtQixTQUFDLEVBQWhCLE9BQU8sRUFBRSxLQUFLO0VBRXRCLEFBQUEsR0FBRyxDQUFDO0lBQ0MsU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRUFBRSxVQUFVLEdBQ3pCOztBQUlMOztHQUVHO0FBRUgsQUFBQSxHQUFHLEFBQUEsSUFBSyxDQUFBLEtBQUssRUFBRTtFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUk7O0FBRXJDOzs7O0dBSUc7QUFFSCxBQUFBLEdBQUcsQUFBQSxJQUFLLEVBQUEsQUFBQSxHQUFDLEFBQUEsR0FBTTtFQUNYLE9BQU87RUFDUCxTQUFTLEVBQUUsR0FBRztFQUNkLE9BQU87RUFDUCxVQUFVLEVBQUUsTUFBTSxHQUNyQjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLE1BQU0sQ0FBQztFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUk7O0FBR3RCOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsQ0FBQztBQUNELEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRTtBQUNGLEdBQUc7QUFDSCxPQUFPO0FBQ1AsUUFBUTtBQUNSLE1BQU0sQ0FBQztFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDekVwVUosSUFBSSxDeUVvVXVCLENBQUMsR0FBSTs7QUFFaEQsb0NBQW9DO0FBQ3BDLEFBQUEsQ0FBQyxHQUFHLENBQUM7QUFDTCxDQUFDLEdBQUcsRUFBRTtBQUNOLENBQUMsR0FBRyxFQUFFO0FBQ04sQ0FBQyxHQUFHLEVBQUU7QUFDTixDQUFDLEdBQUcsR0FBRztBQUNQLENBQUMsR0FBRyxPQUFPO0FBQ1gsQ0FBQyxHQUFHLFFBQVE7QUFDWixDQUFDLEdBQUcsTUFBTSxDQUFDO0VBQUUsVUFBVSxFekU5VVAsSUFBSSxHeUU4VThCOztBQUdsRDs4RUFDOEU7QUFFOUUsQUFBQSxFQUFFLEVBQUUsTUFBTTtBQUNWLEVBQUUsRUFBRSxNQUFNO0FBQ1YsRUFBRSxFQUFFLE1BQU07QUFDVixFQUFFLEVBQUUsTUFBTTtBQUNWLEVBQUUsRUFBRSxNQUFNO0FBQ1YsRUFBRSxFQUFFLE1BQU07QUFDVixpQkFBaUI7QUFDakIsa0JBQWtCO0FBQ2xCLGlCQUFpQjtBQUNqQixrQkFBa0I7QUFDbEIsbUJBQW1CLENBQUM7RUFDaEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEN6RS9WQyxJQUFJLEN5RStWa0IsQ0FBQztFQUNuQyxXQUFXLEV6RS9RTSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0I7RXlFZ1J0TSxXQUFXLEV6RXJQWSxNQUFNO0V5RXNQN0IsS0FBSyxFekU3VmUsSUFBSTtFeUU4VnhCLGNBQWMsRXpFclBZLElBQUksR3lFdVBqQzs7QUFFRCxvQ0FBb0M7QUFDcEMsQUFBQSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxNQUFNO0FBQ2xCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQU07QUFDbEIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsTUFBTTtBQUNsQixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxNQUFNO0FBQ2xCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQU07QUFDbEIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsTUFBTTtBQUNsQixDQUFDLEdBQUcsaUJBQWlCO0FBQ3JCLENBQUMsR0FBRyxrQkFBa0I7QUFDdEIsQ0FBQyxHQUFHLGlCQUFpQjtBQUNyQixDQUFDLEdBQUcsa0JBQWtCO0FBQ3RCLENBQUMsR0FBRyxtQkFBbUIsQ0FBQztFQUFFLFVBQVUsRXpFblFiLElBQUksR3lFbVF1Qzs7QUFFbEU7O0dBRUc7QUFFSCxBQUFBLEVBQUUsRUFBRSxNQUFNLENBQUM7RUFDUCxTQUFTLEV6RXZRTyxVQUEyQjtFeUV3UTNDLFdBQVcsRXpFdlFPLEdBQUcsR3lFeVF4Qjs7QUFFRCxBQUFBLEVBQUUsRUFBRSxNQUFNLENBQUM7RUFDUCxTQUFTLEV6RXpRTyxNQUEyQjtFeUUwUTNDLFdBQVcsRXpFelFPLEdBQUcsR3lFMlF4Qjs7QUFFRCxBQUFBLEVBQUUsRUFBRSxNQUFNLENBQUM7RUFDUCxTQUFTLEV6RTdRWSxNQUFNO0V5RThRM0IsV0FBVyxFekU1UU8sR0FBRyxHeUU4UXhCOztBQUVELEFBQUEsRUFBRSxFQUFFLE1BQU0sQ0FBQztFQUNQLFNBQVMsRXpFellhLE9BQU87RXlFMFk3QixXQUFXLEV6RWhSTyxHQUFHLEd5RWtSeEI7O0FBRUQsQUFBQSxFQUFFLEVBQUUsTUFBTSxDQUFDO0VBQ1AsU0FBUyxFekU3VE0sSUFBSTtFeUU4VG5CLFdBQVcsRXpFcFJPLEdBQUcsR3lFc1J4Qjs7QUFFRCxBQUFBLEVBQUUsRUFBRSxNQUFNLENBQUM7RUFDUCxTQUFTLEV6RWpXWSxRQUFRO0V5RWtXN0IsV0FBVyxFekV4Uk8sR0FBRyxHeUUwUnhCOztBQUVELGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFyQ3hCLEFBQUEsRUFBRSxFQUFFLE1BQU0sQ0F1Q0s7SUFBRSxTQUFTLEV6RTdXQyxRQUFRLEd5RTZXaUI7RUFqQ3BELEFBQUEsRUFBRSxFQUFFLE1BQU0sQ0FrQ0s7SUFBRSxTQUFTLEV6RTVTQSxJQUFJLEd5RTRTc0I7O0FBS3BEOzhFQUM4RTtBQUU5RSxBQUFBLEVBQUU7QUFDRixFQUFFLENBQUM7RUFBRSxZQUFZLEV6RXhTUSxJQUFJLEd5RXdTaUI7O0FBRTlDOztHQUVHO0FBRUgsQUFBQSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDWixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDWixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDWixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUk7O0FBRzVCOzhFQUM4RTtBQUU5RSxBQUFBLEVBQUUsQ0FBQztFQUFFLFdBQVcsRUFBRSxJQUFJLEdBQUk7O0FBQzFCLEFBQUEsRUFBRSxDQUFDO0VBQUUsV0FBVyxFQUFFLENBQUMsR0FBSTs7QUFHdkI7OEVBQzhFO0FBRTlFOzs7O0dBSUc7QUFFSCxBQUFBLEVBQUUsRUFBRSxNQUFNLENBQUM7RUFDUCxPQUFPO0VBQ1AsUUFBUSxFQUFFLE9BQU87RUFDakIsT0FBTztFQUNQLFVBQVUsRUFBRSxPQUFPO0VBQ25CLE9BQU87RUFDUCxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ3pFM2NDLElBQUksQ3lFMmNxQixDQUFDO0VBQ3RDLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFekUxVVEsR0FBRyxDeUUwVWEsS0FBSyxDekV4VTNCLE9BQU8sR3lFMFV0Qjs7QUFFRCxvQ0FBb0M7QUFDcEMsQUFBQSxDQUFDLEdBQUcsRUFBRTtBQUNOLENBQUMsR0FBRyxNQUFNLENBQUM7RUFBRSxVQUFVLEV6RW5kUCxJQUFJLEd5RW1kZ0M7O0FBR3BEOzhFQUM4RTtBQUU5RSxBQUFBLE9BQU8sQ0FBQztFQUFFLFVBQVUsRUFBRSxNQUFNLEdBQUk7O0FBR2hDOzhFQUM4RTtBQUU5RSxBQUFBLFVBQVUsQ0FBQztFQUNQLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDekVoZUMsSUFBSSxDeUVnZTZCLENBQUM7RUFDOUMsU0FBUyxFekUvZGEsT0FBTztFeUVnZTdCLFdBQVcsRXpFMVZlLEdBQUc7RXlFMlY3QixVQUFVLEV6RTFWZSxNQUFNO0VDQS9CLEtBQUssRURwSWUsSUFBSSxHeUVnZTNCOztBQUVELG9DQUFvQztBQUNwQyxBQUFBLENBQUMsR0FBRyxVQUFVLENBQUM7RUFBRSxVQUFVLEV6RXhlWCxJQUFJLEd5RXdlNkM7O0FBRWpFOztHQUVHO0FBRUgsQUFBQSxVQUFVLENBQUMsQ0FBQyxBQUFBLGFBQWEsQ0FBQztFQUFFLGFBQWEsRUFBRSxDQUFDLEdBQUk7O0FBRWhELEFBQUEsVUFBVSxDQUFDLE1BQU0sQ0FBQztFQUNkLFVBQVUsRXpFdFdRLElBQUk7RXlFdVd0QixTQUFTLEV6RTViWSxRQUFRO0V5RTZiN0IsV0FBVyxFekVyV3NCLEdBQUc7RUNEcEMsS0FBSyxFRHRJTSxJQUFJLEd5RThlbEI7RUFMRCxBeEVqV0ksVXdFaVdNLENBQUMsTUFBTSxBeEVqV1osUUFBUSxDQUFDO0lBQUUsT0FBTyxFQUFFLEtBQUssR0FBSTs7QXdFeVdsQzs4RUFDOEU7QUFFOUU7O0dBRUc7QUEvVUUsQUFBTCxHQUFRLENBaVZKO0VBQ0EsSUFBSSxFekUxY2lCLFFBQVEsQ3lFMGNILENBQVksQ3pFaFhuQixHQUFHLENBL0NGLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUztFeUVnYS9DLEtBQUssRXpFMWZNLElBQUk7RXlFMmZmLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLFFBQVEsRUFBRSxDQUFDO0VBQ1gsT0FBTztFQUNQLFFBQVEsRUFBRSxJQUFJO0V4RWxYZCxPQUFPLEVEbTVCUSxJQUFJO0VDbDVCbkIsTUFBTSxFRGpCWSxHQUFHLENDaUJVLEtBQUssQ0RmeEIsT0FBTztFQ2dCbkIsYUFBYSxFRHE1QlEsR0FBRztFQ3A1QnhCLFVBQVUsRUR6Rk0sSUFBSSxHeUUwY3ZCOztBQUVELEFBQUEsR0FBRyxDQUFDLElBQUksQ0FBQztFQUFFLFdBQVcsRXpFeGFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxHeUV3YUY7O0FBR2pEOzhFQUM4RTtBQUU5RSxBQUFBLFdBQVcsQ0FBQztFQUNSLFVBQVUsRXpFN1hjLElBQUk7RXlFOFg1QixLQUFLLEV6RXZnQmMsSUFBSTtFeUV3Z0J2QixXQUFXLEVBQUUsSUFBSSxHQUNwQjs7QUFHRDs4RUFDOEU7QUFFOUU7OztHQUdHO0FBRUgsQUFBQSxPQUFPO0FBQ1AsSUFBSSxDQUFDO0VBQUUsT0FBTztFQUNWLE9BQU8sRUFBRSxLQUFLLEdBQ2pCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxPQUFPLENBQUM7RUFBRSxPQUFPLEVBQUUsU0FBUyxHQUFJOztBQUVoQzs7R0FFRztBQUVILEFBQUEsUUFBUSxDQUFDO0VBQUUsT0FBTyxFQUFFLElBQUksR0FBSTs7QUFHNUI7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxnQkFBZ0IsQUFBQSxRQUFRLENBQUU7RUFBRSxPQUFPLEVBQUUsT0FBc0IsR0FBSTs7QUFDL0QsQUFBQSxnQkFBZ0IsQUFBQSxRQUFRLENBQUU7RUFBRSxPQUFPLEVBQUUsT0FBdUIsR0FBSTs7QUFDaEUsQUFBQSxnQkFBZ0IsQUFBQSxRQUFRLENBQUU7RUFBRSxPQUFPLEVBQUUsUUFBc0IsR0FBSTs7QUFDL0QsQUFBQSxpQkFBaUIsQUFBQSxRQUFRLENBQUM7RUFBRSxPQUFPLEVBQUUsUUFBdUIsR0FBSTs7QUEzUnhELEFBQUwsS0FBVSxDQTZSUDtFQUNGLGlCQUFpQixDQUFBLE1BQUM7RUFDbEIsaUJBQWlCLENBQUEsTUFBQztFQUNsQixpQkFBaUIsQ0FBQSxPQUFDO0VBQ2xCLGtCQUFrQixDQUFBLE9BQUMsR0FDdEI7O0FDeGlCRDs7OEVBRThFO0FBRzlFOzhFQUM4RTtBQUU5RSxBQUFBLENBQUMsQUFBQSxjQUFjO0FBQ2YsY0FBYyxDQUFDLENBQUMsQ0FBQztFQUNiLEtBQUssRTFFc0JZLElBQUksRzBFcEJ4Qjs7QUFFRCxBQUFBLENBQUMsQUFBQSxjQUFjLEFBQUEsTUFBTTtBQUNyQixjQUFjLENBQUMsQ0FBQyxBQUFBLE1BQU07QUFDdEIsZUFBZSxBQUFBLE1BQU0sQ0FBQyxjQUFjO0FBQ3BDLGVBQWUsQUFBQSxNQUFNLENBQUMsY0FBYyxDQUFDO0VBQ2pDLEtBQUssRTFFcENNLElBQUksRzBFc0NsQjs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxDQUFDLEFBQUEsYUFBYTtBQUNkLGFBQWEsQ0FBQyxDQUFDLENBQUM7RUFDWixLQUFLLEVBQUUsT0FBTyxHQUVqQjs7QUFFRCxBQUFBLENBQUMsQUFBQSxhQUFhLEFBQUEsTUFBTTtBQUNwQixhQUFhLENBQUMsQ0FBQyxBQUFBLE1BQU07QUFDckIsZUFBZSxBQUFBLE1BQU0sQ0FBQyxhQUFhO0FBQ25DLGVBQWUsQUFBQSxNQUFNLENBQUMsYUFBYSxDQUFDO0VBQ2hDLEtBQUssRTFFSlksSUFBSSxHMEVNeEI7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsQ0FBQyxBQUFBLGdCQUFnQjtBQUNqQixnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7RUFDZixLQUFLLEVBQUUsT0FBTyxHQUVqQjs7QUFFRCxBQUFBLENBQUMsQUFBQSxnQkFBZ0IsQUFBQSxNQUFNO0FBQ3ZCLGdCQUFnQixDQUFDLENBQUMsQUFBQSxNQUFNO0FBQ3hCLGVBQWUsQUFBQSxNQUFNLENBQUMsZ0JBQWdCO0FBQ3RDLGVBQWUsQUFBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUM7RUFDbkMsS0FBSyxFMUV2RG1CLE9BQU87RTBFd0QvQixlQUFlLEUxRW1ma0IsSUFBSSxHMEVqZnhDOztBQUdEOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsQ0FBQyxBQUFBLGNBQWM7QUFDZixjQUFjLENBQUMsQ0FBQyxDQUFDO0VBQ2IsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixlQUFlLEVBQUUsZUFBZSxHQUVuQzs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxlQUFlLENBQUM7RUFDWixLQUFLLEVBQUUsa0JBQWtCO0VBQ3pCLGVBQWUsRUFBRSxlQUFlLEdBQ25DOztBQUVELEFBQUEsZUFBZSxBQUFBLE1BQU0sQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUk7O0FDcER6Qzs7OEVBRThFO0FBRTlFLEFBQUEsaUJBQWlCLENBQUM7RUFDZCxTQUFTLEUzRW9aYSxNQUFnQztFMkVuWnRELFdBQVcsRTNFK1phLEdBQUcsRzJFN1o5Qjs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsU0FBUyxFM0VnWmMsU0FBbUM7RTJFL1kxRCxXQUFXLEUzRTBaYyxHQUFHLEcyRXhaL0I7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFNBQVMsRTNFNFlhLE1BQWlDO0UyRTNZdkQsV0FBVyxFM0VxWmEsR0FBRyxHMkVuWjlCOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDZixTQUFTLEUzRWdZZ0IsSUFBSTtFMkUvWDdCLFdBQVcsRTNFZ1pjLENBQUMsRzJFOVk3Qjs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLFNBQVMsRTNFa1llLElBQUk7RTJFalk1QixXQUFXLEUzRTJZZSxDQUFDLEcyRXpZOUI7O0FBRUQsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQS9CeEIsQUFBQSxpQkFBaUIsQ0FpQ0s7SUFBRSxTQUFTLEUzRW1YTCxPQUFvQyxHMkVuWEM7RUEzQmpFLEFBQUEsa0JBQWtCLENBNEJLO0lBQUUsU0FBUyxFM0VvWEwsTUFBbUMsRzJFcFhHO0VBdEJuRSxBQUFBLGlCQUFpQixDQXVCSztJQUFFLFNBQVMsRTNFZ1hKLElBQUksRzJFaFhnQztFQWpCakUsQUFBQSxrQkFBa0IsQ0FrQks7SUFBRSxTQUFTLEUzRXVYTixJQUFJLEcyRXZYbUM7RUFabkUsQUFBQSxtQkFBbUIsQ0FhSztJQUFFLFNBQVMsRTNFeVhOLElBQUksRzJFelhvQzs7QUFJckUsdUJBQXVCO0FBQ3ZCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQXBDekIsQUFBQSxrQkFBa0IsQ0FzQ0s7SUFBRSxTQUFTLEUzRXVXTCxJQUFJLEcyRXZXa0M7RUFoQ25FLEFBQUEsaUJBQWlCLENBaUNLO0lBQUUsU0FBUyxFM0U4V0wsSUFBSSxHMkU5V2lDO0VBM0JqRSxBQUFBLGtCQUFrQixDQTRCSztJQUFFLFNBQVMsRTNFZ1hMLElBQUksRzJFaFhrQztFQXRCbkUsQUFBQSxtQkFBbUIsQ0F1Qks7SUFBRSxTQUFTLEUzRWlYTCxLQUFLLEcyRWpYa0M7O0FBS3JFOzs4RUFFOEU7QUFrQjlFLGlDQUFpQztBQVNqQyx3QkFBd0I7QUFheEI7OzhFQUU4RTtBQW1COUUsaUNBQWlDO0FBWWpDLHdCQUF3QjtBQWF4Qjs4RUFDOEU7QUFFOUUsQUFBQSxtQkFBbUIsQ0FBQztFQUNoQixjQUFjLEUzRXNSZSxpQkFBNEI7RTJFclJ6RCxhQUFhLEUzRXNSYyxvQkFBK0IsQzJFdFJiLEtBQUssQzNFeEV0QyxPQUFPLEcyRTBFdEI7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsa0JBQWtCLENBQUM7RUFBRSxRQUFRLEVBQUUsUUFBUSxHQUFJOztBQUUzQzs7OztHQUlHO0FBRUgsQUFBQSxrQkFBa0IsQUFBQSxRQUFRLENBQUM7RUFDdkIsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPO0VBQ1AsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRTNFa1FjLGdCQUEyQjtFMkVqUTVDLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLE9BQU87RUFDUCxNQUFNLEUzRWdRYyxpQkFBNEI7RTJFL1BoRCxZQUFZLEUzRWdRYyxpQkFBNEI7RTJFL1B0RCxXQUFXLEUzRWdRZSxpQkFBNEIsQzJFaFFaLEtBQUssQzNFbkduQyxPQUFPLEcyRXFHdEI7O0FBR0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxnQkFBZ0IsQ0FBQztFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUk7O0FBRXZDOztHQUVHO0FBRUgsQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7RUFDakIsT0FBTyxFQUFFLFlBQVk7RUFDckIsUUFBUSxFQUFFLFFBQVEsR0FDckI7O0FBRUQ7Ozs7R0FJRztBQUVILEFBQUEsZ0JBQWdCLEdBQUcsUUFBUTtBQUMzQixnQkFBZ0IsR0FBRyxPQUFPLENBQUM7RUFDdkIsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLHNDQUFxRTtFQUMxRSxPQUFPO0VBQ1AsS0FBSyxFM0VpT1ksTUFBTTtFMkVoT3ZCLE9BQU87RUFDUCxhQUFhLEUzRTZOVyxvQkFBK0IsQzJFN05iLEtBQUssQzNFekluQyxPQUFPLEcyRTJJdEI7O0FBRUQsQUFBQSxnQkFBZ0IsR0FBRyxRQUFRLENBQUM7RUFDeEIsS0FBSyxFQUFFLElBQUk7RUFDWCxZQUFZLEUzRTJOaUIsaUJBQTRCLEcyRTFONUQ7O0FBQ0QsQUFBQSxnQkFBZ0IsR0FBRyxPQUFPLENBQUM7RUFDdkIsSUFBSSxFQUFFLElBQUk7RUFDVixXQUFXLEUzRXVOa0IsaUJBQTRCLEcyRXRONUQ7O0FDdlBEOzs4RUFFOEU7QUFFOUU7OztHQUdHO0NBRUgsQUFBQSxBQUFBLEtBQUMsRUFBTyxZQUFZLEFBQW5CLEVBQXFCO0VBQ2xCLE9BQU87RUFDUCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU87RUFDUCxhQUFhLEU1RS9DRCxJQUFJLEc0RWdEbkI7O0FBRUQsb0NBQW9DO0FBQ3BDLEFBQUEsQ0FBQyxJQUFHLEFBQUEsS0FBQyxFQUFPLFlBQVksQUFBbkIsRUFBcUI7RUFBRSxVQUFVLEU1RW5EdEIsSUFBSSxHNEVtRGdEOztBQUdwRTs4RUFDOEU7QUFFOUUsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRTVFMlFZLElBQUk7RXdFeFN0QixnQkFBZ0IsRUFBRSx3VkFBd0I7RUkrQjFDLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsbUJBQW1CLEVBQUUsT0FBTyxHQUUvQjs7QUFFRCxBQUFBLGdCQUFnQixBQUFBLFFBQVE7QUFDeEIsZ0JBQWdCLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFNUVrUWlCLEdBQUc7RTRFalF2QixTQUFTLEVBQUUsc0JBQW1EO0VBQzlELGFBQWEsRTVFMkRLLEdBQUcsQzRFM0QwQixLQUFLLEM1RTZEeEMsT0FBTyxHNEUzRHRCOztBQUVELEFBQUEsZ0JBQWdCLEFBQUEsUUFBUSxDQUFDO0VBQ3JCLEtBQUssRUFBRSxzQkFBbUQ7RUFDMUQsS0FBSyxFNUUyUGlCLElBQUksRzRFelA3Qjs7QUFFRCxBQUFBLGdCQUFnQixBQUFBLE9BQU8sQ0FBQztFQUNwQixJQUFJLEVBQUUsc0JBQW1EO0VBQ3pELEtBQUssRTVFcVBpQixJQUFJLEc0RW5QN0I7O0FBR0Q7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILE9BQU87QUFDUCxBQUFBLGlCQUFpQixDQUFDO0VBQUUsV0FBVyxFQUFFLENBQUMsR0FBSTs7QUFFdEMsT0FBTztBQUNQLEFBQUEsaUJBQWlCLEFBQUEsT0FBTyxDQUFDO0VBQ3JCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLFlBQVk7RUFDckIsS0FBSyxFNUVxT2EsS0FBSztFNEVwT3ZCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFNUV5QlEsR0FBRyxDNEV6Qm1CLEtBQUssQzVFMkJqQyxPQUFPO0U0RTFCbkIsY0FBYyxFQUFFLEdBQUcsR0FFdEI7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsb0JBQW9CLENBQUM7RUFDakIsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEU1RTJOZ0IsS0FBSztFNEUxTjNCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFdBQVcsRTVFV08sR0FBRyxDNEVYdUIsS0FBSyxDNUVhckMsT0FBTyxHNEVYdEI7O0FDbkVEOzs4RUFFOEU7QUFFOUUsQUFBQSxRQUFRLENBQUM7RUFDTCxPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUVEOztHQUVHO0FBRUgsQUFBQSxRQUFRLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQztFQUFFLGFBQWEsRUFBRSxDQUFDLEdBQUk7O0FBRWpEOztHQUVHO0FBRUgsQUFBQSxRQUFRLEdBQUcsVUFBVyxDQUFBLEdBQUc7QUFDekIsUUFBUSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7RUFBRSxVQUFVLEU3RWdFUixJQUFJLEc2RWhFMEI7O0FBR3BEOzs7OEVBRzhFO0FBRTlFLEFBQUEsYUFBYSxHQUFHLENBQUM7QUFDakIsZUFBZSxHQUFHLENBQUM7QUFDbkIsZUFBZSxHQUFHLENBQUM7QUFDbkIsZ0JBQWdCLEdBQUcsQ0FBQztBQUNwQixlQUFlLEdBQUcsQ0FBQyxDQUFDO0VBQUUsWUFBWSxFN0VrZmQsSUFBSSxHNkVsZmtDOztBQUUxRDs7R0FFRztBQUVILEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxhQUFhLEVBQUUsT0FBTyxHQUFJOztBQUM3QyxBQUFBLGdCQUFnQixHQUFHLENBQUMsQ0FBQztFQUFFLGlCQUFpQixFQUFFLE9BQU8sR0FBSTs7Q0FFckQsQUFBQSxBQUFBLEtBQUMsRUFBTyxTQUFTLEFBQWhCLElBQW9CLFFBQVEsQ0FBQztFQUMxQixPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRTdFc2VZLEtBQUk7RTZFcmVwQixLQUFLLEU3RXFlVyxJQUFJO0U2RXBlcEIsTUFBTSxFN0VxZVcsS0FBMkI7RTZFcGU1QyxhQUFhLEU3RW9lSSxNQUEyQjtFNkVuZTVDLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsVUFBVSxFQUFFLEtBQUssR0FDcEI7O0FBRUQsQUFBQSxhQUFhLEdBQUcsUUFBUSxDQUFDO0VBQUUsZUFBZSxFQUFFLElBQUksR0FBSTs7QUFDcEQsQUFBQSxlQUFlLEdBQUcsUUFBUSxDQUFDO0VBQUUsZUFBZSxFQUFFLE1BQU0sR0FBSTs7QUFDeEQsQUFBQSxlQUFlLEdBQUcsUUFBUSxDQUFDO0VBQUUsZUFBZSxFQUFFLE1BQU0sR0FBSTs7QUFDeEQsQUFBQSxnQkFBZ0IsR0FBRyxRQUFRLENBQUM7RUFBRSxPQUFPLEVBQUUseUJBQXlCLENBQUMsTUFBYSxHQUFJOztBQUNsRixBQUFBLGVBQWUsR0FBRyxRQUFRLENBQUM7RUFBRSxPQUFPLEVBQUUsY0FBYyxHQUFJOztBQUV4RDs7R0FFRztBQUVILEFBQUEsY0FBYyxHQUFHLFFBQVEsQ0FBQztFQUFFLEtBQUssRTdFN0RaLElBQUksQzZFNkQ0QixVQUFVLEdBQUk7O0FBQ25FLEFBQUEsaUJBQWlCLEdBQUcsUUFBUSxDQUFDO0VBQUUsS0FBSyxFN0VsSFosSUFBSSxDNkVrSCtCLFVBQVUsR0FBSTs7QUFDekUsQUFBQSxnQkFBZ0IsR0FBRyxRQUFRLENBQUM7RUFBRSxLQUFLLEU3RWhHUCxPQUFPLEM2RWdHc0IsVUFBVSxHQUFJOztBQUN2RSxBQUFBLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztFQUFFLEtBQUssRTdFeERQLElBQUksQzZFd0QyQixVQUFVLEdBQUk7O0FBRzNFOzhFQUM4RTtBQUU5RSxBQUFBLGVBQWUsR0FBRyxDQUFDLENBQUM7RUFBRSxZQUFZLEU3RTBjZCxJQUFJLEc2RTFja0M7O0FBRTFELEFBQUEsZUFBZSxHQUFHLFFBQVEsQ0FBQztFQUN2QixPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRTdFcWNZLEtBQUk7RTZFcGNwQixLQUFLLEU3RW9jVyxJQUFJO0U2RW5jcEIsTUFBTSxFN0VvY1csS0FBMkI7RTZFbmM1QyxhQUFhLEU3RW1jSSxNQUEyQjtFd0U1aUI1QyxnQkFBZ0IsRUFBRSw2UkFBd0I7RUsyRzFDLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsbUJBQW1CLEVBQUUsT0FBTyxHQUMvQjs7QUFHRDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLGdCQUFnQixHQUFHLFVBQVcsQ0FBQSxHQUFHLEVBQUU7RUFDL0IsVUFBVSxFN0VYUSxJQUFJO0U2RVl0QixXQUFXLEU3RVpPLElBQUk7RTZFYXRCLFVBQVUsRTdFckJRLEdBQUcsQzZFcUJrQixLQUFLLEM3RW5CaEMsT0FBTyxHNkVxQnRCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7RUFDakIsT0FBTyxFN0V0QlcsSUFBSSxDQUFKLElBQUksRzZFd0J6QjtFQUhELEE1RXc3Q0ksZ0I0RXg3Q1ksR0FBRyxDQUFDLEE1RXc3Q2YsWUFBYSxDQUFBLEdBQUcsRUFBRTtJQUNmLFVBQVUsRUR0OUNJLEdBQUcsQ0NzOUNzQixLQUFLLENEcDlDcEMsT0FBTztJQ3E5Q2YsYUFBYSxFRHY5Q0MsR0FBRyxDQ3U5Q3lCLEtBQUssQ0RyOUN2QyxPQUFPLEdDczlDbEI7O0E0RXQ3Q0wsQUFBQSxnQkFBZ0IsR0FBRyxZQUFhLEM1RW03Q2QsR0FBRyxFNEVuN0NnQjtFQUFFLFVBQVUsRTdFbEp2QixPQUFPLEc2RWtKOEM7O0FBRS9FLEFBQUEsZ0JBQWdCLEdBQUcsVUFBVyxDQUFBLEdBQUcsRUFBRTtFQUFFLFVBQVUsRUFBRSxDQUFDLEdBQUk7O0FBR3REOzhFQUM4RTtBQUU5RSxBQUFBLGNBQWMsR0FBRyxVQUFXLENBQUEsR0FBRztBQUMvQixjQUFjLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztFQUFFLFVBQVUsRTdFOUtwQixJQUFJLEc2RThLNEM7O0FBRWhFLEFBQUEsaUJBQWlCLEdBQUcsVUFBVyxDQUFBLEdBQUc7QUFDbEMsaUJBQWlCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztFQUFFLFVBQVUsRUFBRSxDQUFDLEdBQUk7O0FBRTlDOztHQUVHO0FBRUgsQUFBQSxjQUFjLEFBQUEsZ0JBQWdCLEdBQUcsVUFBVyxDQUFBLEdBQUcsRUFBRTtFQUM3QyxVQUFVLEU3RXhMRSxJQUFJO0U2RXlMaEIsV0FBVyxFN0V6TEMsSUFBSSxHNkUwTG5COztBQUVELEFBQUEsaUJBQWlCLEFBQUEsZ0JBQWdCLEdBQUcsVUFBVyxDQUFBLEdBQUcsRUFBRTtFQUNoRCxVQUFVLEVBQUUsQ0FBQztFQUNiLFdBQVcsRUFBRSxDQUFDLEdBQ2pCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxjQUFjLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0VBQUUsT0FBTyxFN0VyTTVCLElBQUksQ0EySUUsSUFBSSxHNkUwRG1HOztBQUU3SCxBQUFBLGlCQUFpQixBQUFBLGdCQUFnQixHQUFHLENBQUMsQ0FBQztFQUNsQyxXQUFXLEVBQUUsQ0FBQztFQUNkLGNBQWMsRUFBRSxDQUFDLEdBQ3BCOztBQUVELEFBQUEsY0FBYyxBQUFBLGdCQUFnQixHQUFHLFVBQVcsQ0FBQSxHQUFHO0FBQy9DLGlCQUFpQixBQUFBLGdCQUFnQixHQUFHLFVBQVcsQ0FBQSxHQUFHLEVBQUU7RUFBRSxVQUFVLEVBQUUsQ0FBQyxHQUFJOztBQ3hMdkU7OzhFQUU4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0VBQ3RCLEtBQUssRTlFekJlLElBQUk7RUMrckJ4QixTQUFTLEVEOW9CWSxRQUFRO0VDK29CN0IsV0FBVyxFRDZYcUIsTUFBTTtFQzVYdEMsY0FBYyxFRDZYcUIsU0FBUyxHOEVuaUMvQzs7QUFFRCxBQUFBLG9CQUFvQixHQUFHLEVBQUUsQUFBQSxVQUFXLENBQUEsR0FBRyxFQUFFO0VBQ3JDLFVBQVUsRTlFbkNFLElBQUksRzhFb0NuQjs7QUFFRDs7R0FFRztBQU9IOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsNEJBQTRCLEdBQUcsRUFBRSxBQUFBLFVBQVcsQ0FBQSxHQUFHLEVBQUU7RUFDN0MsVUFBVSxFOUV2REUsSUFBSTtFOEV3RGhCLFdBQVcsRTlFeERDLElBQUk7RThFeURoQixVQUFVLEU5RTBFUSxHQUFHLEM4RTFFbUMsS0FBSyxDOUU0RWpELE9BQU8sRzhFMUV0Qjs7QUNIRDs7OEVBRThFO0FBRTlFOzs7O0dBSUc7QUFFSCxBQUFBLFNBQVMsQ0FBQztFQUNOLE9BQU87RUFDUCxlQUFlLEVBQUUsUUFBUTtFQUN6QixjQUFjLEVBQUUsQ0FBQztFQUNqQixPQUFPO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPO0VBQ1AsYUFBYSxFL0V6RUQsSUFBSSxHK0UyRW5COztBQUVELG9DQUFvQztBQUNwQyxBQUFBLENBQUMsR0FBRyxTQUFTLENBQUM7RUFBRSxVQUFVLEUvRTlFVixJQUFJLEcrRThFa0M7O0FBR3REOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsU0FBUyxDQUFDLEVBQUUsQ0FBQztFQUNULE9BQU8sRS9FbTBCbUIsSUFBSSxDQUNGLElBQUk7RStFbjBCaEMsVUFBVSxFQUFFLElBQUk7RUFDaEIsY0FBYyxFQUFFLE1BQU07RUFDdEIsT0FBTztFQUNQLFNBQVMsRS9FdkNZLFFBQVE7RStFd0M3QixXQUFXLEUvRWkwQmlCLE1BQU07RStFaDBCbEMsS0FBSyxFL0V0Q1ksSUFBSTtFQ2c0RFEsY0FBYyxFQUFFLFNBQVMsRzhFeDFEekQ7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsU0FBUyxDQUFDLEVBQUUsQ0FBQztFQUNULE9BQU8sRS9Fb3pCbUIsSUFBSSxDQUNGLElBQUk7RStFcHpCaEMsY0FBYyxFQUFFLEdBQUcsR0FFdEI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLFNBQVMsQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDO0VBQUUsYUFBYSxFQUFFLENBQUMsR0FBSTs7QUFHakQ7OEVBQzhFO0FBRTlFLEFBQUEsU0FBUyxDQUFDLEtBQUssQ0FBQztFQUNaLFNBQVMsRS9FbEVZLFFBQVEsRytFb0VoQzs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxTQUFTLENBQUMsT0FBTyxDQUFDO0VBQ2QsU0FBUyxFL0UzRVksUUFBUTtFK0U0RTdCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLEtBQUssRS9FMUVZLElBQUksRytFNEV4Qjs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxnQkFBZ0I7QUFDaEIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO0VBQUUsY0FBYyxFQUFFLGlCQUFpQixHQUFJOztBQUczRDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLGlCQUFpQixHQUFHLEVBQUUsQUFBQSxJQUFLLENBQUEsWUFBWTtBQUN2QyxpQkFBaUIsR0FBRyxJQUFLLENBREUsWUFBWSxJQUNFLEVBQUU7QUFDM0MsaUJBQWlCLEdBQUcsWUFBWSxHQUFHLEVBQUUsQUFBQSxJQUFLLENBRmYsWUFBWSxFQUVpQjtFQUNwRCxVQUFVLEUvRXRCUSxHQUFHLEMrRXNCbUIsS0FBSyxDL0VwQmpDLE9BQU8sRytFc0J0Qjs7QUFFRDs7R0FFRztBQUVILEFBQUEsaUJBQWlCLEdBQUcsRUFBRSxBQUFBLFlBQWEsQzlFdTdDakIsR0FBRztBOEV0N0NyQixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxBQUFBLFlBQWEsQzlFczdDckIsR0FBRyxFOEV0N0N1QjtFQUN4QyxVQUFVLEUvRWhKWSxPQUFPO0VDNDZEN0IsVUFBVSxFRDV6RFEsR0FBRyxDQzR6RG1CLEtBQUssQ0QxekRqQyxPQUFPO0VDMnpEbkIsYUFBYSxFRDd6REssR0FBRyxDQzZ6RHNCLEtBQUssQ0QzekRwQyxPQUFPLEcrRWdDdEI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGVBQWUsR0FBRyxFQUFFLEFBQUEsTUFBTTtBQUMxQixlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsQUFBQSxNQUFNLENBQUM7RUFDM0IsVUFBVSxFL0V1dkJnQixJQUFJLEcrRXJ2QmpDOztBQUdEOzhFQUM4RTtBQUU5RSxBQUFBLFNBQVMsR0FBRyxFQUFFLEFBQUEsVUFBVTtBQUN4QixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQUFBQSxVQUFVLENBQUM7RUFDekIsVUFBVSxFL0U2dUJnQixJQUFJLEcrRTN1QmpDOztBQUVEOzhFQUM4RTtBQUU5RSxBQUFBLGVBQWUsQ0FBQyxFQUFFO0FBQ2xCLGVBQWUsQ0FBQyxFQUFFLENBQUM7RUFDZixPQUFPLEUvRXl1QnlCLElBQUksQ0FDRixJQUFJLEcrRXh1QnpDOztBQUVELEFBQUEsZUFBZSxDQUFDLEVBQUU7QUFDbEIsZUFBZSxDQUFDLEVBQUUsQ0FBQztFQUNmLE9BQU8sRS9FcXVCeUIsSUFBSSxDQUNGLElBQUksRytFcHVCekM7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsaUJBQWlCLENBQUMsRUFBRSxBQUFBLFlBQVk7QUFDaEMsaUJBQWlCLENBQUMsRUFBRSxBQUFBLFlBQVksQ0FBQztFQUFFLFlBQVksRUFBRSxDQUFDLEdBQUk7O0FBRXRELEFBQUEsaUJBQWlCLENBQUMsRUFBRSxBQUFBLFdBQVc7QUFDL0IsaUJBQWlCLENBQUMsRUFBRSxBQUFBLFdBQVcsQ0FBQztFQUFFLGFBQWEsRUFBRSxDQUFDLEdBQUk7O0FBR3REOzhFQUM4RTtBQUU5RSxBQUFBLGdCQUFnQixDQUFDO0VBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTs7QUFDakMsQUFBQSxnQkFBZ0IsQ0FBQztFQUFFLFNBQVMsRS9Fb3RCSCxLQUFLLEcrRXB0QjJCOztBQUd6RDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLGNBQWMsQ0FBQztFQUFFLE9BQU8sRUFBRSxZQUFZLEdBQUk7O0FBRTFDLEFBQUEsY0FBYyxHQUFHLENBQUMsQ0FBQztFQUNmLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFL0VxckJtQixJQUFJLENBQ0YsSUFBSSxHK0VyckJuQzs7QUFFRCxBQUFBLGVBQWUsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO0VBQUUsT0FBTyxFL0UrckJSLElBQUksQ0FDRixJQUFJLEcrRWhzQitFOztBQUd6SDs4RUFDOEU7QUFHOUUsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLG9CQUFvQjtFQUNwQixvQkFBb0IsQ0FBQyxLQUFLO0VBQzFCLG9CQUFvQixDQUFDLEVBQUU7RUFDdkIsb0JBQW9CLENBQUMsRUFBRTtFQUN2QixvQkFBb0IsQ0FBQyxFQUFFLENBQUM7SUFBRSxPQUFPLEVBQUUsS0FBSyxHQUFJO0VBRTVDLEFBQUEsb0JBQW9CLENBQUMsS0FBSyxDQUFDO0lBQUUsT0FBTyxFQUFFLElBQUksR0FBSTtFQUU5QyxBQUFBLG9CQUFvQixDQUFDLEVBQUU7RUFDdkIsb0JBQW9CLENBQUMsRUFBRSxDQUFDO0lBQ3BCLEtBQUssRUFBRSxlQUFlO0lBQ3RCLFNBQVMsRUFBRSxlQUFlO0lBQzFCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7SUFDNUIsV0FBVyxFQUFFLGlCQUFpQixHQUNqQztFQUVELEFBQUEsb0JBQW9CLENBQUMsRUFBRSxBQUFBLElBQUssQ0EvR0wsWUFBWSxDQStHTSxJQUFLLENBbENsRCxjQUFjO0VBbUNWLG9CQUFvQixDQUFDLEVBQUUsQUFBQSxJQUFLLENBaEhMLFlBQVksQ0FnSE0sSUFBSyxDQW5DbEQsY0FBYztFQW9DVixvQkFBb0IsQ0FBQyxjQUFjLEFBQUEsSUFBSyxDQWpIakIsWUFBWSxJQWlIcUIsQ0FBQyxDQUFDO0lBQUUsV0FBVyxFQUFFLEdBQXVDLENBQUMsVUFBVSxHQUFJO0VBRS9ILEFBQUEsb0JBQW9CLENBQUMsRUFBRSxBQUFBLElBQUssQ0FBQSxXQUFXLENBQUMsSUFBSyxDQXRDakQsY0FBYztFQXVDVixvQkFBb0IsQ0FBQyxFQUFFLEFBQUEsSUFBSyxDQURBLFdBQVcsQ0FDQyxJQUFLLENBdkNqRCxjQUFjO0VBd0NWLG9CQUFvQixDQUFDLGNBQWMsQUFBQSxJQUFLLENBRlosV0FBVyxJQUVnQixDQUFDLENBQUM7SUFBRSxjQUFjLEVBQUUsR0FBdUMsQ0FBQyxVQUFVLEdBQUk7RUFFakksQUFBQSxpQkFBaUIsQUFBQSxvQkFBb0IsQ0FBQyxFQUFFO0VBQ3hDLGlCQUFpQixBQUFBLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztJQUNyQyxZQUFZLEVBQUUsQ0FBQztJQUNmLGFBQWEsRUFBRSxDQUFDLEdBQ25COztBOUV1ckRELEFBQUEsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7RUFBRSxVQUFVLEVBQUUsNEJBQTRCLEdBQUk7O0ErRXI2RHJFOzs4RUFFOEU7QUFFOUU7Ozs7Ozs7Ozs7OztHQVlHO0FBRUgsQUFBQSxRQUFRLENBQUM7RUFDTCxPQUFPO0VBQ1AsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPO0VBQ1AsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPO0VBQ1AsYUFBYSxFQUFFLENBQUM7RUFDaEIsT0FBTztFQUNQLFFBQVEsRUFBRSxPQUFPO0VBQ2pCLE9BQU87RUFDUCxJQUFJLEVBQUUsT0FBTztFQUNiLEtBQUssRUFBRSxPQUFPO0VBQ2QsT0FBTztFQUNQLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLFFBQVE7RUFDUixPQUFPLEVBQUUsQ0FBQztFQUNWLGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsT0FBTztFQUNQLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU87RUFDUCxJQUFJLEVBQUUsWUFBWTtFQUNsQixRQUFRO0VBQ1IsV0FBVyxFQUFFLENBQUMsR0FDakI7O0FBRUQsNEJBQTRCO0FBQzVCLEFBQUEsTUFBTSxBQUFBLFFBQVEsQUFBQSxJQUFLLENBQUEsU0FBUyxFQUFFO0VBQUUsTUFBTSxFQUFFLE9BQU8sR0FBSTs7QUFFbkQ7O0dBRUc7QUFFSCxBQUFBLFFBQVEsQUFBQSxrQkFBa0IsQ0FBQztFQUN2QixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBQ2I7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLFFBQVEsQUFBQSxJQUFLLENBQUEsWUFBWSxHQUFFLEFBQUEsSUFBQyxFQUFNLEdBQUcsQUFBVCxDQUFVLElBQUssQ0FBOUIsWUFBWSxFQUFnQztFQUFFLElBQUksRUFBRSxZQUFZLEdBQUk7O0FBQ2pGLEFBQUEsUUFBUSxBQUFBLElBQUssQ0FEQSxZQUFZLEdBQ0UsQUFBQSxNQUFDLEVBQVEsR0FBRyxBQUFYLENBQVksSUFBSyxDQURoQyxZQUFZLEVBQ2tDO0VBQUUsTUFBTSxFQUFFLFlBQVksR0FBSTs7QUFFckY7O0dBRUc7QUFFSCxBQUFBLFFBQVEsR0FBRyxDQUFDLENBQUM7RUFBRSxTQUFTLEVBQUUsZUFBYyxHQUFJOztBQUc1Qzs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLGNBQWMsQ0FBQztFQUNYLEtBQUssRWhGaVpTLElBQUk7RWdGaFpsQixNQUFNLEVoRmdaUSxJQUFJO0VnRi9ZbEIsbUJBQW1CLEVBQUUsT0FBTztFQUM1QixpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLGVBQWUsRUFBRSxPQUFPO0VBQ3hCLGNBQWMsRUFBRSxNQUFNLEdBQ3pCOztBQUdEOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsYUFBYSxDQUFDO0VBQ1YsS0FBSyxFaEZ4RVksSUFBSSxHZ0YwRXhCOztBQUVELEFBQUEsYUFBYSxBQUFBLE1BQU07QUFDbkIsYUFBYSxBQUFBLE1BQU0sQ0FBQztFQUNoQixLQUFLLEVoRmhJTSxJQUFJO0VnRmlJZixPQUFPLEVBQUUsSUFBSSxHQUVoQjs7QUFFRCxzQkFBc0I7QUFDdEIsQUFBQSxhQUFhLEFBQUEsT0FBTztBQUNwQixVQUFVLEdBQUcsYUFBYSxDQUFDO0VBQ3ZCLEtBQUssRWhGcVhnQixPQUF5QixHZ0ZuWGpEOztBQUVEOzs7R0FHRztBQUVILEFBQUEsZUFBZSxDQUFDO0VBQ1osVUFBVSxFQUFFLFVBQVU7RUFDdEIsS0FBSyxFaEYyV1UsSUFBSTtFZ0YxV25CLE1BQU0sRWhGMFdTLElBQUk7RWdGelduQixhQUFhLEVoRjBXVyxLQUFLO0VnRnpXN0IsVUFBVSxFaEYxSVksT0FBTztFZ0YySTdCLEtBQUssRWhGckdZLElBQUk7RWdGc0dyQixjQUFjLEVBQUUsTUFBTTtFQUN0QixPQUFPO0VBQ1AsT0FBTyxFQUFFLFdBQVc7RUFDcEIsZUFBZSxFQUFFLE1BQU07RUFDdkIsV0FBVyxFQUFFLE1BQU07RS9FbzFCbkIsVUFBVSxFQUFFLGdCQUFnQjtFQUM1QixtQkFBbUIsRUFBRSx1QkFBdUIsRytFbjFCL0M7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsZUFBZSxBQUFBLE1BQU07QUFDckIsZUFBZSxBQUFBLE1BQU0sQ0FBQztFQUNsQixnQkFBZ0IsRWhGK1ZXLE9BQW1DO0VnRjlWOUQsS0FBSyxFaEZwS00sSUFBSTtFZ0ZxS2YsT0FBTyxFQUFFLElBQUksR0FFaEI7O0FBRUQsc0JBQXNCO0FBQ3RCLEFBQUEsZUFBZSxBQUFBLE9BQU87QUFDdEIsVUFBVSxHQUFHLGVBQWUsQ0FBQztFQUN6QixnQkFBZ0IsRWhGd1ZZLE9BQW9DO0VnRnZWaEUsS0FBSyxFaEY3S00sSUFBSSxHZ0YrS2xCOztBQ2xLRDs7OEVBRThFO0FBRTlFOzs7Ozs7O0dBT0c7QUFFSCxBQUFBLFNBQVMsQ0FBQztFQUNOLE9BQU87RUFDUCxVQUFVLEVBQUUsVUFBVTtFQUN0QixNQUFNLEVBQUUsQ0FBQztFQUNULGNBQWMsRUFBRSxNQUFNO0VBQ3RCLE9BQU87RUFDUCxTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU87RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU87RUFDUCxrQkFBa0IsRUFBRSxJQUFJO0VBQ3hCLE9BQU87RUFDUCxVQUFVLEVBQUUsV0FBVztFQUN2QixPQUFPO0VBQ1AsT0FBTyxFQUFFLENBQUMsR0FFYjs7QUFFRCxXQUFXO0FBQ1gsQUFBQSxTQUFTLEFBQUEsTUFBTSxDQUFDO0VBQUUsT0FBTyxFQUFFLElBQUksR0FBSTs7QUFDbkMsQUFBQSxTQUFTLEFBQUEsa0JBQWtCLENBQUM7RUFBRSxNQUFNLEVBQUUsSUFBSSxHQUFJOztBQUU5QyxnQkFBZ0I7QUFDaEIsQUFBQSxTQUFTLEFBQUEsV0FBVyxDQUFDO0VBQ2pCLE1BQU0sRWpGNFRnQixJQUFJO0VpRjNUMUIsVUFBVSxFQUFFLFdBQVc7RUFDdkIsWUFBWSxFQUFFLFdBQVc7RUFDekIsS0FBSyxFQUFFLFdBQVcsR0FDckI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLFNBQVMsQUFBQSxJQUFLLENEWUssU0FBUyxDQ1pKLHNCQUFzQixDQUFDO0VBQUUsTUFBTSxFQUFFLE9BQU8sR0FBSTs7QUFDcEUsQUFBQSxTQUFTLEFBQUEsSUFBSyxDRFdLLFNBQVMsQ0NYSixrQkFBa0IsQ0FBQztFQUFFLE1BQU0sRUFBRSxPQUFPLEdBQUk7O0FBQ2hFLEFBQUEsU0FBUyxBQUFBLElBQUssQ0RVSyxTQUFTLENDVkosV0FBVyxDQUFDO0VBQUUsTUFBTSxFQUFFLE9BQU8sR0FBSTs7QUFHekQ7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILFlBQVk7QUFDWixBQUFBLFNBQVMsQUFBQSxzQkFBc0IsQ0FBQztFQUM1QixPQUFPO0VBQ1Asa0JBQWtCLEVBQUUsSUFBSTtFQUN4QixVQUFVLEVBQUUsSUFBMEM7RUFDdEQsT0FBTztFQUNQLE1BQU0sRWpGK1JnQixJQUFJO0VpRjlSMUIsS0FBSyxFakY4UmlCLElBQUk7RWlGN1IxQixhQUFhLEVqRjhSZ0IsS0FBSztFaUY3UmxDLFVBQVUsRWpGNUJNLElBQUk7RUMydUJRLE1BQU0sRURycUJoQixHQUFHLENDcXFCOEMsS0FBSyxDRG9TbEQsT0FBMkIsR2lGai9CcEQ7O0FBRUQsYUFBYTtBQUNiLEFBQUEsU0FBUyxBQUFBLGtCQUFrQixDQUFDO0VBQ3hCLE9BQU87RUFDUCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU87RUFDUCxNQUFNLEVqRm1SZ0IsSUFBSTtFaUZsUjFCLEtBQUssRWpGa1JpQixJQUFJO0VpRmpSMUIsYUFBYSxFakZrUmdCLEtBQUs7RWlGalJsQyxVQUFVLEVqRnhDTSxJQUFJO0VDMnVCUSxNQUFNLEVEcnFCaEIsR0FBRyxDQ3FxQjhDLEtBQUssQ0RvU2xELE9BQTJCLEdpRnIrQnBEOztBQUVELFVBQVU7QUFDVixBQUFBLFNBQVMsQUFBQSxXQUFXLENBQUM7RUFDakIsT0FBTztFQUNQLFVBQVUsRUFBRSxDQUFDLEdBQ2hCOztBQUVELFVBQVU7QUFMVixBQUFBLFNBQVMsQUFBQSxXQUFXLENBTUM7RUFDakIsT0FBTztFQUNQLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTztFQUNQLE1BQU0sRWpGaVFnQixJQUFJO0VpRmhRMUIsS0FBSyxFakZnUWlCLElBQUk7RWlGL1AxQixhQUFhLEVqRmdRZ0IsS0FBSztFaUYvUGxDLFVBQVUsRWpGMURNLElBQUk7RUMydUJRLE1BQU0sRURycUJoQixHQUFHLENDcXFCOEMsS0FBSyxDRG9TbEQsT0FBMkIsR2lGbjlCcEQ7O0FBRUQsaUJBQWlCO0FBQ2pCLEFBQUEsU0FBUyxBQUFBLGFBQWEsQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUk7O0FBRzFDOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILFlBQVk7QUFDWixBQUFBLFNBQVMsQUFBQSwrQkFBK0IsQ0FBQztFQUNyQyxNQUFNLEVqRmdQZ0IsR0FBRztFaUYvT3pCLFVBQVUsRWpGZ1BnQixPQUFvQztFQ2dibEMsYUFBYSxFRG9TWixLQUFLLEdpRmw4QnJDOztBQUVELEFBQUEsU0FBUyxBQUFBLE1BQU0sQUFBQSwrQkFBK0I7QUFFOUMsU0FBUyxBQUFBLE9BQU8sQUFBQSwrQkFBK0IsQ0FBQztFQUM1QyxVQUFVLEVqRjBPc0IsT0FBcUMsR2lGeE94RTs7QUFFRCxhQUFhO0FBQ2IsQUFBQSxTQUFTLEFBQUEsa0JBQWtCLENBQUM7RUFDeEIsTUFBTSxFakZrT2dCLEdBQUc7RWlGak96QixVQUFVLEVqRmtPZ0IsT0FBb0M7RUNnYmxDLGFBQWEsRURvU1osS0FBSyxHaUZwN0JyQzs7QUFFRCxBQUFBLFNBQVMsQUFBQSxNQUFNLEFBQUEsa0JBQWtCLENBQUM7RUFDOUIsVUFBVSxFakY4TnNCLE9BQXFDLEdpRjVOeEU7O0FBRUQsVUFBVTtBQUNWLEFBQUEsU0FBUyxBQUFBLGdCQUFnQjtBQUN6QixTQUFTLEFBQUEsZ0JBQWdCLENBQUM7RUFDdEIsTUFBTSxFakZxTmdCLEdBQUc7RWlGcE56QixVQUFVLEVqRnFOZ0IsT0FBb0M7RUNnYmxDLGFBQWEsRURvU1osS0FBSyxHaUZ2NkJyQzs7QUFFRCxBQUFBLFNBQVMsQUFBQSxNQUFNLEFBQUEsZ0JBQWdCO0FBQy9CLFNBQVMsQUFBQSxNQUFNLEFBQUEsZ0JBQWdCLENBQUM7RUFDNUIsVUFBVSxFakZnTnNCLE9BQXFDLEdpRjlNeEU7O0FDNUREOzs4RUFFOEU7QUFFOUU7Ozs7Ozs7OztHQVNHO0FBRUgsQUFBQSxTQUFTO0FBQ1QsVUFBVTtBQUNWLFlBQVk7QUFDWixTQUFTO0FBQ1QsWUFBWSxDQUFDO0VBQ1QsT0FBTztFQUNQLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE9BQU87RUFDUCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU87RUFDUCxhQUFhLEVBQUUsQ0FBQztFQUNoQixPQUFPO0VBQ1AsSUFBSSxFQUFFLE9BQU8sR0FDaEI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLFNBQVMsQ0FBQztFQUFFLFFBQVEsRUFBRSxPQUFPLEdBQUk7O0FBRWpDOztHQUVHO0FBRUgsQUFBQSxVQUFVLENBQUM7RUFBRSxjQUFjLEVBQUUsSUFBSSxHQUFJOztBQUVyQzs7OztHQUlHO0FBRUgsQUFBQSxVQUFVLENBQUMsUUFBUSxDQUFDO0VBQ2hCLE9BQU87RUFDUCxJQUFJLEVBQUUsT0FBTztFQUNiLE9BQU87RUFDUCxXQUFXLEVBQUUsSUFBSSxHQUNwQjs7QUFFRDs7R0FFRztBQUVILEFBQUEsWUFBWSxDQUFDO0VBQUUsUUFBUSxFQUFFLElBQUksR0FBSTs7QUFFakM7O0dBRUc7QUFFSCxBQUFBLFNBQVMsQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYyw4QkFBOEI7QUFDdEQsU0FBUyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLDJCQUEyQixDQUFDO0VBQUUsa0JBQWtCLEVBQUUsSUFBSSxHQUFJOztBQUdsRjs7R0FFRztBQUVILEFBQUEsU0FBUyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLDJCQUEyQjtBQUNuRCxTQUFTLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsMkJBQTJCLENBQUM7RUFBRSxNQUFNLEVBQUUsSUFBSSxHQUFJOztBQUV0RTs7R0FFRztBQUVILEFBQUEsU0FBUyxBQUFBLGtCQUFrQjtBQUMzQixZQUFZLEFBQUEsa0JBQWtCLENBQUM7RUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFJOztBQUUvQzs7R0FFRztBQUVILEFBQUEsU0FBUyxBQUFBLElBQUssQ0Z4SEssU0FBUztBRXlINUIsWUFBWSxBQUFBLElBQUssQ0Z6SEUsU0FBUyxFRXlIQTtFQUFFLE1BQU0sRUFBRSxPQUFPLEdBQUk7O0FBRWpEOztHQUVHO0FBRUgsQUFBQSxZQUFZLENBQUM7RUFDVCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FDYjs7QUFHRDs7Ozs4RUFJOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLFNBQVM7QUFDVCxZQUFZLENBQUM7RUFBRSxrQkFBa0IsRUFBRSxJQUFJLEdBQUk7O0FBRTNDOzs7OztHQUtHO0FBRUgsQUFBQSxTQUFTO0FBQ1QsVUFBVTtBQUNWLFlBQVksQ0FBQztFQUNULE9BQU87RUFDUCxTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU87RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU87RUFDUCxNQUFNLEVBQUUsTUFBTTtFQUNkLE9BQU87RUFDUCxPQUFPLEVBQUUsQ0FBQyxDbEYySVksSUFBSTtFa0YxSTFCLFVBQVUsRWxGdkxNLElBQUk7RWtGd0xwQixLQUFLLEVsRjlPTSxJQUFJO0VDc3lCZixNQUFNLEVEMXFCWSxHQUFHLENDMHFCTSxLQUFLLENEeHFCcEIsT0FBTztFQ3lxQm5CLFVBQVUsRUFBRSxnQkFBZ0I7RUFDNUIsbUJBQW1CLEVBQUUsK0JBQStCLEdpRnhqQnZEOztBQUVEOzs7OztHQUtHO0FBRUgsQUFBQSxTQUFTO0FBQ1QsVUFBVSxBQUFBLElBQUssRUFBQSxBQUFBLFFBQUMsQUFBQSxFQUFVLElBQUssRUFBQSxBQUFBLElBQUMsQUFBQSxHQUFPO0VBQ25DLE1BQU0sRWxGeEZjLElBQUk7RWtGeUZ4QixjQUFjLEVBQUUsTUFBTTtFQUN0QixPQUFPO0VBQ1AsT0FBTyxFQUFFLFlBQVksR0FFeEI7O0FBRUQsT0FBTztBQUNQLEFBQUEsU0FBUyxBQUFBLElBQUssQ0FBQSxLQUFLO0FBQ25CLFVBQVUsQUFBQSxJQUFLLENBQUEsTUFBTSxFQUFFO0VBQUUsV0FBVyxFbEZrSGpCLElBQXNDLEdrRmxIRTs7QUFFM0Q7O0dBRUc7QUFFSCxBQUFBLFVBQVUsQ0FBQSxBQUFBLFFBQUMsQUFBQTtBQUNYLFVBQVUsQ0FBQSxBQUFBLElBQUMsQUFBQTtBQUNYLFlBQVksQ0FBQztFQUNULFdBQVcsRWxGMkdTLEdBQUc7RWtGMUd2QixjQUFjLEVsRjBHTSxHQUFHO0VrRnpHdkIsY0FBYyxFQUFFLEdBQUcsR0FFdEI7O0FBRUQsV0FBVztBQUNYLEFBQUEsU0FBUyxBQUFBLE1BQU07QUFDZixVQUFVLEFBQUEsTUFBTTtBQUNoQixZQUFZLEFBQUEsTUFBTSxDQUFDO0VBQ2YsT0FBTyxFQUFFLElBQUk7RUFDYixnQkFBZ0IsRWxGbE9BLElBQUk7RWtGbU9wQixLQUFLLEVsRnpSTSxJQUFJO0VDNHlCTyxZQUFZLEVEM3hCVixPQUFPLEdrRjBRbEM7O0FBRUQsY0FBYztBQUNkLEFBQUEsU0FBUyxBQUFBLFNBQVM7QUFDbEIsVUFBVSxBQUFBLFNBQVM7QUFDbkIsWUFBWSxBQUFBLFNBQVMsQ0FBQztFQUNsQixnQkFBZ0IsRWxGclJNLE9BQU87RWtGc1I3QixLQUFLLEVsRmhQWSxJQUFJO0VDMnZCSSxZQUFZLEVEL3FCekIsT0FBTyxHa0ZzS3RCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxTQUFTLEFBQUEsdUJBQXVCLENBQUM7RUFBRSxLQUFLLEVsRnhQbkIsSUFBSSxDa0Z3UHlDLFVBQVUsR0FBSTs7QUFDaEYsQUFBQSxTQUFTLEFBQUEsYUFBYSxDQUFDO0VBQUUsS0FBSyxFbEZ6UFQsSUFBSSxHa0Z5UGtDOztBQUUzRCxBQUFBLFlBQVksQUFBQSx1QkFBdUIsQ0FBQztFQUFFLEtBQUssRWxGM1B0QixJQUFJLENrRjJQNEMsVUFBVSxHQUFJOztBQUNuRixBQUFBLFlBQVksQUFBQSxhQUFhLENBQUM7RUFBRSxLQUFLLEVsRjVQWixJQUFJLEdrRjRQcUM7O0FBRzlEOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsY0FBYyxDQUFDO0VBQUUsU0FBUyxFbEZ6UUQsUUFBUSxHa0Z5UW9COztBQUVyRCxBQUFBLGNBQWMsQUFBQSxJQUFLLENBQUEsUUFBUSxDQUFDLElBQUssRUFoRWxCLEFBQUEsUUFBQyxBQUFBLEVBZ0U0QixJQUFLLEVBaEVsQixBQUFBLElBQUMsQUFBQSxHQWdFeUI7RUFDckQsTUFBTSxFbEZySm9CLElBQUk7RWtGc0o5QixZQUFZLEVsRnFFZ0IsR0FBRztFa0ZwRS9CLGFBQWEsRWxGb0VlLEdBQUcsR2tGbkVsQzs7QUFFRCxBQUFBLGNBQWMsQUFBQSxJQUFLLENBNURKLE1BQU0sQ0E0REssSUFBSyxDQTdEakIsS0FBSyxDQTZEa0IsSUFBSyxDQU52QixRQUFRLEVBTXlCO0VBQUUsV0FBVyxFbEZrRXhDLElBQTRDLEdrRmxFeUI7O0FBRTlGOztHQUVHO0FBRUgsQUFBQSxjQUFjLENBQUM7RUFBRSxTQUFTLEVsRjNVQSxPQUFPLEdrRjJVb0I7O0FBRXJELEFBQUEsY0FBYyxBQUFBLElBQUssQ0FkQSxRQUFRLENBY0MsSUFBSyxFQTlFbEIsQUFBQSxRQUFDLEFBQUEsRUE4RTRCLElBQUssRUE5RWxCLEFBQUEsSUFBQyxBQUFBLEdBOEV5QjtFQUNyRCxNQUFNLEVsRmpLb0IsSUFBSTtFa0ZrSzlCLFlBQVksRWxGMkRnQixJQUFJO0VrRjFEaEMsYUFBYSxFbEYwRGUsSUFBSSxHa0Z6RG5DOztBQUVELEFBQUEsY0FBYyxBQUFBLElBQUssQ0ExRUosTUFBTSxDQTBFSyxJQUFLLENBM0VqQixLQUFLLENBMkVrQixJQUFLLENBcEJ2QixRQUFRLEVBb0J5QjtFQUFFLFdBQVcsRWxGd0R4QyxJQUE0QyxHa0Z4RHlCOztBQUc5Rjs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLGVBQWU7QUFDZixlQUFlLEFBQUEsTUFBTSxDQUFDO0VBQ2xCLEtBQUssRWxGaFVrQixPQUFPO0VDb3hCUCxZQUFZLEVEcHhCWixPQUFPLEdrRmtVakM7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGdCQUFnQjtBQUNoQixnQkFBZ0IsQUFBQSxNQUFNLENBQUU7RUFDcEIsS0FBSyxFbEZoVm1CLE9BQU87RUMyeEJQLFlBQVksRUQzeEJaLE9BQU8sR2tGa1ZsQzs7QUFFRDs7R0FFRztBQUVILEFBQUEsY0FBYyxDQUFDO0VBQ1gsVUFBVSxFQUFFLElBQUk7RWpGbWNNLFlBQVksRUFBRSxXQUFXLEdpRmpjbEQ7O0FBRUQsQUFBQSxjQUFjLEFBQUEsTUFBTSxDQUFDO0VqRmljakIsWUFBWSxFRHByQkEsT0FBTztFQ3FyQm5CLFlBQVksRUQwUmdCLE1BQU0sR2tGMXRCckM7O0FBR0Q7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEsS0FBSyxBQUFBLHFCQUFxQixDQUFDO0VBQUUsS0FBSyxFbEZZZCxJQUFJLEdrRlprQzs7QUFFMUQsQUFBQSxNQUFNLEFBQUEscUJBQXFCLENBQUM7RUFBRSxLQUFLLEVBQUUsSUFBMkIsR0FBSTs7QUFFcEUsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLEtBQUssRWxGU1QsS0FBSyxHa0ZUMkI7O0FBRW5ELEFBQUEscUJBQXFCLENBQUM7RUFBRSxLQUFLLEVsRlFULEtBQUssR2tGUjRCOztBQUVyRCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsS0FBSyxFbEZPVCxLQUFLLEdrRlAyQjs7QUFHbkQ7OEVBQzhFO0FBRTlFOzs7OztHQUtHO0FBRUgsQUFBQSxVQUFVLEFBQUEsSUFBSyxFQXpKQSxBQUFBLFFBQUMsQUFBQSxFQXlKVSxJQUFLLEVBekpBLEFBQUEsSUFBQyxBQUFBLEdBeUpPO0VBQ25DLE9BQU87RUFDUCxrQkFBa0IsRUFBRSxJQUFJO0VBQ3hCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLE9BQU87RUFDUCxhQUFhLEVsRlZXLElBQUk7RXdFdlg1QixnQkFBZ0IsRUFBRSxvWUFBd0I7RVVtWTFDLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsbUJBQW1CLEVBQUUsUUFBUSxHQUNoQzs7QUFFRCxPQUFPO0FBQ1AsQUFBQSxVQUFVLEFBQUEsSUFBSyxFQXJLQSxBQUFBLFFBQUMsQUFBQSxFQXFLVSxJQUFLLEVBcktBLEFBQUEsSUFBQyxBQUFBLEVBcUtNLFlBQVksQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUk7O0FBRXRFLE9BQU87QUFDUCxBQUFBLFVBQVUsQUFBQSxJQUFLLEVBeEtBLEFBQUEsUUFBQyxBQUFBLEVBd0tVLElBQUssRUF4S0EsQUFBQSxJQUFDLEFBQUEsR0F3S08sTUFBTSxDQUFDO0VBQUUsS0FBSyxFbEZsQjFCLElBQUksR2tGa0JxRDs7QUFFcEY7O0dBRUc7QUFFSCxBQUFBLFVBQVUsQUFBQSxJQUFLLEVBOUtBLEFBQUEsUUFBQyxBQUFBLEVBOEtVLElBQUssRUE5S0EsQUFBQSxJQUFDLEFBQUEsRUE4S00sU0FBUyxDQUFDO0VWalo1QyxnQkFBZ0IsRUFBRSxvWUFBd0IsR1VpWmdHOztBQUc5STs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFRixBQUFBLFNBQVMsQ0FBQSxBQUFBLElBQUMsQUFBQSxFQUFNO0VBQ2IsYUFBYSxFbEZqQ2EsSUFBSTtFa0ZrQzlCLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsbUJBQW1CLEVBQUUsUUFBUSxHQUNoQzs7QUFFRCxBQUFBLFNBQVMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDQUFLLE1BQU07QUFDckIsU0FBUyxDQUFBLEFBQUEsSUFBQyxBQUFBLENBQUssTUFBTSxDQUFDO0VWbGFsQixnQkFBZ0IsRUFBRSxtU0FBd0IsR1VrYWlFOztBQUUvRyxPQUFPO0FBQ1AsQUFBQSxTQUFTLENBQUEsQUFBQSxJQUFDLEFBQUEsQ0FBSyxtQ0FBbUMsQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUk7O0FBR3RFOzs4RUFFOEU7QUFFOUU7Ozs7Ozs7R0FPRztBQUVILEFBQUEsU0FBUztBQUNULFlBQVksQ0FBQztFQUNULE9BQU87RUFDUCxPQUFPLEVBQUUsWUFBWTtFQUNyQixNQUFNLEVsRjVEUSxJQUFJO0VrRjZEbEIsS0FBSyxFbEY3RFMsSUFBSTtFa0Y4RGxCLE9BQU87RUFDUCxRQUFRLEVBQUUsTUFBTTtFQUNoQixPQUFPO0VBQ1AsVUFBVSxFbEZoRVcsSUFBRztFa0ZpRXhCLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLE9BQU87RUFDUCxrQkFBa0IsRUFBRSxJQUFJO0VBQ3hCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLE9BQU87RUFDUCxnQkFBZ0IsRWxGckVJLFdBQVc7RWtGc0UvQixPQUFPO0VBQ1AsaUJBQWlCLEVBQUUsU0FBUztFQUM1QixtQkFBbUIsRUFBRSxPQUFPO0VqRndWNUIsTUFBTSxFRDFyQlksR0FBRyxDQzByQlksS0FBSyxDRHlSdEIsT0FBMkI7RUN4UjNDLFVBQVUsRUFBRSxnQkFBZ0I7RUFDNUIsbUJBQW1CLEVBQUUsd0JBQXdCLEdpRnhWaEQ7O0FBRUQsQUFBQSxTQUFTLENBQUM7RUFBRSxhQUFhLEVBQUUsR0FBRyxHQUFJOztBQUVsQyxXQUFXO0FBQ1gsQUFBQSxTQUFTLEFBQUEsTUFBTTtBQUNmLFlBQVksQUFBQSxNQUFNLENBQUM7RUFDZixPQUFPLEVBQUUsSUFBSTtFakZtVmUsWUFBWSxFRHp5QmhCLE9BQU8sR2tGd2RsQzs7QUFFRDs7R0FFRztBQUVILEFBQUEsU0FBUyxBQUFBLFFBQVE7QUFDakIsWUFBWSxBQUFBLFFBQVE7QUFDcEIsWUFBWSxBQUFBLGNBQWMsQ0FBQztFQUN2QixnQkFBZ0IsRWxGamVRLE9BQU87RUMweUJELFlBQVksRURzUmxCLFdBQVcsR2tGN2xCdEM7O0FBRUQsV0FBVztBQUNYLEFBQUEsU0FBUyxBQUFBLFFBQVEsQUFBQSxNQUFNO0FBQ3ZCLFlBQVksQUFBQSxRQUFRLEFBQUEsTUFBTTtBQUMxQixZQUFZLEFBQUEsY0FBYyxBQUFBLE1BQU0sQ0FBQztFQUM3QixnQkFBZ0IsRWxGakdrQixPQUF1QyxHa0ZtRzVFOztBQUVEOztHQUVHO0FBRUgsQUFBQSxTQUFTLEFBQUEsUUFBUSxDQUFDO0VWM2VkLGdCQUFnQixFQUFFLGlTQUF3QixHVTJlK0Q7O0FBQzdHLEFBQUEsWUFBWSxBQUFBLFFBQVEsQ0FBQztFVjVlakIsZ0JBQWdCLEVBQUUsaVVBQXdCLEdVNGVxRTs7QUFDbkgsQUFBQSxZQUFZLEFBQUEsY0FBYyxDQUFDO0VWN2V2QixnQkFBZ0IsRUFBRSxxVEFBd0IsR1U2ZXlGOztBQUV2STs7R0FFRztBQUVILEFBQUEsU0FBUyxBQUFBLFNBQVM7QUFDbEIsWUFBWSxBQUFBLFNBQVMsQ0FBQztFQUNsQixnQkFBZ0IsRWxGaGdCTSxPQUFPO0VDaXpCRSxZQUFZLEVEL3JCL0IsT0FBTyxHa0ZnWnRCOztBQUVELEFBQUEsU0FBUyxBQUFBLFNBQVMsQUFBQSxRQUFRLENBQUM7RVZ6ZnZCLGdCQUFnQixFQUFFLGlTQUF3QixHVXlmeUU7O0FBQ3ZILEFBQUEsWUFBWSxBQUFBLFNBQVMsQUFBQSxRQUFRLENBQUM7RVYxZjFCLGdCQUFnQixFQUFFLGlVQUF3QixHVTBmK0U7O0FBQzdILEFBQUEsWUFBWSxBQUFBLFNBQVMsQUFBQSxjQUFjLENBQUM7RVYzZmhDLGdCQUFnQixFQUFFLHFUQUF3QixHVTJmbUc7O0FBR2pKOzhFQUM4RTtBQUU5RTs7Ozs7O0dBTUc7QUFFSCxBQUFBLFVBQVUsQ0FBQztFQUNQLE9BQU87RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU87RUFDUCxLQUFLLEVBQUUsT0FBTztFQUNkLE9BQU87RUFDUCxPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU87RUFDUCxTQUFTLEVsRnZiWSxNQUFNO0VrRndiM0IsV0FBVyxFbEY1SVcsR0FBRyxHa0Y4STVCOztBQUdEOzhFQUM4RTtBQUU5RTs7Ozs7R0FLRztBQUVILEFBQUEsZUFBZSxDQUFDO0VBQ1osT0FBTztFQUNQLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU87RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPO0VBQ1AsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPO0VBQ1AsY0FBYyxFQUFFLE1BQU0sR0FDekI7O0FBRUQ7Ozs7Ozs7R0FPRztBQUVILEFBQUEsZUFBZSxDQUFDLE1BQU07QUFDdEIsZUFBZSxDQUFDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUFBYTtFQUMvQixPQUFPO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixPQUFPLEVBQUUsQ0FBQztFQUNWLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPO0VBQ1AsSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPO0VBQ1Asa0JBQWtCLEVBQUUsSUFBSTtFQUN4QixPQUFPO0VBQ1AsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsT0FBTyxHQUNsQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEVBQWE7RUFDL0IsT0FBTztFQUNQLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE9BQU87RUFDUCxRQUFRLEVBQUUsTUFBTSxHQUNuQjs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxjQUFjLENBQUM7RWpGd05YLEtBQUssRURsMEJlLElBQUk7RUNtMEJ4QixTQUFTLEVEbHhCWSxRQUFRLEdrRjJqQmhDOztBQUdEOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsZ0JBQWdCLENBQUMsY0FBYyxDQUFDO0VBQzVCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsYUFBYSxFbEZ4TlksR0FBRyxHa0YwTi9COztBQUVEOztHQUVHO0FBRUgsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixtQ0FBbUM7RUFDbkMsQUFBQSxtQkFBbUIsQ0FBQyxjQUFjLENBQUM7SUFDL0IsT0FBTyxFQUFFLEtBQUs7SUFDZCxhQUFhLEVsRnRPUSxHQUFHLEdrRndPM0I7O0FBSUwsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQVRwQixBQUFBLG1CQUFtQixDQUFDLGNBQWMsQ0FXQztJQUMvQixLQUFLLEVsRi9PaUIsS0FBSztJa0ZnUDNCLFVBQVUsRWxGL09pQixHQUFHO0lrRmdQOUIsS0FBSyxFQUFFLElBQUksR0FFZDtFQUVELEFBQUEsbUJBQW1CLENBQUMsaUJBQWlCLENBQUM7SUFBRSxXQUFXLEVsRm5QaEIsS0FBSyxHa0ZtUHNEO0VBRTlGLHNGQUFzRjtFQUN0RixBQUFBLG1CQUFtQixDQUFDLHNCQUFzQixDQUFDO0lBQUUsV0FBVyxFbEZyUGhCLEdBQUcsR2tGcVA2RDs7QUFLNUc7OEVBQzhFO0FBRTlFOzs7OztHQUtHO0FBRUgsQUFBQSxhQUFhLENBQUM7RUFDVixPQUFPO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTztFQUNQLEtBQUssRWxGMWdCZSxJQUFJO0VrRjJnQnhCLE9BQU87RUFDUCxPQUFPLEVBQUUsV0FBVztFQUNwQixlQUFlLEVBQUUsTUFBTTtFQUN2QixXQUFXLEVBQUUsTUFBTTtFQUNuQixPQUFPO0VBQ1AsS0FBSyxFbEZqb0JZLElBQUksR2tGa29CeEI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGFBQWEsQUFBQSxNQUFNLENBQUM7RUFBRSxLQUFLLEVsRjFyQlosSUFBSSxHa0YwckJvQzs7QUFFdkQ7O0dBRUc7QUFFSCxBQUFBLGFBQWEsQUFBQSxJQUFLLENBQUEsQ0FBQyxDQUFDLElBQUssQ0FBQSxNQUFNLENBQUMsSUFBSyxDQTdidkIsS0FBSyxFQTZieUI7RUFBRSxjQUFjLEVBQUUsSUFBSSxHQUFJOztBQUV0RTs7R0FFRztBQUVILEFBQUEsYUFBYSxBQUFBLElBQUssQ0FBQSxrQkFBa0IsSUFBSSxTQUFTLENBQUM7RUFBRSxZQUFZLEVsRm5pQnhDLElBQUksQ2tGbWlCdUQsVUFBVSxHQUFJOztBQUVqRzs7R0FFRztBQUplLEFBQUwsa0JBQXVCLENBTWpCO0VBQ2YsS0FBSyxFQUFFLENBQUM7RUFDUixJQUFJLEVBQUUsSUFBSSxHQUNiOztBQUVELEFBQUEsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO0VBQUUsYUFBYSxFbEY5aUJ0QixJQUFJLENrRjhpQnFDLFVBQVUsR0FBSTs7QUN6b0IvRTs7OEVBRThFO0FBRTlFOzs7Ozs7Ozs7Ozs7R0FZRztBQUVILEFBQUEsVUFBVSxDQUFDO0VBQ1AsT0FBTztFQUNQLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTztFQUNQLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTztFQUNQLFFBQVEsRUFBRSxPQUFPO0VBQ2pCLE9BQU87RUFDUCxJQUFJLEVBQUUsT0FBTztFQUNiLEtBQUssRUFBRSxPQUFPO0VBQ2QsT0FBTztFQUNQLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLE9BQU87RUFDUCxrQkFBa0IsRUFBRSxJQUFJO0VBQ3hCLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLE9BQU87RUFDUCxPQUFPLEVBQUUsWUFBWTtFQUNyQixVQUFVLEVBQUUsVUFBVTtFQUN0QixPQUFPLEVBQUUsQ0FBQyxDbkYvRUUsSUFBSTtFbUZnRmhCLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFNBQVMsRW5GL0RZLFFBQVE7RW1GZ0U3QixPQUFPO0VBQ1AsV0FBVyxFbkZxRE0sSUFBbUQ7RW1GcERwRSxPQUFPO0VBQ1AsVUFBVSxFQUFFLE1BQU07RUFDbEIsUUFBUTtFQUNSLGVBQWUsRUFBRSxJQUFJO0VsRm9NckIsY0FBYyxFRDh1Qk0sU0FBUztFQzd1QjdCLFVBQVUsRUFBRSxnQkFBZ0I7RUFDNUIsbUJBQW1CLEVBQUUscUNBQXFDLEdrRnBNN0Q7O0FBRUQsQUFBQSxVQUFVLEFBQUEsSUFBSyxDSGhESSxTQUFTLEVHZ0RGO0VBQUUsTUFBTSxFQUFFLE9BQU8sR0FBSTs7QUFFL0M7O0dBRUc7QUFFSCxBQUFBLFVBQVUsQUFBQSxrQkFBa0IsQ0FBQztFQUN6QixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBQ2I7O0FBRUQsV0FBVztBQUNYLEFBQUEsVUFBVSxBQUFBLE1BQU0sQ0FBQztFQUNiLE9BQU87RUFDUCxlQUFlLEVBQUUsSUFBSSxHQUV4Qjs7QUFFRCxXQUFXO0FBQ1gsQUFBQSxVQUFVLEFBQUEsTUFBTSxDQUFDO0VBQ2IsT0FBTyxFQUFFLElBQUksR0FFaEI7O0FBRUQsc0JBQXNCO0FBT3RCOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsa0JBQWtCLENBQUM7RUFDZixnQkFBZ0IsRW5GaUJRLFdBQVc7RW1GaEJuQyxLQUFLLEVuRmxLZSxJQUFJO0VDaVVFLE1BQU0sRURuTWQsR0FBRyxDQ21Na0MsS0FBSyxDRGpNaEQsT0FBTyxHbUZvQ3RCOztBQUVELG1CQUFtQjtBQUNuQixBQUFBLGtCQUFrQixBQUFBLE1BQU07QUFDeEIsa0JBQWtCLEFBQUEsTUFBTSxDQUFDO0VBQ3JCLGdCQUFnQixFbkZXYyxXQUFXO0VtRlZ6QyxLQUFLLEVuRjFLZSxJQUFJO0VDa1VRLFlBQVksRUR3dUJsQixPQUEyQixHbUY5M0J4RDs7QUFFRCxzQkFBc0I7QUFDdEIsQUFBQSxrQkFBa0IsQUFBQSxPQUFPO0FBQ3pCLGtCQUFrQixBQUFBLFVBQVUsQ0FBQztFQUN6QixnQkFBZ0IsRW5GS2UsV0FBVztFbUZKMUMsS0FBSyxFbkZsTGUsSUFBSTtFQ21VUyxZQUFZLEVEd3VCbEIsT0FBMkIsR21GdjNCekQ7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsZ0JBQWdCLEVwRjlMUSxPQUFPO0VvRitML0IsS0FBSyxFcEZoTWMsSUFBSTtFRXdVRyxNQUFNLEVEdE1kLEdBQUcsQ0NzTWtDLEtBQUssQ0FBQyxXQUFXLEdrRnRJM0U7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsa0JBQWtCLEFBQUEsTUFBTTtBQUN4QixrQkFBa0IsQUFBQSxNQUFNLENBQUM7RUFDckIsZ0JBQWdCLEVuRlRjLE9BQXNDO0VtRlVwRSxLQUFLLEVuRi9MYyxJQUFJLEdtRmlNMUI7O0FBRUQsc0JBQXNCO0FBQ3RCLEFBQUEsa0JBQWtCLEFBQUEsT0FBTztBQUN6QixrQkFBa0IsQUFBQSxVQUFVLENBQUM7RUFDekIsZ0JBQWdCLEVuRmZlLE9BQXVDO0VtRmdCdEUsS0FBSyxFbkZ2TWMsSUFBSSxHbUZ5TTFCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxvQkFBb0IsQ0FBQztFQUNqQixnQkFBZ0IsRW5GekpVLElBQUk7RW1GMEo5QixLQUFLLEVuRmpOYyxJQUFJO0VDa1VLLE1BQU0sRUR6TWhCLEdBQUcsQ0N5TW9DLEtBQUssQ0FBQyxXQUFXLEdrRi9HN0U7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsb0JBQW9CLEFBQUEsTUFBTTtBQUMxQixvQkFBb0IsQUFBQSxNQUFNLENBQUM7RUFDdkIsZ0JBQWdCLEVuRjdCZ0IsT0FBd0M7RW1GOEJ4RSxLQUFLLEVuRnpOYyxJQUFJLEdtRjJOMUI7O0FBRUQsc0JBQXNCO0FBQ3RCLEFBQUEsb0JBQW9CLEFBQUEsT0FBTztBQUMzQixvQkFBb0IsQUFBQSxVQUFVLENBQUM7RUFDM0IsZ0JBQWdCLEVuRm5DaUIsT0FBeUM7RW1Gb0MxRSxLQUFLLEVuRmpPYyxJQUFJLEdtRm1PMUI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsZ0JBQWdCLEVuRm5OTyxPQUFPO0VtRm9OOUIsS0FBSyxFbkYzT2MsSUFBSTtFQ3FVRSxNQUFNLEVENU1iLEdBQUcsQ0M0TWlDLEtBQUssQ0FBQyxXQUFXLEdrRnhGMUU7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsaUJBQWlCLEFBQUEsTUFBTTtBQUN2QixpQkFBaUIsQUFBQSxNQUFNLENBQUM7RUFDcEIsZ0JBQWdCLEVuRmpEYSxPQUFxQztFbUZrRGxFLEtBQUssRW5GblBjLElBQUksR21GcVAxQjs7QUFFRCxzQkFBc0I7QUFDdEIsQUFBQSxpQkFBaUIsQUFBQSxPQUFPO0FBQ3hCLGlCQUFpQixBQUFBLFVBQVUsQ0FBQztFQUN4QixnQkFBZ0IsRW5GdkRjLE9BQXNDO0VtRndEcEUsS0FBSyxFbkYzUGMsSUFBSSxHbUY2UDFCOztBQUVEOzs7R0FHRztBQUVILEFBQUEsa0JBQWtCLEFBQUEsU0FBUztBQUMzQixrQkFBa0IsQUFBQSxTQUFTO0FBQzNCLG9CQUFvQixBQUFBLFNBQVM7QUFDN0IsaUJBQWlCLEFBQUEsU0FBUyxDQUFDO0VBQ3ZCLGdCQUFnQixFbkZuRVMsV0FBVztFbUZvRXBDLEtBQUssRW5GMU5ZLElBQUk7RUN5Uk0sWUFBWSxFRDdNM0IsT0FBTyxHbUZnSnRCOztBQUdEOzhFQUM4RTtBQUU5RSxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsT0FBTyxFQUFFLENBQUMsQ25GNVFRLElBQUk7RW1GNlF0QixXQUFXLEVuRi9HWSxJQUF5RDtFbUZnSGhGLFNBQVMsRW5GeE9ZLFFBQVEsR21GME9oQzs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsT0FBTyxFQUFFLENBQUMsQ25GNVBTLElBQUk7RW1GNlB2QixXQUFXLEVuRnBIWSxJQUF5RDtFbUZxSGhGLFNBQVMsRW5GL09ZLFFBQVEsR21GaVBoQzs7QUFHRDs4RUFDOEU7QUFFOUU7Ozs7R0FJRztBQUVILEFBQUEsZUFBZSxDQUFDO0VBQ1osT0FBTztFQUNQLE9BQU8sRUFBRSxDQUFDO0VBQ1YsV0FBVyxFbkZoT00sR0FBRztFbUZpT3BCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU87RUFDUCxLQUFLLEVuRnBUZSxJQUFJO0VDa1Z4QixRQUFRLEVBQUUsUUFBUSxHa0Y1QnJCO0VBUkQsQWxGc0NJLGVrRnRDVyxBbEZzQ1YsUUFBUSxDQUFDO0lBQ04sT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsQ0FBQztJQUNULElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxhQUFhLEVENU5DLEdBQUcsQ0M0TndCLEtBQUssQ0QxVjlCLElBQUk7SUMyVnBCLFVBQVUsRUFBRSxtQkFBbUIsR0FDbEM7O0FrRnBDTCxtQkFBbUI7QUFDbkIsQUFBQSxlQUFlLEFBQUEsTUFBTTtBQUNyQixlQUFlLEFBQUEsTUFBTSxDQUFDO0VBQ2xCLEtBQUssRW5GM1RlLElBQUksR21GNlQzQjtFQUpELEFsRndDSSxla0Z4Q1csQUFBQSxNQUFNLEFsRndDaEIsUUFBUTtFa0Z2Q2IsZUFBZSxBQUFBLE1BQU0sQWxGdUNoQixRQUFRLENBQUM7SUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFJOztBa0ZsQzVCLGNBQWM7QUFDZCxBQUFBLGVBQWUsQUFBQSxTQUFTLENBQUM7RUFDckIsS0FBSyxFbkY3UVksSUFBSSxHbUYrUXhCO0VBSEQsQWxGc0NJLGVrRnRDVyxBQUFBLFNBQVMsQWxGc0NuQixRQUFRLENBQUM7SUFBRSxPQUFPLEVBQUUsSUFBSSxHQUFJOztBa0ZqQ2pDOzs7O0dBSUc7QUFFSCxBQUFBLGVBQWUsQ0FBQztFQUNaLE9BQU87RUFDUCxPQUFPLEVBQUUsQ0FBQztFQUNWLFdBQVcsRW5GN1BNLEdBQUc7RW1GOFBwQixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPO0VBQ1AsS0FBSyxFbkY3UFcsT0FBTyxHbUYrUDFCOztBQUVELG1CQUFtQjtBQUNuQixBQUFBLGVBQWUsQUFBQSxNQUFNO0FBQ3JCLGVBQWUsQUFBQSxNQUFNLENBQUM7RUFDbEIsS0FBSyxFbkZqUWlCLE9BQU87RW1Ga1E3QixlQUFlLEVuRnRJaUIsU0FBUyxHbUZ1STVDOztBQUVELGNBQWM7QUFDZCxBQUFBLGVBQWUsQUFBQSxTQUFTLENBQUM7RUFDckIsS0FBSyxFbkYxU1ksSUFBSTtFbUYyU3JCLGVBQWUsRUFBRSxJQUFJLEdBQ3hCOztBQUdEOzhFQUM4RTtBQUU5RTs7OztHQUlHO0FBRUgsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLE9BQU87RUFDUCxPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPO0VBQ1AsY0FBYyxFQUFFLE1BQU07RUFDdEIsT0FBTztFQUNQLFFBQVEsRUFBRSxRQUFRLEdBQ3JCOztBbEZQRztrRkFDOEU7QUFFOUU7O09BRUc7QUFFSCxBQUFBLGdCQUFnQixHQUFHLFVBQVUsQUFBQSxVQUFXLENBQUEsR0FBRztBQUMzQyxnQkFBZ0IsR0FBRyxHQUFHLEFBQUEsVUFBVyxDQUFBLEdBQUcsRUFBRSxVQUFVLENBQUM7RUFBRSxXQUFXLEVEdFA1QyxJQUFHLEdDc1BzRTs7QUFFM0Y7Ozs7O09BS0c7QUFFSCxBQUFBLGdCQUFnQixDQUFDLFVBQVUsQUFBQSxNQUFNO0FBQ2pDLGdCQUFnQixDQUFDLFVBQVUsQUFBQSxNQUFNO0FBQ2pDLGdCQUFnQixDQUFDLFVBQVUsQUFBQSxPQUFPO0FBQ2xDLGdCQUFnQixDQUFDLFVBQVUsQUFBQSxVQUFVLENBQUM7RUFDbEMsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUMsR0FDYjs7QW1GdFhMOzs4RUFFOEU7QUFFOUU7Ozs7Ozs7R0FPRztBQUVILEFBQUEsWUFBWSxDQUFDO0VBQ1QsT0FBTztFQUNQLGNBQWMsRUFBRSxRQUFRO0VBQ3hCLE9BQU87RUFDUCxrQkFBa0IsRUFBRSxJQUFJO0VBQ3hCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLE9BQU87RUFDUCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTztFQUNQLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTztFQUNQLGdCQUFnQixFcEZ4Qk0sT0FBTztFb0Z5QjdCLE9BQU87RUFDUCxhQUFhLEVwRjdDRCxJQUFJO0VvRjhDaEIsTUFBTSxFcEZ1dkJRLElBQUk7RUNzL0JsQixhQUFhLEVEM3FCUSxLQUFLO0VDNHFCMUIsUUFBUSxFQUFFLE1BQU0sR21GNXVEbkI7O0FBRUQsb0NBQW9DO0FBQ3BDLEFBQUEsQ0FBQyxHQUFHLFlBQVksQ0FBQztFQUFFLFVBQVUsRXBGbkRiLElBQUksR29GbUR3Qzs7QUFFNUQ7O0dBRUc7QUFFSCxBQUFBLFlBQVksQUFBQSxjQUFjLENBQUM7RUFBRSxLQUFLLEVBQUUsV0FBVyxHQUFJOztBQUVuRDs7O0dBR0c7QUFFSCxBQUFBLFlBQVksQUFBQSxzQkFBc0IsQ0FBQztFQUNqQyxnQkFBZ0IsRXBGOUNRLE9BQU87RUN3d0Q3QixhQUFhLEVEM3FCUSxLQUFLO0VDNHFCMUIsUUFBUSxFQUFFLE1BQU0sR21GenREbkI7O0FBRUQsT0FBTztBQUNQLEFBQUEsWUFBWSxBQUFBLGNBQWMsQUFBQSxtQkFBbUIsQ0FBQztFQUFFLEtBQUssRUFBRSxDQUFDLEdBQUk7O0FBRTVEOzs7R0FHRztBQUVILEFBQUEsWUFBWSxBQUFBLHdCQUF3QixDQUFDO0VBQ2pDLGdCQUFnQixFcEZ0RFEsT0FBTztFb0Z1RC9CLFVBQVUsRUFBRSxlQUFlLEdBRTlCOztBQUVELEFBQUEsWUFBWSxBQUFBLG1CQUFtQixDQUFDO0VBQzVCLGdCQUFnQixFcEY1RFEsT0FBTyxHb0Y4RGxDOztBQUVELEFBQUEsWUFBWSxBQUFBLFVBQVUsQ0FBQztFQUNuQixnQkFBZ0IsRXBGakVRLE9BQU87RW9Ga0UvQixVQUFVLEVBQUUsZUFBZTtFQUMzQixPQUFPO0VBQ1AsTUFBTSxFQUFFLENBQUMsR0FFWjs7QUMvQ0Q7OzhFQUU4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsV0FBVyxDQUFDO0VBQ1IsT0FBTyxFQUFFLFNBQVM7RUFDbEIsVUFBVSxFQUFFLFVBQVU7RUFBRSxPQUFPO0VBQy9CLFdBQVcsRXJGcURRLElBQUk7RXFGcER2QixjQUFjLEVyRm9ESyxJQUFJLEdxRmxEMUI7O0FBRUQsd0JBQXdCO0FBQ3hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQVR4QixBQUFBLFdBQVcsQ0FXSztJQUNSLFdBQVcsRXJGbkJHLElBQUk7SXFGb0JsQixjQUFjLEVyRnBCQSxJQUFJLEdxRnFCckI7O0FBSUw7O0dBRUc7QUFFSCxBQUFBLFdBQVcsR0FBRyxXQUFXLENBQUM7RUFBRSxhQUFhLEVBQUUsQ0FBQyxHQUFJOztBQUdoRDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsV0FBVyxFckZ4RkMsSUFBSTtFcUZ5RmhCLGNBQWMsRXJGekZGLElBQUksR3FGMEZuQjs7QUFFRDs7R0FFRztBQUVILEFBQUEsaUJBQWlCLENBQUM7RUFDZCxXQUFXLEVyRmNRLElBQUk7RXFGYnZCLGNBQWMsRXJGYUssSUFBSSxHcUZaMUI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsV0FBVyxFckYxRE8sSUFBSTtFcUYyRHRCLGNBQWMsRXJGM0RJLElBQUksR3FGNER6Qjs7QUFFRCxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBTnhCLEFBQUEsaUJBQWlCLENBUUs7SUFDZCxXQUFXLEVyRnNmSSxLQUFLO0lxRnJmcEIsY0FBYyxFckZxZkMsS0FBSyxHcUZwZnZCOztBQUtMOztHQUVHO0FBRUgsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLFdBQVcsRXJGMGVRLEtBQUs7RXFGemV4QixjQUFjLEVyRnllSyxLQUFLLEdxRnhlM0I7O0FBRUQsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQU54QixBQUFBLGtCQUFrQixDQVFLO0lBQ2YsV0FBVyxFckZ3c0JpQixLQUE4QztJcUZ2c0IxRSxjQUFjLEVyRnVzQmMsS0FBOEMsR3FGdHNCN0U7O0FBS0w7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxtQkFBbUIsQ0FBQztFQUNoQixVQUFVLEVyRnhGTSxJQUFJLEdxRjBGdkI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsVUFBVSxFckYzSVksT0FBTyxHcUY2SWhDOztBQUVEOztHQUVHO0FBRUgsQUFBQSxtQkFBbUIsQ0FBQztFQUNoQixVQUFVLEVyRi9JYyxPQUFPLEdxRmlKbEM7O0FBTUQ7O0dBRUc7QUFFSCxBQUFBLHFCQUFxQixDQUFDO0VBQ2xCLFVBQVUsRXJGbkhnQixJQUFJLEdxRnFIakM7O0FBTUQ7OEVBQzhFO0FBRTlFOzs7R0FHRztBQ3BLSDs7OEVBRThFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEsYUFBYSxDQUFDO0VBQ1YsT0FBTyxFQUFFLFNBQVM7RUFDbEIsT0FBTztFQUNQLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLFNBQVMsRXRGb1FTLE1BQU07RXNGblF4QixXQUFXLEVBQUUsSUFBSTtFQUNqQixZQUFZLEVBQUUsSUFBSTtFQUNsQixZQUFZLEV0RnNRZSxJQUFJO0VzRnJRL0IsYUFBYSxFdEZxUWMsSUFBSSxHc0ZwUWxDOztBQUVELGdDQUFnQztBQUNoQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFaeEIsQUFBQSxhQUFhLENBY0s7SUFDVixZQUFZLEV0RmxCSixJQUFJO0lzRm1CWixhQUFhLEV0Rm5CTCxJQUFJLEdzRm9CZjs7QUFJTCxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBdEJ4QixBQUFBLGFBQWEsQ0F3Qks7SUFDVixZQUFZLEV0RnpCRyxJQUFJO0lzRjBCbkIsYUFBYSxFdEYxQkUsSUFBSSxHc0YyQnRCOztBQUlMOztHQUVHO0FBRUgsQUFBQSxhQUFhLEdBQUcsV0FBVyxDQUFDO0VBQUUsYUFBYSxFQUFFLENBQUMsR0FBSTs7QUFFbEQ7O0dBRUc7QUFFSCxBQUFBLGFBQWEsQ0FBQyxhQUFhLENBQUM7RUFDeEIsWUFBWSxFQUFFLENBQUM7RUFDZixhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLFNBQVMsRXRGdU5ILEtBQUssR3NGdk4rQjs7QUFFakUsQUFBQSxtQkFBbUIsQ0FBQztFQUFFLFNBQVMsRXRGc05ILEtBQUssR3NGdE44Qjs7QUFFL0QsQUFBQSxtQkFBbUIsQ0FBQztFQUFFLFNBQVMsRXRGcU5ILE1BQU0sR3NGck42Qjs7QUFFL0QsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLFNBQVMsRXRGb05ILE1BQU0sR3NGcE44Qjs7QUFFakUsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUk7O0FBRzFDOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEseUJBQXlCLENBQUM7RUFBRSxXQUFXLEVBQUUsQ0FBQyxHQUFJOztBQUM5QyxBQUFBLDBCQUEwQixDQUFDO0VBQUUsWUFBWSxFQUFFLENBQUMsR0FBSTs7QUFFaEQsZ0NBQWdDO0FBQ2hDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLHlCQUF5QixBQUFBLG9CQUFvQjtFQUM3QywwQkFBMEIsQUFBQSxvQkFBb0IsQ0FBQztJQUFFLFNBQVMsRUFBRSw4QkFBZ0csR0FBSTtFQUVoSyxBQUFBLHlCQUF5QixBQUFBLG1CQUFtQjtFQUM1QywwQkFBMEIsQUFBQSxtQkFBbUIsQ0FBQztJQUFFLFNBQVMsRUFBRSw4QkFBK0YsR0FBSTs7QUFJbEssaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLHlCQUF5QjtFQUN6QiwwQkFBMEIsQ0FBQztJQUFFLFNBQVMsRUFBRSwrQkFBeUYsR0FBSTtFQVpySSxBQUFBLHlCQUF5QixBQUFBLG9CQUFvQjtFQUM3QywwQkFBMEIsQUFBQSxvQkFBb0IsQ0FjQztJQUFFLFNBQVMsRUFBRSw4QkFBZ0csR0FBSTtFQVpoSyxBQUFBLHlCQUF5QixBQUFBLG1CQUFtQjtFQUM1QywwQkFBMEIsQUFBQSxtQkFBbUIsQ0FjQztJQUFFLFNBQVMsRUFBRSw4QkFBK0YsR0FBSTtFQUU5SixBQUFBLHlCQUF5QixBQUFBLG1CQUFtQjtFQUM1QywwQkFBMEIsQUFBQSxtQkFBbUIsQ0FBQztJQUFFLFNBQVMsRUFBRSwrQkFBK0YsR0FBSTtFQUU5SixBQUFBLHlCQUF5QixBQUFBLG9CQUFvQjtFQUM3QywwQkFBMEIsQUFBQSxvQkFBb0IsQ0FBQztJQUFFLFNBQVMsRUFBRSwrQkFBZ0csR0FBSTs7QUFLcEs7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEsc0NBQXNDO0FBQ3RDLHVDQUF1QyxDQUFDO0VBQUUsS0FBSyxFQUFFLGlCQUF3RCxHQUFHOztBQUU1RyxBQUFBLHNDQUFzQyxDQUFDO0VBQUUsV0FBVyxFdEYySnJCLEtBQUksR3NGM0p1RDs7QUFDMUYsQUFBQSx1Q0FBdUMsQ0FBQztFQUFFLFlBQVksRXRGMEp2QixLQUFJLEdzRjFKeUQ7O0FBRTVGLGdDQUFnQztBQUNoQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFQeEIsQUFBQSxzQ0FBc0M7RUFDdEMsdUNBQXVDLENBU0s7SUFBRSxLQUFLLEVBQUUsaUJBQTBELEdBQUc7RUFQbEgsQUFBQSxzQ0FBc0MsQ0FTSztJQUFFLFdBQVcsRXRGOUh4QyxLQUFJLEdzRjhINEU7RUFSaEcsQUFBQSx1Q0FBdUMsQ0FTSztJQUFFLFlBQVksRXRGL0gxQyxLQUFJLEdzRitIOEU7O0FBSWxHLGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFsQnhCLEFBQUEsc0NBQXNDO0VBQ3RDLHVDQUF1QyxDQW9CSztJQUFFLEtBQUssRUFBRSxpQkFBMEQsR0FBRztFQWxCbEgsQUFBQSxzQ0FBc0MsQ0FvQks7SUFBRSxXQUFXLEV0RnRJakMsS0FBSSxHc0ZzSXFFO0VBbkJoRyxBQUFBLHVDQUF1QyxDQW9CSztJQUFFLFlBQVksRXRGdkluQyxLQUFJLEdzRnVJdUU7O0FDN0hsRzs7OEVBRThFO0FBRTlFLEFBQUEsUUFBUSxDQUFDO0VBQ0wsT0FBTyxFQUFFLFNBQVM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsVUFBVSxFQUFFLFVBQVU7RUFDdEIsWUFBWSxFdkZxNUJVLElBQUk7RXVGcDVCMUIsYUFBYSxFdkZvNUJTLElBQUk7RXVGbjVCMUIsV0FBVyxFdkZvRFEsSUFBSTtFdUZuRHZCLGNBQWMsRXZGbURLLElBQUksR3VGakQxQjs7QUFFRCxnQ0FBZ0M7QUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBWnhCLEFBQUEsUUFBUSxDQWNLO0lBQ0wsWUFBWSxFdkZoQ0osSUFBSTtJdUZpQ1osYUFBYSxFdkZqQ0wsSUFBSSxHdUZrQ2Y7O0FBSUwsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQXRCeEIsQUFBQSxRQUFRLENBd0JLO0lBQ0wsWUFBWSxFdkZ2Q0csSUFBSTtJdUZ3Q25CLGFBQWEsRXZGeENFLElBQUk7SXVGeUNuQixXQUFXLEV2RmhDRyxJQUFJO0l1RmlDbEIsY0FBYyxFdkZqQ0EsSUFBSSxHdUZrQ3JCOztBQUlMOztHQUVHO0FBRUgsQUFBQSxRQUFRLEdBQUcsV0FBVyxDQUFDO0VBQUUsYUFBYSxFQUFFLENBQUMsR0FBSTs7QUFHN0M7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxlQUFlLENBQUM7RUFDWixXQUFXLEV2RnJHQyxJQUFJO0V1RnNHaEIsY0FBYyxFdkZ0R0YsSUFBSSxHdUZ1R25COztBQUVEOztHQUVHO0FBRUgsQUFBQSxjQUFjLENBQUM7RUFDWCxXQUFXLEV2RkNRLElBQUk7RXVGQXZCLGNBQWMsRXZGQUssSUFBSSxHdUZDMUI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGNBQWMsQ0FBQztFQUNYLFdBQVcsRXZGdkVPLElBQUk7RXVGd0V0QixjQUFjLEV2RnhFSSxJQUFJLEd1RnlFekI7O0FBRUQsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQU54QixBQUFBLGNBQWMsQ0FRSztJQUNYLFdBQVcsRXZGeWVJLEtBQUs7SXVGeGVwQixjQUFjLEV2RndlQyxLQUFLLEd1RnZldkI7O0FBS0w7O0dBRUc7QUFFSCxBQUFBLGVBQWUsQ0FBQztFQUNaLFdBQVcsRXZGNmRRLEtBQUs7RXVGNWR4QixjQUFjLEV2RjRkSyxLQUFLLEd1RjNkM0I7O0FBRUQsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQU54QixBQUFBLGVBQWUsQ0FRSztJQUNaLFdBQVcsRXZGcTBCYyxLQUE4QztJdUZwMEJ2RSxjQUFjLEV2Rm8wQlcsS0FBOEMsR3VGbjBCMUU7O0FBS0w7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLFVBQVUsRXZGckdNLElBQUksR3VGdUd2Qjs7QUFFRDs7R0FFRztBQUVILEFBQUEsY0FBYyxDQUFDO0VBQ1gsVUFBVSxFdkZ4SlksT0FBTyxHdUYwSmhDOztBQUVEOztHQUVHO0FBRUgsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLFVBQVUsRXZGNUpjLE9BQU8sR3VGOEpsQzs7QUFNRDs7R0FFRztBQUVILEFBQUEsa0JBQWtCLENBQUM7RUFDZixVQUFVLEV2RmhJZ0IsSUFBSSxHdUZrSWpDOztBQzlHRDs7OEVBRThFO0FBRTlFLEFBQUEsUUFBUSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsVUFBVSxFQUFFLFVBQVU7RXpGeEV4QixLQUFLLEVBakJxQixPQUFPLEd5RjJGbEM7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsYUFBYSxDQUFDO0VBQ1YsT0FBTyxFQUFFLFNBQVM7RUFDbEIsT0FBTyxFeEZqRUssSUFBSSxDQUFKLElBQUksR3dGbUVuQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNaLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLE9BQU8sRXhGMklvQixJQUF5QixDQWxOeEMsSUFBSSxHd0Z5RW5COztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ1osT0FBTyxFQUFFLFNBQVM7RUFDbEIsT0FBTyxFeEZ5SW9CLElBQW9CLENBdE5uQyxJQUFJLEd3RitFbkI7O0FBRUQsd0JBQXdCO0FBQ3hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQW5CekIsQUFBQSxhQUFhLENBcUJLO0lBQUUsT0FBTyxFeEZqRkosSUFBSSxDQUFKLElBQUksR3dGaUZtRTtFQWY5RixBQUFBLGVBQWUsQ0FpQks7SUFBRSxPQUFPLEV4RjhISSxJQUFnQyxDQWpOMUMsSUFBSSxHd0ZtRnlFO0VBWHBHLEFBQUEsZUFBZSxDQWFLO0lBQUUsT0FBTyxFeEZnSUksSUFBZ0MsQ0FyTjFDLElBQUksR3dGcUZ5RTs7QUFJcEc7O0dBRUc7QUFFSCxBQUFBLGFBQWEsR0FBRyxXQUFXO0FBQzNCLGVBQWUsR0FBRyxXQUFXO0FBQzdCLGVBQWUsR0FBRyxXQUFXLENBQUM7RUFBRSxhQUFhLEVBQUUsQ0FBQyxHQUFJOztBQUdwRDs4RUFDOEU7QUFFOUU7OztHQUdHO0FBeUJIOzhFQUM4RTtBQUU5RSxBQUFBLGNBQWMsQ0FBQztFQUNYLFNBQVMsRXhGcERZLE1BQU07RXdGcUQzQixXQUFXLEV4RmlGVSxHQUFHLEd3Ri9FM0I7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsY0FBYyxDQUFDO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFeEZuSlMsSUFBSTtFd0ZvSmhCLEtBQUssRXhGcEpPLElBQUk7RXdGcUpoQixPQUFPLEVBQUUsQ0FBQyxHQUViOztBQUVEOztHQUVHO0FBRUgsQUFBQSxjQUFjLEFBQUEsWUFBWSxHQUFHLENBQUMsQ0FBQztFQUFFLFVBQVUsRUFBRSxDQUFDLEdBQUk7O0FBR2xEOzhFQUM4RTtBQUU5RSxBQUFBLGNBQWMsQUFBQSxJQUFLLENBQUEsZ0JBQWdCLENBQUMsSUFBSyxDQUFBLGdCQUFnQixDQUFDLElBQUssQ0FBQSxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7RUFDckYsVUFBVSxFeEYzSU0sSUFBSTtFQ29kRSxVQUFVLEVEaWdCVixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBZ0IsR3dGeDBCckQ7O0FBR0Q7OEVBQzhFO0FBRTlFOzs7R0FHRztBQVpnQixBQUFMLGdCQUFxQixDQWNsQjtFQUNiLFVBQVUsRXhGekpNLElBQUk7RXdGMEpwQixLQUFLLEV4RmhOTSxJQUFJO0VDMmdCUyxVQUFVLEVEK2ZYLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFnQixHd0Z4ekJyRDs7QUFFRCxBQUFBLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztFQUM1QixLQUFLLEV4RnZOZSxJQUFJLEd3RnlOM0I7O0FBRUQsQUFBQSxnQkFBZ0IsQUFBQSxjQUFjLEFBQUEsTUFBTSxDQUFDO0VBQ2pDLGdCQUFnQixFeEZwS0EsSUFBSTtFQ3VkVSxVQUFVLEVEOGZsQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBZ0IsR3dGL3lCckQ7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7RXZGZ1RFLGFBQWEsRURsWjFCLEdBQUcsQ0NrWjJELEtBQUssQ0RoWnpFLE9BQU8sR3dGa0d0Qjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztFdkY2U0UsVUFBVSxFRG5adkIsR0FBRyxDQ21aeUQsS0FBSyxDRGpadkUsT0FBTyxHd0ZzR3RCOztBQUVEOztHQUVHO0FBeENzQyxBQUFMLGdCQUFxQixDQTBDeEM7RUFDYixVQUFVLEV4RjFOYyxPQUFPO0V3RjJOL0IsS0FBSyxFeEZ6T2MsSUFBSTtFQzZnQkMsVUFBVSxFRDBmWCxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBZ0IsR3dGNXhCckQ7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7RUFDNUIsS0FBSyxFeEY5T2MsSUFBSSxHd0ZnUDFCOztBQUVELEFBQUEsZ0JBQWdCLEFBQUEsY0FBYyxBQUFBLE1BQU0sQ0FBQztFQUNqQyxnQkFBZ0IsRXhGck9RLE9BQU87RUNpZ0JELFVBQVUsRUR5ZmxCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFnQixHd0ZueEJyRDs7QUFRRDs7R0FFRztBQWxFNEQsQUFBTCxrQkFBdUIsQ0FvRTlEO0VBQ2YsVUFBVSxFeEYzTWdCLElBQUk7RXdGNE05QixLQUFLLEV4Rm5RYyxJQUFJO0VDZ2hCRyxVQUFVLEVEdWZiLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFnQixHd0Zsd0JyRDs7QUFFRCxBQUFBLGtCQUFrQixDQUFDLGNBQWMsQ0FBQztFQUM5QixLQUFLLEV4RnhRYyxJQUFJLEd3RjBRMUI7O0FBRUQsQUFBQSxrQkFBa0IsQUFBQSxjQUFjLEFBQUEsTUFBTSxDQUFDO0VBQ25DLGdCQUFnQixFeEZ0TlUsSUFBSTtFQzJkRSxVQUFVLEVEc2ZwQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBZ0IsR3dGenZCckQ7O0FBU0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxjQUFjLEFBQUEsYUFBYTtBQUMzQixjQUFjLENBQUMsYUFBYSxDQUFDO0VBQUUsT0FBTyxFeEYxU3RCLElBQUksQ0FBSixJQUFJLEd3RjBTNkY7O0FBRWpILEFBQUEsY0FBYyxDQUFDLGVBQWUsQ0FBQztFQUFFLE9BQU8sRXhGekJILElBQTJCLENBblJoRCxJQUFJLEd3RjRTbUc7O0FBQ3ZILEFBQUEsY0FBYyxDQUFDLGVBQWUsQ0FBQztFQUFFLE9BQU8sRXhGeEJILElBQTJCLENBclJoRCxJQUFJLEd3RjZTbUc7O0FBRXZIOztHQUVHO0FBRUgsd0JBQXdCO0FBQ3hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUFBLGNBQWMsQUFBQSxhQUFhO0VBQzNCLGNBQWMsQ0FBQyxhQUFhLENBQUM7SUFBRSxPQUFPLEV4RmpDcEIsSUFBSSxDQUFKLElBQUksR3dGaUMrRjtFQUVySCxBQUFBLGNBQWMsQ0FBQyxlQUFlLENBQUM7SUFBRSxPQUFPLEV4Ri9CTCxJQUErQixDQUpoRCxJQUFJLEd3Rm1DcUc7RUFDM0gsQUFBQSxjQUFjLENBQUMsZUFBZSxDQUFDO0lBQUUsT0FBTyxFeEY5QkwsSUFBK0IsQ0FOaEQsSUFBSSxHd0ZvQ3FHOztBdkZxTzNIOztPQUVHO0FBRUgsQUFBQSxhQUFhLEdBQUcsZUFBZSxDQUFDO0VBQzVCLFdBQVcsRURoZ0JILEtBQUk7RUNpZ0JaLFlBQVksRURqZ0JKLEtBQUksR0NrZ0JmOztBQUNELEFBQUEsYUFBYSxHQUFHLGVBQWUsQUFBQSxXQUFXLENBQUM7RUFDdkMsVUFBVSxFQUFFLEtBQXFDO0VBQ2pELGFBQWEsRUFBRSxLQUFxQyxHQUN2RDs7QUFFRCxBQUFBLGFBQWEsR0FBRyxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDeEMsYUFBYSxHQUFHLGVBQWUsQ0FBQyxjQUFjO0FBQzlDLGFBQWEsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDO0VBQzVDLFlBQVksRUQzZ0JKLElBQUk7RUM0Z0JaLGFBQWEsRUQ1Z0JMLElBQUksR0M2Z0JmOztBQUVELEFBQUEsYUFBYSxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUM7RUFBRSxZQUFZLEVBQUUsSUFBZ0UsR0FBSTs7QUFHaEksd0JBQXdCO0FBQ3hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQXBCekIsQUFBQSxhQUFhLEdBQUcsZUFBZSxDQXNCSztJQUM1QixXQUFXLEVEbmhCQSxLQUFJO0lDb2hCZixZQUFZLEVEcGhCRCxLQUFJLEdDcWhCbEI7RUFyQkwsQUFBQSxhQUFhLEdBQUcsZUFBZSxBQUFBLFdBQVcsQ0FzQks7SUFDdkMsVUFBVSxFQUFFLEtBQXVDO0lBQ25ELGFBQWEsRUFBRSxLQUF1QyxHQUN6RDtFQXBCTCxBQUFBLGFBQWEsR0FBRyxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUM7RUFDeEMsYUFBYSxHQUFHLGVBQWUsQ0FBQyxjQUFjO0VBQzlDLGFBQWEsR0FBRyxlQUFlLENBQUMsZUFBZSxDQXNCSztJQUM1QyxZQUFZLEVEOWhCRCxJQUFJO0lDK2hCZixhQUFhLEVEL2hCRixJQUFJLEdDZ2lCbEI7RUFwQkwsQUFBQSxhQUFhLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FzQks7SUFBRSxZQUFZLEVBQUUsSUFBa0UsR0FBSTs7QUFJdEk7O09BRUc7QUFFSCxBQUFBLGNBQWMsR0FBRyxlQUFlLENBQUM7RUFDN0IsV0FBVyxFRGxsQkgsS0FBSTtFQ21sQlosWUFBWSxFRG5sQkosS0FBSSxHQ29sQmY7O0FBQ0QsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFdBQVcsQ0FBQztFQUN4QyxVQUFVLEVBQUUsSUFBMkM7RUFDdkQsYUFBYSxFQUFFLElBQTJDLEdBQzdEOztBQUVELEFBQUEsY0FBYyxHQUFHLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUN6QyxjQUFjLEdBQUcsZUFBZSxDQUFDLGNBQWM7QUFDL0MsY0FBYyxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7RUFDN0MsWUFBWSxFRDdsQkosSUFBSTtFQzhsQlosYUFBYSxFRDlsQkwsSUFBSSxHQytsQmY7O0FBRUQsQUFBQSxjQUFjLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQztFQUFFLFlBQVksRUFBRSxJQUFzRSxHQUFJOztBQUV2STs7T0FFRztBQUVILHdCQUF3QjtBQUN4QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsQUFBQSxjQUFjLEdBQUcsZUFBZSxDQUFDO0lBQUUsTUFBTSxFQUFFLENBQUMsR0FBSTtFQUNoRCxBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsV0FBVyxDQUFDO0lBQUUsTUFBTSxFQUFFLENBQUMsR0FBSTtFQUUzRCxBQUFBLGNBQWMsR0FBRyxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUM7RUFDekMsY0FBYyxHQUFHLGVBQWUsQ0FBQyxjQUFjO0VBQy9DLGNBQWMsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDO0lBQzdDLFlBQVksRUFBRSxDQUFDO0lBQ2YsYUFBYSxFQUFFLENBQUMsR0FDbkI7RUFFRCxBQUFBLGNBQWMsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO0lBQUUsWUFBWSxFRDJCakMsSUFBSSxHQzNCbUU7O0F3RnJtQnpHOzs4RUFFOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLFNBQVMsQ0FBQztFQUNOLEtBQUssRXpGaUNZLElBQUk7RUNpa0JyQixVQUFVLEVBQUUsZ0JBQWdCO0VBQzVCLG1CQUFtQixFQUFFLGNBQWMsR3dGam1CdEM7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsU0FBUyxBQUFBLE1BQU07QUFDZixTQUFTLEFBQUEsTUFBTSxDQUFDO0VBQ1osS0FBSyxFekZ4Qk0sSUFBSTtFeUZ5QmYsT0FBTyxFQUFFLElBQUksR0FFaEI7O0FDaEJEOzs4RUFFOEU7QUFFOUU7O0dBRUc7QUFPSDs4RUFDOEU7QUFFOUUsQUFBQSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0VBQUUsU0FBUyxFQUFFLGlCQUFpQixDMUZ3MEIzQixJQUFJLEMwRngwQjBDLE1BQU0sQ0FBQyxRQUFRLEdBQUk7O0FBRXBGLFVBQVUsQ0FBVixpQkFBVTtFQUNOLEVBQUU7SUFBRyxTQUFTLEVBQUUsWUFBWTtFQUM1QixJQUFJO0lBQUcsU0FBUyxFQUFFLGNBQWM7O0FBR3BDOztHQUVHO0FBRUgsQUFBQSxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNoQixnQkFBZ0IsRTFGMnpCSSxJQUFrQztFMEYxekJ0RCxpQkFBaUIsRUFBRSxDQUFDO0VBQ3BCLGdCQUFnQixFQUFFLE1BQU07RUFDeEIsU0FBUyxFQUFFLGVBQWUsQzFGeXpCWCxJQUFJLEMwRnp6QjBCLFdBQVcsQ0FBQyxRQUFRO0VBQ2pFLFlBQVksRTFGcXpCTyxDQUFDO0UwRnB6QnBCLGNBQWMsRUFBRSxLQUFLLEdBQ3hCOztBQUVELFVBQVUsQ0FBVixlQUFVO0VBQ04sRUFBRTtJQUFHLGlCQUFpQixFMUZrekJGLElBQWtDO0UwRmp6QnRELEdBQUc7SUFDQyxpQkFBaUIsRUFBRSxJQUF3QjtJQUMzQyxTQUFTLEVBQUMsY0FBYztFQUU1QixJQUFJO0lBQ0EsaUJBQWlCLEUxRjR5QkQsSUFBa0M7STBGM3lCbEQsU0FBUyxFQUFDLGNBQWM7O0FDM0NoQzs7OEVBRThFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxTQUFTLENBQUM7RUFDTixPQUFPLEUzRjQ4QkssR0FBRztFMkYzOEJmLEtBQUssRTNGNEJZLElBQUk7RUNxZ0VKLFVBQVUsRUFBRSxzQkFBc0IsRzBGL2hFdEQ7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsU0FBUyxBQUFBLE1BQU07QUFDZixTQUFTLEFBQUEsTUFBTSxDQUFDO0VBQ1osS0FBSyxFM0Y3Qk0sSUFBSTtFMkY4QmYsT0FBTyxFQUFFLElBQUksR0FFaEI7O0FBRUQsYUFBYTtBQUNiLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNiLEtBQUssRTNGdENlLElBQUksRzJGd0MzQjs7QUMzQkQ7OzhFQUU4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsVUFBVSxDQUFDO0VBQ1AsT0FBTyxFNUYra0JNLEdBQUc7RTRGOWtCaEIsVUFBVSxFNUZxQ2dCLElBQUk7RTRGcEM5QixLQUFLLEU1Rm5CYyxJQUFJO0VDZ21EdkIsYUFBYSxFQUFFLEtBQUssRzJGM2tEdkI7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsVUFBVSxBQUFBLE1BQU07QUFDaEIsVUFBVSxBQUFBLE1BQU0sQ0FBQztFQUNiLEtBQUssRTVGMUJjLElBQUk7RTRGMkJ2QixPQUFPLEVBQUUsSUFBSSxHQUVoQjs7QUNDRDs7OEVBRThFO0FBRTlFLEFBQUEsU0FBUyxDQUFDO0VBQ04sUUFBUSxFQUFFLFFBQVE7RUFDbEIsYUFBYSxFN0Y5Q0QsSUFBSTtFNkYrQ2hCLE9BQU8sRTdGL0JXLElBQUksQ0FFSixJQUFxQixDQUZyQixJQUFJLENBQUosSUFBSTtFNkZnQ3RCLFVBQVUsRTdGN0JZLE9BQU87RTZGOEI3QixLQUFLLEU3RjFDTSxJQUFJLEc2RjRDbEI7O0FBRUQsb0NBQW9DO0FBQ3BDLEFBQUEsQ0FBQyxHQUFHLFNBQVMsQ0FBQztFQUFFLFVBQVUsRTdGdERWLElBQUksRzZGc0RrQzs7QUFFdEQ7O0dBRUc7QUFFSCxBQUFBLFNBQVMsR0FBRyxXQUFXLENBQUM7RUFBRSxhQUFhLEVBQUUsQ0FBQyxHQUFJOztBQUc5Qzs7OEVBRThFO0FBRTlFLEFBQUEsZUFBZSxDQUFDO0VBQ1osUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFN0YvQ1csSUFBb0I7RTZGZ0RsQyxLQUFLLEU3RnREYSxJQUFJO0VDbUJ0QixLQUFLLEVBQUUsT0FBTztFQUNkLE9BQU8sRUR5L0JXLEdBQUcsRzZGcjlCeEI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGVBQWUsQUFBQSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0VBQUUsVUFBVSxFQUFFLENBQUMsR0FBSTs7QUFFbkQ7O0dBRUc7QUFFSCxBQUFBLGVBQWUsQUFBQSxNQUFNO0FBQ3JCLGVBQWUsQUFBQSxNQUFNLENBQUM7RTVGOUNsQixLQUFLLEVBQUUsT0FBTztFQUNkLE9BQU8sRURzL0JpQixHQUFHLEc2RnY4QjlCOztBQUdEOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsaUJBQWlCLENBQUM7RUFDZCxVQUFVLEU3RnpFYSxPQUF5RDtFNkYwRWhGLEtBQUssRTdGM0VtQixPQUFPLEc2RjZFbEM7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsVUFBVSxFN0ZoRmEsT0FBeUQ7RTZGaUZoRixLQUFLLEU3RmxGbUIsT0FBTyxHNkZvRmxDOztBQUVEOztHQUVHO0FBRUgsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFVBQVUsRTdGdkZhLE9BQXlEO0U2RndGaEYsS0FBSyxFN0Z6Rm1CLE9BQU8sRzZGMkZsQzs7QUFFRDs7R0FFRztBQUVILEFBQUEsZ0JBQWdCLENBQUM7RUFDYixVQUFVLEU3RjlGWSxPQUF3RDtFNkYrRjlFLEtBQUssRTdGaEdrQixPQUFPLEc2RmtHakM7O0E1Rm5GRzs7T0FFRztBQUVILEFBQUEsU0FBUyxDQUFDLEVBQUU7QUFDWixTQUFTLENBQUMsRUFBRTtBQUNaLFNBQVMsQ0FBQyxFQUFFO0FBQ1osU0FBUyxDQUFDLEVBQUU7QUFDWixTQUFTLENBQUMsRUFBRTtBQUNaLFNBQVMsQ0FBQyxFQUFFLENBQUM7RUFBRSxLQUFLLEVBQUUsT0FBTyxHQUFJOztBQUVqQyxBQUFBLFNBQVMsQ0FBQyxDQUFDLEFBQUEsSUFBSyxFQUFBLEFBQUEsS0FBQyxBQUFBLEdBQVE7RUFDckIsS0FBSyxFQUFFLE9BQU87RUFDZCxlQUFlLEVBQUUsU0FBUyxHQUM3Qjs7QUFFRCxBQUFBLFNBQVMsQ0FBQyxDQUFDLEFBQUEsSUFBSyxFQUxBLEFBQUEsS0FBQyxBQUFBLEVBS08sTUFBTSxDQUFDO0VBQzNCLEtBQUssRUFBRSxPQUFPO0VBQ2QsZUFBZSxFQUFFLFNBQVMsR0FDN0I7O0E2RmxETDs7OEVBRThFO0FBRTlFLEFBQUEsZUFBZSxDQUFDO0VBQ1osYUFBYSxFOUZ0QkQsSUFBSTtFOEZ1QmhCLE9BQU8sRTlGYUssSUFBSSxDQUFKLElBQUk7RThGWmhCLFVBQVUsRTlGd3dCVyxXQUFXO0VDcy9CVCxNQUFNLEVEbnBEWCxHQUFHLENDbXBEb0MsTUFBTSxDRGpwRG5ELE9BQU8sRzhGM0d0Qjs7QUFFRCxvQ0FBb0M7QUFDcEMsQUFBQSxDQUFDLEdBQUcsZUFBZSxDQUFDO0VBQUUsVUFBVSxFOUY3QmhCLElBQUksRzhGNkI4Qzs7QUFFbEU7O0dBRUc7QUFFSCxBQUFBLGVBQWUsR0FBRyxXQUFXLENBQUM7RUFBRSxhQUFhLEVBQUUsQ0FBQyxHQUFJOztBQ2JwRDs7OEVBRThFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEsU0FBUyxDQUFDO0VBQ04sVUFBVSxFQUFFLFVBQVU7RUFDdEIsU0FBUyxFL0ZrQ0EsSUFBSTtFK0ZqQ2IsTUFBTSxFL0ZpQ0csSUFBSTtFK0ZoQ2IsT0FBTyxFL0ZpQ2MsQ0FBQyxDQUNDLEdBQUc7RStGakMxQixhQUFhLEUvRmtDSyxLQUFLO0UrRmpDdkIsY0FBYyxFQUFFLE1BQU07RUFDdEIsT0FBTztFQUNQLFVBQVUsRS9GZmMsT0FBTztFK0ZnQi9CLEtBQUssRS9GOUJjLElBQUk7RStGK0J2QixTQUFTLEUvRmFZLFFBQVE7RStGWjdCLE9BQU87RUFDUCxPQUFPLEVBQUUsV0FBVztFQUNwQixlQUFlLEVBQUUsTUFBTTtFQUN2QixXQUFXLEVBQUUsTUFBTSxHQUV0Qjs7QUFFRDs7R0FFRztBQUVILEFBQUEsU0FBUyxBQUFBLE1BQU07QUFDZixTQUFTLEFBQUEsTUFBTSxDQUFDO0VBQ1osS0FBSyxFL0Y3Q2MsSUFBSTtFK0Y4Q3ZCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLE9BQU8sRUFBRSxJQUFJLEdBRWhCOztBQzdCRDs7OEVBRThFO0FBRTlFLEFBQUEsU0FBUyxDQUFDO0VBQ04sT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFaEcyZmMsQ0FBQyxDQXBaSixJQUFJO0VnR3RHdEIsVUFBVSxFaEdiYyxPQUFPO0VnR2MvQixXQUFXLEVoR2dETSxHQUFHO0VnRy9DcEIsU0FBUyxFaEdlWSxRQUFRO0VnR2Q3QixLQUFLLEVoRzlCYyxJQUFJO0VnRytCdkIsY0FBYyxFQUFFLE1BQU07RUFDdEIsV0FBVyxFQUFFLE1BQU07RS9Gb2dEbkIsYUFBYSxFRGpkSyxHQUFHO0VDa2RyQixjQUFjLEVEamRLLFNBQVMsR2dHbGpDL0I7O0FBR0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLGdCQUFnQixFaEc1QlEsT0FBTztFZ0c2Qi9CLEtBQUssRWhHOUNjLElBQUksR2dHZ0QxQjs7QUFFRDs7R0FFRztBQUVILEFBQUEsaUJBQWlCLENBQUM7RUFDZCxnQkFBZ0IsRWhHbkNRLE9BQU87RWdHb0MvQixLQUFLLEVoR3hEYyxJQUFJLEdnRzBEMUI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsZ0JBQWdCLEVoRzFDTyxPQUFPO0VnRzJDOUIsS0FBSyxFaEdsRWMsSUFBSSxHZ0dvRTFCOztBQ3JERDs7OEVBRThFO0FBRTlFLEFBQUEsV0FBVyxDQUFDO0VBQ1IsT0FBTyxFakdNSyxJQUFJLENBQUosSUFBSSxHaUdKbkI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLFdBQVcsR0FBRyxXQUFXLENBQUM7RUFBRSxhQUFhLEVBQUUsQ0FBQyxHQUFJOztBQUdoRDs4RUFDOEU7QUFPOUU7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxtQkFBbUIsQ0FBQztFQUNoQixVQUFVLEVqR0lNLHdCQUFJLEdpR0Z2Qjs7QUFFRDs7R0FFRztBQUVILEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsVUFBVSxFakdEZ0IscUJBQUksR2lHR2pDOztBQzNDRDs7OEVBRThFO0FBRTlFLEFBQUEsV0FBVyxDQUFDO0VBQ1IsT0FBTyxFQUFFLFNBQVMsR0FFckI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLFdBQVcsR0FBRyxXQUFXLENBQUM7RUFBRSxhQUFhLEVBQUUsQ0FBQyxHQUFJOztBQUdoRDs4RUFDOEU7QUFFOUUsQUFBQSxXQUFXLEdBQUcsV0FBVyxDQUFDO0VBQ3RCLFVBQVUsRWxHR1EsSUFBSSxHa0dEekI7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsaUJBQWlCLENBQUM7RUFDZCxTQUFTLEVsR0ZhLFVBQWlDO0VrR0d2RCxXQUFXLEVsR0ZhLEdBQUcsR2tHSTlCOztBQUVELGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFQeEIsQUFBQSxpQkFBaUIsQ0FTSztJQUFFLFNBQVMsRWxHWk4sUUFBUSxHa0dZOEI7O0FBS2pFOzhFQUM4RTtBQUU5RSxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsU0FBUyxFbEdqQlksUUFBUTtFa0drQjdCLFdBQVcsRWxHaEJZLEdBQUc7RWtHaUIxQixLQUFLLEVsR2hCWSxJQUFJLEdrR2tCeEI7RUFMRCxBakdPSSxnQmlHUFksQ2pHT1osQ0FBQyxDQUFDO0lBQUUsS0FBSyxFRHBCUSxJQUFJLEdDb0JrQjtFaUdQM0MsQWpHU0ksZ0JpR1RZLENqR1NaLENBQUMsQUFBQSxNQUFNLENBQUM7SUFDSixLQUFLLEVEekVFLElBQUk7SUMwRVgsZUFBZSxFQUFFLElBQUksR0FDeEI7O0FrR2hETDs7OEVBRThFO0FBTzlFOzhFQUM4RTtBQUU5RSxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsT0FBTyxFQUFFLFNBQVM7RUFDbEIsYUFBYSxFQUFFLFVBQVU7RUFDekIsU0FBUyxFQUFFLFVBQVUsR0FFeEI7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLGFBQWEsRW5HdkRELElBQUksR21HeURuQjs7QUFFRDs7R0FFRztBQUVILEFBQUEsZ0JBQWdCLEdBQUcsV0FBVztBQUM5QixrQkFBa0IsR0FBRyxXQUFXLENBQUM7RUFBRSxhQUFhLEVBQUUsQ0FBQyxHQUFJOztBQUd2RDs4RUFDOEU7QUFFOUUsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFNBQVMsRW5HckVhLE9BQU87RW1Hc0U3QixXQUFXLEVuR2dPYSxHQUFHLEdtRzlOOUI7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsZ0JBQWdCLENBQUM7RUFDYixTQUFTLEVuRzNCWSxRQUFRO0VtRzRCN0IsV0FBVyxFbkd3TlksR0FBRztFbUd2TjFCLEtBQUssRW5HMUJZLElBQUksR21HNEJ4Qjs7QUFHRDs4RUFDOEU7QUFPOUU7OEVBQzhFO0FBRTlFLEFBQUEsZ0JBQWdCLENBQUM7RUFDYixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUVELHVCQUF1QjtBQUN2QixBQUFBLGdCQUFnQixHQUFHLFVBQVcsQ0FBQSxHQUFHLEVBQUU7RUFDL0IsVUFBVSxFbkcxRFEsSUFBSSxHbUc0RHpCOztBQUVEOzs7R0FHRztBQUVILEFBQUEsZ0JBQWdCLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztFQUM5QixNQUFNLEVuR3BFWSxJQUFJLENtR29FVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDdEMsWUFBWSxFbkd3TFksSUFBSTtFbUd2TDVCLFVBQVUsRUFBRSxJQUFJLEdBRW5COztBQUVELHVCQUF1QjtBQUN2QixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFSeEIsQUFBQSxnQkFBZ0IsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQVVLO0lBQUUsWUFBWSxFbkdpTHRCLEtBQUssR21HakxtRDs7QUFJdEYsdUJBQXVCO0FBQ3ZCLEFBQUEsZ0JBQWdCLENBQUMsV0FBVyxHQUFHLEVBQUUsR0FBRyxVQUFXLENBQUEsR0FBRyxFQUFFO0VBQ2hELFVBQVUsRW5HbkZRLElBQUksR21HcUZ6Qjs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxtQkFBbUIsQ0FBQztFbEdvaEJoQixPQUFPLEVEM25CSyxJQUFJO0VDNG5CaEIsZ0JBQWdCLEVEN29CTSxPQUFPLEdtRzBIaEM7O0FDMUZEOzs4RUFFOEU7QUFFOUU7Ozs7O0dBS0c7QUFFSCxBQUFBLFVBQVUsQ0FBQztFQUNQLE9BQU87RUFDUCxPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTztFQUNQLFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTztFQUNQLE1BQU0sRUFBRSxDQUFDLEdBQ1o7O0FBR0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxnQkFBZ0IsQUFBQSw4QkFBOEI7QUFDOUMsZ0JBQWdCLEFBQUEsMkJBQTJCLENBQUM7RUFBRSxrQkFBa0IsRUFBRSxJQUFJLEdBQUk7O0FBRTFFOztHQUVHO0FBRUgsQUFBQSxnQkFBZ0IsQUFBQSxrQkFBa0IsQ0FBQztFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUk7O0FBRW5EOzs7Ozs7Ozs7O0dBVUc7QUFFSCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsT0FBTztFQUNQLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE9BQU87RUFDUCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU87RUFDUCxhQUFhLEVBQUUsQ0FBQztFQUNoQixPQUFPO0VBQ1AsSUFBSSxFQUFFLE9BQU87RUFDYixPQUFPO0VBQ1AsUUFBUSxFQUFFLE9BQU87RUFDakIsT0FBTztFQUNQLGtCQUFrQixFQUFFLElBQUk7RUFDeEIsT0FBTztFQUNQLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLE9BQU87RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU87RUFDUCxNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRXBHbEhNLElBQUksR29Hb0hsQjs7QUFFRCxBQUFBLGdCQUFnQixBQUFBLE1BQU0sQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUk7O0FBRTFDLGlCQUFpQjtBQUNqQixBQUFBLGdCQUFnQixBQUFBLHNCQUFzQixDQUFDO0VBQUUsS0FBSyxFcEd2RXpCLElBQUksQ29HdUVpRCxVQUFVLEdBQUk7O0FBQ3hGLEFBQUEsZ0JBQWdCLEFBQUEsYUFBYSxDQUFDO0VBQUUsS0FBSyxFcEd4RWhCLElBQUksR29Hd0UyQzs7QUFHcEU7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxlQUFlLEFBQUEsTUFBTSxDQUFDO0VBQUUsT0FBTyxFQUFFLElBQUksR0FBSTs7QUFFekM7Ozs7O0dBS0c7QUFFSCxBQUFBLFVBQVUsQ0FBQyxlQUFlLENBQUM7RUFDdkIsT0FBTztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQztFQUNQLE9BQU87RUFDUCxPQUFPLEVBQUUsV0FBVztFQUNwQixlQUFlLEVBQUUsTUFBTTtFQUN2QixXQUFXLEVBQUUsTUFBTTtFQUNuQixPQUFPO0VBQ1AsS0FBSyxFcEd0R1ksSUFBSSxHb0d1R3hCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxVQUFVLENBQUMsZUFBZSxBQUFBLE1BQU0sQ0FBQztFQUFFLEtBQUssRXBHN0duQixJQUFJLEdvRzZHdUM7O0FBRWhFOztHQUVHO0FBRUgsQUFBQSxVQUFVLENBQUMsZUFBZSxBQUFBLElBQUssQ2xCMmhCYixDQUFDLENrQjNoQmMsSUFBSyxDbEIyaEJiLE1BQU0sQ2tCM2hCYyxJQUFLLENsQjhGcEMsS0FBSyxFa0I5RnNDO0VBQUUsY0FBYyxFQUFFLElBQUksR0FBSTs7QUFFbkY7O0dBRUc7QUFFSCxBQUFBLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztFQUM1QixLQUFLLEVBQUUsQ0FBQztFQUNSLElBQUksRUFBRSxJQUFJLEdBQ2I7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsa0JBQWtCLENBQUM7RUFBRSxLQUFLLEVwR2luQkgsS0FBSyxHb0dqbkJ5Qjs7QUFFckQ7O0dBRUc7QUFFSCxBQUFBLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO0VBQ2hDLE1BQU0sRXBHeEJjLElBQUk7RW9HeUJ4QixZQUFZLEVwRzJtQm9CLEdBQUc7RW9HMW1CbkMsYUFBYSxFcEcwbUJtQixHQUFHO0VvR3ptQm5DLFVBQVUsRXBHMG1CYyxXQUFXO0VDay9CSCxNQUFNLEVEOXBEcEIsR0FBRyxDQzhwRGdELEtBQUssQ0Q1cEQ5RCxPQUFPLEdvR2tFdEI7O0FBRUQsV0FBVztBQUNYLEFBQUEsa0JBQWtCLENBQUMsZ0JBQWdCLEFBQUEsTUFBTSxDQUFDO0VBQ3RDLGdCQUFnQixFcEdvbUJRLFdBQVcsR29HbG1CdEM7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGtCQUFrQixDQUFDLGVBQWUsQ0FBQztFQUFFLEtBQUssRXBHekNsQixJQUFJLEdvR3lDOEM7O0FBRTFFLEFBQUEsa0JBQWtCLENBQUMsZUFBZSxBQUFBLElBQUssQ0FBQSxvQkFBb0IsSUFBSSxnQkFBZ0IsQ0FBQztFQUFFLFlBQVksRXBHM0N0RSxJQUFJLEdvRzJDb0c7O0FBQ2hJLEFBQUEsa0JBQWtCLENBQUMsb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUM7RUFBRSxhQUFhLEVwRzVDbEQsSUFBSSxHb0c0Q2dGOztBQUc1Rzs4RUFDOEU7QUFFOUUsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLEtBQUssRXBHc2xCSCxLQUFLLEdvR3RsQndCOztBQUVuRDs7R0FFRztBQUVILEFBQUEsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUM7RUFDL0IsTUFBTSxFcEdnbEJhLElBQUk7RW9HL2tCdkIsVUFBVSxFcEdnbEJhLFdBQVc7RW9HL2tCbEMsU0FBUyxFcEc3R1ksTUFBTSxHb0crRzlCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxpQkFBaUIsQ0FBQyxlQUFlLENBQUM7RUFBRSxLQUFLLEVwR3lrQmQsSUFBSSxHb0d6a0J5Qzs7QUFFeEUsQUFBQSxpQkFBaUIsQ0FBQyxlQUFlLEFBQUEsSUFBSyxDQTFCQyxvQkFBb0IsSUEwQkcsZ0JBQWdCLENBQUM7RUFBRSxZQUFZLEVwR3VrQmxFLElBQUksR29HdmtCK0Y7O0FBQzlILEFBQUEsaUJBQWlCLENBQUMsb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUM7RUFBRSxhQUFhLEVwR3NrQjlDLElBQUksR29HdGtCMkU7O0FBRzFHOzhFQUM4RTtBQUU5RSxBQUFBLGdCQUFnQixDQUFDO0VBQUUsS0FBSyxFcEdpa0JILEtBQUssR29HamtCdUI7O0FBRWpEOztHQUVHO0FBRUgsQUFBQSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztFQUM5QixNQUFNLEVwRzJqQlksSUFBSTtFb0cxakJ0QixVQUFVLEVwRzJqQlksV0FBVztFb0cxakJqQyxTQUFTLEVwRzdNYyxRQUFRLEdvRytNbEM7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztFQUFFLEtBQUssRXBHb2pCZCxJQUFJLEdvR3BqQndDOztBQUV0RSxBQUFBLGdCQUFnQixDQUFDLGVBQWUsQUFBQSxJQUFLLENBcERFLG9CQUFvQixJQW9ERSxnQkFBZ0IsQ0FBQztFQUFFLFlBQVksRXBHa2pCbEUsSUFBSSxHb0dsakI4Rjs7QUFDNUgsQUFBQSxnQkFBZ0IsQ0FBQyxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQztFQUFFLGFBQWEsRXBHaWpCOUMsSUFBSSxHb0dqakIwRTs7QUFHeEc7OEVBQzhFO0FBRTlFLEFBQUEsaUJBQWlCLENBQUM7RUFDZCxLQUFLLEVwR3hOWSxJQUFJLEdvRzBOeEI7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsaUJBQWlCLEFBQUEsTUFBTTtBQUN2QixpQkFBaUIsQUFBQSxNQUFNLENBQUM7RUFDcEIsS0FBSyxFcEdqUk0sSUFBSSxHb0dtUmxCOztBQ2hRRDs7OEVBRThFO0FBRTlFLEFBQUEsYUFBYSxDQUFDO0VBQ1YsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsSUFBSSxHQUVuQjs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxhQUFhLEdBQUcsVUFBVyxDQUFBLEdBQUcsRUFBRTtFQUM1QixVQUFVLEVyR3pDRSxJQUFJLEdxRzJDbkI7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVyR2pEYSxPQUFPO0VxR2tEN0IsV0FBVyxFckdoRGUsR0FBRztFcUdpRDdCLEtBQUssRXJHaERlLElBQUk7RUNEeEIsUUFBUSxFQUFFLE1BQU0sR29HbURuQjtFQU5ELEFwRzNDSSxtQm9HMkNlLEFwRzNDZCxRQUFRLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJQUNYLEtBQUssRUFBRSxLQUFvQztJQUMzQyxNQUFNLEVBQUUsS0FBb0M7SUFDNUMsV0FBVyxFRCtnQ1UsSUFBSTtJQzlnQ3pCLEtBQUssRUFBRSxLQUFLO0l1RW1CaEIsZ0JBQWdCLEVBQUUsNGFBQXdCO0l2RWpCdEMsaUJBQWlCLEVBQUUsU0FBUztJQUM1QixtQkFBbUIsRUFBRSxPQUFPLEdBQy9CO0VBRUQsQUFBQSxRQUFRLEdvR2dDWixtQkFBbUIsQXBHaENILFFBQVEsQ0FBQztJdUVhckIsZ0JBQWdCLEVBQUUscVRBQXdCLEd2RWJpRTs7QW9Hd0MvRyxtQkFBbUI7QUFDbkIsQUFBQSxtQkFBbUIsQUFBQSxNQUFNO0FBQ3pCLG1CQUFtQixBQUFBLE1BQU0sQ0FBQztFQUN0QixLQUFLLEVyR3JETSxJQUFJO0VxR3NEZixlQUFlLEVBQUUsSUFBSTtFQUNyQixPQUFPLEVBQUUsSUFBSSxHQUVoQjs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxxQkFBcUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsU0FBUztFQUNsQixVQUFVLEVyR3hFRSxJQUFJLEdxRzBFbkI7O0FBRUQ7O0dBRUc7QUFFRixBQUFBLHFCQUFxQixHQUFHLFdBQVcsQ0FBQztFQUFFLGFBQWEsRUFBRSxDQUFDLEdBQUk7O0FDckQzRDs7OEVBRThFO0FBRTlFOzs7O0dBSUc7QUFFSCxBQUFBLFFBQVEsQ0FBQztFQUNMLE9BQU87RUFDUCxPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU87RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEV0RzBUTSxJQUFJO0VzR3pUakIsT0FBTztFQUNQLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLEtBQUssRXRHeVRJLEtBQUssR3NHeFRqQjs7QUFFRCxVQUFVO0FBQ1YsQUFBQSxRQUFRLEFBQUEsUUFBUSxDQUFDO0VBQUUsT0FBTyxFQUFFLEtBQUssR0FBSTs7QUFHckM7OEVBQzhFO0FBRTlFLGVBQWU7Q0FDZixBQUFBLEFBQUEsS0FBQyxFQUFPLGFBQWEsQUFBcEIsRUFBc0I7RUFBRSxVQUFVLEV0R3hEbkIsS0FBSSxHc0d3RG9DOztDQUN4RCxBQUFBLEFBQUEsS0FBQyxFQUFPLGdCQUFnQixBQUF2QixFQUF5QjtFQUFFLFVBQVUsRXRHekR0QixJQUFJLEdzR3lEb0M7O0NBQ3hELEFBQUEsQUFBQSxLQUFDLEVBQU8sY0FBYyxBQUFyQixFQUF1QjtFQUFFLFdBQVcsRXRHMURyQixLQUFJLEdzRzBEc0M7O0NBQzFELEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixFQUF3QjtFQUFFLFdBQVcsRXRHM0R0QixJQUFJLEdzRzJEb0M7O0FBR3hEOzhFQUM4RTtBQUU5RSxBQUFBLGNBQWMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0VBQUUsS0FBSyxFQUFFLGVBQWUsR0FBSTs7QUMzQjdEOzs4RUFFOEU7QUFFOUU7Ozs7O0dBS0c7QUFFSCxBQUFBLFlBQVksQ0FBQztFQUNULE9BQU87RUFDUCxPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU87RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEV2RzhTTSxJQUFJO0V1RzdTakIsT0FBTztFQUNQLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFNBQVMsRXZHZ1RRLEtBQUs7RXVHL1N0QixPQUFPO0VBQ1AsT0FBTyxFdkcrU1EsSUFBSTtFdUc5U25CLFVBQVUsRXZHQ00sSUFBSTtFdUdBcEIsS0FBSyxFdkd0RE0sSUFBSTtFQ3d4QkssVUFBVSxFRDJTWixDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBZ0IsR3VHM2dDaEQ7O0FBRUQsVUFBVTtBQUNWLEFBQUEsWUFBWSxBQUFBLFFBQVEsQ0FBQztFQUFFLE9BQU8sRUFBRSxLQUFLLEdBQUk7O0FBR3pDOzs4RUFFOEU7QUFFOUUsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLFdBQVcsRUFBRSxNQUFNO0V0R3N0QkssU0FBUyxFRDF1QlosUUFBUSxHdUdzQmhDOztBQUVEOztHQUVHO0FBRUgsQUFBQSxnQkFBZ0IsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0VBQ3RCLEtBQUssRXZHMUJZLElBQUksR3VHNEJ4Qjs7QUFFRCw0QkFBNEI7QUFDNUIsQUFBQSxnQkFBZ0IsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07QUFDL0IsZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNO0FBQy9CLGdCQUFnQixHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQ2hDLEtBQUssRXZHcEZNLElBQUksR3VHc0ZsQjs7QUFFRDs7R0FFRztBQUVILEFBQUEsZ0JBQWdCLENBQUMsY0FBYyxDQUFDO0VBQzVCLEtBQUssRXZHL0ZlLElBQUksR3VHaUczQjs7QUFFRDs7R0FFRztBQUVILEFBQUEsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO0VBQzdCLFVBQVUsRXZHc0JRLEdBQUcsQ3VHdEIwQixLQUFLLEN2R3dCeEMsT0FBTyxHdUd0QnRCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0VBQUUsS0FBSyxFdkc1RGpCLElBQUksR3VHNERtRDs7QUFFNUUsQUFBQSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU07QUFDcEMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNO0FBQ3BDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsQ0FBQztFQUFFLEtBQUssRXZHbEh0QyxJQUFJLEd1R2tIOEU7O0FBR2pHOzhFQUM4RTtBQUU5RSxlQUFlO0NBQ2YsQUFBQSxBQUFBLEtBQUMsRUFBTyxpQkFBaUIsQUFBeEIsRUFBMEI7RUFBRSxVQUFVLEV2R1dqQixLQUFJLEd1R1hzQzs7Q0FDaEUsQUFBQSxBQUFBLEtBQUMsRUFBTyxvQkFBb0IsQUFBM0IsRUFBNkI7RUFBRSxVQUFVLEV2R1VwQixJQUFJLEd1R1ZzQzs7Q0FDaEUsQUFBQSxBQUFBLEtBQUMsRUFBTyxrQkFBa0IsQUFBekIsRUFBMkI7RUFBRSxXQUFXLEV2R1NuQixLQUFJLEd1R1R3Qzs7Q0FDbEUsQUFBQSxBQUFBLEtBQUMsRUFBTyxtQkFBbUIsQUFBMUIsRUFBNEI7RUFBRSxXQUFXLEV2R1FwQixJQUFJLEd1R1JzQzs7QUFHaEU7OEVBQzhFO0FBRTlFLEFBQUEsa0JBQWtCLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0VBQUUsS0FBSyxFQUFFLGVBQWUsR0FBSTs7QUN4RXJFOzs4RUFFOEU7QUFFOUU7Ozs7Ozs7R0FPRztBQUVILEFBQUEsU0FBUyxDQUFDO0VBQ04sT0FBTztFQUNQLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTztFQUNQLFFBQVEsRUFBRSxLQUFLO0VBQ2YsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPLEV4RzZRTSxJQUFJO0V3RzVRakIsT0FBTztFQUNQLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLDBCQUEwQixFQUFFLEtBQUs7RUFDakMsT0FBTztFQUNQLE9BQU8sRXhHdWhCZ0IsSUFBSSxDQUFKLElBQUk7RXdHdGhCM0IsT0FBTztFQUNQLFVBQVUsRXhHb2hCSyxrQkFBZTtFd0duaEI5QixPQUFPO0VBQ1AsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsb0JBQW9CLEdBRW5DOztBQUVELGdDQUFnQztBQUNoQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUF4QnhCLEFBQUEsU0FBUyxDQTBCSztJQUFFLE9BQU8sRXhHK2dCSSxJQUFJLENBbmxCZixJQUFJLEd3R29FOEQ7O0FBSWxGLGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUEvQnhCLEFBQUEsU0FBUyxDQWlDSztJQUNOLFlBQVksRXhHekVHLElBQUk7SXdHMEVuQixhQUFhLEV4RzFFRSxJQUFJLEd3RzJFdEI7O0FBSUw7O0dBRUc7QUFFSCxBQUFBLFNBQVMsQUFBQSxRQUFRLENBQUM7RUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFJOztBQUdsQzs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLGNBQWMsQ0FBQztFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUk7O0FBR3JDOzhFQUM4RTtBQUU5RTs7Ozs7OztHQU9HO0FBRUgsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLE9BQU87RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPO0VBQ1AsVUFBVSxFQUFFLFVBQVU7RUFDdEIsTUFBTSxFQUFFLE1BQU07RUFDZCxLQUFLLEV4RytkWSxLQUFLO0V3RzlkdEIsT0FBTztFQUNQLFNBQVMsRUFBRSxtQkFBOEIsQ0FBQyxVQUFVO0VBQ3BELE9BQU87RUFDUCxVQUFVLEV4R2hHTSxJQUFJO0V3R2lHcEIsT0FBTztFQUNQLE9BQU8sRUFBRSxDQUFDO0VBQ1YsU0FBUyxFQUFFLGtCQUFrQjtFQUM3QixVQUFVLEVBQUUsV0FBVztFQUN2QixtQkFBbUIsRUFBRSxrQkFBa0IsR0FFMUM7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQztFQUN4QixPQUFPLEVBQUUsQ0FBQztFQUNWLFNBQVMsRUFBRSxhQUFhLEdBQzNCOztBQUdEOzhFQUM4RTtBQUU5RTs7O0dBR0c7QUFFSCxBQUFBLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDO0VBQUUsS0FBSyxFeEdrY3BCLE1BQU0sR3dHbGMwQzs7QUFFeEU7Ozs7R0FJRztBQUVILE9BQU87QUFDUCxBQUFBLGNBQWMsQ0FBQztFQUNYLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUksR0FDbkI7O0FBRUQsT0FBTztBQUNQLEFBQUEsY0FBYyxDQUFDLGdCQUFnQixDQUFDO0VBQzVCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsSUFBSTtFQUNmLFNBQVMsRUFBRSxhQUFhLEdBRTNCOztBQUdEOzhFQUM4RTtBQUU5RSxBQUFBLGNBQWMsQ0FBQztFQUNYLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLE9BQU8sRXhHakxLLElBQUksQ0FBSixJQUFJLEd3R21MbkI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLE9BQU8sRXhHbWFxQixJQUFzQyxDQTFsQnRELElBQUk7RXdHd0xoQixVQUFVLEV4Ry9KTSxJQUFJO0VDc2tESSxhQUFhLEVEaGdEbkIsR0FBRyxDQ2dnRDZDLEtBQUssQ0Q5L0MzRCxPQUFPLEd3R3lGdEI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLE9BQU8sRXhHK1pxQixJQUFzQyxDQTdsQnRELElBQUk7RXdHK0xoQixVQUFVLEV4R3RLTSxJQUFJO0VDdWtESSxVQUFVLEVEamdEaEIsR0FBRyxDQ2lnRDBDLEtBQUssQ0QvL0N4RCxPQUFPLEd3R2dHdEI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGNBQWMsR0FBRyxXQUFXO0FBQzVCLGdCQUFnQixHQUFHLFdBQVc7QUFDOUIsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO0VBQUUsYUFBYSxFQUFFLENBQUMsR0FBSTs7QUFHckQ7OEVBQzhFO0FBRTlFLEFBQUEsZUFBZSxDQUFDO0VBQ1osU0FBUyxFeEdoSWEsSUFBSTtFd0dpSTFCLFdBQVcsRXhHK1lXLEdBQUcsR3dHN1k1Qjs7QUFHRDs7OEVBRThFO0NBRTlFLEFBQUEsQUFBQSxLQUFDLEVBQU8saUJBQWlCLEFBQXhCLEVBQTBCO0VBQ3ZCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRXhHb0dNLElBQUk7RXdHbkdqQixHQUFHLEV4R3RIZSxJQUFJO0V3R3VIdEIsS0FBSyxFeEd2SGEsSUFBSTtFd0d3SHRCLE9BQU8sRXhHbVlXLEdBQUcsR3dHall4Qjs7QUFFRDs7R0FFRztDQUVILEFBQUEsQUFBQSxLQUFDLEVBQU8saUJBQWlCLEFBQXhCLENBQXlCLFlBQVksR0FBRyxDQUFDLENBQUM7RUFBRSxVQUFVLEVBQUUsQ0FBQyxHQUFJOztBQUU5RDs7R0FFRztBQU1IOztHQUVHO0FBVUg7OztHQUdHO0FBRUgsQUFBQSx1QkFBdUIsQ0FBQztFQUNwQixHQUFHLEV4R2dXd0IsQ0FBQztFd0cvVjVCLE9BQU87RUFDUCxLQUFLLEV4RzZWYSxJQUFHO0V3RzVWckIsU0FBUyxFQUFFLG1CQUErQztFQUMxRCxLQUFLLEV4RzhWbUIsS0FBbUMsR3dHNVY5RDs7QUFFRCxBQUFBLHVCQUF1QixBQUFBLE1BQU0sQ0FBQztFQUMxQixLQUFLLEV4R3RTYyxJQUFJLEd3R3dTMUI7O0FBRUQsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixPQUFPO0VBakJYLEFBQUEsdUJBQXVCLENBa0JLO0lBQ3BCLEtBQUssRXhHOFVrQixDQUFDO0l3RzdVeEIsU0FBUyxFQUFFLHNCQUE0RSxHQUMxRjs7QUFJTDs7R0FFRztBQUVILEFBQUEsb0JBQW9CLENBQUM7RXZHMDBDakIsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztFQUNSLE9BQU8sRUQvb0RLLElBQUk7RUNncERoQixVQUFVLEVEbmxETSxJQUFJLEd3R3dRdkI7O0FDelREOzs4RUFFOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLGFBQWEsQ0FBQztFQUNWLE9BQU87RUFDUCwyQkFBMkIsRUFBRSxXQUFXLEdBRTNDOztBQUdEOzhFQUM4RTtBQUU5RTs7Ozs7R0FLRztBQUVILEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsT0FBTztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsT0FBTztFQUNQLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPO0VBQ1AsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTztFQUNQLHFCQUFxQixFQUFFLElBQUksR0FDOUI7O0FBR0Q7OEVBQzhFO0FBRTlFOzs7Ozs7O0dBT0c7QUFFSCxBQUFBLG1CQUFtQixHQUFHLENBQUMsQ0FBQztFQUNwQixPQUFPO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLE9BQU87RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTztFQUNQLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLE9BQU87RUFDUCxXQUFXLEVBQUUsa0JBQWtCO0VBQy9CLE9BQU87RUFDUCxZQUFZLEVBQUUsS0FBSyxHQUN0Qjs7QUFFRCxPQUFPO0FBQ1AsQUFBQSxtQkFBbUIsR0FBRyxNQUFNLENBQUM7RUFBRSxPQUFPLEVBQUUsSUFBSSxHQUFJOztBQUVoRDs7R0FFRztBQUVILEFBQUEsbUJBQW1CLEdBQUcsSUFBSyxDQUFBLFVBQVUsRUFBRTtFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUk7O0FDakUxRDs7OEVBRThFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxVQUFVLENBQUM7RUFDUCxPQUFPO0VBQ1AsMkJBQTJCLEVBQUUsV0FBVyxHQUUzQzs7QUFHRDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsUUFBUSxFQUFFLE1BQU0sR0FBSTs7QUFFM0M7O0dBRUc7QUFFSCxBQUFBLDJCQUEyQixDQUFDO0VBQ3hCLE1BQU0sRTFHNHlCcUIsS0FBSSxDQUdGLEtBQUksQ0FGSCxLQUFJLENBQ04sS0FBSTtFMEc3eUJoQyxPQUFPLEVBQUUsSUFBbUMsQ0FBQyxJQUFxQyxDQUFDLElBQXNDLENBQUMsSUFBb0MsR0FDaks7O0FBRUQ7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEsZ0JBQWdCLENBQUM7RUFDYixPQUFPO0VBQ1AsV0FBVyxFQUFFLFNBQVM7RUFDdEIsT0FBTztFQUNQLFFBQVEsRUFBRSxRQUFRLEdBQ3JCOztBQUVEOzs7R0FHRztBQUVILEFBQUEsZ0JBQWdCLEFBQUEsSUFBSyxDQUFBLFFBQVEsRUFBRTtFQUMzQixPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU87RUFDUCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTztFQUNQLHFCQUFxQixFQUFFLElBQUksR0FDOUI7O0FBRUQsQUFBQSxnQkFBZ0IsQUFBQSxRQUFRLENBQUM7RUFBRSxTQUFTLEVBQUUsTUFBTSxHQUFJOztBQUdoRDs4RUFDOEU7QUFFOUU7Ozs7O0dBS0c7QUFFSCxBQUFBLGdCQUFnQixHQUFHLENBQUMsQ0FBQztFQUNqQixPQUFPO0VBQ1AsSUFBSSxFQUFFLElBQUk7RUFDVixPQUFPO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTztFQUNQLFlBQVksRUFBRSxLQUFLLEdBQ3RCOztBQUVELE9BQU87QUFDUCxBQUFBLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUk7O0FDdkY3Qzs7OEVBRThFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLE9BQU8sRTNHc1VNLEdBQUk7RTJHclVqQixVQUFVLEVBQUUsVUFBVTtFQUN0QixNQUFNLEVBQUUsWUFBWTtFQUNwQixPQUFPO0VBQ1AsMkJBQTJCLEVBQUUsTUFBTTtFQUNuQyxtQkFBbUIsRUFBRSxNQUFNLEdBQzlCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxVQUFVLENBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixFQUF3QjtFQUFFLGtCQUFrQixFM0drMEIzQixJQUFJLEcyR2wwQnVEOztBQUV2RixBQUFBLFVBQVUsQUFBQSxxQkFBcUIsQ0FBQztFQUFFLGtCQUFrQixFM0dpMEJoQixJQUFJLEcyR2owQm9EOztBQ0Q1Rjs7OEVBRThFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEsYUFBYSxDQUFDO0VBQ1YsT0FBTztFQUNQLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTztFQUNQLFFBQVEsRUFBRSxLQUFLO0VBQ2YsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTyxFNUd3U00sSUFBSSxHNEd2U3BCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7RUFDN0IsS0FBSyxFQUFFLENBQUM7RUFDUixJQUFJLEVBQUUsSUFBSSxHQUNiOztBQUdEOzhFQUM4RTtBQUU5RTs7OztHQUlHO0FBRUgsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLE9BQU87RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFNUdxcUJjLE1BQUs7RTRHcHFCdkIsT0FBTztFQUNQLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLEtBQUssRTVHa3FCYSxLQUFLO0U0R2pxQnZCLE9BQU8sRTVHM0ZLLElBQUksQ0FBSixJQUFJO0U0RzRGaEIsVUFBVSxFNUczQmdCLElBQUk7RTRHNEI5QixPQUFPO0VBQ1AsVUFBVSxFQUFFLElBQUk7RUFDaEIsMEJBQTBCLEVBQUUsS0FBSyxHQUVwQzs7QUFFRCxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBbEJ4QixBQUFBLGlCQUFpQixDQW9CSztJQUNkLElBQUksRTVHMHBCWSxNQUFLO0k0R3pwQnJCLEtBQUssRTVHeXBCVyxLQUFLO0k0R3hwQnJCLE9BQU8sRTVHbEVRLElBQUksQ0FBSixJQUFJLEc0R21FdEI7O0FBUUwsbUJBQW1CO0FBQ25CLEFBQUEsa0JBQWtCLENBQUMsaUJBQWlCLENBQUM7RUFDakMsSUFBSSxFQUFFLElBQUk7RUFDVixLQUFLLEU1R3VvQmEsTUFBSyxHNEd0b0IxQjs7QUFFRCxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBTnhCLEFBQUEsa0JBQWtCLENBQUMsaUJBQWlCLENBUUs7SUFBRSxLQUFLLEU1R3NvQnhCLE1BQUssRzRHdG9Ca0Q7O0FBSS9FOztHQUVHO0FBRUgsQUFBQSxRQUFRLEdBQUcsaUJBQWlCLENBQUM7RUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFJOztBQUMxQyxBQUFBLGtCQUFrQixDQUFDLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQztFQUM1QyxJQUFJLEVBQUUsSUFBSTtFQUNWLEtBQUssRUFBRSxDQUFDLEdBQ1g7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLDJCQUEyQixDQUFDO0VBQUUsVUFBVSxFQUFFLGtCQUFrQixHQUFJOztBQUNoRSxBQUFBLGtCQUFrQixDQUFDLDJCQUEyQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsS0FBSyxHQUFJOztBQUUvRTs7Ozs7O0dBTUc7QUFFSCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLE9BQU87RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPO0VBQ1AsS0FBSyxFQUFFLENBQUM7RUFDUixRQUFRLEVBQUUsTUFBTTtFQUNoQixPQUFPO0VBQ1AsVUFBVSxFQUFFLG1CQUFtQixHQUNsQzs7QUFFRCxBQUFBLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDO0VBQ25DLE9BQU87RUFDUCxJQUFJLEVBQUUsQ0FBQyxHQUNWOztBQUVELEFBQUEsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUM7RUFDdEQsT0FBTztFQUNQLElBQUksRUFBRSxJQUFJO0VBQ1YsS0FBSyxFQUFFLENBQUMsR0FDWDs7QUFFRCxBQUFBLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQztFQUFFLEtBQUssRTVHNGtCakIsS0FBSyxHNEc1a0JzQzs7QUFFakUsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUh4QixBQUFBLFFBQVEsR0FBRyxvQkFBb0IsQ0FLSztJQUFFLEtBQUssRTVHNGtCbkIsS0FBSyxHNEc1a0IwQzs7QUFJdkU7O0dBRUc7QUFFSCxBQUFBLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO0VBQ3BDLEtBQUssRUFBRSxDQUFDO0VBQ1IsSUFBSSxFQUFFLElBQUksR0FDYjs7QUFHRDs7OEVBRThFO0FBRTlFLEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFNUcySk0sSUFBSTtFNEcxSmpCLEdBQUcsRTVHMGpCb0IsSUFBSTtFNEd6akIzQixLQUFLLEU1R3lqQmtCLElBQUk7RTRHeGpCM0IsT0FBTyxFNUd5akJlLEdBQUcsRzRHdmpCNUI7O0FBR0Q7OEVBQzhFO0FBRTlFOzs7O0dBSUc7QUFFSCxBQUFBLHFCQUFxQixDQUFDO0VBQ2xCLE9BQU87RUFDUCxLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU87RUFDUCxZQUFZLEVBQUUsSUFBSSxHQUNyQjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLHFCQUFxQixBQUFBLFFBQVEsQ0FBQztFQUMxQixPQUFPO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLFVBQVUsRTVHd2hCaUIsa0JBQWU7RTRHdmhCMUMsT0FBTztFQUNQLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLG9CQUFvQixHQUVuQzs7QUFFRCxBQUFBLHFCQUFxQixBQUFBLFFBQVEsQUFBQSxRQUFRLENBQUM7RUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFJOztBQUd0RDs4RUFDOEU7QUFFOUU7OztHQUdHO0FBRUgsQUFBQSxrQkFBa0I7QUFDbEIsdUJBQXVCLENBQUM7RUFBRSxVQUFVLEVBQUUsTUFBTSxHQUFJOztBQUdoRDs4RUFDOEU7QUFFOUU7Ozs7O0dBS0c7QUFFSCxBQUFBLHVCQUF1QixDQUFDO0VBQ3BCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsVUFBVSxFQUFFLGtCQUFrQjtFQUM5QixPQUFPO0VBQ1AsVUFBVSxFQUFFLFVBQVU7RUFDdEIsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFFRDs7R0FFRztBQUVILEFBQUEsSUFBSyxDQUFBLGtCQUFrQixDQUFDLGlDQUFpQyxDQUFDO0VBQUUsSUFBSSxFNUdpZTFDLEtBQUssRzRHamUrRDs7QUFFMUYsQUFBQSxrQkFBa0IsQUFBQSxpQ0FBaUMsQ0FBQztFQUFFLElBQUksRTVHK2RwQyxNQUFLLEc0Ry9kNEQ7O0FBRXZGLGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFMeEIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLENBQUMsaUNBQWlDLENBT0s7SUFBRSxJQUFJLEU1RytkNUMsS0FBSyxHNEcvZG1FO0VBTGhHLEFBQUEsa0JBQWtCLEFBQUEsaUNBQWlDLENBT0s7SUFBRSxJQUFJLEU1RzZkdEMsTUFBSyxHNEc3ZGdFOztBQzFSN0Y7OzhFQUU4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsWUFBWSxDQUFDO0VBQ1QsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUdEOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsWUFBWSxHQUFHLElBQUssQ0p1RE8sVUFBVSxFSXZETDtFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUk7O0FBRW5EOztHQUVHO0FBRUgsQUFBQSxZQUFZLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQztFQUFFLGFBQWEsRUFBRSxDQUFDLEdBQUk7O0FDdkJyRDs7OEVBRThFO0FBRTlFLEFBQUEsVUFBVSxDQUFDO0VBQUUsUUFBUSxFQUFFLE1BQU0sR0FBSTs7QUFFakM7Ozs7O0dBS0c7QUFFSCxBQUFBLGVBQWUsQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTztFQUNQLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQVcsRTlHZk8sSUFBSTtFOEdnQnRCLE9BQU87RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLE9BQU87RUFDUCxPQUFPLEVBQUUsZUFBZTtFQUN4QixPQUFPO0VBQ1AsV0FBVyxFQUFFLE1BQU0sR0FFdEI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGVBQWUsQUFBQSxlQUFlLEFBQUEsT0FBTyxDQUFDO0VBQUUsT0FBTyxFQUFFLElBQUksR0FBSTs7QUFFekQ7O0dBRUc7QUFFSCxBQUFBLHVCQUF1QixBQUFBLFFBQVEsQ0FBQztFQUFFLE9BQU8sRUFBRSxHQUF5QixHQUFJOztBckM0T2hFLEFBQUwsS0FBVSxDcUMzT1A7RUFBRSx3QkFBd0IsQ0FBQSxFQUFDLEdBQTRCOztBQ1A3RDs7OEVBRThFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEsZ0JBQWdCLENBQUM7RUFDYixPQUFPO0VBQ1AsUUFBUSxFQUFFLEtBQUs7RUFDZixHQUFHLEUvR21yQmlCLElBQUk7RStHbHJCeEIsSUFBSSxFL0drckJnQixJQUFJO0UrR2pyQnhCLE9BQU8sRS9HeVNNLElBQUk7RStHeFNqQixPQUFPO0VBQ1AsVUFBVSxFQUFFLFVBQVU7RUFDdEIsS0FBSyxFL0dnckJZLEtBQUssRytHOXFCekI7O0FBR0Q7NkVBQzZFO0FBRTdFLEFBQUEsMEJBQTBCO0FBQzFCLDZCQUE2QixDQUFDO0VBQzFCLElBQUksRUFBRSxJQUFJO0VBQ1YsS0FBSyxFL0dtcUJlLElBQUksRytHbHFCM0I7O0FBRUQsQUFBQSwyQkFBMkI7QUFDM0IsOEJBQThCLENBQUM7RUFDM0IsSUFBSSxFQUFFLEdBQUc7RUFDVCxXQUFXLEVBQUUsTUFBMEIsR0FDMUM7O0FBRUQsQUFBQSw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCLDhCQUE4QixDQUFDO0VBQzNCLEdBQUcsRUFBRSxJQUFJO0VBQ1QsTUFBTSxFL0dzcEJjLElBQUksRytHcnBCM0I7O0FBR0Q7NkVBQzZFO0FBRTdFLGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUF4Q3hCLEFBQUEsZ0JBQWdCLENBMENLO0lBQ2IsSUFBSSxFL0cyb0JZLElBQUk7SStHMW9CcEIsS0FBSyxFL0cwb0JXLElBQUk7SStHem9CcEIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsQ0FBQyxHQUNaOztBQUtMOzZFQUM2RTtBQUU3RSxBQUFBLHdCQUF3QixDQUFDO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRS9HL0ZXLElBQUk7RStHZ0d0QixVQUFVLEUvRzdGWSxPQUFPO0UrRzhGN0IsS0FBSyxFL0cxR00sSUFBSTtFK0cyR2YsU0FBUyxFL0doSGEsT0FBTztFK0dpSDdCLFdBQVcsRS9HaW9Cb0IsR0FBRztFK0dob0JsQyxNQUFNLEVBQUUsT0FBTyxHQUVsQjs7QUFFRCxBQUFBLENBQUMsR0FBRyx3QkFBd0IsQ0FBQztFQUFFLFVBQVUsRS9HdW5CUCxJQUFJLEcrR3ZuQnlDOztBQUcvRTs7OEVBRThFO0FBRTlFLEFBQUEsc0JBQXNCLENBQUM7RUFDbkIsT0FBTyxFQUFFLElBQUk7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEUvR21uQmtCLElBQW1DO0UrR2xuQnhELEtBQUssRS9HbkhhLElBQUksRytHcUh6Qjs7QUFFRCxBQUFBLHdCQUF3QixBQUFBLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQztFQUFFLE9BQU8sRUFBRSxLQUFLLEdBQUk7O0FBRzFFOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsZ0NBQWdDLENBQUM7RUFDN0IsS0FBSyxFL0cxSG1CLE9BQU8sRytHNEhsQzs7QUFFRDs7R0FFRztBQUVILEFBQUEsZ0NBQWdDLENBQUM7RUFDN0IsS0FBSyxFL0doSW1CLE9BQU8sRytHa0lsQzs7QUFFRDs7R0FFRztBQUVILEFBQUEsZ0NBQWdDLENBQUM7RUFDN0IsS0FBSyxFL0d0SW1CLE9BQU8sRytHd0lsQzs7QUFFRDs7R0FFRztBQUVILEFBQUEsK0JBQStCLENBQUM7RUFDNUIsS0FBSyxFL0c1SWtCLE9BQU8sRytHOElqQzs7QUM3SUQ7OzhFQUU4RTtBQUU5RTs7Ozs7O0dBTUc7QUFFSCxBQUFBLFdBQVcsQ0FBQztFQUNSLE9BQU87RUFDUCxPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU87RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVoSGlUTSxJQUFJO0VnSGhUakIsT0FBTztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sT0FBTztFQUNQLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFNBQVMsRWhIdzZCTyxLQUFLO0VnSHY2QnJCLE9BQU8sRWhIdzZCZ0IsR0FBRyxDQUNELEdBQUc7RWdIeDZCNUIsT0FBTztFQUNQLFVBQVUsRWhIdzZCTyxJQUFJO0VnSHY2QnJCLGFBQWEsRWhIdzZCTyxHQUFHO0VnSHY2QnZCLEtBQUssRWhIbkRjLElBQUk7RWdIb0R2QixTQUFTLEVoSHc2Qk8sSUFBSSxHZ0h0NkJ2Qjs7QUFFRCxVQUFVO0FBQ1YsQUFBQSxXQUFXLEFBQUEsVUFBVSxDQUFDO0VBQUUsT0FBTyxFQUFFLEtBQUssR0FBSTs7QUFHMUM7OEVBQzhFO0FBRTlFLGVBQWU7Q0FDZixBQUFBLEFBQUEsS0FBQyxFQUFPLGdCQUFnQixBQUF2QixFQUF5QjtFQUFFLFVBQVUsRWhINjVCckIsS0FBSSxHZ0g3NUJ5Qzs7Q0FDOUQsQUFBQSxBQUFBLEtBQUMsRUFBTyxtQkFBbUIsQUFBMUIsRUFBNEI7RUFBRSxVQUFVLEVoSDQ1QnhCLElBQUksR2dINTVCeUM7O0NBQzlELEFBQUEsQUFBQSxLQUFDLEVBQU8saUJBQWlCLEFBQXhCLEVBQTBCO0VBQUUsV0FBVyxFaEgyNUJ2QixLQUFJLEdnSDM1QjJDOztDQUNoRSxBQUFBLEFBQUEsS0FBQyxFQUFPLGtCQUFrQixBQUF6QixFQUEyQjtFQUFFLFdBQVcsRWhIMDVCeEIsSUFBSSxHZ0gxNUJ5Qzs7QUNuRDlEOzs4RUFFOEU7QUFFOUUsQUFBQSxZQUFZLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUSxHQUVyQjs7QUFFRDs7R0FFRztBQUVILEFBQUEsWUFBWSxHQUFHLFdBQVcsQ0FBQztFQUFFLGFBQWEsRUFBRSxDQUFDLEdBQUk7O0FBR2pEOzhFQUM4RTtBQUU5RSxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsUUFBUSxFQUFFLGdCQUFnQjtFQUMxQixPQUFPLEVqSHFUTSxJQUFJLENpSHJUa0IsVUFBVTtFQUM3QyxjQUFjLEVBQUUsSUFBSSxHQUV2Qjs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSx3QkFBd0IsQ0FBQztFQUNyQixPQUFPLEVqSDJ5Qm9CLENBQUM7RWlIMXlCNUIsY0FBYyxFQUFFLElBQUksR0FFdkI7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsa0JBQWtCLENBQUM7RUFDZixVQUFVLEVqSGt5QlUsSUFBSSxHaUhoeUIzQjs7QUFHRDs4RUFDOEU7QUFFOUUsV0FBVztBQUNYLEFBQUEsbUJBQW1CLEFBQUEsTUFBTSxDQUFDO0VBQUUsTUFBTSxFQUFFLElBQUksR0FBSTs7QUNsRDVDOzs4RUFFOEU7QUFPOUU7OEVBQzhFO0FBUTlFOzhFQUM4RTtBQUc5RTs7O0dBR0c7QUFFSCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLE9BQU87RUFDUCxvQkFBb0IsRUFBRSxZQUFZO0VBQ2xDLE9BQU87RUFDUCxTQUFTLEVsSCtQZ0IsSUFBSTtFa0g5UDdCLFdBQVcsRWxINlBnQixHQUFHLEdrSDNQakM7O0FBRUQsZ0NBQWdDO0FBQ2hDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQVZ4QixBQUFBLG9CQUFvQixDQVlLO0lBQUUsU0FBUyxFbEh3UEwsSUFBSSxHa0h4UG9DOztBQUl2RSxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBakJ4QixBQUFBLG9CQUFvQixDQW1CSztJQUFFLFNBQVMsRWxIa1BMLElBQUksR2tIbFBvQzs7QUFLdkU7OEVBQzhFO0FBRTlFLEFBQUEsdUJBQXVCLENBQUM7RUFDcEIsU0FBUyxFbEgyT21CLElBQUk7RWtIMU9oQyxXQUFXLEVsSHlPbUIsR0FBRyxHa0h2T3BDOztBQUVELGdDQUFnQztBQUNoQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFQeEIsQUFBQSx1QkFBdUIsQ0FTSztJQUFFLFNBQVMsRWxIb09MLElBQUksR2tIcE91Qzs7QUFJN0UsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQWR4QixBQUFBLHVCQUF1QixDQWdCSztJQUFFLFNBQVMsRWxIOE5MLElBQUksR2tIOU51Qzs7QUFLN0U7OEVBQzhFO0FDdEQ5RTs7OEVBRThFO0FBRTlFOzs7R0FHRztBVG9Ca0IsQUFBTCxRQUFhLENTbEJwQjtFQUNMLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTztFQUNQLFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTztFQUNQLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFFRDs7OztHQUlHO0FBRUgsQUFBQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0VBQUUsTUFBTSxFQUFFLENBQUMsR0FBSTs7QUFFNUI7O0dBRUc7QUFFSCxBQUFBLFFBQVEsR0FBRyxDQUFDLEdBQUcsV0FBVyxDQUFDO0VBQUUsYUFBYSxFQUFFLENBQUMsR0FBSTs7QUFHakQ7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsZ0JBQWdCO0FUZEssQUFBTCxRQUFhLENTZXBCO0VBQUUsV0FBVyxFbkh0RE4sS0FBSSxHbUhzRGtDOztBQWpCdEQsQUFBQSxRQUFRLEdBQUcsQ0FBQyxDQWtCQztFQUFFLFlBQVksRW5IdkRYLElBQUksR21IdURvQzs7QUFFeEQsY0FBYztBQUNkLEFBQUEsUUFBUSxHQUFHLFFBQVE7QUFDbkIsUUFBUSxHQUFHLGVBQWU7QUFDMUIsQ0FBQyxHQUFHLGVBQWUsQ0FBQztFQUFFLFVBQVUsRW5INURoQixJQUFJLEdtSDREdUM7O0FBRTNELHdCQUF3QjtBQUN4QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsZ0JBQWdCO0VUMUJDLEFBQUwsUUFBYSxDUzJCaEI7SUFBRSxXQUFXLEVuSC9ESCxLQUFJLEdtSCtEaUM7RUE3QjVELEFBQUEsUUFBUSxHQUFHLENBQUMsQ0E4Qks7SUFBRSxZQUFZLEVuSGhFUixJQUFJLEdtSGdFbUM7RUFFMUQsY0FBYztFQVhsQixBQUFBLFFBQVEsR0FBRyxRQUFRO0VBQ25CLFFBQVEsR0FBRyxlQUFlO0VBQzFCLENBQUMsR0FBRyxlQUFlLENBWUs7SUFBRSxVQUFVLEVuSHJFYixJQUFJLEdtSHFFc0M7O0FBSWpFOztHQUVHO0FBRUgsZ0JBQWdCO0FBQ2hCLEFBQUEsY0FBYztBQUNkLHFCQUFxQixDQUFDO0VBQUUsV0FBVyxFbkh0R2IsS0FBSSxHbUhzRytDOztBQUN6RSxBQUFBLGNBQWMsR0FBRyxDQUFDO0FBQ2xCLHFCQUFxQixHQUFHLENBQUMsQ0FBRTtFQUFFLFlBQVksRW5IeEduQixJQUFJLEdtSHdHa0Q7O0FBRTVFLGNBQWM7QUFDZCxBQUFBLFFBQVEsR0FBRyxjQUFjO0FBQ3pCLFFBQVEsR0FBRyxrQkFBa0I7QUFDN0IsY0FBYyxHQUFHLGVBQWU7QUFDaEMsa0JBQWtCLEdBQUcsZUFBZTtBQUNwQyxDQUFDLEdBQUcscUJBQXFCLENBQUM7RUFBRSxVQUFVLEVuSC9HaEIsSUFBSSxHbUgrRzZDOztBQUV2RTs7R0FFRztBQUVILGdCQUFnQjtBQUNoQixBQUFBLGVBQWU7QUFDZixzQkFBc0IsQ0FBQztFQUFFLFdBQVcsRW5IbkdwQixLQUFJLEdtSG1HdUQ7O0FBQzNFLEFBQUEsZUFBZSxHQUFHLENBQUM7QUFDbkIsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDO0VBQUUsWUFBWSxFbkhyR3pCLElBQUksR21IcUd5RDs7QUFFN0UsY0FBYztBQUNkLEFBQUEsUUFBUSxHQUFHLGVBQWU7QUFDMUIsUUFBUSxHQUFHLG1CQUFtQjtBQUM5QixlQUFlLEdBQUcsZUFBZTtBQUNqQyxtQkFBbUIsR0FBRyxlQUFlO0FBQ3JDLENBQUMsR0FBRyxzQkFBc0IsQ0FBQztFQUFFLFVBQVUsRW5INUd2QixJQUFJLEdtSDRHcUQ7O0FBRXpFOztHQUVHO0FBRUgsZ0JBQWdCO0FBQ2hCLEFBQUEsY0FBYztBQUNkLHFCQUFxQixDQUFDO0VBQUUsV0FBVyxFbkhqSFosS0FBSSxHbUhpSDhDOztBQUN6RSxBQUFBLGNBQWMsR0FBRyxDQUFDO0FBQ2xCLHFCQUFxQixHQUFHLENBQUMsQ0FBQztFQUFFLFlBQVksRW5IbkhqQixJQUFJLEdtSG1IZ0Q7O0FBRTNFLGNBQWM7QUFDZCxBQUFBLFFBQVEsR0FBRyxjQUFjO0FBQ3pCLFFBQVEsR0FBRyxrQkFBa0I7QUFDN0IsY0FBYyxHQUFHLGVBQWU7QUFDaEMsa0JBQWtCLEdBQUcsZUFBZTtBQUNwQyxDQUFDLEdBQUcscUJBQXFCLENBQUM7RUFBRSxVQUFVLEVuSDFIZixJQUFJLEdtSDBINEM7O0FBRXZFLHdCQUF3QjtBQUN4QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsZ0JBQWdCO0VBZnBCLEFBQUEsY0FBYztFQUNkLHFCQUFxQixDQWdCSztJQUFFLFdBQVcsRW5IOEdqQixLQUFJLEdtSDlHcUQ7RUFmL0UsQUFBQSxjQUFjLEdBQUcsQ0FBQztFQUNsQixxQkFBcUIsR0FBRyxDQUFDLENBZ0JLO0lBQUUsWUFBWSxFbkg0R3RCLElBQUksR21INUd1RDtFQUU3RSxjQUFjO0VBZmxCLEFBQUEsUUFBUSxHQUFHLGNBQWM7RUFDekIsUUFBUSxHQUFHLGtCQUFrQjtFQUM3QixjQUFjLEdBQUcsZUFBZTtFQUNoQyxrQkFBa0IsR0FBRyxlQUFlO0VBQ3BDLENBQUMsR0FBRyxxQkFBcUIsQ0FnQks7SUFBRSxVQUFVLEVuSHFHcEIsSUFBSSxHbUhyR21EOztBQUk3RTs7R0FFRztBQUVILGdCQUFnQjtBQUNoQixBQUFBLGlCQUFpQjtBQUNqQix3QkFBd0IsQ0FBQztFQUFFLFdBQVcsRUFBRSxDQUFDLEdBQUk7O0FBQzdDLEFBQUEsaUJBQWlCLEdBQUcsQ0FBQztBQUNyQix3QkFBd0IsR0FBRyxDQUFDLENBQUM7RUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJOztBQUVsRCxjQUFjO0FBQ2QsQUFBQSxRQUFRLEdBQUcsaUJBQWlCO0FBQzVCLFFBQVEsR0FBRyxxQkFBcUI7QUFDaEMsaUJBQWlCLEdBQUcsZUFBZTtBQUNuQyxxQkFBcUIsR0FBRyxlQUFlLENBQUM7RUFBRSxVQUFVLEVBQUUsQ0FBQyxHQUFJOztBQUczRDs4RUFDOEU7QUFFOUUsQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7RUFBRSxRQUFRLEVBQUUsUUFBUSxHQUFJOztBQUU3QyxBQUFBLGdCQUFnQixHQUFHLElBQUssQ0FBQSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7RUFDOUMsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLE1BQU0sRUFBRSxDQUFDO0VBQ1QsV0FBVyxFbkg3RU8sR0FBRyxDbUg2RW1CLEtBQUssQ25IM0VqQyxPQUFPLEdtSDRFdEI7O0FBRUQsY0FBYztBQUNkLEFBQUEsZ0JBQWdCLEFBQUEsY0FBYyxHQUFHLGVBQWUsQUFBQSxRQUFRLENBQUM7RUFDckQsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxDQUFDO0VBQ1IsVUFBVSxFbkh0RlEsR0FBRyxDbUhzRmtCLEtBQUssQ25IcEZoQyxPQUFPLEdtSHFGdEI7O0FBRUQ7O0dBRUc7QUFFSCxnQkFBZ0I7QUFDaEIsQUFBQSxnQkFBZ0IsQ0FBQztFQUFFLFdBQVcsRUFBSSxLQUEyQixHQUFLOztBQXhCbEUsQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBeUJDO0VBQUUsWUFBWSxFQUFFLElBQTZCLEdBQUk7O0FBdkJ0RSxBQUFBLGdCQUFnQixHQUFHLElBQUssQ0FBQSxnQkFBZ0IsQ0FBQyxRQUFRLENBeUJDO0VBQUUsSUFBSSxFbkhoTXhDLElBQUksR21IZ01pRTs7QUFFckYsY0FBYztBQUNkLEFBQUEsZ0JBQWdCLEFBQUEsY0FBYyxHQUFHLGVBQWUsQ0FBQztFQUFFLFVBQVUsRUFBRSxJQUEyQixHQUFJOztBQW5COUYsQUFBQSxnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsQ0FxQkM7RUFDckQsR0FBRyxFbkh0TVMsS0FBSTtFbUh1TWhCLElBQUksRUFBRSxJQUE2QixHQUN0Qzs7QUFFRCx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLGdCQUFnQjtFQWhCcEIsQUFBQSxnQkFBZ0IsQ0FpQks7SUFBRSxXQUFXLEVBQUksS0FBNkIsR0FBSztFQXpDeEUsQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBMENLO0lBQUUsWUFBWSxFQUFFLElBQStCLEdBQUk7RUF4QzVFLEFBQUEsZ0JBQWdCLEdBQUcsSUFBSyxDQUFBLGdCQUFnQixDQUFDLFFBQVEsQ0EwQ0s7SUFBRSxJQUFJLEVuSDlNckMsSUFBSSxHbUg4TWdFO0VBRXZGLGNBQWM7RUFoQmxCLEFBQUEsZ0JBQWdCLEFBQUEsY0FBYyxHQUFHLGVBQWUsQ0FpQks7SUFBRSxVQUFVLEVBQUUsSUFBNkIsR0FBSTtFQXBDcEcsQUFBQSxnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsQ0FzQ0s7SUFDckQsR0FBRyxFbkhwTlksS0FBSTtJbUhxTm5CLElBQUksRUFBRSxJQUErQixHQUN4Qzs7QUFJTDs7R0FFRztBQUVILGdCQUFnQjtBQUNoQixBQUFBLGdCQUFnQixBQUFBLGNBQWM7QUFDOUIsZ0JBQWdCLEFBQUEscUJBQXFCLENBQUM7RUFBRSxXQUFXLEVBQUksS0FBaUMsR0FBSzs7QUFDN0YsQUFBQSxnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsQ0FBQztBQUNsQyxnQkFBZ0IsQUFBQSxxQkFBcUIsR0FBRyxDQUFDLENBQUM7RUFBRSxZQUFZLEVBQUUsSUFBbUMsR0FBSTs7QUFFakcsQUFBQSxnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsSUFBSyxDQWhFZCxnQkFBZ0IsQ0FnRWUsUUFBUTtBQUMvRCxnQkFBZ0IsQUFBQSxxQkFBcUIsR0FBRyxJQUFLLENBakVyQixnQkFBZ0IsQ0FpRXNCLFFBQVEsQ0FBQztFQUFFLElBQUksRW5INVB2RCxJQUFJLEdtSDRQc0Y7O0FBRWhILGNBQWM7QUFDZCxBQUFBLGdCQUFnQixBQUFBLGNBQWMsQUFBQSxjQUFjLEdBQUcsZUFBZTtBQUM5RCxnQkFBZ0IsQUFBQSxrQkFBa0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxDQUFDO0VBQUUsVUFBVSxFQUFFLElBQWlDLEdBQUk7O0FBRXRILEFBQUEsZ0JBQWdCLEFBQUEsY0FBYyxBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsUUFBUSxDQUFDO0VBQ25FLEdBQUcsRW5IblFlLEtBQUk7RW1Ib1F0QixJQUFJLEVBQUUsSUFBbUMsR0FDNUM7O0FBRUQsQUFBQSxnQkFBZ0IsQUFBQSxrQkFBa0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsQ0FBQztFQUFFLEdBQUcsRW5IdlExRCxLQUFJLEdtSHVRMEY7O0FBQ3BILEFBQUEsZ0JBQWdCLEFBQUEscUJBQXFCLEFBQUEsY0FBYyxHQUFHLGVBQWUsQUFBQSxRQUFRLENBQUM7RUFBRSxJQUFJLEVBQUUsSUFBbUMsR0FBSTs7QUFFN0g7O0dBRUc7QUFFSCxnQkFBZ0I7QUFDaEIsQUFBQSxnQkFBZ0IsQUFBQSxlQUFlO0FBQy9CLGdCQUFnQixBQUFBLHNCQUFzQixDQUFDO0VBQUUsV0FBVyxFQUFJLEtBQWtDLEdBQUs7O0FBQy9GLEFBQUEsZ0JBQWdCLEFBQUEsZUFBZSxHQUFHLENBQUM7QUFDbkMsZ0JBQWdCLEFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDO0VBQUUsWUFBWSxFQUFFLElBQW9DLEdBQUk7O0FBRW5HLEFBQUEsZ0JBQWdCLEFBQUEsZUFBZSxHQUFHLElBQUssQ0F6RmYsZ0JBQWdCLENBeUZnQixRQUFRO0FBQ2hFLGdCQUFnQixBQUFBLHNCQUFzQixHQUFHLElBQUssQ0ExRnRCLGdCQUFnQixDQTBGdUIsUUFBUSxDQUFDO0VBQUUsSUFBSSxFbkhqUTlELElBQUksR21IaVE4Rjs7QUFFbEgsY0FBYztBQUNkLEFBQUEsZ0JBQWdCLEFBQUEsZUFBZSxBQUFBLGNBQWMsR0FBRyxlQUFlO0FBQy9ELGdCQUFnQixBQUFBLG1CQUFtQixBQUFBLGNBQWMsR0FBRyxlQUFlLENBQUM7RUFBRSxVQUFVLEVBQUUsSUFBa0MsR0FBSTs7QUFFeEgsQUFBQSxnQkFBZ0IsQUFBQSxlQUFlLEFBQUEsY0FBYyxHQUFHLGVBQWUsQUFBQSxRQUFRLENBQUM7RUFDcEUsR0FBRyxFbkh4UVMsS0FBSTtFbUh5UWhCLElBQUksRUFBRSxJQUFvQyxHQUM3Qzs7QUFFRCxBQUFBLGdCQUFnQixBQUFBLG1CQUFtQixBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsUUFBUSxDQUFDO0VBQUUsR0FBRyxFbkg1UWpFLEtBQUksR21INFFrRzs7QUFDdEgsQUFBQSxnQkFBZ0IsQUFBQSxzQkFBc0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsQ0FBQztFQUFFLElBQUksRUFBRSxJQUFvQyxHQUFJOztBQUUvSDs7R0FFRztBQUVILGdCQUFnQjtBQUNoQixBQUFBLGdCQUFnQixBQUFBLGNBQWM7QUFDOUIsZ0JBQWdCLEFBQUEscUJBQXFCLENBQUM7RUFBRSxXQUFXLEVBQUksS0FBaUMsR0FBSzs7QUFDN0YsQUFBQSxnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsQ0FBQztBQUNsQyxnQkFBZ0IsQUFBQSxxQkFBcUIsR0FBRyxDQUFDLENBQUM7RUFBRSxZQUFZLEVBQUUsSUFBbUMsR0FBSTs7QUFFakcsQUFBQSxnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsSUFBSyxDQWxIZCxnQkFBZ0IsQ0FrSGUsUUFBUTtBQUMvRCxnQkFBZ0IsQUFBQSxxQkFBcUIsR0FBRyxJQUFLLENBbkhyQixnQkFBZ0IsQ0FtSHNCLFFBQVEsQ0FBQztFQUFFLElBQUksRW5IdlJ0RCxJQUFJLEdtSHVScUY7O0FBRWhILGNBQWM7QUFDZCxBQUFBLGdCQUFnQixBQUFBLGNBQWMsQUFBQSxjQUFjLEdBQUcsZUFBZTtBQUM5RCxnQkFBZ0IsQUFBQSxrQkFBa0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxDQUFDO0VBQUUsVUFBVSxFQUFFLElBQWlDLEdBQUk7O0FBRXRILEFBQUEsZ0JBQWdCLEFBQUEsY0FBYyxBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsUUFBUSxDQUFDO0VBQ25FLEdBQUcsRW5IOVJnQixLQUFJO0VtSCtSdkIsSUFBSSxFQUFFLElBQW1DLEdBQzVDOztBQUVELEFBQUEsZ0JBQWdCLEFBQUEsa0JBQWtCLEFBQUEsY0FBYyxHQUFHLGVBQWUsQUFBQSxRQUFRLENBQUM7RUFBRSxHQUFHLEVuSGxTekQsS0FBSSxHbUhrU3lGOztBQUNwSCxBQUFBLGdCQUFnQixBQUFBLHFCQUFxQixBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsUUFBUSxDQUFDO0VBQUUsSUFBSSxFQUFFLElBQW1DLEdBQUk7O0FBRTdILHdCQUF3QjtBQUN4QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsZ0JBQWdCO0VBdkJwQixBQUFBLGdCQUFnQixBQUFBLGNBQWM7RUFDOUIsZ0JBQWdCLEFBQUEscUJBQXFCLENBd0JLO0lBQUUsV0FBVyxFQUFJLE1BQW1DLEdBQUs7RUF2Qm5HLEFBQUEsZ0JBQWdCLEFBQUEsY0FBYyxHQUFHLENBQUM7RUFDbEMsZ0JBQWdCLEFBQUEscUJBQXFCLEdBQUcsQ0FBQyxDQXdCSztJQUFFLFlBQVksRUFBRSxLQUFxQyxHQUFJO0VBdEJ2RyxBQUFBLGdCQUFnQixBQUFBLGNBQWMsR0FBRyxJQUFLLENBbEhkLGdCQUFnQixDQWtIZSxRQUFRO0VBQy9ELGdCQUFnQixBQUFBLHFCQUFxQixHQUFHLElBQUssQ0FuSHJCLGdCQUFnQixDQW1Ic0IsUUFBUSxDQXdCSztJQUFFLElBQUksRW5IaEUzRCxJQUFJLEdtSGdFNEY7RUFFbEgsY0FBYztFQXZCbEIsQUFBQSxnQkFBZ0IsQUFBQSxjQUFjLEFBQUEsY0FBYyxHQUFHLGVBQWU7RUFDOUQsZ0JBQWdCLEFBQUEsa0JBQWtCLEFBQUEsY0FBYyxHQUFHLGVBQWUsQ0F3Qks7SUFBRSxVQUFVLEVBQUUsS0FBbUMsR0FBSTtFQXRCNUgsQUFBQSxnQkFBZ0IsQUFBQSxjQUFjLEFBQUEsY0FBYyxHQUFHLGVBQWUsQUFBQSxRQUFRLENBd0JLO0lBQ25FLEdBQUcsRW5IdkVXLEtBQUk7SW1Id0VsQixJQUFJLEVBQUUsS0FBcUMsR0FDOUM7RUF0QkwsQUFBQSxnQkFBZ0IsQUFBQSxrQkFBa0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsQ0F3Qks7SUFBRSxHQUFHLEVuSDNFOUQsS0FBSSxHbUgyRWdHO0VBdkIxSCxBQUFBLGdCQUFnQixBQUFBLHFCQUFxQixBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsUUFBUSxDQXdCSztJQUFFLElBQUksRUFBRSxLQUFxQyxHQUFJOztBQUtuSTs4RUFDOEU7QUFFOUU7Ozs7O0dBS0c7QUFFSCxBQUFBLGNBQWMsR0FBRyxDQUFDO0FBQ2xCLG1CQUFtQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTztFQUNQLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQUVELEFBQUEsY0FBYyxHQUFHLENBQUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sVUFBVSxBQUFqQjtBQUMzQixtQkFBbUIsR0FBRyxJQUFLLEVBREQsQUFBQSxLQUFDLEVBQU8sVUFBVSxBQUFqQixHQUNxQjtFQUM1QyxPQUFPO0VBQ1AsVUFBVSxFQUFFLFVBQVU7RUFDdEIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPO0VBQ1AsSUFBSSxFQUFFLElBQUksR0FDYjs7QUN2VEQ7OzhFQUU4RTtBQUU5RTs7Ozs7R0FLRztBQUVILE9BQU87QUFDUCxBQUFBLE9BQU87QUFDUCxPQUFPLENBQUMsRUFBRSxDQUFDO0VBQ1AsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUVELE9BQU87QUFDUCxBQUFBLE9BQU8sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxlQUFlLEVBQUUsSUFBSSxHQUN4Qjs7QUFFRCxPQUFPO0FBQ1AsQUFBQSxPQUFPLENBQUMsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLENBQUM7RUFBRSxPQUFPLEVBQUUsSUFBSSxHQUFJOztBQUV4Qzs7O0dBR0c7QUFFSCxBQUFBLE9BQU8sR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0VBQUUsT0FBTyxFcEhraUJFLEdBQUcsQ0FDRCxDQUFDLEdvSG5pQndEOztBQUd2Rjs4RUFDOEU7QUFFOUU7OztHQUdHO0FBRUgsQUFBQSxFQUFFLEFBQUEsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFcEh3aEJvQixHQUFHLENvSHhoQlMsQ0FBQyxDcEh3aEJiLEdBQUcsQ0FDUCxJQUFJLEdvSHZoQjlCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxXQUFXLENBQUMsRUFBRSxDQUFDO0VBQUUsWUFBWSxFcEhraEJLLElBQUksR29IbGhCNkI7O0FBRW5FOztHQUVHO0FBRUgsQUFBQSxXQUFXLENBQUMsQ0FBQyxDQUFDO0VBQUUsT0FBTyxFcEg2Z0JhLEdBQUcsQ29IN2dCcUIsQ0FBQyxHQUFJOztBQUdqRTs4RUFDOEU7QUFFOUUsQUFBQSxtQkFBbUIsR0FBRyxVQUFVLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUN4QyxPQUFPLEVBQUUsRUFBRTtFQUNYLEtBQUssRXBIc2dCZSxLQUEyQjtFb0hyZ0IvQyxNQUFNLEVwSHFnQmMsS0FBMkI7RW9IcGdCL0MsS0FBSyxFQUFFLEtBQUs7RTVDL0daLGdCQUFnQixFQUFFLGtWQUF3QjtFNENpSDFDLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsbUJBQW1CLEVBQUUsT0FBTyxHQUUvQjs7QUFFRCxBQUFBLG1CQUFtQixHQUFHLFVBQVUsQUFBQSxRQUFRLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFNUN0SGhELGdCQUFnQixFQUFFLGlWQUF3QixHNENzSDhGOztBQUc1STs4RUFDOEU7QUFFOUUsQUFBQSxjQUFjLENBQUM7RUFDWCxPQUFPLEVwSGdmaUIsR0FBRyxDQUNELENBQUM7RW9IaGYzQixjQUFjLEVwSDJmVSxTQUFTO0VvSDFmakMsU0FBUyxFcEh2R1ksUUFBUSxHb0h5R2hDOztBQUVELEFBQUEsY0FBYyxBQUFBLElBQUssQ3JDWFEsWUFBWSxFcUNXTjtFQUFFLFVBQVUsRXBIaks3QixJQUFJLEdvSGlLcUQ7O0FBR3pFOzhFQUM4RTtBQUU5RSxBQUFBLGVBQWUsQ0FBQztFQUNaLE1BQU0sRXBIaWZvQixHQUFHLENBQ0QsQ0FBQyxHb0hoZmhDOztBQUdEOzhFQUM4RTtBQUU5RSxBQUFBLGVBQWUsQ0FBQztFbkh3K0NXLFNBQVMsRURsbURYLFFBQVEsR29INEhoQzs7QUFFRDs7R0FFRztBQUVILEFBQUEsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7RUFDckIsS0FBSyxFcEhoSVksSUFBSSxHb0hrSXhCOztBQUVELG1CQUFtQjtBQUNuQixBQUFBLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07QUFDOUIsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxDQUFDO0VBQzNCLEtBQUssRXBIekxNLElBQUksR29IMkxsQjs7QUFFRCxZQUFZO0FBQ1osQUFBQSxlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFDL0IsS0FBSyxFcEhqTWUsSUFBSSxHb0htTTNCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxlQUFlLENBQUMsY0FBYyxDQUFDO0VBQzNCLEtBQUssRXBIMU1lLElBQUksR29INE0zQjs7QUFFRDs7R0FFRztBQUVILEFBQUEsZUFBZSxDQUFDLGVBQWUsQ0FBQztFQUM1QixVQUFVLEVwSHJGUSxHQUFHLENvSHFGeUIsS0FBSyxDcEhuRnZDLE9BQU8sR29IcUZ0Qjs7QUFFRDs7R0FFRztBQUVILEFBQUEsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7RUFBRSxLQUFLLEVwSHZLaEIsSUFBSSxHb0h1S2lEOztBQUUxRSxBQUFBLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU07QUFDbkMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxDQUFDO0VBQUUsS0FBSyxFcEg1TjVCLElBQUksR29INE5tRTs7QUFFdEYsQUFBQSxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQUUsS0FBSyxFcEhoTzVCLElBQUksR29IZ09vRTs7QUFHaEc7OEVBQzhFO0FBTTlFOztHQUVHO0FBRUgsQUFBQSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztFQUNyQixTQUFTLEVwSDVIWSxNQUFNO0VvSDZIM0IsV0FBVyxFcEgvSk0sR0FBRztFb0hnS3BCLEtBQUssRXBIN0xZLElBQUksR29IK0x4Qjs7QUFFRCxtQkFBbUI7QUFDbkIsQUFBQSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNO0FBQzlCLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUMzQixLQUFLLEVwSHRQTSxJQUFJLEdvSHdQbEI7O0FBRUQsWUFBWTtBQUNaLEFBQUEsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQy9CLEtBQUssRXBIOVBlLElBQUksR29IZ1EzQjs7QUFFRDs7R0FFRztBQUVILEFBQUEsZUFBZSxDQUFDLGNBQWMsQ0FBQztFQUMzQixLQUFLLEVwSHZRZSxJQUFJLEdvSHlRM0I7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGVBQWUsQ0FBQyxlQUFlLENBQUM7RUFDNUIsVUFBVSxFcEhsSlEsR0FBRyxDb0hrSnlCLEtBQUssQ3BIaEp2QyxPQUFPLEdvSGtKdEI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0VBQUUsS0FBSyxFcEhwT2hCLElBQUksR29Ib09pRDs7QUFFMUUsQUFBQSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNO0FBQ25DLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUFFLEtBQUssRXBIelI1QixJQUFJLEdvSHlSbUU7O0FBRXRGLEFBQUEsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsQ0FBQztFQUFFLEtBQUssRXBIN1I1QixJQUFJLEdvSDZSb0U7O0FBR2hHOzhFQUM4RTtBQUU5RSxBQUFBLGNBQWMsQ0FBQztFQUFFLFVBQVUsRUFBRSxNQUFNLEdBQUk7O0FBRXZDLGNBQWM7QUFDZCxBQUFBLGNBQWMsQ0FBQyxXQUFXO0FBQzFCLGNBQWMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO0VBQUUsWUFBWSxFQUFFLENBQUMsR0FBSTs7QUFFbkQsMkJBQTJCO0FBQzNCLEFBQUEsY0FBYyxBQUFBLG1CQUFtQixHQUFHLFVBQVUsR0FBRyxDQUFDLEFBQUEsT0FBTyxDQUFDO0VBQUUsUUFBUSxFQUFFLFFBQVEsR0FBSTs7QUM1TmxGOzs4RUFFOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLFVBQVUsQ0FBQztFQUNQLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTztFQUNQLFFBQVEsRUFBRSxRQUFRLEdBRXJCOztBQUdEOzhFQUM4RTtBQUU5RSxBQUFBLG9CQUFvQixBQUFBLElBQUssQ0FBQSxzQkFBc0IsRUFBRTtFQUM3QyxVQUFVLEVySHBGWSxPQUFPLEdxSHNGaEM7O0FBTUQ7O0dBRUc7QUFFSCxBQUFBLG9CQUFvQixHQUFHLFFBQVE7QUFDL0Isb0JBQW9CLEdBQUcsT0FBTyxDQUFDO0VBQUUsT0FBTyxFQUFFLGVBQWUsR0FBSTs7QUFHN0Q7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEsZUFBZTtBQUNmLGdCQUFnQjtBQUVoQixpQkFBaUI7QUFDakIsc0JBQXNCLEdBQUcsQ0FBQztBQUMxQix1QkFBdUIsR0FBRyxDQUFDLENBQUM7RUFDeEIsT0FBTyxFQUFFLElBQUk7RUFDYixPQUFPO0VBQ1AsV0FBVyxFQUFFLE1BQU0sR0FDdEI7O0FBRUQ7Ozs7Ozs7R0FPRztBQUVILEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxXQUFXLEVBQUUsSUFBSSxHQUFJOztBQUV4QyxBQUFBLGlCQUFpQixBQUFBLFdBQVcsQ0FBQztFQUN6QixXQUFXLEVBQUUsSUFBSTtFQUNqQixZQUFZLEVBQUUsSUFBSTtFQUNsQixPQUFPO0VBQ1AsUUFBUSxFQUFFLFFBQVEsR0FDckI7O0FBRUQsQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENBQUEsV0FBVyxFQUFFO0VBQy9CLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLEdBQUc7RUFDVCxTQUFTLEVBQUUscUJBQW9CO0VBQy9CLE9BQU87RUFDUCxLQUFLLEVBQUUsV0FBVztFQUNsQixVQUFVLEVBQUUsVUFBVTtFQUN0QixPQUFPO0VBQ1AsT0FBTyxFckgrTE0sR0FBSSxHcUg5THBCOztBQUVELE9BQU87QUFDUCxBQUFBLHNCQUFzQjtBQUN0Qix1QkFBdUIsQ0FBQztFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQyxHQUNSOztBQUVELEFBQUEsc0JBQXNCLENBQUM7RUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFJOztBQUN4QyxBQUFBLHVCQUF1QixDQUFDO0VBQUUsSUFBSSxFQUFFLElBQUksR0FBSTs7Q0FFeEMsQUFBQSxBQUFBLEtBQUMsRUFBTyxtQkFBbUIsQUFBMUIsRUFBNEI7RUFDekIsS0FBSyxFQUFFLFdBQVc7RUFDbEIsVUFBVSxFQUFFLFVBQVUsR0FDekI7O0FBR0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxjQUFjLENBQUM7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU87RUFDUCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUksR0FDbkI7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGlCQUFpQixBQUFBLFdBQVcsQ0FBQztFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUk7O0FBRWxEOzs7Ozs7R0FNRztBQUVILEFBQUEsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLGVBQWU7QUFDZixpQkFBaUIsQ0FBQztFQUNkLE9BQU87RUFDUCxPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLE9BQU87RUFDUCxVQUFVLEVBQUUsVUFBVTtFQUN0QixVQUFVLEVySG1lVyxJQUFJO0VxSGxlekIsT0FBTyxFQUFFLENBQUMsQ3JIbWV1QixJQUFJO0VxSGxlckMsT0FBTztFQUNQLFNBQVMsRXJIOUtZLFFBQVE7RXFIK0s3QixXQUFXLEVySHBKTSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0I7RXFIcUp0TSxPQUFPO0VBQ1AsZUFBZSxFQUFFLElBQUksR0FDeEI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0VBQ3BCLEtBQUssRXJIdExZLElBQUk7RUMwbkRyQixjQUFjLEVEM2tCZSxTQUFTO0VDNGtCdEMsVUFBVSxFQUFFLGdCQUFnQjtFQUM1QixtQkFBbUIsRUFBRSx1QkFBdUIsR29IcDhDL0M7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxjQUFjLEdBQUcsRUFBRSxBQUFBLE1BQU0sR0FBRyxDQUFDO0FBQzdCLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07QUFDN0IsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsUUFBUSxDQUFDO0VBQzVCLEtBQUssRXJIcFBNLElBQUk7RXFIcVBmLE9BQU8sRUFBRSxJQUFJLEdBRWhCOztBQUVELGFBQWE7QUFDYixBQUFBLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUMzQixLQUFLLEVySDdQZSxJQUFJLEdxSCtQM0I7O0FBRUQsWUFBWTtBQUNaLEFBQUEsY0FBYyxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQzlCLEtBQUssRXJIblFlLElBQUksR3FIcVEzQjs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxlQUFlLENBQUM7RUFDWixLQUFLLEVySDFRTSxJQUFJLEdxSDRRbEI7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsaUJBQWlCLENBQUM7RUFDZCxLQUFLLEVySGpPWSxJQUFJLEdxSG1PeEI7O0FBRUQsQUFBQSxpQkFBaUIsQUFBQSxNQUFNO0FBQ3ZCLGlCQUFpQixBQUFBLE1BQU07QUFDdkIsaUJBQWlCLEFBQUEsUUFBUSxDQUFDO0VBQ3RCLEtBQUssRXJIMVJNLElBQUk7RXFIMlJmLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLElBQUksR0FFeEI7O0FBRUQ7OztHQUdHO0FBTUgsbUJBQW1CO0FBT25COzhFQUM4RTtBQUU5RSxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLFNBQVMsRXJIclFZLFFBQVEsR3FIdVFoQzs7QUFHRDs4RUFDOEU7QUFlOUU7OEVBQzhFO0FBRTlFOzs7Ozs7R0FNRztBQUVILEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsT0FBTztFQUNQLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRXJISU0sSUFBSTtFcUhIakIsT0FBTztFQUNQLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLEtBQUssRXJIOFdlLEtBQUs7RXFIN1d6QixPQUFPO0VBQ1AsT0FBTyxFckg4V2UsSUFBSTtFcUg3VzFCLFVBQVUsRXJIelNNLElBQUk7RXFIMFNwQixLQUFLLEVySGhXTSxJQUFJO0VDNHJEWSxVQUFVLEVEemxCWixDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBZ0IsR3FIandCdkQ7O0FBRUQsVUFBVTtBQUNWLEFBQUEsbUJBQW1CLEFBQUEsUUFBUSxDQUFDO0VBQUUsT0FBTyxFQUFFLEtBQUssR0FBSTs7QUFFaEQ7O0dBRUc7QUFFSCxlQUFlO0NBQ2YsQUFBQSxBQUFBLEtBQUMsRUFBTyx3QkFBd0IsQUFBL0IsRUFBaUM7RUFBRSxVQUFVLEVySCtWckIsS0FBSSxHcUgvVmlEOztDQUM5RSxBQUFBLEFBQUEsS0FBQyxFQUFPLDJCQUEyQixBQUFsQyxFQUFvQztFQUFFLFVBQVUsRXJIOFZ4QixJQUFJLEdxSDlWaUQ7O0NBQzlFLEFBQUEsQUFBQSxLQUFDLEVBQU8seUJBQXlCLEFBQWhDLEVBQWtDO0VBQUUsV0FBVyxFckg2VnZCLEtBQUksR3FIN1ZtRDs7Q0FDaEYsQUFBQSxBQUFBLEtBQUMsRUFBTywwQkFBMEIsQUFBakMsRUFBbUM7RUFBRSxXQUFXLEVySDRWeEIsSUFBSSxHcUg1VmlEOztBQUU5RTs7O0dBR0c7QUFFSCx1QkFBdUI7QUFDdkIsQUFBQSx3QkFBd0IsQ0FBQztFQUFFLFdBQVcsRXJId1ZHLEtBQThCLEdxSHhWZTs7QUFDdEYsQUFBQSx3QkFBd0IsR0FBRyxDQUFDLENBQUM7RUFBRSxZQUFZLEVySHVWRixJQUE4QixHcUh2VmlCOztBQUV4RixxQkFBcUI7QUFDckIsQUFBQSx3QkFBd0IsR0FBRyxlQUFlLENBQUM7RUFBRSxVQUFVLEVySG9WZCxJQUE4QixHcUhwVjJCOztBQUVsRyxXQUFXO0FBQ1gsQUFBQSx5QkFBeUIsQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUM7RUFBRSxLQUFLLEVBQUUsZUFBZSxHQUFJOztBQUVuRjs7R0FFRztBQUVILEFBQUEsMkJBQTJCLEFBQUEsSUFBSyxDQUFBLHlCQUF5QixFQUFFO0VBQUUsS0FBSyxFQUFFLEtBQTRCLEdBQUk7O0FBQ3BHLEFBQUEsMkJBQTJCLEFBQUEsSUFBSyxDQURBLHlCQUF5QixFQUNFO0VBQUUsS0FBSyxFQUFFLEtBQTRCLEdBQUk7O0FBQ3BHLEFBQUEsMkJBQTJCLEFBQUEsSUFBSyxDQUZBLHlCQUF5QixFQUVFO0VBQUUsS0FBSyxFQUFFLEtBQTRCLEdBQUk7O0FBQ3BHLEFBQUEsMkJBQTJCLEFBQUEsSUFBSyxDQUhBLHlCQUF5QixFQUdFO0VBQUUsS0FBSyxFQUFFLE1BQTRCLEdBQUk7O0FBRXBHOztHQUVHO0FBRUgsQUFBQSwyQkFBMkIsQ0FBQztFQUN4QixVQUFVLEVySG1VdUIsQ0FBQztFcUhsVWxDLGFBQWEsRXJIa1VvQixDQUFDO0VDNCtCQyxVQUFVLEVBQUUsSUFBSSxHb0g1eUN0RDs7QUFHRDs7OEVBRThFO0FBRTlFLEFBQUEsdUJBQXVCLENBQUM7RXBIc3lDVyxTQUFTLEVEL29EbkIsUUFBUSxHcUgyV2hDOztBQUVEOztHQUVHO0FBRUgsQUFBQSx1QkFBdUIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0VBQzdCLEtBQUssRXJIL1dZLElBQUksR3FIaVh4Qjs7QUFFRCxtQkFBbUI7QUFDbkIsQUFBQSx1QkFBdUIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07QUFDdEMsdUJBQXVCLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLENBQUM7RUFDbkMsS0FBSyxFckh4YU0sSUFBSSxHcUgwYWxCOztBQUVELFlBQVk7QUFDWixBQUFBLHVCQUF1QixHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQ3ZDLEtBQUssRXJIaGJlLElBQUksR3FIa2IzQjs7QUFFRDs7R0FFRztBQUVILEFBQUEsdUJBQXVCLENBQUMsY0FBYyxDQUFDO0VBQ25DLEtBQUssRXJIemJlLElBQUksR3FIMmIzQjs7QUFFRDs7R0FFRztBQUVILEFBQUEsdUJBQXVCLENBQUMsZUFBZSxDQUFDO0VBQ3BDLFVBQVUsRXJIcFVRLEdBQUcsQ3FIb1VpQyxLQUFLLENySGxVL0MsT0FBTyxHcUhvVXRCOztBQUVEOztHQUVHO0FBRUgsQUFBQSx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0VBQUUsS0FBSyxFckh0WnhCLElBQUksR3FIc1ppRTs7QUFFMUYsQUFBQSx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU07QUFDM0MsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLENBQUM7RUFBRSxLQUFLLEVySDNjcEMsSUFBSSxHcUgyY21GOztBQUV0RyxBQUFBLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsQ0FBQztFQUFFLEtBQUssRXJIL2NwQyxJQUFJLEdxSCtjb0Y7O0FBR2hIOzhFQUM4RTtBQUU5RSxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsVUFBVSxFckg5Wk0sSUFBSSxHcUhnYXZCOztBQUVEOztHQUVHO0FBRUgsQUFBQSx3QkFBd0IsQ0FBQztFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVySGpJTSxHQUFJO0VxSGtJakIsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFcEhxdUN3QixVQUFVLEVEam1CbEIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEdxSGxvQnhEOztBcEhzdUNHOztPQUVHO0FBRUgsQUFBQSxvQkFBb0IsR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDO0VBQ2pELFdBQVcsRUQvZ0NrQixLQUFJO0VDZ2hDakMsWUFBWSxFRGhoQ2lCLEtBQUksR0NpaENwQzs7QUFDRCxBQUFBLG9CQUFvQixHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztFQUFFLFlBQVksRURsaENuQyxLQUFJLEdDa2hDMkU7O0FBRWhIOztPQUVHO0FvSDUxQ1AsQUFBQSx3QkFBd0IsR0FBRyxDQUFDLENwSDgxQ0s7RUFBRSxRQUFRLEVBQUUsUUFBUSxHQUFJOztBQUVyRCxBQUFBLHdCQUF3QixHQUFHLElBQUssQ2tIcGhEWixnQkFBZ0IsQ2xIb2hEYSxRQUFRLENBQUM7RUFDdEQsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLElBQTZDO0VBQ25ELFdBQVcsRURsbURHLEdBQUcsQ0NrbUR1QyxLQUFLLENEaG1EckQsT0FBTyxHQ2ltRGxCOztBQUVELGNBQWM7QUFDZCxBQUFBLHdCQUF3QixBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsUUFBUSxDQUFDO0VBQzdELE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFJLEtBQXlDO0VBQ2hELElBQUksRUR2aEM2QixJQUE4QjtFQ3doQy9ELEtBQUssRUFBRSxDQUFDO0VBQ1IsVUFBVSxFRDVtREksR0FBRyxDQzRtRHNDLEtBQUssQ0QxbURwRCxPQUFPLEdDMm1EbEI7O0FxSHJzREw7OzhFQUU4RTtBQUU5RTs7OztHQUlHO0FBRUgsQUFBQSxVQUFVLENBQUM7RUFDUCxPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU87RUFDUCxTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU87RUFDUCxXQUFXLEV0SG96QlksS0FBSTtFc0huekIzQixPQUFPO0VBQ1AsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsSUFBSSxHQUVuQjs7QUFFRDs7OztHQUlHO0FBRUgsQUFBQSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQ1gsT0FBTztFQUNQLElBQUksRUFBRSxJQUFJO0VBQ1YsT0FBTztFQUNQLFlBQVksRXRIbXlCVyxJQUFJO0VzSGx5QjNCLE9BQU87RUFDUCxRQUFRLEVBQUUsUUFBUSxHQUNyQjs7QUFHRDs4RUFDOEU7QUFFOUU7Ozs7O0dBS0c7QUFFSCxBQUFBLFVBQVUsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDO0VBQzFCLE9BQU87RUFDUCxPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU87RUFDUCxLQUFLLEV0SHRDWSxJQUFJO0VDcXhEckIsU0FBUyxFRHh4RFksUUFBUTtFQ3l4RDdCLGNBQWMsRUQzdEJXLFNBQVM7RUM0dEJsQyxVQUFVLEVBQUUsZ0JBQWdCO0VBQzVCLG1CQUFtQixFQUFFLHVCQUF1QixHcUhodkQvQzs7QUFFRCxtQkFBbUI7QUFDbkIsQUFBQSxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0FBQ3hCLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUNyQixLQUFLLEV0SC9GTSxJQUFJO0VzSGdHZixlQUFlLEV0SDB3QmlCLElBQUk7RXNIendCcEMsT0FBTyxFQUFFLElBQUksR0FFaEI7O0FBRUQsWUFBWTtBQUNaLEFBQUEsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFDeEIsS0FBSyxFdEh6R2UsSUFBSSxHc0gyRzNCOztBQUdEOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsa0JBQWtCLENBQUM7RUFBRSxXQUFXLEVBQUksS0FBc0UsR0FBSzs7QUFFL0c7O0dBRUc7QUFFSCxBQUFBLGtCQUFrQixHQUFHLENBQUMsQ0FBQztFQUNuQixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNLEdBQ3RCOztBQUVEOzs7R0FHRztBQUVILEFBQUEsa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0VBQzFCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsTUFBTSxFdEh3dUJxQixLQUFLO0VzSHZ1QmhDLFdBQVcsRUFBRSxHQUErRDtFQUM1RSxZQUFZLEV0SGd1QlcsSUFBSTtFc0gvdEIzQixXQUFXLEV0SFpPLEdBQUcsQ3NIWXFCLEtBQUssQ0FBQyxXQUFXLEdBQzlEOztBQUVELE9BQU87QUFDUCxBQUFBLGtCQUFrQixHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDSHdEakIsZ0JBQWdCLENHeERrQixRQUFRLENBQUM7RUFDL0QsaUJBQWlCLEV0SGZMLE9BQU8sR3NIaUJ0Qjs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxlQUFlLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQztFQUMvQixPQUFPLEV0SDB0QnlCLEdBQUcsQ0FDRCxJQUFJO0VzSDF0QnRDLFVBQVUsRXRIMnRCZ0IsV0FBVztFc0gxdEJyQyxLQUFLLEV0SHRHWSxJQUFJLEdzSHdHeEI7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTTtBQUM3QixlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLENBQUM7RUFDMUIsZ0JBQWdCLEV0SG5KTSxPQUFPO0VzSG9KN0IsS0FBSyxFdEhoS00sSUFBSSxHc0hrS2xCOztBQUVELGFBQWE7QUFDYixBQUFBLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUMzQixnQkFBZ0IsRXRIMUpNLE9BQU87RXNIMko3QixLQUFLLEV0SHZLTSxJQUFJLEdzSHlLbEI7O0FBRUQsWUFBWTtBQUNaLEFBQUEsZUFBZSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFDN0IsZ0JBQWdCLEV0SDVKUSxPQUFPO0VzSDZKL0IsS0FBSyxFdEgzS2MsSUFBSSxHc0g2SzFCOztBQUdEOzs4RUFFOEU7QUFFOUUsQUFBQSxVQUFVLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQztFQUMxQixLQUFLLEV0SHRJWSxJQUFJLEdzSHdJeEI7O0FDeEtEOzs4RUFFOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLGNBQWMsQ0FBQztFQUNYLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUksR0FFbkI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGNBQWMsR0FBRyxDQUFDLENBQUM7RUFBRSxPQUFPLEVBQUUsUUFBUSxHQUFJOztBQUcxQzs4RUFDOEU7QUFFOUUsQUFBQSxjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNuQixTQUFTLEV2SElZLFFBQVE7RXVISDdCLEtBQUssRXZITVksSUFBSSxHdUhKeEI7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNO0FBQzNCLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO0VBQ3hCLEtBQUssRXZIbkRNLElBQUk7RXVIb0RmLGVBQWUsRXZIcUdxQixJQUFJLEd1SG5HM0M7O0FBRUQsY0FBYztBQUtkLFlBQVk7QUFDWixBQUFBLGNBQWMsR0FBRyxXQUFXLEdBQUcsSUFBSTtBQUNuQyxjQUFjLEdBQUcsV0FBVyxHQUFHLENBQUMsQUFBQSxJQUFLLEVBQUEsQUFBQSxJQUFDLEFBQUEsR0FBTztFQUN6QyxLQUFLLEV2SGhFTSxJQUFJLEd1SGtFbEI7O0FBRUQ7Ozs7O0dBS0c7QUFFSCxBQUFBLGNBQWMsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ0p5SGIsZ0JBQWdCLENJekhjLFFBQVEsQ0FBQztFQUMzRCxPQUFPLEV2SCtFVSxHQUFHO0V1SDlFcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTztFQUNQLE1BQU0sRUFBRSxDQUFDLEN2SDZFMEIsSUFBSSxDdUg3RVMsQ0FBQyxDQUFDLGdCQUErRDtFQUNqSCxPQUFPO0VBQ1AsU0FBUyxFdkhsQ1ksUUFBUTtFdUhtQzdCLEtBQUssRXZIaENZLElBQUksR3VIa0N4Qjs7QUMvREQ7OzhFQUU4RTtBQUU5RTs7OztHQUlHO0FBRUgsQUFBQSxjQUFjLENBQUM7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU87RUFDUCxTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU87RUFDUCxXQUFXLEV4SHN1QmdCLENBQUM7RXdIcnVCNUIsT0FBTztFQUNQLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUksR0FFbkI7O0FBRUQ7Ozs7R0FJRztBQUVILEFBQUEsY0FBYyxHQUFHLENBQUMsQ0FBQztFQUNmLE9BQU87RUFDUCxJQUFJLEVBQUUsSUFBSTtFQUNWLE9BQU87RUFDUCxZQUFZLEV4SHF0QmUsQ0FBQztFd0hwdEI1QixPQUFPO0VBQ1AsUUFBUSxFQUFFLFFBQVEsR0FDckI7O0FBR0Q7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDbkIsT0FBTztFQUNQLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTztFQUNQLE9BQU8sRXhIb3NCd0IsR0FBRyxDQUNELElBQUk7RXdIcHNCckMsS0FBSyxFeEh0QlksSUFBSTtFQ290RE0sVUFBVSxFQUFFLHNCQUFzQixHdUg1ckRoRTs7QUFFRCxtQkFBbUI7QUFDbkIsQUFBQSxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU07QUFDM0IsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7RUFDeEIsS0FBSyxFeEgvRU0sSUFBSTtFd0hnRmYsZUFBZSxFeEgrckJxQixJQUFJLEd3SDdyQjNDOztBQUVELFlBQVk7QUFDWixBQUFBLGNBQWMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQzVCLEtBQUssRXhIdEZNLElBQUksR3dId0ZsQjs7QUFFRCxjQUFjO0FBQ2QsQUFBQSxjQUFjLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQztFQUM5QixLQUFLLEV4SDFDWSxJQUFJLEd3SDRDeEI7O0FDeEVEOzs4RUFFOEU7QUFFOUU7Ozs7R0FJRztBQUVILEFBQUEsT0FBTyxDQUFDO0VBQ0osT0FBTyxFQUFFLElBQUk7RUFDYixPQUFPO0VBQ1AsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPO0VBQ1AsV0FBVyxFekhtMkJTLEtBQUk7RXlIbDJCeEIsT0FBTztFQUNQLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUk7RXhIMHpEaEIsUUFBUSxFQUFFLFFBQVEsR3dIeHpEckI7RUFWRCxBeEhvMERJLE93SHAwREcsQXhIbzBERixRQUFRLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsSUFBSSxFRGgrQlksSUFBSTtJQ2krQnBCLEtBQUssRUFBRSxDQUFDO0lBQ1IsYUFBYSxFRDl1REMsR0FBRyxDQzh1RGdCLEtBQUssQ0Q1dUQ5QixPQUFPLEdDNnVEbEI7O0F3SC96REw7Ozs7R0FJRztBQUVILEFBQUEsT0FBTyxHQUFHLENBQUMsQ0FBQztFQUNSLE9BQU87RUFDUCxJQUFJLEVBQUUsSUFBSTtFQUNWLE9BQU87RUFDUCxZQUFZLEV6SGsxQlEsSUFBSTtFeUhqMUJ4QixPQUFPO0VBQ1AsUUFBUSxFQUFFLFFBQVEsR0FDckI7O0FBR0Q7OEVBQzhFO0FBRTlFOzs7O0dBSUc7QUFFSCxBQUFBLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1osT0FBTztFQUNQLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLE1BQU07RUFDbEIsT0FBTztFQUNQLE9BQU8sRXpIZzBCaUIsR0FBRyxDQURELElBQUk7RXlIOXpCOUIsS0FBSyxFekh6QlksSUFBSTtFQzZ6RHJCLGFBQWEsRURudkRLLEdBQUcsQ0NtdkRpQixLQUFLLENBQUMsV0FBVztFQUN2RCxTQUFTLEVEajBEWSxRQUFRO0VDazBEN0IsY0FBYyxFRC92QlEsU0FBUztFQ2d3Qi9CLFVBQVUsRUFBRSxzQkFBc0IsR3dIcnlEckM7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTTtBQUNyQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLENBQUM7RUFDbEIsS0FBSyxFekhsRk0sSUFBSTtFeUhtRmYsZUFBZSxFekgwekJjLElBQUksR3lIeHpCcEM7O0FBRUQsWUFBWTtBQUNaLEFBQUEsT0FBTyxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFDckIsS0FBSyxFekgzRmUsSUFBSTtFQ3UzREcsWUFBWSxFRHAyRGYsT0FBTyxHeUgwRWxDOztBQUVELGNBQWM7QUFDZCxBQUFBLE9BQU8sR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDO0VBQ3ZCLEtBQUssRXpIN0NZLElBQUksR3lIK0N4Qjs7QUFHRDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBeEg4d0RJLGN3SDl3RFUsQXhIOHdEVCxRQUFRLENBQUM7RUFDTixHQUFHLEVBQUUsQ0FBQztFQUNOLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0F3SDd3REwsQUFBQSxjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztFeEhpeERuQixVQUFVLEVEcHdEUSxHQUFHLENDb3dEYyxLQUFLLENBQUMsV0FBVztFQUNwRCxhQUFhLEVBQUUsSUFBSSxHd0hoeER0Qjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLFlBQVk7QUFDWixhQUFhLENBQUM7RUFDVixjQUFjLEVBQUUsTUFBTTtFQUN0QixPQUFPO0VBQ1AsV0FBVyxFQUFFLENBQUMsR0FDakI7O0FBRUQsT0FBTztBQUNQLEFBQUEsWUFBWSxHQUFHLENBQUM7QUFDaEIsYUFBYSxHQUFHLENBQUMsQ0FBQztFQUFFLFlBQVksRUFBRSxDQUFDLEdBQUk7O0FBRXZDLEF4SGt3REksWXdIbHdEUSxBeEhrd0RQLFFBQVEsQ0FBQztFQUNOLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsSUFBSTtFQUNWLEtBQUssRUFBRSxDQUFDO0VBQ1IsV0FBVyxFRDl3REcsR0FBRyxDQzh3RGMsS0FBSyxDRDV3RDVCLE9BQU87RUM2d0RmLGFBQWEsRUFBRSxJQUFJLEdBQ3RCOztBd0hyd0RMLEF4SDB3REksYXdIMXdEUyxBeEgwd0RSLFFBQVEsQ0FBQztFQUNOLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJO0VBQ1gsV0FBVyxFRDF4REcsR0FBRyxDQzB4RGMsS0FBSyxDRHh4RDVCLE9BQU87RUN5eERmLGFBQWEsRUFBRSxJQUFJLEdBQ3RCOztBd0g3d0RMLEFBQUEsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDakIsVUFBVSxFQUFFLElBQUk7RXhIZ3hEaEIsWUFBWSxFRGh5RE0sR0FBRyxDQ2d5RGdCLEtBQUssQ0FBQyxXQUFXO0VBQ3RELGFBQWEsRUFBRSxJQUFJLEd3SC93RHRCOztBQUVELEFBQUEsYUFBYSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDbEIsVUFBVSxFQUFFLElBQUk7RXhIK3dEaEIsV0FBVyxFRHB5RE8sR0FBRyxDQ295RGUsS0FBSyxDQUFDLFdBQVc7RUFDckQsYUFBYSxFQUFFLElBQUksR3dIOXdEdEI7O0F4SGt4REcsQUFBQSxPQUFPLENBQUMsWUFBWSxDQUFDO0VBQUUsV0FBVyxFQUFFLElBQXVELEdBQUc7O0F5SGg1RGxHOzs4RUFFOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLFlBQVksQ0FBQztFQUNULE9BQU8sRTFIZ3pCaUIsR0FBRyxDQUNELElBQUk7RTBIaHpCOUIsS0FBSyxFMUgvQk0sd0JBQUk7RUM4eURLLFVBQVUsRUFBRSxzQkFBc0IsR3lIN3dEekQ7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsWUFBWSxBQUFBLE1BQU07QUFDbEIsWUFBWSxBQUFBLE1BQU0sQ0FBQztFQUNmLEtBQUssRTFIdENNLHdCQUFJO0UwSHVDZixPQUFPLEVBQUUsSUFBSSxHQUVoQjs7QUFFRCxhQUFhO0FBQ2IsQUFBQSxZQUFZLEFBQUEsT0FBTyxDQUFDO0VBQ2hCLEtBQUssRTFIN0NNLHdCQUFJLEcwSCtDbEI7O0FBR0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBTUg7O0dBRUc7QUFPSDs4RUFDOEU7QUFFOUUsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLE9BQU8sRTFIeXdCdUIsSUFBSSxDQUFKLElBQUksRzBIdndCckM7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsc0JBQXNCLENBQUM7RUFDbkIsT0FBTyxFQUFFLElBQUksR0FFaEI7O0FDaEVEOzs4RUFFOEU7QUFFOUU7Ozs7R0FJRztBQUVILEFBQUEsVUFBVSxDQUFDO0VBQ1AsT0FBTyxFQUFFLElBQUk7RUFDYixPQUFPO0VBQ1AsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPO0VBQ1AsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU87RUFDUCxXQUFXLEUzSHdTWSxLQUFJLEcySHRTOUI7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQ1gsT0FBTztFQUNQLElBQUksRUFBRSxJQUFJO0VBQ1YsT0FBTztFQUNQLFlBQVksRTNIMlJXLElBQUksRzJIMVI5Qjs7QUFHRDs4RUFDOEU7QUFFOUU7OztHQUdHO0FBRUgsQUFBQSxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNmLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLFVBQVU7RUFDdEIsS0FBSyxFM0g4UVcsSUFBSTtFMkg3UXBCLE1BQU0sRTNINlFVLElBQUk7RTJINVFwQixhQUFhLEUzSDhRVyxHQUFHO0UySDdRM0IsVUFBVSxFM0g4UVcsV0FBVztFMkg3UWhDLE9BQU87RUFDUCxXQUFXLEVBQUUsSUFBSTtFQUNqQixRQUFRLEVBQUUsTUFBTTtFQUNoQixXQUFXLEVBQUUsTUFBTTtFMUh3cUJuQixNQUFNLEVEMFVpQixHQUFHLENDMVVRLEtBQUssQ0RudkI1Qix3QkFBSTtFQ292QmYsVUFBVSxFQUFFLGdCQUFnQjtFQUM1QixtQkFBbUIsRUFBRSw4QkFBOEIsRzBIeHFCdEQ7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNO0FBQ3ZCLFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO0VBQ3BCLGdCQUFnQixFM0hsRkwsd0JBQUk7RTJIbUZmLE9BQU8sRUFBRSxJQUFJO0UxSG9xQmdCLFlBQVksRUR3VWxCLFdBQVcsRzJIMStCckM7O0FBRUQsYUFBYTtBQUNiLEFBQUEsVUFBVSxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7RUFDckIsZ0JBQWdCLEUzSHpGTCx3QkFBSTtFQ3d2QmdCLFlBQVksRUR3VWxCLFdBQVcsRzJIcitCdkM7O0FBRUQsWUFBWTtBQUNaLEFBQUEsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFDeEIsZ0JBQWdCLEUzSC9GTCx3QkFBSTtFQ3l2QmUsWUFBWSxFRHdVbEIsV0FBVyxHMkhoK0J0Qzs7QUFHRDs4RUFDOEU7QUFFOUU7OztHQUdHO0FBRUgsQUFBQSxtQkFBbUIsQ0FBQztFQUNoQixPQUFPO0VBQ1AsY0FBYyxFQUFFLE1BQU07RUFDdEIsT0FBTztFQUNQLFdBQVcsRUFBRSxDQUFDO0VBQ2QsVUFBVSxFM0grTmEsS0FBSSxHMkg5TjlCOztBQUVELE9BQU87QUFDUCxBQUFBLG1CQUFtQixHQUFHLENBQUMsQ0FBQztFQUNwQixZQUFZLEVBQUUsQ0FBQztFQUNmLFdBQVcsRTNIeU5ZLElBQUksRzJIeE45Qjs7QUM1R0Q7OzhFQUU4RTtBQUU5RTs7OztHQUlHO0FBRUgsQUFBQSxZQUFZLENBQUM7RUFDVCxPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU87RUFDUCxTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU87RUFDUCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTztFQUNQLFdBQVcsRTVIczZCYyxLQUFJLEc0SHA2QmhDOztBQUVEOzs7R0FHRztBQUVILEFBQUEsWUFBWSxHQUFHLENBQUMsQ0FBQztFQUNiLE9BQU87RUFDUCxZQUFZLEU1SDI1QmEsSUFBSSxHNEgxNUJoQzs7QUFHRDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLFlBQVksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxZQUFZO0UzSGk5RHJCLFFBQVEsRUFBRSxRQUFRLEcySC84RHJCO0VBSEQsQTNIbzlESSxZMkhwOURRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQTNIbzlEZixPQUFPLENBQUM7SUFDTCxPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxDQUFDO0lBQ04sTUFBTSxFQUFFLENBQUM7SUFDVCxJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRSxDQUFDO0lBQ1IsVUFBVSxFRDE5REUsd0JBQUk7SUMyOURoQixVQUFVLEVBQUUsaUNBQWlDLEdBQ2hEOztBMkh4OURMLG1CQUFtQjtBQUNuQixBQUFBLFlBQVksR0FBRyxDQUFDLEdBQUcsTUFBTTtBQUN6QixZQUFZLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztFQUN0QixPQUFPLEVBQUUsSUFBSSxHQUVoQjtFQUpELEEzSDI5REksWTJIMzlEUSxHQUFHLENBQUMsR0FBRyxNQUFNLEEzSDI5RHBCLE9BQU87RTJIMTlEWixZQUFZLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQTNIMDlEcEIsT0FBTyxDQUFDO0lBQUUsZ0JBQWdCLEVENTVCRSxXQUFXLEdDNDVCd0I7O0EySHI5RHBFLFlBQVk7QUFDWixBM0h1OURJLFkySHY5RFEsR0FBRyxVQUFVLEdBQUcsQ0FBQyxBM0h1OUR4QixPQUFPLENBQUM7RUFBRSxnQkFBZ0IsRUQ5NUJHLFdBQVcsR0M4NUJ3Qjs7QTJIbDlEckU7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEscUJBQXFCLENBQUM7RUFDbEIsT0FBTztFQUNQLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLE9BQU87RUFDUCxXQUFXLEVBQUUsQ0FBQztFQUNkLFVBQVUsRTVIaTNCZSxLQUFJLEc0SGgzQmhDOztBQUVELE9BQU87QUFDUCxBQUFBLHFCQUFxQixHQUFHLENBQUMsQ0FBQztFQUN0QixZQUFZLEVBQUUsQ0FBQztFQUNmLFdBQVcsRTVIMjJCYyxJQUFJLEc0SDEyQmhDOztBQ3pFRDs7OEVBRThFO0FBRTlFOzs7O0dBSUc7QUFFSCxBQUFBLFdBQVcsQ0FBQztFQUNSLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTztFQUNQLFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTztFQUNQLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPO0VBQ1AsV0FBVyxFN0grRk8sS0FBSSxHNkg3RnpCOztBQUVEOzs7R0FHRztBQUVILEFBQUEsV0FBVyxHQUFHLENBQUMsQ0FBQztFQUNaLE9BQU87RUFDUCxZQUFZLEU3SG9GTSxJQUFJLEc2SG5GekI7O0FBR0Q7OEVBQzhFO0FBRTlFOzs7O0dBSUc7QUFFSCxBQUFBLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ2hCLE9BQU87RUFDUCxPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU87RUFDUCxLQUFLLEU3SGZZLElBQUksRzZIaUJ4Qjs7QUFFRCxtQkFBbUI7QUFDbkIsQUFBQSxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0FBQ3pCLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUN0QixLQUFLLEU3SHhFTSxJQUFJO0U2SHlFZixPQUFPLEVBQUUsSUFBSSxHQUVoQjs7QUFFRCxZQUFZO0FBQ1osQUFBQSxXQUFXLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztFQUN6QixLQUFLLEU3SC9FTSxJQUFJLEc2SGlGbEI7O0FBR0Q7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEsb0JBQW9CLENBQUM7RUFDakIsT0FBTztFQUNQLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLE9BQU87RUFDUCxXQUFXLEVBQUUsQ0FBQztFQUNkLFVBQVUsRTdIbUNRLEtBQUksRzZIbEN6Qjs7QUFFRCxPQUFPO0FBQ1AsQUFBQSxvQkFBb0IsR0FBRyxDQUFDLENBQUM7RUFDckIsWUFBWSxFQUFFLENBQUM7RUFDZixXQUFXLEU3SDZCTyxJQUFJLEc2SDVCekI7O0FDbEVEOzs4RUFFOEU7QUFFOUU7Ozs7Ozs7O0dBUUc7QUFFSCxBQUFBLFlBQVksQ0FBQztFQUNULE9BQU87RUFDUCxPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU87RUFDUCxRQUFRLEVBQUUsS0FBSztFQUNmLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTyxFOUhnU00sSUFBSTtFOEgvUmpCLE9BQU87RUFDUCxVQUFVLEU5SDBlUSxJQUFJO0U4SHpldEIsT0FBTztFQUNQLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLG9CQUFvQjtFQUNoQyxPQUFPO0VBQ1AsWUFBWSxFQUFFLFVBQVUsR0FFM0I7O0FBRUQ7Ozs7R0FJRztBQUVILEFBQUEsWUFBWSxBQUFBLFFBQVEsQ0FBQztFQUNqQixPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU87RUFDUCxPQUFPLEVBQUUsQ0FBQyxHQUNiOztBQUdEOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsaUJBQWlCLENBQUM7RUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFJOztBQUd4Qzs4RUFDOEU7QUFFOUU7Ozs7Ozs7OztHQVNHO0FBRUgsQUFBQSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7RUFDbkIsT0FBTztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTztFQUNQLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLE1BQU07RUFDdkIsV0FBVyxFQUFFLE1BQU07RUFDbkIsT0FBTztFQUNQLEtBQUssRTlIaWJhLHdCQUFxQjtFOEhoYnZDLE9BQU87RUFDUCxXQUFXLEVBQUUsa0JBQWtCLEdBRWxDOztBQUVELE9BQU87QUFDUCxBQUFBLGtCQUFrQixHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDdkIsU0FBUyxFOUgwYWEsS0FBSztFOEh6YTNCLFVBQVUsRTlIMGFhLEtBQUssRzhIemEvQjs7QUFFRCxPQUFPO0FBQ1AsQUFBQSxrQkFBa0IsR0FBRyxNQUFNLENBQUM7RUFBRSxPQUFPLEVBQUUsSUFBSSxHQUFJOztBQUUvQyxBQUFBLGtCQUFrQixHQUFHLENBQUMsR0FBRyxJQUFLLENyRG9LOUIsTUFBTSxFcURwS2dDO0VBQ2xDLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUksR0FDZjs7QUFFRCxBQUFBLGtCQUFrQixHQUFHLFVBQVUsQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUk7O0FBRW5EOzhFQUM4RTtBQUU5RSxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLE9BQU8sRTlIMFp5QixJQUFJLENBQ0YsSUFBSTtFOEgxWnRDLFVBQVUsRTlIMlpnQixrQkFBZTtFOEgxWnpDLEtBQUssRTlIMlpnQix3QkFBcUIsRzhIelo3Qzs7QUFFRCxBQUFBLG9CQUFvQixHQUFHLENBQUMsQ0FBQztFQUFFLEtBQUssRTlIdVpQLHdCQUFxQixHOEh2WmU7O0FBRzdEOzhFQUM4RTtBQUU5RSxBQUFBLHlCQUF5QixDQUFDO0VBQ3RCLE9BQU8sRTlIaVpxQixHQUFHO0U4SGhaL0IsS0FBSyxFOUhpWnFCLHdCQUFxQixHOEgvWWxEOztBQUVEOztHQUVHO0FBRUgsQUFBQSx5QkFBeUIsQUFBQSxNQUFNLENBQUM7RUFDNUIsS0FBSyxFOUh5WTJCLElBQUksRzhIdll2Qzs7QUFJRDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLEtBQUssRTlIMlhjLElBQUk7RThIMVh2QixNQUFNLEU5SDBYYSxJQUFJO0U4SHpYdkIsVUFBVSxFOUhvWGdCLGtCQUFlO0U4SG5YekMsS0FBSyxFOUgwWGUsd0JBQXFCO0U4SHpYekMsT0FBTztFQUNQLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFdBQVcsRUFBRSxNQUFNLEdBRXRCOztBQUVELG1CQUFtQjtBQUNuQixBQUFBLG1CQUFtQixBQUFBLE1BQU07QUFDekIsbUJBQW1CLEFBQUEsTUFBTSxDQUFDO0VBQ3RCLEtBQUssRTlIZ1hxQixJQUFJLEc4SDlXakM7O0FBRUQsYUFBYTtBQU1iOzhFQUM4RTtBQUU5RSxBQUFBLG9CQUFvQixBQUFBLE1BQU0sQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUk7O0FBRzlDOzhFQUM4RTtBQUU5RSxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLEdBQUcsR0FDZDs7QUM5TEQ7OzhFQUU4RTtDQUU5RSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsRUFBd0I7RUFDckIsa0JBQWtCLEUvSEZELElBQUk7RStIR3JCLHlCQUF5QixFQUFFLFFBQVE7RUFDbkMsbUJBQW1CLEVBQUUsSUFBSSxHQUM1Qjs7QUFHRDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsY0FBYyxFQUFFLE9BQU87RUFDdkIsa0JBQWtCLEUvSGhCSSxJQUFJO0UrSGlCMUIseUJBQXlCLEVBQUUsTUFBTSxHQUNwQzs7QUFFRDs7R0FFRztBQUVILEFBQUEsc0JBQXNCLENBQUM7RUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEdBQUk7O0FBQzdELEFBQUEsd0JBQXdCLENBQUM7RUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEdBQUk7O0FBRS9EOztHQUVHO0FBRUgsQUFBQSx1QkFBdUIsQ0FBQztFQUFFLGNBQWMsRUFBRSxXQUFXLEdBQUk7O0FBQ3pELEFBQUEsMEJBQTBCLENBQUM7RUFBRSxjQUFjLEVBQUUsY0FBYyxHQUFJOztBQUMvRCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsY0FBYyxFQUFFLFlBQVksR0FBSTs7QUFDM0QsQUFBQSx5QkFBeUIsQ0FBQztFQUFFLGNBQWMsRUFBRSxhQUFhLEdBQUk7O0FBRTdEOztHQUVHO0FBRUgsQUFBQSw2QkFBNkIsQ0FBQztFQUFFLGNBQWMsRUFBRSxpQkFBaUIsR0FBSTs7QUFDckUsQUFBQSxnQ0FBZ0MsQ0FBQztFQUFFLGNBQWMsRUFBRSxvQkFBb0IsR0FBSTs7QUFDM0UsQUFBQSw4QkFBOEIsQ0FBQztFQUFFLGNBQWMsRUFBRSxrQkFBa0IsR0FBSTs7QUFDdkUsQUFBQSwrQkFBK0IsQ0FBQztFQUFFLGNBQWMsRUFBRSxtQkFBbUIsR0FBSTs7QUFFekU7O0dBRUc7QUFFSCxBQUFBLDhCQUE4QixDQUFDO0VBQUUsY0FBYyxFQUFFLGtCQUFrQixHQUFJOztBQUN2RSxBQUFBLGlDQUFpQyxDQUFDO0VBQUUsY0FBYyxFQUFFLHFCQUFxQixHQUFJOztBQUM3RSxBQUFBLCtCQUErQixDQUFDO0VBQUUsY0FBYyxFQUFFLG1CQUFtQixHQUFJOztBQUN6RSxBQUFBLGdDQUFnQyxDQUFDO0VBQUUsY0FBYyxFQUFFLG9CQUFvQixHQUFJOztBQUUzRTs7R0FFRztBQUVILEFBQUEsc0JBQXNCLENBQUM7RUFDbkIsY0FBYyxFQUFFLGlCQUFpQjtFQUNqQyxrQkFBa0IsRS9IMURRLEdBQUcsRytIMkRoQzs7QUFFRDs7R0FFRztBQUVILEFBQUEsbUJBQW1CLENBQUM7RUFBRSxjQUFjLEVBQUUsUUFBUSxHQUFJOztBQUVsRDs7Ozs7O0dBTUc7QUFFSCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLGdCQUFnQixFQUFFLDBCQUEwQjtFQUM1QyxrQkFBa0IsRS9IL0VNLEVBQUUsRytIZ0Y3Qjs7QUFHRDs4RUFDOEU7QUFFN0UsQUFBQSxxQkFBcUIsQ0FBQztFQUNuQixtQkFBbUIsRUFBRSxPQUFPO0VBQzVCLHlCQUF5QixFQUFFLE9BQU8sR0FDckM7O0FBR0Q7OEVBQzhFO0FBRTdFLEFBQUEsa0JBQWtCLENBQUM7RUFBRSxrQkFBa0IsRS9IN0ZkLElBQUksRytINkZ3Qzs7QUFHdEU7NkVBQzZFO0FBRTdFOztHQUVHO0FBRUgsQUFBQSxvQkFBb0IsQUFBQSxJQUFLLENBQUEsTUFBTSxDQUFDLElBQUssQ0FBQSxNQUFNLEdBQUUsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixFQUF3QjtFQUFFLGNBQWMsRUFBRSxJQUFJLEdBQUk7O0FBRWhHOztHQUVHO0FBRUgsQUFBQSxvQkFBb0IsQ0FBQztFQUNqQixPQUFPO0VBQ1AsMkJBQTJCLEVBQUUsV0FBVyxHQUMzQzs7QUFFRDs7R0FFRztBQUVILEFBQUEsb0JBQW9CLEFBQUEsTUFBTSxDQUFDO0VBQUUsT0FBTyxFQUFFLElBQUksR0FBSTs7QUFHOUM7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsVUFBVSxDQUFWLE9BQVU7RUFDTixFQUFFO0lBQUcsT0FBTyxFQUFFLENBQUM7RUFDZixJQUFJO0lBQUcsT0FBTyxFQUFFLENBQUM7O0FBR3JCOztHQUVHO0FBRUgsVUFBVSxDQUFWLFdBQVU7RUFDTixFQUFFO0lBQ0UsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsaUJBQWlCO0VBRWhDLElBQUk7SUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxhQUFhOztBQUloQzs7R0FFRztBQUVILFVBQVUsQ0FBVixjQUFVO0VBQ04sRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGdCQUFnQjtFQUUvQixJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7QUFJaEM7O0dBRUc7QUFFSCxVQUFVLENBQVYsWUFBVTtFQUNOLEVBQUU7SUFDRSxPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxpQkFBaUI7RUFFaEMsSUFBSTtJQUNBLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGFBQWE7O0FBSWhDOztHQUVHO0FBRUgsVUFBVSxDQUFWLGFBQVU7RUFDTixFQUFFO0lBQ0UsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsZ0JBQWdCO0VBRS9CLElBQUk7SUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxhQUFhOztBQUloQzs7R0FFRztBQUVILFVBQVUsQ0FBVixpQkFBVTtFQUNOLEVBQUU7SUFDRSxPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxpQkFBNkM7RUFFNUQsSUFBSTtJQUNBLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGFBQWE7O0FBSWhDOztHQUVHO0FBRUgsVUFBVSxDQUFWLG9CQUFVO0VBQ04sRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGdCQUE0QztFQUUzRCxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7QUFJaEM7O0dBRUc7QUFFSCxVQUFVLENBQVYsa0JBQVU7RUFDTixFQUFFO0lBQ0UsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsaUJBQTZDO0VBRTVELElBQUk7SUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxhQUFhOztBQUloQzs7R0FFRztBQUVILFVBQVUsQ0FBVixtQkFBVTtFQUNOLEVBQUU7SUFDRSxPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxnQkFBNEM7RUFFM0QsSUFBSTtJQUNBLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGFBQWE7O0FBSWhDOztHQUVHO0FBRUgsVUFBVSxDQUFWLGtCQUFVO0VBQ04sRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGlCQUE4QztFQUU3RCxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7QUFJaEM7O0dBRUc7QUFFSCxVQUFVLENBQVYscUJBQVU7RUFDTixFQUFFO0lBQ0UsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsZ0JBQTZDO0VBRTVELElBQUk7SUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxhQUFhOztBQUloQzs7R0FFRztBQUVILFVBQVUsQ0FBVixtQkFBVTtFQUNOLEVBQUU7SUFDRSxPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxpQkFBOEM7RUFFN0QsSUFBSTtJQUNBLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGFBQWE7O0FBSWhDOztHQUVHO0FBRUgsVUFBVSxDQUFWLG9CQUFVO0VBQ04sRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGdCQUE2QztFQUU1RCxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7QUFJaEM7O0dBRUc7QUFFSCxVQUFVLENBQVYsZ0JBQVU7RUFDTixFQUFFO0lBQ0UsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsVUFBVTtFQUV6QixJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsUUFBUTs7QUFJM0I7O0dBRUc7QUFFSCxVQUFVLENBQVYsZ0JBQVU7RUFDTixFQUFFO0lBQ0UsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsVUFBVTtFQUV6QixJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsUUFBUTs7QUFJM0I7O0dBRUc7QUFFSCxVQUFVLENBQVYsaUJBQVU7RUFDTixFQUFFO0lBQUcsU0FBUyxFQUFFLFFBQVE7RUFDeEIsSUFBSTtJQUFHLFNBQVMsRUFBRSxVQUFVOztBQUdoQzs7R0FFRztBQUVILFVBQVUsQ0FBVixRQUFVO0VBQ04sRUFBRSxFQUFFLElBQUk7SUFBRyxTQUFTLEVBQUUsYUFBYTtFQUNuQyxHQUFHO0lBQUcsU0FBUyxFQUFFLGdCQUFnQjtFQUNqQyxHQUFHO0lBQUcsU0FBUyxFQUFFLGVBQWU7RUFDaEMsR0FBRztJQUFHLFNBQVMsRUFBRSxnQkFBZ0I7RUFDakMsR0FBRztJQUFHLFNBQVMsRUFBRSxlQUFlO0VBQ2hDLEdBQUc7SUFBRyxTQUFTLEVBQUUsZ0JBQWdCO0VBQ2pDLEdBQUc7SUFBRyxTQUFTLEVBQUUsZUFBZTtFQUNoQyxHQUFHO0lBQUcsU0FBUyxFQUFFLGdCQUFnQjtFQUNqQyxHQUFHO0lBQUcsU0FBUyxFQUFFLGVBQWU7RUFDaEMsR0FBRztJQUFHLFNBQVMsRUFBRSxnQkFBZ0I7O0FBR3JDOztHQUVHO0FBRUYsVUFBVSxDQUFWLFNBQVU7RUFDUCxFQUFFO0lBQUcsaUJBQWlCLEVBQUUsMEJBQTBCO0VBQ2xELElBQUk7SUFBRyxpQkFBaUIsRUFBRSxDQUFDOztBQ2paL0I7OzhFQUU4RTtBQUc5RTs4RUFDOEU7Q0FFOUUsQUFBQSxBQUFBLEtBQUMsRUFBTyxnQkFBZ0IsQUFBdkIsSUFBMkIsQ0FBQyxDQUFDO0VBQzFCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FBRUQsQUFBQSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7RUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJOztBQUN4QyxBQUFBLG1CQUFtQixHQUFHLENBQUMsQ0FBQztFQUFFLEtBQUssRUFBRSxzQkFBaUMsR0FBSTs7QUFDdEUsQUFBQSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7RUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJOztBQUN4QyxBQUFBLG1CQUFtQixHQUFHLENBQUMsQ0FBQztFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7O0FBQ3hDLEFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0VBQUUsS0FBSyxFQUFFLHNCQUFpQyxHQUFJOztBQUV0RSxBQUFBLG9CQUFvQixHQUFHLENBQUMsQ0FBQztFQUFFLEtBQUssRUFBRSxJQUFJLEdBQUk7O0FBRTFDOzs7OztHQUtHO0FBRUgsQUFBQSxzQkFBc0IsR0FBRyxJQUFLLEVieVVKLEFBQUEsS0FBQyxFQUFPLFVBQVUsQUFBakIsR2F6VXdCO0VBQy9DLElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTztFQUNQLFNBQVMsRUFBRSxHQUFHLEdBQ2pCOztBQUVELGdDQUFnQztBQUNoQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFFcEIsQUFBQSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFJO0VBQzVDLEFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUMzQyxBQUFBLHNCQUFzQixHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUMsR0FBSTtFQUN6RSxBQUFBLHNCQUFzQixHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7RUFDM0MsQUFBQSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBQzNDLEFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQyxHQUFJO0VBRXpFLEFBQUEsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUksR0FBSTtFQUM3QyxBQUFBLHlCQUF5QixHQUFHLElBQUssRWJ3VFgsQUFBQSxLQUFDLEVBQU8sVUFBVSxBQUFqQixHYXhUK0I7SUFDbEQsSUFBSSxFQUFFLENBQUM7SUFDUCxTQUFTLEVBQUUsR0FBRyxHQUNqQjs7QUFJTCxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUksR0FBSTtFQUM1QyxBQUFBLHNCQUFzQixHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7RUFDM0MsQUFBQSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDLEdBQUk7RUFDekUsQUFBQSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBQzNDLEFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUMzQyxBQUFBLHNCQUFzQixHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUMsR0FBSTtFQUV6RSxBQUFBLHVCQUF1QixHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFJLEdBQUk7RUFDN0MsQUFBQSx5QkFBeUIsR0FBRyxJQUFLLEVic1NYLEFBQUEsS0FBQyxFQUFPLFVBQVUsQUFBakIsR2F0UytCO0lBQ2xELElBQUksRUFBRSxDQUFDO0lBQ1AsU0FBUyxFQUFFLEdBQUcsR0FDakI7O0FBSUwsd0JBQXdCO0FBQ3hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUFBLHNCQUFzQixHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFJLEdBQUk7RUFDNUMsQUFBQSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBQzNDLEFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQyxHQUFJO0VBQ3pFLEFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUMzQyxBQUFBLHNCQUFzQixHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7RUFDM0MsQUFBQSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDLEdBQUk7RUFFekUsQUFBQSx1QkFBdUIsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFJO0VBQzdDLEFBQUEseUJBQXlCLEdBQUcsSUFBSyxFYm9SWCxBQUFBLEtBQUMsRUFBTyxVQUFVLEFBQWpCLEdhcFIrQjtJQUNsRCxJQUFJLEVBQUUsQ0FBQztJQUNQLFNBQVMsRUFBRSxHQUFHLEdBQ2pCOztBQUlMLDZCQUE2QjtBQUM3QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsQUFBQSx1QkFBdUIsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFJO0VBQzdDLEFBQUEsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUM1QyxBQUFBLHVCQUF1QixHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUMsR0FBSTtFQUMxRSxBQUFBLHVCQUF1QixHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7RUFDNUMsQUFBQSx1QkFBdUIsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBQzVDLEFBQUEsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQyxHQUFJO0VBRTFFLEFBQUEsd0JBQXdCLEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUksR0FBSTtFQUM5QyxBQUFBLDBCQUEwQixHQUFHLElBQUssRWJrUVosQUFBQSxLQUFDLEVBQU8sVUFBVSxBQUFqQixHYWxRZ0M7SUFDbkQsSUFBSSxFQUFFLENBQUM7SUFDUCxTQUFTLEVBQUUsR0FBRyxHQUNqQjs7QUFLTDs4RUFDOEU7QUFFOUU7O0dBRUc7Q2JxUHVCLEFBQUEsQUFBTCxLQUFNLEVBQU8sVUFBVSxBQUFqQixFYW5QUDtFQUNoQixVQUFVLEVBQUUsVUFBVTtFQUN0QixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU87RUFDUCxTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUFFRCxZQUFZO0FBQ1osQUFBQSxhQUFhLENBQUM7RUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJOztBQUU5QixZQUFZO0FBQ1osQUFBQSxhQUFhLENBQUM7RUFBRSxLQUFLLEVBQUUsc0JBQWlDLEdBQUk7O0FBQzVELEFBQUEsYUFBYSxDQUFDO0VBQUUsS0FBSyxFQUFFLHNCQUFpQyxHQUFJOztBQUU1RCxjQUFjO0FBQ2QsQUFBQSxhQUFhLENBQUM7RUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJOztBQUM5QixBQUFBLGFBQWEsQ0FBQztFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7O0FBRTlCLFlBQVk7QUFDWixBQUFBLGFBQWEsQ0FBQztFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7O0FBQzlCLEFBQUEsYUFBYSxDQUFDO0VBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTs7QUFDOUIsQUFBQSxhQUFhLENBQUM7RUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJOztBQUM5QixBQUFBLGFBQWEsQ0FBQztFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7O0FBRTlCLFlBQVk7QUFDWixBQUFBLGFBQWEsQ0FBQztFQUFFLEtBQUssRUFBRSxzQkFBaUMsR0FBSTs7QUFDNUQsQUFBQSxhQUFhLENBQUM7RUFBRSxLQUFLLEVBQUUsc0JBQWlDLEdBQUk7O0FBRTVELFdBQVc7QUFDWCxBQUFBLGVBQWUsQ0FBQztFQUFFLEtBQUssRWhJazNCSCxLQUFLLEdnSWwzQnNCOztBQUMvQyxBQUFBLGdCQUFnQixDQUFDO0VBQUUsS0FBSyxFaElrM0JILEtBQUssR2dJbDNCdUI7O0FBQ2pELEFBQUEsZUFBZSxDQUFDO0VBQUUsS0FBSyxFaElrM0JILEtBQUssR2dJbDNCc0I7O0FBQy9DLEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxLQUFLLEVoSWszQkgsS0FBSyxHZ0lsM0J1Qjs7QUFDakQsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLEtBQUssRWhJazNCSCxLQUFLLEdnSWwzQndCOztBQUtuRCxVQUFVO0FBQ1YsQUFBQSxjQUFjLENBQUM7RUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFJOztBQUVoQyxZQUFZO0FBQ1osQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLElBQUksRUFBRSxDQUFDO0VBQ1AsU0FBUyxFQUFFLEdBQUcsR0FDakI7O0FBRUQsZ0NBQWdDO0FBQ2hDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixXQUFXO0VBQ1gsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFJLEdBQUk7RUFFbEMsWUFBWTtFQUNaLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBRWpDLFlBQVk7RUFDWixBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQyxHQUFJO0VBQy9ELEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDLEdBQUk7RUFFL0QsY0FBYztFQUNkLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBQ2pDLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBRWpDLFlBQVk7RUFDWixBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUNqQyxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUNqQyxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUNqQyxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUVqQyxZQUFZO0VBQ1osQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUMsR0FBSTtFQUMvRCxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQyxHQUFJO0VBRS9ELFdBQVc7RUFDWCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsS0FBSyxFaElvMEJWLEtBQUssR2dJcDBCNkI7RUFDbEQsQUFBQSxtQkFBbUIsQ0FBQztJQUFFLEtBQUssRWhJbzBCVixLQUFLLEdnSXAwQjhCO0VBQ3BELEFBQUEsa0JBQWtCLENBQUM7SUFBRSxLQUFLLEVoSW8wQlYsS0FBSyxHZ0lwMEI2QjtFQUNsRCxBQUFBLG1CQUFtQixDQUFDO0lBQUUsS0FBSyxFaElvMEJWLEtBQUssR2dJcDBCOEI7RUFDcEQsQUFBQSxvQkFBb0IsQ0FBQztJQUFFLEtBQUssRWhJbzBCVixLQUFLLEdnSXAwQitCO0VBS3RELFVBQVU7RUFDVixBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUksR0FBSTtFQUVuQyxZQUFZO0VBQ1osQUFBQSxtQkFBbUIsQ0FBQztJQUNoQixJQUFJLEVBQUUsQ0FBQztJQUNQLFNBQVMsRUFBRSxHQUFHLEdBQ2pCOztBQUlMLGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFFcEIsV0FBVztFQUNYLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFJO0VBRWxDLFlBQVk7RUFDWixBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUVqQyxZQUFZO0VBQ1osQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUMsR0FBSTtFQUMvRCxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQyxHQUFJO0VBRS9ELGNBQWM7RUFDZCxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUNqQyxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUVqQyxZQUFZO0VBQ1osQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7RUFDakMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7RUFDakMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7RUFDakMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7RUFFakMsWUFBWTtFQUNaLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDLEdBQUk7RUFDL0QsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUMsR0FBSTtFQUUvRCxXQUFXO0VBQ1gsQUFBQSxrQkFBa0IsQ0FBQztJQUFFLEtBQUssRWhJb3hCVixLQUFLLEdnSXB4QjZCO0VBQ2xELEFBQUEsbUJBQW1CLENBQUM7SUFBRSxLQUFLLEVoSW94QlYsS0FBSyxHZ0lweEI4QjtFQUNwRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsS0FBSyxFaElveEJWLEtBQUssR2dJcHhCNkI7RUFDbEQsQUFBQSxtQkFBbUIsQ0FBQztJQUFFLEtBQUssRWhJb3hCVixLQUFLLEdnSXB4QjhCO0VBQ3BELEFBQUEsb0JBQW9CLENBQUM7SUFBRSxLQUFLLEVoSW94QlYsS0FBSyxHZ0lweEIrQjtFQUtyRCxVQUFVO0VBQ1gsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFJLEdBQUk7RUFFbkMsWUFBWTtFQUNaLEFBQUEsbUJBQW1CLENBQUM7SUFDaEIsSUFBSSxFQUFFLENBQUM7SUFDUCxTQUFTLEVBQUUsR0FBRyxHQUNqQjs7QUFJTCx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLFdBQVc7RUFDWCxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUksR0FBSTtFQUVsQyxZQUFZO0VBQ1osQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7RUFFakMsWUFBWTtFQUNaLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDLEdBQUk7RUFDL0QsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUMsR0FBSTtFQUUvRCxjQUFjO0VBQ2QsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7RUFDakMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7RUFFakMsWUFBWTtFQUNaLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBQ2pDLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBQ2pDLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBQ2pDLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBRWpDLFlBQVk7RUFDWixBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQyxHQUFJO0VBQy9ELEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDLEdBQUk7RUFFL0QsV0FBVztFQUNYLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxLQUFLLEVoSW91QlYsS0FBSyxHZ0lwdUI2QjtFQUNsRCxBQUFBLG1CQUFtQixDQUFDO0lBQUUsS0FBSyxFaElvdUJWLEtBQUssR2dJcHVCOEI7RUFDcEQsQUFBQSxrQkFBa0IsQ0FBQztJQUFFLEtBQUssRWhJb3VCVixLQUFLLEdnSXB1QjZCO0VBQ2xELEFBQUEsbUJBQW1CLENBQUM7SUFBRSxLQUFLLEVoSW91QlYsS0FBSyxHZ0lwdUI4QjtFQUNwRCxBQUFBLG9CQUFvQixDQUFDO0lBQUUsS0FBSyxFaElvdUJWLEtBQUssR2dJcHVCK0I7RUFLdEQsVUFBVTtFQUNWLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFJO0VBRW5DLFlBQVk7RUFDWixBQUFBLG1CQUFtQixDQUFDO0lBQ2hCLElBQUksRUFBRSxDQUFDO0lBQ1AsU0FBUyxFQUFFLEdBQUcsR0FDakI7O0FBSUwsNkJBQTZCO0FBQzdCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixXQUFXO0VBQ1gsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFJLEdBQUk7RUFFbkMsWUFBWTtFQUNaLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBRWxDLFlBQVk7RUFDWixBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQyxHQUFJO0VBQ2hFLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDLEdBQUk7RUFFaEUsY0FBYztFQUNkLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBQ2xDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJO0VBRWxDLFlBQVk7RUFDWixBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUNsQyxBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUNsQyxBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUNsQyxBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTtFQUVsQyxZQUFZO0VBQ1osQUFBQSxpQkFBaUIsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUMsR0FBSTtFQUNoRSxBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQyxHQUFJO0VBRWhFLFdBQVc7RUFDWCxBQUFBLG1CQUFtQixDQUFDO0lBQUUsS0FBSyxFaElvckJYLEtBQUssR2dJcHJCOEI7RUFDbkQsQUFBQSxvQkFBb0IsQ0FBQztJQUFFLEtBQUssRWhJb3JCWCxLQUFLLEdnSXByQitCO0VBQ3JELEFBQUEsbUJBQW1CLENBQUM7SUFBRSxLQUFLLEVoSW9yQlgsS0FBSyxHZ0lwckI4QjtFQUNuRCxBQUFBLG9CQUFvQixDQUFDO0lBQUUsS0FBSyxFaElvckJYLEtBQUssR2dJcHJCK0I7RUFDckQsQUFBQSxxQkFBcUIsQ0FBQztJQUFFLEtBQUssRWhJb3JCWCxLQUFLLEdnSXByQmdDO0VBS3ZELFVBQVU7RUFDVixBQUFBLGtCQUFrQixDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUksR0FBSTtFQUVwQyxZQUFZO0VBQ1osQUFBQSxvQkFBb0IsQ0FBQztJQUNqQixJQUFJLEVBQUUsQ0FBQztJQUNQLFNBQVMsRUFBRSxHQUFHLEdBQ2pCOztBQ2hXTDs7OEVBRThFO0NBRTlFLEFBQUEsQUFBQSxLQUFDLEVBQU8sV0FBVyxBQUFsQixFQUFvQjtFQUFFLFVBQVUsRUFBRSxVQUFVLEdBQUk7O0FBRWpEOztHQUVHO0FBRUgsQUFBQSxjQUFjLENBQUM7RUFBRSxNQUFNLEVBQUUsSUFBSSxHQUFJOztBQUVqQzs7R0FFRztBQUVILEFBQUEsbUJBQW1CLENBQUM7RUFBRSxVQUFVLEVBQUUsS0FBSyxHQUFJOztBQUUzQzs7O0dBR0c7QUFFSCxBQUFBLGdCQUFnQixDQUFDO0VBQUUsTUFBTSxFakl1ZEgsS0FBSyxHaUl2ZHdCOztBQUNuRCxBQUFBLGlCQUFpQixDQUFDO0VBQUUsTUFBTSxFakl1ZEgsS0FBSyxHaUl2ZHlCOztBQUNyRCxBQUFBLGdCQUFnQixDQUFDO0VBQUUsTUFBTSxFakl1ZEgsS0FBSyxHaUl2ZHdCOztBQUVuRCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsVUFBVSxFakltZFgsS0FBSyxHaUluZGdDOztBQUMzRCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsVUFBVSxFakltZFgsS0FBSyxHaUluZGlDOztBQUM3RCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsVUFBVSxFakltZFgsS0FBSyxHaUluZGdDOztBQ1QzRDs7OEVBRThFO0FBRzlFOzhFQUM4RTtBQUU5RSxBQUFBLGFBQWEsQ0FBQztFQUNWLFNBQVMsRWxJMkVZLE1BQU07RWtJMUUzQixXQUFXLEVsSXU0QlMsR0FBRztFa0l0NEJ2QixLQUFLLEVsSTFDZSxJQUFJLEdrSTRDM0I7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDVixTQUFTLEVsSUVZLFFBQVE7RWtJRDdCLFdBQVcsRWxJbTRCUyxHQUFHO0VrSWw0QnZCLEtBQUssRWxJR1ksSUFBSSxHa0lEeEI7RUFMRCxBakkwOERJLGFpSTE4RFMsQ2pJMDhEVCxDQUFDLENBQUM7SUFBRSxLQUFLLEVEcDhEUSxJQUFJLEdDbzhEZTtFaUkxOER4QyxBakk0OERJLGFpSTU4RFMsQ2pJNDhEVCxDQUFDLEFBQUEsTUFBTSxDQUFDO0lBQ0osS0FBSyxFRHovREUsSUFBSTtJQzAvRFgsZUFBZSxFQUFFLElBQUksR0FDeEI7O0FpSXY4REw7OEVBQzhFO0FBRTlFLEFBQUEsY0FBYyxDQUFDO0VBQ1gsU0FBUyxFbElUWSxRQUFRO0VrSVU3QixXQUFXLEVsSTIzQlUsR0FBRyxHa0l6M0IzQjs7QUFFRCxBQUFBLGNBQWMsQ0FBQztFQUNYLFNBQVMsRWxJbURZLE1BQU07RWtJbEQzQixXQUFXLEVsSXUzQlUsR0FBRyxHa0lyM0IzQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsU0FBUyxFbElTTSxJQUFJO0VrSVJuQixXQUFXLEVsSVVNLEdBQUcsR2tJVHZCOztBQUdEOzhFQUM4RTtBQUU5RSxBQUFBLGNBQWMsQ0FBQztFQUFFLFdBQVcsRUFBRSxHQUFHLEdBQUk7O0FBQ3JDLEFBQUEsZUFBZSxDQUFDO0VBQUUsV0FBVyxFQUFFLEdBQUcsR0FBSTs7QUFDdEMsQUFBQSxhQUFhLENBQUM7RUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFJOztBQUVwQyxBQUFBLGdCQUFnQixDQUFDO0VBQUUsV0FBVyxFQUFFLE9BQU8sR0FBSTs7QUFDM0MsQUFBQSxlQUFlLENBQUM7RUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFJOztBQUd6Qzs4RUFDOEU7QUFFOUUsQUFBQSxlQUFlLENBQUM7RUFBRSxVQUFVLEVBQUUsTUFBTSxHQUFJOztBQUd4Qzs4RUFDOEU7QUFFOUUsQUFBQSxtQkFBbUIsQ0FBQztFQUFFLGNBQWMsRUFBRSxxQkFBcUIsR0FBSTs7QUFDL0QsQUFBQSxrQkFBa0IsQ0FBQztFQUFFLGNBQWMsRUFBRSxvQkFBb0IsR0FBSTs7QUFDN0QsQUFBQSxrQkFBa0IsQ0FBQztFQUFFLGNBQWMsRUFBRSxvQkFBb0IsR0FBSTs7QUFHN0Q7OEVBQzhFO0FBRTlFLEFBQUEsY0FBYyxDQUFDO0VBQUUsS0FBSyxFbEluREQsSUFBSSxDa0ltRGlCLFVBQVUsR0FBSTs7QUFDeEQsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLEtBQUssRWxJeEdELElBQUksQ2tJd0dvQixVQUFVLEdBQUk7O0FBQzlELEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxLQUFLLEVsSXRGSSxPQUFPLENrSXNGVyxVQUFVLEdBQUk7O0FBQzVELEFBQUEsa0JBQWtCLENBQUM7RUFBRSxLQUFLLEVsSTlDSSxJQUFJLENrSThDZ0IsVUFBVSxHQUFJOztBQUNoRSxBQUFBLGdCQUFnQixDQUFDO0VBQUUsS0FBSyxFbElyRkksT0FBTyxDa0lxRlcsVUFBVSxHQUFJOztBQUM1RCxBQUFBLGdCQUFnQixDQUFDO0VBQUUsS0FBSyxFbEluRkksT0FBTyxDa0ltRlcsVUFBVSxHQUFJOztBQUM1RCxBQUFBLGVBQWUsQ0FBQztFQUFFLEtBQUssRWxJakZJLE9BQU8sQ2tJaUZVLFVBQVUsR0FBSTs7QUFHMUQ7OEVBQzhFO0FBRTlFOzs7OztHQUtHO0FBRUgsQUFBQSxtQkFBbUIsQ0FBQztFQUNoQixPQUFPO0VBQ1AsdUJBQXVCLEVBQUUsSUFBSTtFQUM3QixPQUFPO0VBQ1AsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTztFQUNQLEtBQUssRWxJN0dtQixPQUFPLENrSTZHRCxVQUFVLEdBQzNDOztBQUV3QyxTQUFDLEVBQS9CLHVCQUF1QixFQUFFLElBQUk7RUFUeEMsQUFBQSxtQkFBbUIsQ0FXSztJQUNoQixnQkFBZ0IsRWxJbkhJLE9BQU87SWtJb0gzQixLQUFLLEVBQUUsc0JBQXNCLEdBRWhDOztBQUtMOzhFQUM4RTtBQUU5RSxBQUFBLGFBQWEsQ0FBQztFQUFFLFVBQVUsRUFBRSxlQUFlLEdBQUk7O0FBQy9DLEFBQUEsY0FBYyxDQUFDO0VBQUUsVUFBVSxFQUFFLGdCQUFnQixHQUFJOztBQUNqRCxBQUFBLGVBQWUsQ0FBQztFQUFFLFVBQVUsRUFBRSxpQkFBaUIsR0FBSTs7QUFDbkQsQUFBQSxnQkFBZ0IsQ0FBQztFQUFFLFVBQVUsRUFBRSxrQkFBa0IsR0FBSTs7QUFFckQsZ0NBQWdDO0FBQ2hDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLGdCQUFnQixDQUFDO0lBQUUsVUFBVSxFQUFFLGVBQWUsR0FBSTtFQUNsRCxBQUFBLGlCQUFpQixDQUFDO0lBQUUsVUFBVSxFQUFFLGdCQUFnQixHQUFJO0VBQ3BELEFBQUEsa0JBQWtCLENBQUM7SUFBRSxVQUFVLEVBQUUsaUJBQWlCLEdBQUk7O0FBSTFELGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFFcEIsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLFVBQVUsRUFBRSxlQUFlLEdBQUk7RUFDbEQsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLFVBQVUsRUFBRSxnQkFBZ0IsR0FBSTtFQUNwRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsVUFBVSxFQUFFLGlCQUFpQixHQUFJOztBQUkxRCx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJO0VBQ2xELEFBQUEsaUJBQWlCLENBQUM7SUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEdBQUk7RUFDcEQsQUFBQSxrQkFBa0IsQ0FBQztJQUFFLFVBQVUsRUFBRSxpQkFBaUIsR0FBSTs7QUFJMUQsNkJBQTZCO0FBQzdCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUFBLGlCQUFpQixDQUFDO0lBQUUsVUFBVSxFQUFFLGVBQWUsR0FBSTtFQUNuRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsVUFBVSxFQUFFLGdCQUFnQixHQUFJO0VBQ3JELEFBQUEsbUJBQW1CLENBQUM7SUFBRSxVQUFVLEVBQUUsaUJBQWlCLEdBQUk7O0FBSTNEOztHQUVHO0FBRUgsQUFBQSxZQUFZLENBQUM7RUFBRSxjQUFjLEVBQUUsY0FBYyxHQUFJOztBQUNqRCxBQUFBLGVBQWUsQ0FBQztFQUFFLGNBQWMsRUFBRSxpQkFBaUIsR0FBSTs7QUFDdkQsQUFBQSxlQUFlLENBQUM7RUFBRSxjQUFjLEVBQUUsaUJBQWlCLEdBQUk7O0FBQ3ZELEFBQUEsaUJBQWlCLENBQUM7RUFBRSxjQUFjLEVBQUUsbUJBQW1CLEdBQUk7O0FBRzNEOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsZUFBZSxDQUFDO0VBQUUsV0FBVyxFQUFFLE1BQU0sR0FBSTs7QUFFekM7Ozs7R0FJRztBQUVILEFBQUEsaUJBQWlCLENBQUM7RUFDZCxPQUFPO0VBQ1AsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPO0VBQ1AsUUFBUSxFQUFFLE1BQU07RUFDaEIsYUFBYSxFQUFFLFFBQVE7RUFDdkIsV0FBVyxFQUFFLE1BQU0sR0FDdEI7O0FBRUQsT0FBTztBQUNQLEFBQUEsRUFBRSxBQUFBLGlCQUFpQjtBQUNuQixFQUFFLEFBQUEsaUJBQWlCLENBQUM7RUFBRSxTQUFTLEVBQUUsQ0FBQyxHQUFJOztBQUd0Qzs7Ozs7O0dBTUc7QUFFSCxBQUFBLGNBQWMsQ0FBQztFQUNYLE9BQU87RUFDUCxhQUFhLEVBQUUsVUFBVTtFQUN6QixPQUFPO0VBQ1AsU0FBUyxFQUFFLFVBQVUsR0FDeEI7O0FBRUQsT0FBTztBQUNQLEFBQUEsRUFBRSxBQUFBLGNBQWM7QUFDaEIsRUFBRSxBQUFBLGNBQWMsQ0FBQztFQUFFLFVBQVUsRUFBRSxTQUFTLEdBQUk7O0FDak81Qzs7OEVBRThFO0NBRTlFLEFBQUEsQUFBQSxLQUFDLEVBQU8sWUFBWSxBQUFuQixFQUFxQjtFQUFFLFVBQVUsRW5JVWxCLElBQUksR21JVmtDOztBQUV0RCx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0dBSHpCLEFBQUEsQUFBQSxLQUFDLEVBQU8sWUFBWSxBQUFuQixFQUt5QjtJQUFFLFVBQVUsRW5JUWYsSUFBSSxHbUlSaUM7O0FBSTVEOztHQUVHO0NBRUgsQUFBQSxBQUFBLEtBQUMsRUFBTyxZQUFZLEFBQW5CLEVBQXFCLEdBQUcsQ0FBQztFQUFFLFNBQVMsRUFBRSxvQkFBa0IsR0FBSTs7QUFHN0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLFdBQVcsRW5Ja1BhLEdBQUcsQ21JbFBhLEtBQUssQ25JbUZqQyxPQUFPO0VtSWxGbkIsT0FBTztFQUNQLFVBQVUsRUFBRSxJQUFvQixHQUNuQzs7QUFFRCx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBUHpCLEFBQUEsa0JBQWtCLENBU0s7SUFDZixVQUFVLEVBQUUsSUFBc0IsR0FDckM7O0FBS0w7OEVBQzhFO0FBRTlFLEFBQUEsY0FBYyxDQUFDO0VBQUUsWUFBWSxFQUFFLENBQUMsR0FBRzs7QUFDbkMsQUFBQSxjQUFjLENBQUM7RUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJOztBQUNwQyxBQUFBLGNBQWMsQ0FBQztFQUFFLFlBQVksRUFBRSxDQUFDLEdBQUk7O0FBQ3BDLEFBQUEsY0FBYyxDQUFDO0VBQUUsWUFBWSxFQUFFLENBQUMsR0FBSTs7QUFDcEMsQUFBQSxjQUFjLENBQUM7RUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJOztBQUVwQyxnQ0FBZ0M7QUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJOztBQUkzQyxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJOztBQUkzQyx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJOztBQUkzQyw2QkFBNkI7QUFDN0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3hDLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3hDLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3hDLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3hDLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJOztBQUk1Qzs7OEVBRThFO0FBRTlFLEFBQUEsZUFBZSxDQUFDO0VBQUUsV0FBVyxFQUFFLEdBQUcsR0FBSTs7QUNoSHRDOzs4RUFFOEU7QUFFOUU7Ozs7OztHQU1HO0FBRUgsQUFBQSxTQUFTLENBQUM7RUFDTixPQUFPO0VBQ1AsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLEdBQUc7RUFDVCxHQUFHLEVBQUUsR0FBRztFQUNSLFNBQVMsRUFBRSxxQkFBb0IsR0FDbEM7O0FBRUQsQUFBQSxNQUFNLEFBQUEsU0FBUyxDQUFDO0VBQUUsY0FBYyxFQUFFLElBQUksR0FBSTs7QUFHMUM7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsT0FBTztFQUNQLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLE9BQU87RUFDUCxRQUFRLEVBQUUsUUFBUSxHQUNyQjs7QUMvQkQ7OzhFQUU4RTtBQUc5RTs4RUFDOEU7QUFFOUUsQUFBQSxzQkFBc0IsQ0FBQztFQUFFLGdCQUFnQixFcklvQ3JCLElBQUksR3FJcENxRDs7QUFDN0UsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLGdCQUFnQixFcklQYixPQUFPLEdxSU93Qzs7QUFDekUsQUFBQSxzQkFBc0IsQ0FBQztFQUFFLGdCQUFnQixFcklIYixPQUFPLEdxSUcwQzs7QUFDN0UsQUFBQSx3QkFBd0IsQ0FBQztFQUFFLGdCQUFnQixFcklxQ2IsSUFBSSxHcUlyQytDOztBQUdqRjs4RUFDOEU7QUFFOUUsQUFBQSxvQkFBb0I7QUFDcEIsc0JBQXNCLENBQUM7RUFDbkIsbUJBQW1CLEVBQUUsT0FBTztFQUM1QixpQkFBaUIsRUFBRSxTQUFTLEdBQy9COztBQUVELEFBQUEsb0JBQW9CLENBQUM7RUFBRSxlQUFlLEVBQUUsS0FBSyxHQUFJOztBQUNqRCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsZUFBZSxFQUFFLE9BQU8sR0FBSTs7QUFHckQ7OEVBQzhFO0FBRTlFLEFBQUEsdUJBQXVCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxHQUFHLEdBQUk7O0FBQ3RELEFBQUEseUJBQXlCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxLQUFLLEdBQUk7O0FBQzFELEFBQUEsd0JBQXdCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxNQUFNLEdBQUk7O0FBQzFELEFBQUEsMEJBQTBCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxLQUFLLEdBQUk7O0FBQzNELEFBQUEsNEJBQTRCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxPQUFPLEdBQUk7O0FBQy9ELEFBQUEsMkJBQTJCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxRQUFRLEdBQUk7O0FBQy9ELEFBQUEsMEJBQTBCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxNQUFNLEdBQUk7O0FBQzVELEFBQUEsNEJBQTRCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxRQUFRLEdBQUk7O0FBQ2hFLEFBQUEsMkJBQTJCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxTQUFTLEdBQUk7O0FBR2hFOzhFQUM4RTtBQUU5RSxBQUFBLHVCQUF1QixDQUFDO0VBQUUsaUJBQWlCLEVBQUUsU0FBUyxHQUFJOztBQUcxRDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLHFCQUFxQixFQUFFLEtBQUs7RUFDNUIsT0FBTztFQUNQLG1CQUFtQixFQUFFLE1BQU0sR0FDOUI7O0FBRUQ7O0dBRUc7QUFFSCxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU07RUFWdkIsQUFBQSxvQkFBb0IsQ0FXSztJQUFFLHFCQUFxQixFQUFFLE1BQU0sR0FBSTs7QUFJNUQ7OEVBQzhFO0FBRTlFLGdDQUFnQztBQUNoQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFFcEIsQUFBQSx1QkFBdUIsQ0FBQztJQUFFLGdCQUFnQixFQUFFLGVBQWUsR0FBSTs7QUFJbkUsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLHVCQUF1QixDQUFDO0lBQUUsZ0JBQWdCLEVBQUUsZUFBZSxHQUFJOztBQUluRSxrQ0FBa0M7QUFDbEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsdUJBQXVCLENBQUM7SUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEdBQUk7O0FBSW5FLHlCQUF5QjtBQUN6QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsQUFBQSx3QkFBd0IsQ0FBQztJQUFDLGdCQUFnQixFQUFFLGVBQWUsR0FBSTs7QUFLbkU7OEVBQzhFO0FBRTlFLEFBQUEsNkJBQTZCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxRQUFRLEdBQUk7O0FBQ25FLEFBQUEsMkJBQTJCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxNQUFNLEdBQUk7O0FBQy9ELEFBQUEsNEJBQTRCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxPQUFPLEdBQUk7O0FBQ2pFLEFBQUEsMkJBQTJCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxNQUFNLEdBQUk7O0FBQy9ELEFBQUEsNEJBQTRCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxPQUFPLEdBQUk7O0FBQ2pFLEFBQUEsZ0NBQWdDLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxXQUFXLEdBQUk7O0FBQ3pFLEFBQUEsK0JBQStCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxVQUFVLEdBQUk7O0FBQ3ZFLEFBQUEsK0JBQStCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxVQUFVLEdBQUk7O0FBQ3ZFLEFBQUEsK0JBQStCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxVQUFVLEdBQUk7O0FBQ3ZFLEFBQUEsK0JBQStCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxVQUFVLEdBQUk7O0FBQ3ZFLEFBQUEsOEJBQThCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxTQUFTLEdBQUk7O0FBQ3JFLEFBQUEsd0JBQXdCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxHQUFHLEdBQUk7O0FBQ3pELEFBQUEsK0JBQStCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxVQUFVLEdBQUk7O0FBQ3ZFLEFBQUEsMEJBQTBCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxLQUFLLEdBQUk7O0FBQzdELEFBQUEsK0JBQStCLENBQUM7RUFBRSxxQkFBcUIsRUFBRSxVQUFVLEdBQUk7O0FDcEh2RTs7OEVBRThFO0FBRTlFOztHQUVHO0NBRUgsQUFBQSxBQUFBLEtBQUMsRUFBTyxVQUFVLEFBQWpCLEVBQW1CO0VBQ2hCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsYUFBYSxFdElPRCxJQUFJLEdzSU5uQjs7QUFFRCxBQUFBLENBQUMsSUFBRyxBQUFBLEtBQUMsRUFBTyxVQUFVLEFBQWpCLEVBQW1CO0VBQUUsVUFBVSxFdElJcEIsSUFBSSxHc0lKNEM7O0FBRWhFOztHQUVHO0FBRUgsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRSxJQUFJLEdBQ3JCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxjQUFjLENBQUM7RUFDWCxVQUFVLEVBQUUsQ0FBQztFQUNiLFlBQVksRXRJYkEsSUFBSTtFc0ljaEIsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNaLFVBQVUsRUFBRSxDQUFDO0VBQ2IsV0FBVyxFdEluQkMsSUFBSTtFc0lvQmhCLEtBQUssRUFBRSxLQUFLLEdBQ2Y7O0FBRUQsZ0NBQWdDO0FBQ2hDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLGlCQUFpQixDQUFDO0lBQ2QsVUFBVSxFQUFFLENBQUM7SUFDYixZQUFZLEV0STVCSixJQUFJO0lzSTZCWixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBRUQsQUFBQSxrQkFBa0IsQ0FBQztJQUNmLFVBQVUsRUFBRSxDQUFDO0lBQ2IsV0FBVyxFdElsQ0gsSUFBSTtJc0ltQ1osS0FBSyxFQUFFLEtBQUssR0FDZjs7QUFJTCxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsaUJBQWlCLENBQUM7SUFDZCxVQUFVLEVBQUUsQ0FBQztJQUNiLFlBQVksRXRJN0NKLElBQUk7SXNJOENaLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUFFRCxBQUFBLGtCQUFrQixDQUFDO0lBQ2YsVUFBVSxFQUFFLENBQUM7SUFDYixXQUFXLEV0SW5ESCxJQUFJO0lzSW9EWixLQUFLLEVBQUUsS0FBSyxHQUNmOztBQUlMLHdCQUF3QjtBQUN4QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsQUFBQSxpQkFBaUIsQ0FBQztJQUNkLFVBQVUsRUFBRSxDQUFDO0lBQ2IsS0FBSyxFQUFFLElBQUksR0FDZDtFQUVELEFBQUEsa0JBQWtCLENBQUM7SUFDZixVQUFVLEVBQUUsQ0FBQztJQUNiLEtBQUssRUFBRSxLQUFLLEdBQ2Y7RUFFRCxBQUFBLGNBQWM7RUFDZCxpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLGlCQUFpQixDQUFDO0lBQUUsWUFBWSxFdEl0RWIsSUFBSSxHc0lzRXlDO0VBRWhFLEFBQUEsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsa0JBQWtCLENBQUM7SUFBRSxXQUFXLEV0STNFYixJQUFJLEdzSTJFeUM7O0FBSXBFLDZCQUE2QjtBQUM3QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsQUFBQSxrQkFBa0IsQ0FBQztJQUNmLFVBQVUsRUFBRSxDQUFDO0lBQ2IsWUFBWSxFdElwRkcsSUFBSTtJc0lxRm5CLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUFFRCxBQUFBLG1CQUFtQixDQUFDO0lBQ2hCLFVBQVUsRUFBRSxDQUFDO0lBQ2IsV0FBVyxFdEkxRkksSUFBSTtJc0kyRm5CLEtBQUssRUFBRSxLQUFLLEdBQ2Y7O0FDM0hMOzs4RUFFOEU7QUFFOUU7OztHQUdHO0FBRUgsT0FBTztBQUNQLEFBQUEsT0FBTztBQUVQLE9BQU8sQUFBQSxJQUFLLEN2RDBFQyxZQUFZLEd1RDFFQyxBQUFBLElBQUMsRUFBTSxHQUFHLEFBQVQsQ0FBVSxJQUFLLEN2RDBFN0IsWUFBWSxFdUQxRStCO0VBQUUsSUFBSSxFQUFFLFlBQVksR0FBSTs7QUFDaEYsQUFBQSxPQUFPLEFBQUEsSUFBSyxDdkR5RUMsWUFBWSxHdUR6RUMsQUFBQSxNQUFDLEVBQVEsR0FBRyxBQUFYLENBQVksSUFBSyxDdkR5RS9CLFlBQVksRXVEekVpQztFQUFFLE1BQU0sRUFBRSxZQUFZLEdBQUk7O0FBRXBGOztHQUVHO0FBRUgsQUFBQSxPQUFPLENBQUM7RUFBRSxTQUFTLEVBQUUsZUFBYyxHQUFJOztBQzhCdkM7OzhFQUU4RTtBQUc5RTs4RUFDOEU7QUFFOUUsQUFBQSxTQUFTLENBQUM7RUFDTixPQUFPLEVBQUUsU0FBUztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsVUFBVSxHQUN6Qjs7QUFFRDs7R0FFRztBQUVILEFBQUEsU0FBUyxHQUFHLFdBQVcsQ0FBQztFQUFFLGFBQWEsRUFBRSxDQUFDLEdBQUk7O0FBRzlDOztHQUVHO0FBRUgsQUFBQSxvQkFBb0IsQ0FBQztFQUNqQixNQUFNLEV4SWk2QmdCLEtBQUs7RXdJaDZCM0IsT0FBTyxFeElpNkJnQixJQUFJO0V3SWg2QjNCLE1BQU0sRXhJOENZLEdBQUcsQ3dJOUNrQixLQUFLLEN4SWdEaEMsT0FBTztFd0kvQ25CLFFBQVEsRUFBRSxJQUFJO0VBQ2QsMEJBQTBCLEVBQUUsS0FBSztFQUNqQyxNQUFNLEVBQUUsSUFBSSxHQUVmOztBQUdEOzhFQUM4RTtBQUU5RTs7OztHQUlHO0FBRUgsT0FBTztBQUNQLEFBQUEsWUFBWSxBQUFBLFFBQVEsQ0FBQztFQUNqQixPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxVQUFVLEdBQ3RCOztBQUVELE9BQU87QUFDUCxBQUFBLFlBQVksQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FBR0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxjQUFjLENBQUM7RUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFJOztBQUNoQyxBQUFBLGVBQWUsQ0FBQztFQUFFLEtBQUssRUFBRSxLQUFLLEdBQUk7O0FBRWxDLE9BQU87Q0FDUCxBQUFBLEFBQUEsS0FBQyxFQUFPLFdBQVcsQUFBbEIsRUFBb0I7RUFBRSxTQUFTLEVBQUUsSUFBSSxHQUFJOztBQUcxQzs4RUFDOEU7QUFFOUUsQUFBQSxtQkFBbUIsQ0FBQztFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUk7O0FBRTFDOzs7R0FHRztBQUVILEFBQUEsaUJBQWlCLENBQUM7RUFDZCxRQUFRLEVBQUUsSUFBSTtFQUNkLDBCQUEwQixFQUFFLEtBQUssR0FDcEM7O0FBRUQsQUFBQSxpQkFBaUIsR0FBRyxXQUFXLENBQUM7RUFBRSxhQUFhLEVBQUUsQ0FBQyxHQUFJOztBQUd0RDs4RUFDOEU7QUFFOUUsQUFBQSxVQUFVLENBQUM7RUFBRSxNQUFNLEVBQUUsSUFBSSxHQUFJOztBQUM3QixBQUFBLG1CQUFtQixDQUFDO0VBQUUsTUFBTSxFQUFFLFFBQVEsR0FBSTs7QUFHMUM7OEVBQzhFO0FBRTlFLEFBQUEsaUJBQWlCLENBQUM7RUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEdBQUk7O0FBQ2pELEFBQUEsa0JBQWtCLENBQUM7RUFBRSxPQUFPLEVBQUUsaUJBQWlCLEdBQUk7O0FBQ25ELEFBQUEsd0JBQXdCLENBQUM7RUFBRSxPQUFPLEVBQUUsdUJBQXVCLEdBQUk7O0FBRy9EOzhFQUM4RTtBQUU5RTs7Ozs7Ozs7R0FRRztDQUVILEFBQUEsQUFBQSxLQUFDLEVBQU8sV0FBVyxBQUFsQixFQUFvQjtFQUNqQixPQUFPO0VBQ1AsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU87RUFDUCxTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU87RUFDUCxjQUFjLEVBQUUsTUFBTTtFQUN0QixPQUFPO0VBQ1AsMkJBQTJCLEVBQUUsTUFBTSxHQUN0Qzs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNaLE9BQU87RUFDUCxRQUFRLEVBQUUsTUFBTSxHQUNuQjs7QUFHRDs4RUFDOEU7QUFFOUU7OztHQUdHO0FBRUgsQUFBQSxrQkFBa0I7QUFDbEIsa0JBQWtCLENBQUMsTUFBTTtBQUN6QixrQkFBa0IsQ0FBQyxHQUFHO0FBQ3RCLGtCQUFrQixDQUFDLEdBQUc7QUFDdEIsa0JBQWtCLENBQUMsS0FBSyxDQUFDO0VBQUUsU0FBUyxFQUFFLElBQUksR0FBSTs7QUFFOUM7OztHQUdHO0FBRUgsQUFBQSxvQkFBb0I7QUFDcEIscUJBQXFCLENBQUM7RUFBRSxVQUFVLEVBQUUsVUFBVSxHQUFJOztBQUVsRDs7O0dBR0c7QUFFSCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLE9BQU87RUFDUCxTQUFTLEVBQUUsZUFBZTtFQUMxQixPQUFPO0VBQ1AsTUFBTSxFQUFFLElBQUksR0FDZjs7QUFFRDs7OztHQUlHO0FBRUgsQUFBQSxxQkFBcUIsQ0FBQztFQUNsQixPQUFPO0VBQ1AsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTztFQUNQLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTztFQUNQLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQUdEOzhFQUM4RTtBQUU5RSxBQUFBLGlCQUFpQixDQUFDO0VBQUUsYUFBYSxFQUFFLEdBQUcsR0FBSTs7QUFDMUMsQUFBQSxlQUFlLENBQUM7RUFBRSxhQUFhLEVBQUUsS0FBSyxHQUFJOztBQUMxQyxBQUFBLGtCQUFrQixDQUFDO0VBQUUsYUFBYSxFeEk4dkJILEdBQUcsR3dJOXZCbUM7O0FBRXJFOztHQUVHO0FBRUgsQUFBQSxlQUFlLENBQUEsQUFBQSxLQUFDLEVBQU8sWUFBWSxBQUFuQixFQUFxQjtFQUFFLGlCQUFpQixFQUFFLGFBQWEsR0FBSTs7QUFHM0U7OEVBQzhFO0FBRTlFLEFBQUEsb0JBQW9CLENBQUM7RUFBRSxVQUFVLEV4STB3QlAsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQWdCLEd3STF3Qlc7O0FBQy9ELEFBQUEscUJBQXFCLENBQUM7RUFBRSxVQUFVLEV4STB3QlAsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQWdCLEd3STF3Qlc7O0FBQ2pFLEFBQUEsb0JBQW9CLENBQUM7RUFBRSxVQUFVLEV4STB3QlAsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQWdCLEd3STF3QlM7O0FBQy9ELEFBQUEscUJBQXFCLENBQUM7RUFBRSxVQUFVLEV4STB3QlAsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQWdCLEd3STF3QlU7O0FBRWpFOztHQUVHO0NBRUgsQUFBQSxBQUFBLEtBQUMsRUFBTyxxQkFBcUIsQUFBNUIsRUFBOEI7RUFBRSxVQUFVLEVBQUUsVUFBVSxDeEkwdUJqQyxJQUFJLEN3STF1Qm1ELFdBQVcsR0FBSTs7QUFFNUYsQUFBQSwwQkFBMEIsQUFBQSxNQUFNLENBQUM7RUFBRSxVQUFVLEV4SSt2Qm5CLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFnQixHd0kvdkJ1Qjs7QUFDM0UsQUFBQSwyQkFBMkIsQUFBQSxNQUFNLENBQUM7RUFBRSxVQUFVLEV4SSt2Qm5CLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFnQixHd0kvdkJ1Qjs7QUFDN0UsQUFBQSwwQkFBMEIsQUFBQSxNQUFNLENBQUM7RUFBRSxVQUFVLEV4SSt2Qm5CLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFnQixHd0kvdkJxQjs7QUFDM0UsQUFBQSwyQkFBMkIsQUFBQSxNQUFNLENBQUM7RUFBRSxVQUFVLEV4SSt2Qm5CLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFnQixHd0kvdkJzQjs7QUFHN0U7OEVBQzhFO0FBRTlFOzs7OztHQUtHO0FBRXdCLFNBQUMsRUFBakIsTUFBTSxFQUFFLE9BQU87RUFFdEIsQUFBQSxxQkFBcUIsQ0FBQztJQUNsQixPQUFPLEVBQUUsWUFBWTtJQUNyQixRQUFRLEVBQUUsUUFBUTtJQUNsQixTQUFTLEVBQUUsSUFBSTtJQUNmLGNBQWMsRUFBRSxNQUFNLEdBQ3pCO0VBRUQsQUFBQSxxQkFBcUIsQUFBQSxRQUFRLENBQUM7SUFDMUIsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPO0lBQ1AsUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFeEk0c0JhLEtBQUk7SXdJM3NCdkIsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsQ0FBQztJQUNSLE9BQU87SUFDUCxNQUFNLEV4SXdzQmEsSUFBSTtJd0l2c0J2QixhQUFhLEV4SXdzQmEsSUFBSTtJd0l2c0I5QixVQUFVLEV4SXdzQmEsSUFBSTtJd0l2c0IzQixNQUFNLEVBQUUsVUFBNkIsR0FFeEM7RUFFRCxPQUFPO0VBQ1AsQUFBQSxxQkFBcUIsR0FBRyxDQUFDLENBQUM7SUFBRSxRQUFRLEVBQUUsUUFBUSxHQUFJOztBQUt0RDs4RUFDOEU7QUFFOUU7Ozs7Ozs7R0FPRztBQUVILEFBQUEsV0FBVyxBQUFBLGNBQWM7QUFFekIsV0FBVyxHQUFHLENBQUMsQUFBQSxjQUFjLEFBQUEsY0FBYyxDQUFDO0VBQ3hDLE9BQU8sRUFBRSxLQUFLO0VBQ2QsWUFBWSxFeEkrcUJPLElBQUk7RXdJOXFCdkIsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEV4SThxQk8sS0FBaUM7RXdJN3FCakQsV0FBVyxFQUFFLENBQUM7RXZJd3ZEZCxhQUFhLEVBQUUsSUFBSSxHdUl0dkR0Qjs7QUFFRCxPQUFPO0FBQ1AsY0FBYyxDQUFkLFlBQWM7RUFaZCxBQUFBLFdBQVcsQUFBQSxjQUFjO0VBRXpCLFdBQVcsR0FBRyxDQUFDLEFBQUEsY0FBYyxBQUFBLGNBQWMsQ0FhRztJQUFFLFVBQVUsRUFBRSxJQUFJLEdBQUk7O0FBSXBFLE9BQU87QUFDd0IsU0FBQyxFQUFyQixhQUFhLEVBQUUsSUFBSTtFQUU1QixBQUFBLFdBQVcsR0FBRyxDQUFDLEFBQUEsY0FBYyxBQUFBLGNBQWMsQ0FBQztJQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUk7O0FBS2xFOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsUUFBUSxDQUFDO0VBQ0wsU0FBUyxFeEl0UFksTUFBTTtFd0l1UDNCLFdBQVcsRXhJOVJNLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGtCQUFrQjtFd0krUnRNLEtBQUssRXhJeldNLElBQUk7RXdJMFdmLE9BQU87RUFDUCxlQUFlLEVBQUUsSUFBSSxHQUV4Qjs7QUFFRCxtQkFBbUI7QUFDbkIsQUFBQSxRQUFRLEFBQUEsTUFBTTtBQUNkLFFBQVEsQUFBQSxNQUFNLENBQUM7RUFDWCxLQUFLLEV4SWxYTSxJQUFJO0V3SW1YZixPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU87RUFDUCxlQUFlLEVBQUUsSUFBSSxHQUV4Qjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQUUsT0FBTyxFQUFFLElBQUksR0FBSTs7QUFHcEM7OEVBQzhFO0FBRTlFLEFBQUEsWUFBWSxDQUFDO0VBQUUsY0FBYyxFQUFFLElBQUksR0FBSTs7QUFHdkM7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILEFBQUEsUUFBUTtBQUVSLFFBQVEsQ0FBQyxDQUFDLENBQUM7RUFBRSxNQUFNLEVBQUUsSUFBSSxHQUFJOztBQUU3QixPQUFPO0FBQ1AsQUFBQSxRQUFRLENBQUMsTUFBTSxDQUFDO0VBQUUsY0FBYyxFQUFFLElBQUksR0FBSTs7QUFHMUM7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxZQUFZLENBQUM7RUFBRSxVQUFVLEV4SW9tQkgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXFCLEd3SXBtQkQ7O0FBR25EOzhFQUM4RTtBQUU5RSxBQUFBLGtCQUFrQixDQUFDO0VBQUUsY0FBYyxFQUFFLFFBQVEsR0FBSTs7QUFDakQsQUFBQSxnQkFBZ0IsQ0FBQztFQUFFLGNBQWMsRUFBRSxNQUFNLEdBQUk7O0FBQzdDLEFBQUEsaUJBQWlCLENBQUM7RUFBRSxjQUFjLEVBQUUsT0FBTyxHQUFJOztBQUMvQyxBQUFBLGdCQUFnQixDQUFDO0VBQUUsY0FBYyxFQUFFLE1BQU0sR0FBSTs7QUFDN0MsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLGNBQWMsRUFBRSxPQUFPLEdBQUk7O0FBQy9DLEFBQUEscUJBQXFCLENBQUM7RUFBRSxjQUFjLEVBQUUsV0FBVyxHQUFJOztBQUN2RCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsY0FBYyxFQUFFLFVBQVUsR0FBSTs7QUFDckQsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLGNBQWMsRUFBRSxVQUFVLEdBQUk7O0FBQ3JELEFBQUEsb0JBQW9CLENBQUM7RUFBRSxjQUFjLEVBQUUsVUFBVSxHQUFJOztBQUNyRCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsY0FBYyxFQUFFLFVBQVUsR0FBSTs7QUFDckQsQUFBQSxtQkFBbUIsQ0FBQztFQUFFLGNBQWMsRUFBRSxTQUFTLEdBQUk7O0FBQ25ELEFBQUEsYUFBYSxDQUFDO0VBQUUsY0FBYyxFQUFFLEdBQUcsR0FBSTs7QUFDdkMsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLGNBQWMsRUFBRSxVQUFVLEdBQUk7O0FBQ3JELEFBQUEsZUFBZSxDQUFDO0VBQUUsY0FBYyxFQUFFLEtBQUssR0FBSTs7QUFDM0MsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLGNBQWMsRUFBRSxVQUFVLEdBQUk7O0FBR3JEOzZFQUM2RTtBQUU3RSxBQUFBLG9CQUFvQixDQUFDO0VBQUUsU0FBUyxFQUFFLHFCQUFxQixHQUFJOztBQUczRDs2RUFDNkU7QUFFN0UsQUFBQSw2QkFBNkIsQ0FBQztFQUFFLGdCQUFnQixFQUFFLEdBQUcsR0FBSTs7QUFDekQsQUFBQSwrQkFBK0IsQ0FBQztFQUFFLGdCQUFnQixFQUFFLEtBQUssR0FBSTs7QUFDN0QsQUFBQSw4QkFBOEIsQ0FBQztFQUFFLGdCQUFnQixFQUFFLE1BQU0sR0FBSTs7QUFDN0QsQUFBQSxnQ0FBZ0MsQ0FBQztFQUFFLGdCQUFnQixFQUFFLEtBQUssR0FBSTs7QUFDOUQsQUFBQSxpQ0FBaUMsQ0FBQztFQUFFLGdCQUFnQixFQUFFLFFBQVEsR0FBSTs7QUFDbEUsQUFBQSxnQ0FBZ0MsQ0FBQztFQUFFLGdCQUFnQixFQUFFLE1BQU0sR0FBSTs7QUFDL0QsQUFBQSxrQ0FBa0MsQ0FBQztFQUFFLGdCQUFnQixFQUFFLFFBQVEsR0FBSTs7QUFDbkUsQUFBQSxpQ0FBaUMsQ0FBQztFQUFFLGdCQUFnQixFQUFFLFNBQVMsR0FBSTs7QUMvYm5FOzs4RUFFOEU7QUFFOUUsQUFBQSxRQUFRLENBQUM7RUFBRSxPQUFPLEVBQUUsSUFBSSxHQUFJOztBQUM1QixBQUFBLGVBQWUsQ0FBQztFQUFFLE9BQU8sRUFBRSxXQUFXLEdBQUk7O0FBRTFDOztHQUVHO0FBRUgsQUFBQSxRQUFRLEFBQUEsUUFBUTtBQUNoQixRQUFRLEFBQUEsT0FBTztBQUNmLGVBQWUsQUFBQSxRQUFRO0FBQ3ZCLGVBQWUsQUFBQSxPQUFPLENBQUM7RUFBRSxPQUFPLEVBQUUsSUFBSSxHQUFJOztBQUcxQzs4RUFDOEU7QUFFOUU7OztHQUdHO0FBR0gsQUFBQSxhQUFhLENBQUM7RUFBRSxlQUFlLEVBQUUsVUFBVSxHQUFJOztBQUMvQyxBQUFBLGVBQWUsQ0FBQztFQUFFLGVBQWUsRUFBRSxNQUFNLEdBQUk7O0FBQzdDLEFBQUEsY0FBYyxDQUFDO0VBQUUsZUFBZSxFQUFFLFFBQVEsR0FBSTs7QUFDOUMsQUFBQSxnQkFBZ0IsQ0FBQztFQUFFLGVBQWUsRUFBRSxhQUFhLEdBQUk7O0FBQ3JELEFBQUEsZUFBZSxDQUFDO0VBQUUsZUFBZSxFQUFFLFlBQVksR0FBSTs7QUFHbkQsZ0NBQWdDO0FBQ2hDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLGdCQUFnQixDQUFDO0lBQUUsZUFBZSxFQUFFLFVBQVUsR0FBSTtFQUNsRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsZUFBZSxFQUFFLE1BQU0sR0FBSTtFQUNoRCxBQUFBLGlCQUFpQixDQUFDO0lBQUUsZUFBZSxFQUFFLFFBQVEsR0FBSTtFQUNqRCxBQUFBLG1CQUFtQixDQUFDO0lBQUUsZUFBZSxFQUFFLGFBQWEsR0FBSTtFQUN4RCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsZUFBZSxFQUFFLFlBQVksR0FBSTs7QUFJMUQsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLGdCQUFnQixDQUFDO0lBQUUsZUFBZSxFQUFFLFVBQVUsR0FBSTtFQUNsRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsZUFBZSxFQUFFLE1BQU0sR0FBSTtFQUNoRCxBQUFBLGlCQUFpQixDQUFDO0lBQUUsZUFBZSxFQUFFLFFBQVEsR0FBSTtFQUNqRCxBQUFBLG1CQUFtQixDQUFDO0lBQUUsZUFBZSxFQUFFLGFBQWEsR0FBSTtFQUN4RCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsZUFBZSxFQUFFLFlBQVksR0FBSTs7QUFJMUQsd0JBQXdCO0FBQ3hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUFBLGdCQUFnQixDQUFDO0lBQUUsZUFBZSxFQUFFLFVBQVUsR0FBSTtFQUNsRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsZUFBZSxFQUFFLE1BQU0sR0FBSTtFQUNoRCxBQUFBLGlCQUFpQixDQUFDO0lBQUUsZUFBZSxFQUFFLFFBQVEsR0FBSTtFQUNqRCxBQUFBLG1CQUFtQixDQUFDO0lBQUUsZUFBZSxFQUFFLGFBQWEsR0FBSTtFQUN4RCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsZUFBZSxFQUFFLFlBQVksR0FBSTs7QUFJMUQsNkJBQTZCO0FBQzdCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUFBLGlCQUFpQixDQUFDO0lBQUUsZUFBZSxFQUFFLFVBQVUsR0FBSTtFQUNuRCxBQUFBLG1CQUFtQixDQUFDO0lBQUUsZUFBZSxFQUFFLE1BQU0sR0FBSTtFQUNqRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsZUFBZSxFQUFFLFFBQVEsR0FBSTtFQUNsRCxBQUFBLG9CQUFvQixDQUFDO0lBQUUsZUFBZSxFQUFFLGFBQWEsR0FBSTtFQUN6RCxBQUFBLG1CQUFtQixDQUFDO0lBQUUsZUFBZSxFQUFFLFlBQVksR0FBSTs7QUFJM0Q7OztHQUdHO0FBR0gsQUFBQSxnQkFBZ0IsQ0FBQztFQUFFLFdBQVcsRUFBRSxPQUFPLEdBQUk7O0FBQzNDLEFBQUEsWUFBWSxDQUFDO0VBQUUsV0FBVyxFQUFFLFVBQVUsR0FBSTs7QUFDMUMsQUFBQSxlQUFlLENBQUM7RUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFJOztBQUN6QyxBQUFBLGVBQWUsQ0FBQztFQUFFLFdBQVcsRUFBRSxRQUFRLEdBQUk7O0FBRzNDOzhFQUM4RTtBQUc5RSxBQUFBLFlBQVksQ0FBQztFQUFFLGNBQWMsRUFBRSxHQUFHLEdBQUk7O0FBQ3RDLEFBQUEsb0JBQW9CLENBQUM7RUFBRSxjQUFjLEVBQUUsV0FBVyxHQUFJOztBQUN0RCxBQUFBLGVBQWUsQ0FBQztFQUFFLGNBQWMsRUFBRSxNQUFNLEdBQUk7O0FBQzVDLEFBQUEsdUJBQXVCLENBQUM7RUFBRSxjQUFjLEVBQUUsY0FBYyxHQUFJOztBQUc1RDs4RUFDOEU7QUFHOUUsQUFBQSxlQUFlLENBQUM7RUFBRSxTQUFTLEVBQUUsTUFBTSxHQUFJOztBQUN2QyxBQUFBLGFBQWEsQ0FBQztFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUk7O0FBQ25DLEFBQUEscUJBQXFCLENBQUM7RUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFJOztBQUVuRDs7O0dBR0c7QUFHSCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsYUFBYSxFQUFFLE9BQU8sR0FBSTs7QUFDbEQsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLGFBQWEsRUFBRSxVQUFVLEdBQUk7O0FBQ2pELEFBQUEsb0JBQW9CLENBQUM7RUFBRSxhQUFhLEVBQUUsTUFBTSxHQUFJOztBQUNoRCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsYUFBYSxFQUFFLFFBQVEsR0FBSTs7QUFDbEQsQUFBQSxxQkFBcUIsQ0FBQztFQUFFLGFBQWEsRUFBRSxhQUFhLEdBQUk7O0FBQ3hELEFBQUEsb0JBQW9CLENBQUM7RUFBRSxhQUFhLEVBQUUsWUFBWSxHQUFJOztBQUd0RDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLGNBQWMsQ0FBQztFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUc7O0FBQzdCLEFBQUEsYUFBYSxDQUFDO0VBQUUsS0FBSyxFQUFFLEVBQUUsR0FBRzs7QUFHNUIsZ0NBQWdDO0FBQ2hDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLEVBQUUsR0FBSTtFQUNqQyxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEVBQUUsR0FBSTs7QUFJcEMsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLEVBQUUsR0FBSTtFQUNqQyxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEVBQUUsR0FBSTs7QUFJcEMsd0JBQXdCO0FBQ3hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLEVBQUUsR0FBSTtFQUNqQyxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEVBQUUsR0FBSTs7QUFJcEMsNkJBQTZCO0FBQzdCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUFBLGtCQUFrQixDQUFDO0lBQUUsS0FBSyxFQUFFLEVBQUUsR0FBSTtFQUNsQyxBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLEVBQUUsR0FBSTs7QUFLckM7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVIOzs7R0FHRztBQUVILEFBQUEsYUFBYSxDQUFDO0VBQUUsSUFBSSxFQUFFLElBQUksR0FBSTs7QUFFOUI7OztHQUdHO0FBRUgsQUFBQSxhQUFhLENBQUM7RUFBRSxJQUFJLEVBQUUsSUFBSSxHQUFJOztBQUU5Qjs7O0dBR0c7QUFFSCxBQUFBLFVBQVUsQ0FBQztFQUFFLElBQUksRUFBRSxDQUFDLEdBQUk7O0FDMUt4Qjs7OEVBRThFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxVQUFVLENBQUM7RUFBRSxhQUFhLEUxSXRDVixJQUFJLEcwSXNDMEI7O0FBQzlDLEFBQUEsQ0FBQyxHQUFHLFVBQVUsQ0FBQztFQUFFLFVBQVUsRTFJdkNYLElBQUksQzBJdUN3QixVQUFVLEdBQUk7O0FBRTFELEFBQUEsY0FBYyxDQUFDO0VBQUUsVUFBVSxFMUl6Q1gsSUFBSSxDMEl5Q3dCLFVBQVUsR0FBSTs7QUFDMUQsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLGFBQWEsRTFJMUNqQixJQUFJLEMwSTBDOEIsVUFBVSxHQUFJOztBQUNoRSxBQUFBLGVBQWUsQ0FBQztFQUFFLFdBQVcsRTFJM0NiLElBQUksQzBJMkMwQixVQUFVLEdBQUk7O0FBQzVELEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxZQUFZLEUxSTVDZixJQUFJLEMwSTRDNEIsVUFBVSxHQUFJOztBQUc5RDs4RUFDOEU7QUFFOUUsQUFBQSxnQkFBZ0IsQ0FBQztFQUFFLGFBQWEsRTFJeUZWLElBQUksRzBJekZnQzs7QUFDMUQsQUFBQSxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7RUFBRSxVQUFVLEUxSXdGWCxJQUFJLEMwSXhGOEIsVUFBVSxHQUFJOztBQUV0RSxBQUFBLG9CQUFvQixDQUFDO0VBQUUsVUFBVSxFMUlzRlgsSUFBSSxDMEl0RjhCLFVBQVUsR0FBSTs7QUFDdEUsQUFBQSx1QkFBdUIsQ0FBQztFQUFFLGFBQWEsRTFJcUZqQixJQUFJLEMwSXJGb0MsVUFBVSxHQUFJOztBQUM1RSxBQUFBLHFCQUFxQixDQUFDO0VBQUUsV0FBVyxFMUlvRmIsSUFBSSxDMElwRmdDLFVBQVUsR0FBSTs7QUFDeEUsQUFBQSxzQkFBc0IsQ0FBQztFQUFFLFlBQVksRTFJbUZmLElBQUksQzBJbkZrQyxVQUFVLEdBQUk7O0FBRzFFOzhFQUM4RTtBQUU5RSxBQUFBLGlCQUFpQixDQUFDO0VBQUUsYUFBYSxFMUlpRFYsSUFBSSxHMElqRGlDOztBQUM1RCxBQUFBLENBQUMsR0FBRyxpQkFBaUIsQ0FBQztFQUFFLFVBQVUsRTFJZ0RYLElBQUksQzBJaEQrQixVQUFVLEdBQUk7O0FBRXhFLEFBQUEscUJBQXFCLENBQUM7RUFBRSxVQUFVLEUxSThDWCxJQUFJLEMwSTlDK0IsVUFBVSxHQUFJOztBQUN4RSxBQUFBLHdCQUF3QixDQUFDO0VBQUUsYUFBYSxFMUk2Q2pCLElBQUksQzBJN0NxQyxVQUFVLEdBQUk7O0FBQzlFLEFBQUEsc0JBQXNCLENBQUM7RUFBRSxXQUFXLEUxSTRDYixJQUFJLEMwSTVDaUMsVUFBVSxHQUFJOztBQUMxRSxBQUFBLHVCQUF1QixDQUFDO0VBQUUsWUFBWSxFMUkyQ2YsSUFBSSxDMEkzQ21DLFVBQVUsR0FBSTs7QUFHNUU7OEVBQzhFO0FBRTlFLEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxhQUFhLEUxSXFDVCxJQUFJLEcwSXJDK0I7O0FBQzFELEFBQUEsQ0FBQyxHQUFHLGdCQUFnQixDQUFDO0VBQUUsVUFBVSxFMUlvQ1YsSUFBSSxDMElwQzZCLFVBQVUsR0FBSTs7QUFFdEUsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLFVBQVUsRTFJa0NWLElBQUksQzBJbEM2QixVQUFVLEdBQUk7O0FBQ3RFLEFBQUEsdUJBQXVCLENBQUM7RUFBRSxhQUFhLEUxSWlDaEIsSUFBSSxDMElqQ21DLFVBQVUsR0FBSTs7QUFDNUUsQUFBQSxxQkFBcUIsQ0FBQztFQUFFLFdBQVcsRTFJZ0NaLElBQUksQzBJaEMrQixVQUFVLEdBQUk7O0FBQ3hFLEFBQUEsc0JBQXNCLENBQUM7RUFBRSxZQUFZLEUxSStCZCxJQUFJLEMwSS9CaUMsVUFBVSxHQUFJOztBQUUxRSx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBVHpCLEFBQUEsZ0JBQWdCLENBV0s7SUFBRSxhQUFhLEUxSXJDZCxJQUFJLEcwSXFDc0M7RUFWaEUsQUFBQSxDQUFDLEdBQUcsZ0JBQWdCLENBV0s7SUFBRSxVQUFVLEUxSXRDZixJQUFJLEMwSXNDb0MsVUFBVSxHQUFJO0VBVDVFLEFBQUEsb0JBQW9CLENBV0s7SUFBRSxVQUFVLEUxSXhDZixJQUFJLEMwSXdDb0MsVUFBVSxHQUFJO0VBVjVFLEFBQUEsdUJBQXVCLENBV0s7SUFBRSxhQUFhLEUxSXpDckIsSUFBSSxDMEl5QzBDLFVBQVUsR0FBSTtFQVZsRixBQUFBLHFCQUFxQixDQVdLO0lBQUUsV0FBVyxFMUkxQ2pCLElBQUksQzBJMENzQyxVQUFVLEdBQUk7RUFWOUUsQUFBQSxzQkFBc0IsQ0FXSztJQUFFLFlBQVksRTFJM0NuQixJQUFJLEMwSTJDd0MsVUFBVSxHQUFJOztBQUtoRjs4RUFDOEU7QUFFOUUsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLGFBQWEsRTFJbkRYLElBQUksRzBJbURrQzs7QUFDNUQsQUFBQSxDQUFDLEdBQUcsaUJBQWlCLENBQUM7RUFBRSxVQUFVLEUxSXBEWixJQUFJLEMwSW9EZ0MsVUFBVSxHQUFJOztBQUV4RSxBQUFBLHFCQUFxQixDQUFDO0VBQUUsVUFBVSxFMUl0RFosSUFBSSxDMElzRGdDLFVBQVUsR0FBSTs7QUFDeEUsQUFBQSx3QkFBd0IsQ0FBQztFQUFFLGFBQWEsRTFJdkRsQixJQUFJLEMwSXVEc0MsVUFBVSxHQUFJOztBQUM5RSxBQUFBLHNCQUFzQixDQUFDO0VBQUUsV0FBVyxFMUl4RGQsSUFBSSxDMEl3RGtDLFVBQVUsR0FBSTs7QUFDMUUsQUFBQSx1QkFBdUIsQ0FBQztFQUFFLFlBQVksRTFJekRoQixJQUFJLEMwSXlEb0MsVUFBVSxHQUFJOztBQUU1RSx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBVHpCLEFBQUEsaUJBQWlCLENBV0s7SUFBRSxhQUFhLEUxSTBmZCxLQUFLLEcwSTFmc0M7RUFWbEUsQUFBQSxDQUFDLEdBQUcsaUJBQWlCLENBV0s7SUFBRSxVQUFVLEUxSXlmZixLQUFLLEMwSXpmb0MsVUFBVSxHQUFJO0VBVDlFLEFBQUEscUJBQXFCLENBV0s7SUFBRSxVQUFVLEUxSXVmZixLQUFLLEMwSXZmb0MsVUFBVSxHQUFJO0VBVjlFLEFBQUEsd0JBQXdCLENBV0s7SUFBRSxhQUFhLEUxSXNmckIsS0FBSyxDMEl0ZjBDLFVBQVUsR0FBSTtFQVZwRixBQUFBLHNCQUFzQixDQVdLO0lBQUUsV0FBVyxFMUlxZmpCLEtBQUssQzBJcmZzQyxVQUFVLEdBQUk7RUFWaEYsQUFBQSx1QkFBdUIsQ0FXSztJQUFFLFlBQVksRTFJb2ZuQixLQUFLLEMwSXBmd0MsVUFBVSxHQUFJOztBQUtsRjs4RUFDOEU7QUFFOUUsQUFBQSxlQUFlLENBQUM7RUFDWixXQUFXLEVBQUUsZUFBZTtFQUM1QixZQUFZLEVBQUUsZUFBZSxHQUNoQzs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsVUFBVSxFQUFFLGVBQWUsR0FBSTs7QUFDckQsQUFBQSxzQkFBc0IsQ0FBQztFQUFFLGFBQWEsRUFBRSxlQUFlLEdBQUk7O0FBQzNELEFBQUEsb0JBQW9CLENBQUM7RUFBRSxXQUFXLEVBQUUsZUFBZSxHQUFJOztBQUN2RCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsWUFBWSxFQUFFLGVBQWUsR0FBSTs7QUFFekQsQUFBQSx3QkFBd0IsQ0FBQztFQUNyQixVQUFVLEVBQUUsZUFBZTtFQUMzQixhQUFhLEVBQUUsZUFBZSxHQUNqQzs7QUFFRCxnQ0FBZ0M7QUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsa0JBQWtCLENBQUM7SUFDZixXQUFXLEVBQUUsZUFBZTtJQUM1QixZQUFZLEVBQUUsZUFBZSxHQUNoQztFQUVELEFBQUEsdUJBQXVCLENBQUM7SUFBRSxXQUFXLEVBQUUsZUFBZSxHQUFJO0VBQzFELEFBQUEsd0JBQXdCLENBQUM7SUFBRSxZQUFZLEVBQUUsZUFBZSxHQUFJOztBQUloRSxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsa0JBQWtCLENBQUM7SUFDZixXQUFXLEVBQUUsZUFBZTtJQUM1QixZQUFZLEVBQUUsZUFBZSxHQUNoQztFQUVELEFBQUEsdUJBQXVCLENBQUM7SUFBRSxXQUFXLEVBQUUsZUFBZSxHQUFJO0VBQzFELEFBQUEsd0JBQXdCLENBQUM7SUFBRSxZQUFZLEVBQUUsZUFBZSxHQUFJOztBQUloRSx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsa0JBQWtCLENBQUM7SUFDZixXQUFXLEVBQUUsZUFBZTtJQUM1QixZQUFZLEVBQUUsZUFBZSxHQUNoQztFQUVELEFBQUEsdUJBQXVCLENBQUM7SUFBRSxXQUFXLEVBQUUsZUFBZSxHQUFJO0VBQzFELEFBQUEsd0JBQXdCLENBQUM7SUFBRSxZQUFZLEVBQUUsZUFBZSxHQUFJOztBQUloRSw2QkFBNkI7QUFDN0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsbUJBQW1CLENBQUM7SUFDaEIsV0FBVyxFQUFFLGVBQWU7SUFDNUIsWUFBWSxFQUFFLGVBQWUsR0FDaEM7RUFFRCxBQUFBLHdCQUF3QixDQUFDO0lBQUUsV0FBVyxFQUFFLGVBQWUsR0FBSTtFQUMzRCxBQUFBLHlCQUF5QixDQUFDO0lBQUUsWUFBWSxFQUFFLGVBQWUsR0FBSTs7QUFLakU7OEVBQzhFO0FBRTdFLEFBQUEsaUJBQWlCLENBQUM7RUFBRSxNQUFNLEVBQUUsWUFBWSxHQUFJOztBQUM1QyxBQUFBLHFCQUFxQixDQUFDO0VBQUUsVUFBVSxFQUFFLFlBQVksR0FBSTs7QUFDcEQsQUFBQSx3QkFBd0IsQ0FBQztFQUFFLGFBQWEsRUFBRSxZQUFZLEdBQUk7O0FBQzFELEFBQUEsc0JBQXNCLENBQUM7RUFBRSxXQUFXLEVBQUUsWUFBWSxHQUFJOztBQUN0RCxBQUFBLHVCQUF1QixDQUFDO0VBQUUsWUFBWSxFQUFFLFlBQVksR0FBSTs7QUFFeEQsQUFBQSwwQkFBMEIsQ0FBQztFQUN2QixVQUFVLEVBQUUsWUFBWTtFQUN4QixhQUFhLEVBQUUsWUFBWSxHQUM5Qjs7QUFFRCxBQUFBLDBCQUEwQixHQUFHLENBQUM7QUFDOUIsNkJBQTZCLEdBQUcsWUFBWSxDQUFDO0VBQUUsVUFBVSxFQUFFLFlBQVksR0FBSTs7QUFDM0UsQUFBQSw0QkFBNEIsR0FBRyxXQUFXLENBQUM7RUFBRSxhQUFhLEVBQUUsWUFBWSxHQUFJOztBQUU3RSxnQ0FBZ0M7QUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEseUJBQXlCLENBQUM7SUFBRSxXQUFXLEVBQUUsWUFBWSxHQUFJO0VBQ3pELEFBQUEsMEJBQTBCLENBQUM7SUFBRSxZQUFZLEVBQUUsWUFBWSxHQUFJOztBQUkvRCxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEseUJBQXlCLENBQUM7SUFBRSxXQUFXLEVBQUUsWUFBWSxHQUFJO0VBQ3pELEFBQUEsMEJBQTBCLENBQUM7SUFBRSxZQUFZLEVBQUUsWUFBWSxHQUFJOztBQUkvRCx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEseUJBQXlCLENBQUM7SUFBRSxXQUFXLEVBQUUsWUFBWSxHQUFJO0VBQ3pELEFBQUEsMEJBQTBCLENBQUM7SUFBRSxZQUFZLEVBQUUsWUFBWSxHQUFJOztBQUkvRCw2QkFBNkI7QUFDN0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsMEJBQTBCLENBQUM7SUFBRSxXQUFXLEVBQUUsWUFBWSxHQUFJO0VBQzFELEFBQUEsMkJBQTJCLENBQUM7SUFBRSxZQUFZLEVBQUUsWUFBWSxHQUFJOztBQ3hOaEU7OzhFQUU4RTtBQUU5RSxBQUFBLFdBQVcsQ0FBQztFQUFFLE9BQU8sRTNJVUwsSUFBSSxHMklWdUI7O0FBRTNDLHdCQUF3QjtBQUN4QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFIekIsQUFBQSxXQUFXLENBS0s7SUFBRSxPQUFPLEUzSVFGLElBQUksRzJJUnNCOztBQUtqRDs4RUFDOEU7QUFFOUUsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLE9BQU8sRTNJdkJMLElBQUksRzJJdUI2Qjs7QUFHdkQ7OEVBQzhFO0FBRTlFLEFBQUEsaUJBQWlCLENBQUM7RUFBRSxPQUFPLEUzSVRYLElBQUksRzJJU21DOztBQUV2RCx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBSHpCLEFBQUEsaUJBQWlCLENBS0s7SUFBRSxPQUFPLEUzSW9PVCxJQUFJLEcySXBPbUM7O0FBSzdEOzhFQUM4RTtBQUU5RSxBQUFBLGtCQUFrQixDQUFDO0VBQUUsT0FBTyxFQUFFLFlBQVksR0FBSTs7QUFDOUMsQUFBQSxzQkFBc0IsQ0FBQztFQUFFLFdBQVcsRUFBRSxZQUFZLEdBQUk7O0FBQ3RELEFBQUEseUJBQXlCLENBQUM7RUFBRSxjQUFjLEVBQUUsWUFBWSxHQUFJOztBQUM1RCxBQUFBLHVCQUF1QixDQUFDO0VBQUUsWUFBWSxFQUFFLFlBQVksR0FBSTs7QUFDeEQsQUFBQSx3QkFBd0IsQ0FBQztFQUFFLGFBQWEsRUFBRSxZQUFZLEdBQUk7O0FBRTFELEFBQUEsMkJBQTJCLENBQUM7RUFDeEIsV0FBVyxFQUFFLFlBQVk7RUFDekIsY0FBYyxFQUFFLFlBQVksR0FDL0I7O0FBRUQsQUFBQSw2QkFBNkIsQ0FBQztFQUMxQixZQUFZLEVBQUUsWUFBWTtFQUMxQixhQUFhLEVBQUUsWUFBWSxHQUM5Qjs7QUNuQ0Q7OzhFQUU4RTtBQUc5RTs4RUFDOEU7QUFFOUU7O0dBRUc7Q0FFSCxBQUFBLEFBQUEsS0FBQyxFQUFPLGlCQUFpQixBQUF4QjtDQUNELEFBQUEsS0FBQyxFQUFPLG9CQUFvQixBQUEzQjtDQUNELEFBQUEsS0FBQyxFQUFPLGtCQUFrQixBQUF6QjtDQUNELEFBQUEsS0FBQyxFQUFPLG1CQUFtQixBQUExQjtDQUNELEFBQUEsS0FBQyxFQUFPLG9CQUFvQixBQUEzQixFQUE2QjtFQUMxQixRQUFRLEVBQUUsbUJBQW1CO0VBQzdCLE9BQU87RUFDUCxTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUFHRDs4RUFDOEU7QUFFOUUsNEVBQTRFO0FBQzVFLEFBQUEsZ0JBQWdCLENBQUM7RUFDYixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLENBQUMsR0FDWDs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQyxHQUNYOztBQUVELEFBQUEsaUJBQWlCLENBQUM7RUFDZCxHQUFHLEVBQUUsQ0FBQztFQUNOLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUMsR0FDVjs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULEtBQUssRUFBRSxDQUFDLEdBQ1g7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEscUJBQXFCLENBQUM7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQyxHQUNWOztBQUVELEFBQUEsc0JBQXNCLENBQUM7RUFDbkIsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQyxHQUNYOztBQUVELEFBQUEsd0JBQXdCLENBQUM7RUFDckIsTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUNWOztBQUVELEFBQUEseUJBQXlCLENBQUM7RUFDdEIsTUFBTSxFQUFFLENBQUM7RUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUNYOztBQUVEOzs7R0FHRztBQUVILEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsR0FBRyxFQUFFLEdBQUc7RUFDUixJQUFJLEVBQUUsR0FBRztFQUNULFNBQVMsRUFBRSxxQkFBb0I7RUFDL0IsT0FBTztFQUNQLEtBQUssRUFBRSxXQUFXO0VBQ2xCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLFVBQVUsR0FDekI7O0FBRUQsY0FBYztDQUNkLEFBQUEsQUFBQSxLQUFDLEVBQU8seUJBQXlCLEFBQWhDO0NBQ0QsQUFBQSxLQUFDLEVBQU8sMEJBQTBCLEFBQWpDLEVBQW1DO0VBQ2hDLEdBQUcsRUFBRSxHQUFHO0VBQ1IsU0FBUyxFQUFFLGdCQUFnQixHQUM5Qjs7QUFFRCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsSUFBSSxFQUFFLENBQUMsR0FBSTs7QUFDdEMsQUFBQSx5QkFBeUIsQ0FBQztFQUFFLEtBQUssRUFBRSxDQUFDLEdBQUk7O0FBRXhDLEFBQUEsNEJBQTRCLENBQUM7RUFDekIsS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEVBQUUsV0FBVyxHQUNyQjs7QUFFRCxBQUFBLDZCQUE2QixDQUFDO0VBQzFCLElBQUksRUFBRSxJQUFJO0VBQ1YsS0FBSyxFQUFFLFdBQVcsR0FDckI7O0FBRUQsZ0JBQWdCO0FBQ2hCLEFBQUEsdUJBQXVCO0FBQ3ZCLDBCQUEwQixDQUFDO0VBQ3ZCLElBQUksRUFBRSxHQUFHO0VBQ1QsU0FBUyxFQUFFLGdCQUFnQjtFQUMzQixPQUFPO0VBQ1AsS0FBSyxFQUFFLFdBQVc7RUFDbEIsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsVUFBVSxHQUN6Qjs7QUFFRCxBQUFBLHVCQUF1QixDQUFDO0VBQUUsR0FBRyxFQUFFLENBQUMsR0FBSTs7QUFDcEMsQUFBQSwwQkFBMEIsQ0FBQztFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUk7O0FBRzFDOzhFQUM4RTtBQUU5RSxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLENBQUMsR0FDWDs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxxQkFBcUIsQ0FBQztFQUFFLFFBQVEsRUFBRSxtQkFBbUIsR0FBSTs7QUFFekQsQUFBQSxxQkFBcUIsQ0FBQztFQUFFLFFBQVEsRUFBRSxtQkFBbUIsR0FBSTs7QUFFekQsQUFBQSxrQkFBa0IsQ0FBQztFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsR0FBSTs7QUFFbkQsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUk7O0FBR3JDOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsa0JBQWtCLENBQUM7RUFDZixTQUFTLEVBQUUsdUJBQXVEO0VBQ2xFLE1BQU0sRTVJbkxZLElBQUksRzRJb0x6Qjs7QUFFRCxBQUFBLGtCQUFrQixBQUFBLG1CQUFtQixDQUFDO0VBQUUsU0FBUyxFQUFFLHFCQUFxQixDQUFDLHVCQUE2RCxHQUFJOztBQUUxSSxBQUFBLGtCQUFrQixDQUFBLEFBQUEsS0FBQyxFQUFPLHlCQUF5QixBQUFoQztBQUNuQixrQkFBa0IsQ0FBQSxBQUFBLEtBQUMsRUFBTywwQkFBMEIsQUFBakMsRUFBbUM7RUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsaUJBQW1DLEdBQUk7O0FBRTNILEFBQUEsa0JBQWtCLEFBQUEsdUJBQXVCO0FBQ3pDLGtCQUFrQixBQUFBLDBCQUEwQixDQUFDO0VBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGlCQUFtQyxHQUFJOztBQUVsSDs7R0FFRztBQUVILEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsU0FBUyxFQUFFLHVCQUF3RDtFQUNuRSxNQUFNLEU1SWhMTSxJQUFJLEc0SWlMbkI7O0FBRUQsQUFBQSxtQkFBbUIsQUFBQSxtQkFBbUIsQ0FBQztFQUFFLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyx1QkFBK0QsR0FBSTs7QUFFN0ksQUFBQSxtQkFBbUIsQ0FBQSxBQUFBLEtBQUMsRUFBTyx5QkFBeUIsQUFBaEM7QUFDcEIsbUJBQW1CLENBQUEsQUFBQSxLQUFDLEVBQU8sMEJBQTBCLEFBQWpDLEVBQW1DO0VBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGlCQUFvQyxHQUFJOztBQUU3SCxBQUFBLG1CQUFtQixBQUFBLHVCQUF1QjtBQUMxQyxtQkFBbUIsQUFBQSwwQkFBMEIsQ0FBQztFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFBb0MsR0FBSTs7QUFFcEg7O0dBRUc7QUFFSCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsU0FBUyxFQUFFLHVCQUF1RDtFQUNsRSxNQUFNLEU1SWpNTSxJQUFJLEc0SWtNbkI7O0FBRUQsQUFBQSxrQkFBa0IsQUFBQSxtQkFBbUIsQ0FBQztFQUFFLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyx1QkFBNkQsR0FBSTs7QUFFMUksQUFBQSxrQkFBa0IsQ0FBQSxBQUFBLEtBQUMsRUFBTyx5QkFBeUIsQUFBaEM7QUFDbkIsa0JBQWtCLENBQUEsQUFBQSxLQUFDLEVBQU8sMEJBQTBCLEFBQWpDLEVBQW1DO0VBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGlCQUFtQyxHQUFJOztBQUUzSCxBQUFBLGtCQUFrQixBQUFBLHVCQUF1QjtBQUN6QyxrQkFBa0IsQUFBQSwwQkFBMEIsQ0FBQztFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFBbUMsR0FBSTs7QUFFbEgsd0JBQXdCO0FBQ3hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQWR6QixBQUFBLGtCQUFrQixDQWdCSztJQUNmLFNBQVMsRUFBRSx1QkFBeUQ7SUFDcEUsTUFBTSxFNUkraUJZLElBQUksRzRJOWlCekI7RUFkTCxBQUFBLGtCQUFrQixBQUFBLG1CQUFtQixDQWdCSztJQUFFLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyx1QkFBaUUsR0FBSTtFQWRsSixBQUFBLGtCQUFrQixDQUFBLEFBQUEsS0FBQyxFQUFPLHlCQUF5QixBQUFoQztFQUNuQixrQkFBa0IsQ0FBQSxBQUFBLEtBQUMsRUFBTywwQkFBMEIsQUFBakMsRUFnQnVDO0lBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGlCQUFxQyxHQUFJO0VBZGpJLEFBQUEsa0JBQWtCLEFBQUEsdUJBQXVCO0VBQ3pDLGtCQUFrQixBQUFBLDBCQUEwQixDQWdCSztJQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFBcUMsR0FBSTs7QUMxTnhIOzs4RUFFOEU7QUFHOUU7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxxQkFBcUIsQ0FBQztFQUNsQixPQUFPO0VBQ1AsMkJBQTJCLEVBQUUsV0FBVyxHQUMzQzs7QUFFRDs7R0FFRztBQUVILEFBQUEscUJBQXFCLEFBQUEsTUFBTSxDQUFDO0VBQUUsT0FBTyxFQUFFLElBQUksR0FBSTs7QUFHL0M7OEVBQzhFO0FBRTlFOzs7Ozs7OztHQVFHO0FBRUgsQUFBQSxtQkFBbUI7Q0FDbkIsQUFBQSxLQUFDLEVBQU8scUJBQXFCLEFBQTVCO0NBQ0QsQUFBQSxLQUFDLEVBQU8scUJBQXFCLEFBQTVCLEVBQThCO0VBQzNCLFVBQVUsRTdJbTZCUSxJQUFJLEM2SW42QlcsUUFBUTtFQUN6QyxtQkFBbUIsRUFBRSwwQkFBMEI7RUFDL0MsT0FBTyxFQUFFLENBQUMsR0FDYjs7QUFFRDs7R0FFRztBQUVILEFBQUEscUJBQXFCLEFBQUEsTUFBTSxDQUFDLG1CQUFtQjtBQUMvQyxxQkFBcUIsQUFBQSxNQUFNLENBQUMsbUJBQW1CO0FBQy9DLHFCQUFxQixBQUFBLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQztFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUk7O0FBRXBFOztHQUVHO0FBRUgsQUFBQSx1QkFBdUIsQ0FBQztFQUFFLFNBQVMsRUFBRSxXQUFVLEdBQUk7O0FBQ25ELEFBQUEseUJBQXlCLENBQUM7RUFBRSxTQUFTLEVBQUUsZUFBMEMsR0FBSTs7QUFFckYsVUFBVTtBQUNWLEFBQUEscUJBQXFCLEFBQUEsTUFBTSxDQUFDLHVCQUF1QjtBQUNuRCxxQkFBcUIsQUFBQSxNQUFNLENBQUMsdUJBQXVCO0FBQ25ELHFCQUFxQixBQUFBLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQztFQUNwRCxPQUFPLEVBQUUsQ0FBQztFQUNWLFNBQVMsRUFBRSxlQUEwQyxHQUN4RDs7QUFFRCxBQUFBLHFCQUFxQixBQUFBLE1BQU0sQ0FBQyx5QkFBeUI7QUFDckQscUJBQXFCLEFBQUEsTUFBTSxDQUFDLHlCQUF5QjtBQUNyRCxxQkFBcUIsQUFBQSxVQUFVLENBQUMseUJBQXlCLENBQUM7RUFDdEQsT0FBTyxFQUFFLENBQUM7RUFDVixTQUFTLEVBQUUsV0FBVSxHQUN4Qjs7QUFFRDs7R0FFRztBQUVILEFBQUEsd0JBQXdCLENBQUM7RUFBRSxTQUFTLEVBQUUsaUJBQWlCLEdBQUk7O0FBQzNELEFBQUEsMkJBQTJCLENBQUM7RUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEdBQUk7O0FBQzdELEFBQUEseUJBQXlCLENBQUM7RUFBRSxTQUFTLEVBQUUsaUJBQWlCLEdBQUk7O0FBQzVELEFBQUEsMEJBQTBCLENBQUM7RUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEdBQUk7O0FBRTVELEFBQUEsOEJBQThCLENBQUM7RUFBRSxTQUFTLEVBQUUsaUJBQThDLEdBQUk7O0FBQzlGLEFBQUEsaUNBQWlDLENBQUM7RUFBRSxTQUFTLEVBQUUsZ0JBQTZDLEdBQUk7O0FBQ2hHLEFBQUEsK0JBQStCLENBQUM7RUFBRSxTQUFTLEVBQUUsaUJBQThDLEdBQUk7O0FBQy9GLEFBQUEsZ0NBQWdDLENBQUM7RUFBRSxTQUFTLEVBQUUsZ0JBQTZDLEdBQUk7O0FBRS9GLEFBQUEsK0JBQStCLENBQUM7RUFBRSxTQUFTLEVBQUUsaUJBQStDLEdBQUk7O0FBQ2hHLEFBQUEsa0NBQWtDLENBQUM7RUFBRSxTQUFTLEVBQUUsZ0JBQThDLEdBQUk7O0FBQ2xHLEFBQUEsZ0NBQWdDLENBQUM7RUFBRSxTQUFTLEVBQUUsaUJBQStDLEdBQUk7O0FBQ2pHLEFBQUEsaUNBQWlDLENBQUM7RUFBRSxTQUFTLEVBQUUsZ0JBQThDLEdBQUk7O0FBRWpHLFVBQVU7QUFDVixBQUFBLHFCQUFxQixBQUFBLE1BQU0sRUFBQyxBQUFBLEtBQUMsRUFBTyxxQkFBcUIsQUFBNUI7QUFDN0IscUJBQXFCLEFBQUEsTUFBTSxFQUFDLEFBQUEsS0FBQyxFQUFPLHFCQUFxQixBQUE1QjtBQUM3QixxQkFBcUIsQUFBQSxVQUFVLEVBQUMsQUFBQSxLQUFDLEVBQU8scUJBQXFCLEFBQTVCLEVBQThCO0VBQzNELE9BQU8sRUFBRSxDQUFDO0VBQ1YsU0FBUyxFQUFFLGVBQWMsR0FDNUI7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEscUJBQXFCLENBQUM7RUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFJOztBQUd0Qzs4RUFDOEU7QUFFOUUsQUFBQSxtQkFBbUIsQ0FBQztFQUFFLG1CQUFtQixFN0krMUJkLElBQUksRzZJLzFCeUM7O0FDckl4RTs7OEVBRThFO0FBRTlFOzs7R0FHRztDQUVILEFBQUEsQUFBQSxNQUFDLEFBQUE7QUFDRCxVQUFVLENBQUM7RUFBRSxPQUFPLEVBQUUsZUFBZSxHQUFJOztBQUV6QyxnQ0FBZ0M7QUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsYUFBYSxDQUFDO0lBQUUsT0FBTyxFQUFFLGVBQWUsR0FBSTs7QUFJaEQsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLGFBQWEsQ0FBQztJQUFFLE9BQU8sRUFBRSxlQUFlLEdBQUk7O0FBSWhELHdCQUF3QjtBQUN4QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsQUFBQSxhQUFhLENBQUM7SUFBRSxPQUFPLEVBQUUsZUFBZSxHQUFJOztBQUloRCw2QkFBNkI7QUFDN0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsY0FBYyxDQUFDO0lBQUUsT0FBTyxFQUFFLGVBQWUsR0FBSTs7QUFJakQ7O0dBRUc7QUFFSCxnQ0FBZ0M7QUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsY0FBYyxDQUFDO0lBQUUsT0FBTyxFQUFFLGVBQWUsR0FBSTs7QUFJakQsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLGNBQWMsQ0FBQztJQUFFLE9BQU8sRUFBRSxlQUFlLEdBQUk7O0FBSWpELGtDQUFrQztBQUNsQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsQUFBQSxjQUFjLENBQUM7SUFBRSxPQUFPLEVBQUUsZUFBZSxHQUFJOztBQUlqRCx5QkFBeUI7QUFDekIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsZUFBZSxDQUFDO0lBQUUsT0FBTyxFQUFFLGVBQWUsR0FBSTs7QUFLbEQ7OEVBQzhFO0FBRTlFLEFBQUEsYUFBYSxDQUFDO0VBQUUsVUFBVSxFQUFFLGlCQUFpQixHQUFJOztBQUdqRDs4RUFDOEU7QUFFOUU7Ozs7Ozs7R0FPRztBQUVILFdBQVc7QUFDWCxBQUFBLGtCQUFrQixBQUFBLElBQUssQ2Z5Q0UsTUFBTSxDZXpDRCxJQUFLLENmeUNFLE1BQU0sRWV6Q0EsZ0JBQWdCLEFBQUEsSUFBSyxDQUFBLGFBQWEsRUFBRTtFQUMzRSxPQUFPO0VBQ1AsUUFBUSxFQUFFLG1CQUFtQjtFQUM3QixLQUFLLEVBQUUsWUFBWTtFQUNuQixNQUFNLEVBQUUsWUFBWTtFQUNwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixNQUFNLEVBQUUsWUFBWTtFQUNwQixRQUFRLEVBQUUsaUJBQWlCLEdBQzlCOztBQUVEOztHQUVHO0FBRUgsV0FBVztBQUNYLEFBQUEsa0JBQWtCLEFBQUEsSUFBSyxDZjBCRSxNQUFNLENlMUJELElBQUssQ2YwQkUsTUFBTSxFZTFCQSxtQkFBbUIsQUFBQSxJQUFLLENBZkgsYUFBYSxFQWVLO0VBQzlFLE9BQU87RUFDUCxPQUFPLEVBQUUsWUFBWSxHQUN4Qjs7QUFFRDs7R0FFRztBQUVILEFBQUEsa0JBQWtCLENBQUM7RUFDZixPQUFPO0VBQ1AsMkJBQTJCLEVBQUUsV0FBVyxHQUMzQzs7QUFFRDs7R0FFRztBQUVILEFBQUEsa0JBQWtCLEFBQUEsTUFBTSxDQUFDO0VBQUUsT0FBTyxFQUFFLElBQUksR0FBSTs7QUFHNUM7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTTtFQUNuQixBQUFBLGdCQUFnQixDQUFDO0lBQUUsT0FBTyxFQUFFLGVBQWUsR0FBSTs7QUFHbkQ7Ozs7R0FJRztBQUVILE9BQU87QUFDUCxBQUFBLGtCQUFrQixDQUFDO0VBQUUsT0FBTyxFQUFFLGVBQWUsR0FBSTs7QUFFakQsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNO0VBRnZCLEFBQUEsa0JBQWtCLENBR0s7SUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEdBQUk7O0FDNUl0RDs7OEVBRThFO0FBSTlFOzs7O0dBSUc7QUFFeUMsQUFBQSxTQUFTLEUxRHNJTixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEdBYXhDLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsR0VjN0MsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixHRTJCM0Msa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsR0d1RjdDLGdCQUFnQixBQUFBLGFBQWEsRUFDN0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsSUF5QnZCLGtCQUFrQixBQUFBLGFBQWEsRUFDL0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLElTNUx0QixtQkFBbUIsRVd3Q3JCLGlCQUFpQixDbUMxRVI7RTlJcUlsRCxLQUFLLEVEaEtjLHdCQUFJLEcrSTJCMEY7RUFBekUsQTlJOEl4QyxTOEk5SWlELEM5SThJakQsQ0FBQyxFb0ZSMEMsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZRckYsQ0FBQyxFb0ZLNEMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZRckYsQ0FBQyxFc0ZNdUMsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZRckYsQ0FBQyxFc0ZtQnlDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRlFyRixDQUFDLEV1RitFdUMsZ0JBQWdCLEFBQUEsYUFBYSxDdkYvRXJFLENBQUMsRXVGZ0Z1QyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZoRmpFLENBQUMsRXVGeUd5QyxrQkFBa0IsQUFBQSxhQUFhLEN2RnpHekUsQ0FBQyxFdUYwR3lDLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZoRmpFLENBQUMsRWdHNUcwQyxtQkFBbUIsQ2hHNEc5RCxDQUFDLEUyR3BFd0MsaUJBQWlCLEMzR29FMUQsQ0FBQztFOEk5SXVDLFNBQVMsQzlJK0lqRCxRQUFRO0VvRlRtQyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRlNyRixRQUFRO0VvRklxQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRlNyRixRQUFRO0VzRktnQyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRlNyRixRQUFRO0VzRmtCa0Msa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGU3JGLFFBQVE7RXVGOEVnQyxnQkFBZ0IsQUFBQSxhQUFhLEN2RjlFckUsUUFBUTtFdUYrRWdDLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Ri9FakUsUUFBUTtFdUZ3R2tDLGtCQUFrQixBQUFBLGFBQWEsQ3ZGeEd6RSxRQUFRO0V1RnlHa0Msa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Ri9FakUsUUFBUTtFZ0c3R21DLG1CQUFtQixDaEc2RzlELFFBQVE7RTJHckVpQyxpQkFBaUIsQzNHcUUxRCxRQUFRLENBQUU7SUFDTixLQUFLLEVEM0tVLElBQUksR0M2S3RCO0U4SWxKdUMsQTlJb0p4QyxTOElwSmlELEM5SW9KakQsQ0FBQyxBQUFBLE1BQU0sRW9GZG9DLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGY3JGLENBQUMsQUFBQSxNQUFNLEVvRkRzQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmNyRixDQUFDLEFBQUEsTUFBTSxFc0ZBaUMsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZjckYsQ0FBQyxBQUFBLE1BQU0sRXNGYW1DLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRmNyRixDQUFDLEFBQUEsTUFBTSxFdUZ5RWlDLGdCQUFnQixBQUFBLGFBQWEsQ3ZGekVyRSxDQUFDLEFBQUEsTUFBTSxFdUYwRWlDLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjFFakUsQ0FBQyxBQUFBLE1BQU0sRXVGbUdtQyxrQkFBa0IsQUFBQSxhQUFhLEN2Rm5HekUsQ0FBQyxBQUFBLE1BQU0sRXVGb0dtQyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMUVqRSxDQUFDLEFBQUEsTUFBTSxFZ0dsSG9DLG1CQUFtQixDaEdrSDlELENBQUMsQUFBQSxNQUFNLEUyRzFFa0MsaUJBQWlCLEMzRzBFMUQsQ0FBQyxBQUFBLE1BQU07RThJcEppQyxTQUFTLEM5SXFKakQsUUFBUSxBQUFBLE1BQU07RW9GZjZCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGZXJGLFFBQVEsQUFBQSxNQUFNO0VvRkYrQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmVyRixRQUFRLEFBQUEsTUFBTTtFc0ZEMEIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZlckYsUUFBUSxBQUFBLE1BQU07RXNGWTRCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRmVyRixRQUFRLEFBQUEsTUFBTTtFdUZ3RTBCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGeEVyRSxRQUFRLEFBQUEsTUFBTTtFdUZ5RTBCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnpFakUsUUFBUSxBQUFBLE1BQU07RXVGa0c0QixrQkFBa0IsQUFBQSxhQUFhLEN2RmxHekUsUUFBUSxBQUFBLE1BQU07RXVGbUc0QixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGekVqRSxRQUFRLEFBQUEsTUFBTTtFZ0duSDZCLG1CQUFtQixDaEdtSDlELFFBQVEsQUFBQSxNQUFNO0UyRzNFMkIsaUJBQWlCLEMzRzJFMUQsUUFBUSxBQUFBLE1BQU0sQ0FBQztJQUNYLEtBQUssRURqTFUsSUFBSSxHQ21MdEI7RThJeEp1QyxBOUk4SnhDLFM4STlKaUQsQzlJOEpqRCxJQUFLLEN3RXJCSixHQUFHLEl4RXFCUSxJQUFJLEVvRnhCMkIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZ3QnJGLElBQUssQ3dFckJKLEdBQUcsSXhFcUJRLElBQUksRW9GWDZCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGd0JyRixJQUFLLEN3RXJCSixHQUFHLEl4RXFCUSxJQUFJLEVzRlZ3QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRndCckYsSUFBSyxDd0VyQkosR0FBRyxJeEVxQlEsSUFBSSxFc0ZHMEIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGd0JyRixJQUFLLEN3RXJCSixHQUFHLEl4RXFCUSxJQUFJLEV1RitEd0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkYvRHJFLElBQUssQ3dFckJKLEdBQUcsSXhFcUJRLElBQUksRXVGZ0V3QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZoRWpFLElBQUssQ3dFckJKLEdBQUcsSXhFcUJRLElBQUksRXVGeUYwQixrQkFBa0IsQUFBQSxhQUFhLEN2RnpGekUsSUFBSyxDd0VyQkosR0FBRyxJeEVxQlEsSUFBSSxFdUYwRjBCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZoRWpFLElBQUssQ3dFckJKLEdBQUcsSXhFcUJRLElBQUksRWdHNUgyQixtQkFBbUIsQ2hHNEg5RCxJQUFLLEN3RXJCSixHQUFHLEl4RXFCUSxJQUFJLEUyR3BGeUIsaUJBQWlCLEMzR29GMUQsSUFBSyxDd0VyQkosR0FBRyxJeEVxQlEsSUFBSTtFOEk5SndCLFNBQVMsQzlJK0pqRCxJQUFLLEN3RXRCSixHQUFHLEl4RXNCUSxHQUFHO0VvRnpCNEIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZ5QnJGLElBQUssQ3dFdEJKLEdBQUcsSXhFc0JRLEdBQUc7RW9GWjhCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGeUJyRixJQUFLLEN3RXRCSixHQUFHLEl4RXNCUSxHQUFHO0VzRlh5QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnlCckYsSUFBSyxDd0V0QkosR0FBRyxJeEVzQlEsR0FBRztFc0ZFMkIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGeUJyRixJQUFLLEN3RXRCSixHQUFHLEl4RXNCUSxHQUFHO0V1RjhEeUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkY5RHJFLElBQUssQ3dFdEJKLEdBQUcsSXhFc0JRLEdBQUc7RXVGK0R5QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYvRGpFLElBQUssQ3dFdEJKLEdBQUcsSXhFc0JRLEdBQUc7RXVGd0YyQixrQkFBa0IsQUFBQSxhQUFhLEN2RnhGekUsSUFBSyxDd0V0QkosR0FBRyxJeEVzQlEsR0FBRztFdUZ5RjJCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYvRGpFLElBQUssQ3dFdEJKLEdBQUcsSXhFc0JRLEdBQUc7RWdHN0g0QixtQkFBbUIsQ2hHNkg5RCxJQUFLLEN3RXRCSixHQUFHLEl4RXNCUSxHQUFHO0UyR3JGMEIsaUJBQWlCLEMzR3FGMUQsSUFBSyxDd0V0QkosR0FBRyxJeEVzQlEsR0FBRztFOEkvSnlCLFNBQVMsQzlJZ0tqRCxJQUFLLEN3RXZCSixHQUFHLEl4RXVCUSxJQUFJO0VvRjFCMkIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYwQnJGLElBQUssQ3dFdkJKLEdBQUcsSXhFdUJRLElBQUk7RW9GYjZCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGMEJyRixJQUFLLEN3RXZCSixHQUFHLEl4RXVCUSxJQUFJO0VzRlp3QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjBCckYsSUFBSyxDd0V2QkosR0FBRyxJeEV1QlEsSUFBSTtFc0ZDMEIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGMEJyRixJQUFLLEN3RXZCSixHQUFHLEl4RXVCUSxJQUFJO0V1RjZEd0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkY3RHJFLElBQUssQ3dFdkJKLEdBQUcsSXhFdUJRLElBQUk7RXVGOER3QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY5RGpFLElBQUssQ3dFdkJKLEdBQUcsSXhFdUJRLElBQUk7RXVGdUYwQixrQkFBa0IsQUFBQSxhQUFhLEN2RnZGekUsSUFBSyxDd0V2QkosR0FBRyxJeEV1QlEsSUFBSTtFdUZ3RjBCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY5RGpFLElBQUssQ3dFdkJKLEdBQUcsSXhFdUJRLElBQUk7RWdHOUgyQixtQkFBbUIsQ2hHOEg5RCxJQUFLLEN3RXZCSixHQUFHLEl4RXVCUSxJQUFJO0UyR3RGeUIsaUJBQWlCLEMzR3NGMUQsSUFBSyxDd0V2QkosR0FBRyxJeEV1QlEsSUFBSSxDQUFDO0lBQ2IsS0FBSyxFRDVMVSx3QkFBSTtJQ2tKdkIsVUFBVSxFRGxKUyx3QkFBSSxHQzhMdEI7RThJbkt1QyxBOUl5S3hDLFM4SXpLaUQsQzlJeUtqRCxFQUFFLEVvRm5DeUMsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZtQ3JGLEVBQUUsRW9GdEIyQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm1DckYsRUFBRSxFc0ZyQnNDLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGbUNyRixFQUFFLEVzRlJ3QyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZtQ3JGLEVBQUUsRXVGb0RzQyxnQkFBZ0IsQUFBQSxhQUFhLEN2RnBEckUsRUFBRSxFdUZxRHNDLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnJEakUsRUFBRSxFdUY4RXdDLGtCQUFrQixBQUFBLGFBQWEsQ3ZGOUV6RSxFQUFFLEV1RitFd0Msa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnJEakUsRUFBRSxFZ0d2SXlDLG1CQUFtQixDaEd1STlELEVBQUUsRTJHL0Z1QyxpQkFBaUIsQzNHK0YxRCxFQUFFLENBQUM7SUFBRSxLQUFLLEVEcE1TLElBQUksR0NvTWU7RThJektFLEE5SStLeEMsUzhJL0tpRCxDOUkrS2pELEVBQUUsRW9GekN5QyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnlDckYsRUFBRSxFb0Y1QjJDLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGeUNyRixFQUFFLEVzRjNCc0MsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ5Q3JGLEVBQUUsRXNGZHdDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnlDckYsRUFBRSxFdUY4Q3NDLGdCQUFnQixBQUFBLGFBQWEsQ3ZGOUNyRSxFQUFFLEV1RitDc0MsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGL0NqRSxFQUFFLEV1RndFd0Msa0JBQWtCLEFBQUEsYUFBYSxDdkZ4RXpFLEVBQUUsRXVGeUV3QyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGL0NqRSxFQUFFLEVnRzdJeUMsbUJBQW1CLENoRzZJOUQsRUFBRSxFMkdyR3VDLGlCQUFpQixDM0dxRzFELEVBQUUsRThJL0tzQyxTQUFTLEM5SStLN0MsTUFBTSxFb0Z6Q2lDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGeUNqRixNQUFNLEVvRjVCbUMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZ5Q2pGLE1BQU0sRXNGM0I4QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnlDakYsTUFBTSxFc0ZkZ0Msa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGeUNqRixNQUFNLEV1RjhDOEIsZ0JBQWdCLEFBQUEsYUFBYSxDdkY5Q2pFLE1BQU0sRXVGK0M4QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYvQzdELE1BQU0sRXVGd0VnQyxrQkFBa0IsQUFBQSxhQUFhLEN2RnhFckUsTUFBTSxFdUZ5RWdDLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYvQzdELE1BQU0sRWdHN0lpQyxtQkFBbUIsQ2hHNkkxRCxNQUFNLEUyR3JHK0IsaUJBQWlCLEMzR3FHdEQsTUFBTTtFOEkvSzhCLFNBQVMsQzlJZ0xqRCxFQUFFO0VvRjFDeUMsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYwQ3JGLEVBQUU7RW9GN0IyQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjBDckYsRUFBRTtFc0Y1QnNDLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMENyRixFQUFFO0VzRmZ3QyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYwQ3JGLEVBQUU7RXVGNkNzQyxnQkFBZ0IsQUFBQSxhQUFhLEN2RjdDckUsRUFBRTtFdUY4Q3NDLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjlDakUsRUFBRTtFdUZ1RXdDLGtCQUFrQixBQUFBLGFBQWEsQ3ZGdkV6RSxFQUFFO0V1RndFd0Msa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjlDakUsRUFBRTtFZ0c5SXlDLG1CQUFtQixDaEc4STlELEVBQUU7RTJHdEd1QyxpQkFBaUIsQzNHc0cxRCxFQUFFLEU4SWhMc0MsU0FBUyxDOUlnTDdDLE1BQU0sRW9GMUNpQyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjBDakYsTUFBTSxFb0Y3Qm1DLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGMENqRixNQUFNLEVzRjVCOEIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEYwQ2pGLE1BQU0sRXNGZmdDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjBDakYsTUFBTSxFdUY2QzhCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGN0NqRSxNQUFNLEV1RjhDOEIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGOUM3RCxNQUFNLEV1RnVFZ0Msa0JBQWtCLEFBQUEsYUFBYSxDdkZ2RXJFLE1BQU0sRXVGd0VnQyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGOUM3RCxNQUFNLEVnRzlJaUMsbUJBQW1CLENoRzhJMUQsTUFBTSxFMkd0RytCLGlCQUFpQixDM0dzR3RELE1BQU07RThJaEw4QixTQUFTLEM5SWlMakQsRUFBRTtFb0YzQ3lDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGMkNyRixFQUFFO0VvRjlCMkMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYyQ3JGLEVBQUU7RXNGN0JzQyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjJDckYsRUFBRTtFc0ZoQndDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjJDckYsRUFBRTtFdUY0Q3NDLGdCQUFnQixBQUFBLGFBQWEsQ3ZGNUNyRSxFQUFFO0V1RjZDc0MsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGN0NqRSxFQUFFO0V1RnNFd0Msa0JBQWtCLEFBQUEsYUFBYSxDdkZ0RXpFLEVBQUU7RXVGdUV3QyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGN0NqRSxFQUFFO0VnRy9JeUMsbUJBQW1CLENoRytJOUQsRUFBRTtFMkd2R3VDLGlCQUFpQixDM0d1RzFELEVBQUUsRThJakxzQyxTQUFTLEM5SWlMN0MsTUFBTSxFb0YzQ2lDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGMkNqRixNQUFNLEVvRjlCbUMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYyQ2pGLE1BQU0sRXNGN0I4QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjJDakYsTUFBTSxFc0ZoQmdDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjJDakYsTUFBTSxFdUY0QzhCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGNUNqRSxNQUFNLEV1RjZDOEIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGN0M3RCxNQUFNLEV1RnNFZ0Msa0JBQWtCLEFBQUEsYUFBYSxDdkZ0RXJFLE1BQU0sRXVGdUVnQyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGN0M3RCxNQUFNLEVnRy9JaUMsbUJBQW1CLENoRytJMUQsTUFBTSxFMkd2RytCLGlCQUFpQixDM0d1R3RELE1BQU07RThJakw4QixTQUFTLEM5SWtMakQsRUFBRTtFb0Y1Q3lDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGNENyRixFQUFFO0VvRi9CMkMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY0Q3JGLEVBQUU7RXNGOUJzQyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjRDckYsRUFBRTtFc0ZqQndDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjRDckYsRUFBRTtFdUYyQ3NDLGdCQUFnQixBQUFBLGFBQWEsQ3ZGM0NyRSxFQUFFO0V1RjRDc0MsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGNUNqRSxFQUFFO0V1RnFFd0Msa0JBQWtCLEFBQUEsYUFBYSxDdkZyRXpFLEVBQUU7RXVGc0V3QyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGNUNqRSxFQUFFO0VnR2hKeUMsbUJBQW1CLENoR2dKOUQsRUFBRTtFMkd4R3VDLGlCQUFpQixDM0d3RzFELEVBQUUsRThJbExzQyxTQUFTLEM5SWtMN0MsTUFBTSxFb0Y1Q2lDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGNENqRixNQUFNLEVvRi9CbUMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY0Q2pGLE1BQU0sRXNGOUI4QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjRDakYsTUFBTSxFc0ZqQmdDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjRDakYsTUFBTSxFdUYyQzhCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGM0NqRSxNQUFNLEV1RjRDOEIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGNUM3RCxNQUFNLEV1RnFFZ0Msa0JBQWtCLEFBQUEsYUFBYSxDdkZyRXJFLE1BQU0sRXVGc0VnQyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGNUM3RCxNQUFNLEVnR2hKaUMsbUJBQW1CLENoR2dKMUQsTUFBTSxFMkd4RytCLGlCQUFpQixDM0d3R3RELE1BQU07RThJbEw4QixTQUFTLEM5SW1MakQsRUFBRTtFb0Y3Q3lDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGNkNyRixFQUFFO0VvRmhDMkMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY2Q3JGLEVBQUU7RXNGL0JzQyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjZDckYsRUFBRTtFc0ZsQndDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjZDckYsRUFBRTtFdUYwQ3NDLGdCQUFnQixBQUFBLGFBQWEsQ3ZGMUNyRSxFQUFFO0V1RjJDc0MsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGM0NqRSxFQUFFO0V1Rm9Fd0Msa0JBQWtCLEFBQUEsYUFBYSxDdkZwRXpFLEVBQUU7RXVGcUV3QyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGM0NqRSxFQUFFO0VnR2pKeUMsbUJBQW1CLENoR2lKOUQsRUFBRTtFMkd6R3VDLGlCQUFpQixDM0d5RzFELEVBQUUsRThJbkxzQyxTQUFTLEM5SW1MN0MsTUFBTSxFb0Y3Q2lDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGNkNqRixNQUFNLEVvRmhDbUMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY2Q2pGLE1BQU0sRXNGL0I4QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjZDakYsTUFBTSxFc0ZsQmdDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjZDakYsTUFBTSxFdUYwQzhCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGMUNqRSxNQUFNLEV1RjJDOEIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGM0M3RCxNQUFNLEV1Rm9FZ0Msa0JBQWtCLEFBQUEsYUFBYSxDdkZwRXJFLE1BQU0sRXVGcUVnQyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGM0M3RCxNQUFNLEVnR2pKaUMsbUJBQW1CLENoR2lKMUQsTUFBTSxFMkd6RytCLGlCQUFpQixDM0d5R3RELE1BQU07RThJbkw4QixTQUFTLEM5SW9MakQsRUFBRTtFb0Y5Q3lDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGOENyRixFQUFFO0VvRmpDMkMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY4Q3JGLEVBQUU7RXNGaENzQyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjhDckYsRUFBRTtFc0ZuQndDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjhDckYsRUFBRTtFdUZ5Q3NDLGdCQUFnQixBQUFBLGFBQWEsQ3ZGekNyRSxFQUFFO0V1RjBDc0MsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMUNqRSxFQUFFO0V1Rm1Fd0Msa0JBQWtCLEFBQUEsYUFBYSxDdkZuRXpFLEVBQUU7RXVGb0V3QyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMUNqRSxFQUFFO0VnR2xKeUMsbUJBQW1CLENoR2tKOUQsRUFBRTtFMkcxR3VDLGlCQUFpQixDM0cwRzFELEVBQUUsRThJcExzQyxTQUFTLEM5SW9MN0MsTUFBTSxFb0Y5Q2lDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGOENqRixNQUFNLEVvRmpDbUMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY4Q2pGLE1BQU0sRXNGaEM4QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjhDakYsTUFBTSxFc0ZuQmdDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjhDakYsTUFBTSxFdUZ5QzhCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGekNqRSxNQUFNLEV1RjBDOEIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMUM3RCxNQUFNLEV1Rm1FZ0Msa0JBQWtCLEFBQUEsYUFBYSxDdkZuRXJFLE1BQU0sRXVGb0VnQyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMUM3RCxNQUFNLEVnR2xKaUMsbUJBQW1CLENoR2tKMUQsTUFBTSxFMkcxRytCLGlCQUFpQixDM0cwR3RELE1BQU07RThJcEw4QixTQUFTLEM5SXFMakQsaUJBQWlCO0VvRi9DMEIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYrQ3JGLGlCQUFpQjtFb0ZsQzRCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGK0NyRixpQkFBaUI7RXNGakN1QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRitDckYsaUJBQWlCO0VzRnBCeUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGK0NyRixpQkFBaUI7RXVGd0N1QixnQkFBZ0IsQUFBQSxhQUFhLEN2RnhDckUsaUJBQWlCO0V1RnlDdUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGekNqRSxpQkFBaUI7RXVGa0V5QixrQkFBa0IsQUFBQSxhQUFhLEN2RmxFekUsaUJBQWlCO0V1Rm1FeUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnpDakUsaUJBQWlCO0VnR25KMEIsbUJBQW1CLENoR21KOUQsaUJBQWlCO0UyRzNHd0IsaUJBQWlCLEMzRzJHMUQsaUJBQWlCO0U4SXJMdUIsU0FBUyxDOUlzTGpELGtCQUFrQjtFb0ZoRHlCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGZ0RyRixrQkFBa0I7RW9GbkMyQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmdEckYsa0JBQWtCO0VzRmxDc0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZnRHJGLGtCQUFrQjtFc0ZyQndCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRmdEckYsa0JBQWtCO0V1RnVDc0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZ2Q3JFLGtCQUFrQjtFdUZ3Q3NCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnhDakUsa0JBQWtCO0V1RmlFd0Isa0JBQWtCLEFBQUEsYUFBYSxDdkZqRXpFLGtCQUFrQjtFdUZrRXdCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ4Q2pFLGtCQUFrQjtFZ0dwSnlCLG1CQUFtQixDaEdvSjlELGtCQUFrQjtFMkc1R3VCLGlCQUFpQixDM0c0RzFELGtCQUFrQjtFOEl0THNCLFNBQVMsQzlJdUxqRCxpQkFBaUI7RW9GakQwQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRmlEckYsaUJBQWlCO0VvRnBDNEIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZpRHJGLGlCQUFpQjtFc0ZuQ3VCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGaURyRixpQkFBaUI7RXNGdEJ5QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZpRHJGLGlCQUFpQjtFdUZzQ3VCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGdENyRSxpQkFBaUI7RXVGdUN1QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ2Q2pFLGlCQUFpQjtFdUZnRXlCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGaEV6RSxpQkFBaUI7RXVGaUV5QixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGdkNqRSxpQkFBaUI7RWdHckowQixtQkFBbUIsQ2hHcUo5RCxpQkFBaUI7RTJHN0d3QixpQkFBaUIsQzNHNkcxRCxpQkFBaUI7RThJdkx1QixTQUFTLEM5SXdMakQsa0JBQWtCO0VvRmxEeUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZrRHJGLGtCQUFrQjtFb0ZyQzJCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGa0RyRixrQkFBa0I7RXNGcENzQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmtEckYsa0JBQWtCO0VzRnZCd0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGa0RyRixrQkFBa0I7RXVGcUNzQixnQkFBZ0IsQUFBQSxhQUFhLEN2RnJDckUsa0JBQWtCO0V1RnNDc0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGdENqRSxrQkFBa0I7RXVGK0R3QixrQkFBa0IsQUFBQSxhQUFhLEN2Ri9EekUsa0JBQWtCO0V1RmdFd0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnRDakUsa0JBQWtCO0VnR3RKeUIsbUJBQW1CLENoR3NKOUQsa0JBQWtCO0UyRzlHdUIsaUJBQWlCLEMzRzhHMUQsa0JBQWtCO0U4SXhMc0IsU0FBUyxDOUl5TGpELG1CQUFtQjtFb0ZuRHdCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGbURyRixtQkFBbUI7RW9GdEMwQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm1EckYsbUJBQW1CO0VzRnJDcUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZtRHJGLG1CQUFtQjtFc0Z4QnVCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRm1EckYsbUJBQW1CO0V1Rm9DcUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZwQ3JFLG1CQUFtQjtFdUZxQ3FCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnJDakUsbUJBQW1CO0V1RjhEdUIsa0JBQWtCLEFBQUEsYUFBYSxDdkY5RHpFLG1CQUFtQjtFdUYrRHVCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZyQ2pFLG1CQUFtQjtFZ0d2SndCLG1CQUFtQixDaEd1SjlELG1CQUFtQjtFMkcvR3NCLGlCQUFpQixDM0crRzFELG1CQUFtQixDQUFDO0lBQ2hCLEtBQUssRURyTlUsSUFBSSxHQ3VOdEI7RThJNUx1QyxBOUkwTnhDLFM4STFOaUQsQzlJME5qRCxVQUFVLEVvRnBGaUMsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZvRnJGLFVBQVUsRW9GdkVtQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm9GckYsVUFBVSxFc0Z0RThCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGb0ZyRixVQUFVLEVzRnpEZ0Msa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGb0ZyRixVQUFVLEV1Rkc4QixnQkFBZ0IsQUFBQSxhQUFhLEN2RkhyRSxVQUFVLEV1Rkk4QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZKakUsVUFBVSxFdUY2QmdDLGtCQUFrQixBQUFBLGFBQWEsQ3ZGN0J6RSxVQUFVLEV1RjhCZ0Msa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RkpqRSxVQUFVLEVnR3hMaUMsbUJBQW1CLENoR3dMOUQsVUFBVSxFMkdoSitCLGlCQUFpQixDM0dnSjFELFVBQVUsQ0FBQztJQTFGd0IsS0FBSyxFRDNKckIsSUFBSSxHQ3VQdEI7RThJNU51QyxBOUk4TnhDLFM4STlOaUQsQzlJOE5qRCxVQUFVLENBQUMsTUFBTSxFb0Z4RjBCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGd0ZyRixVQUFVLENBQUMsTUFBTSxFb0YzRTRCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGd0ZyRixVQUFVLENBQUMsTUFBTSxFc0YxRXVCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGd0ZyRixVQUFVLENBQUMsTUFBTSxFc0Y3RHlCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRndGckYsVUFBVSxDQUFDLE1BQU0sRXVGRHVCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGQ3JFLFVBQVUsQ0FBQyxNQUFNLEV1RkF1QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZBakUsVUFBVSxDQUFDLE1BQU0sRXVGeUJ5QixrQkFBa0IsQUFBQSxhQUFhLEN2RnpCekUsVUFBVSxDQUFDLE1BQU0sRXVGMEJ5QixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGQWpFLFVBQVUsQ0FBQyxNQUFNLEVnRzVMMEIsbUJBQW1CLENoRzRMOUQsVUFBVSxDQUFDLE1BQU0sRTJHcEp3QixpQkFBaUIsQzNHb0oxRCxVQUFVLENBQUMsTUFBTSxDQUFDO0lBN0Z3QixLQUFLLEVENUo1Qix3QkFBSSxHQzJQdEI7RThJaE91QyxBOUlzT3hDLFM4SXRPaUQsQzlJc09qRCxFQUFFLEVvRmhHeUMsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZnR3JGLEVBQUUsRW9GbkYyQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmdHckYsRUFBRSxFc0ZsRnNDLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGZ0dyRixFQUFFLEVzRnJFd0Msa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGZ0dyRixFQUFFLEV1RlRzQyxnQkFBZ0IsQUFBQSxhQUFhLEN2RlNyRSxFQUFFLEV1RlJzQyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZRakUsRUFBRSxFdUZpQndDLGtCQUFrQixBQUFBLGFBQWEsQ3ZGakJ6RSxFQUFFLEV1RmtCd0Msa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RlFqRSxFQUFFLEVnR3BNeUMsbUJBQW1CLENoR29NOUQsRUFBRSxFMkc1SnVDLGlCQUFpQixDM0c0SjFELEVBQUUsRThJdE9zQyxTQUFTLEM5SXNPN0MsTUFBTSxFb0ZoR2lDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGZ0dqRixNQUFNLEVvRm5GbUMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZnR2pGLE1BQU0sRXNGbEY4QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmdHakYsTUFBTSxFc0ZyRWdDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRmdHakYsTUFBTSxFdUZUOEIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZTakUsTUFBTSxFdUZSOEIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGUTdELE1BQU0sRXVGaUJnQyxrQkFBa0IsQUFBQSxhQUFhLEN2RmpCckUsTUFBTSxFdUZrQmdDLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZRN0QsTUFBTSxFZ0dwTWlDLG1CQUFtQixDaEdvTTFELE1BQU0sRTJHNUorQixpQkFBaUIsQzNHNEp0RCxNQUFNLENBQUM7SUFDUCxnQkFBZ0IsRURsUUQsd0JBQUksR0NvUXRCO0U4SXpPdUMsQTlJMGlDeEMsUzhJMWlDaUQsQzlJMGlDakQsQ0FBQyxBQUFBLGNBQWMsRW9GcDZCNEIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZvNkJyRixDQUFDLEFBQUEsY0FBYyxFb0Z2NUI4QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm82QnJGLENBQUMsQUFBQSxjQUFjLEVzRnQ1QnlCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGbzZCckYsQ0FBQyxBQUFBLGNBQWMsRXNGejRCMkIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGbzZCckYsQ0FBQyxBQUFBLGNBQWMsRXVGNzBCeUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkY2MEJyRSxDQUFDLEFBQUEsY0FBYyxFdUY1MEJ5QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY0MEJqRSxDQUFDLEFBQUEsY0FBYyxFdUZuekIyQixrQkFBa0IsQUFBQSxhQUFhLEN2Rm16QnpFLENBQUMsQUFBQSxjQUFjLEV1Rmx6QjJCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY0MEJqRSxDQUFDLEFBQUEsY0FBYyxFZ0d4Z0M0QixtQkFBbUIsQ2hHd2dDOUQsQ0FBQyxBQUFBLGNBQWMsRTJHaCtCMEIsaUJBQWlCLEMzR2crQjFELENBQUMsQUFBQSxjQUFjO0U4STFpQ3lCLFNBQVMsQzlJMmlDakQsY0FBYyxDQUFDLENBQUM7RW9GcjZCMkIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZxNkJyRixjQUFjLENBQUMsQ0FBQztFb0Z4NUI2QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnE2QnJGLGNBQWMsQ0FBQyxDQUFDO0VzRnY1QndCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGcTZCckYsY0FBYyxDQUFDLENBQUM7RXNGMTRCMEIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGcTZCckYsY0FBYyxDQUFDLENBQUM7RXVGOTBCd0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkY4MEJyRSxjQUFjLENBQUMsQ0FBQztFdUY3MEJ3QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY2MEJqRSxjQUFjLENBQUMsQ0FBQztFdUZwekIwQixrQkFBa0IsQUFBQSxhQUFhLEN2Rm96QnpFLGNBQWMsQ0FBQyxDQUFDO0V1Rm56QjBCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY2MEJqRSxjQUFjLENBQUMsQ0FBQztFZ0d6Z0MyQixtQkFBbUIsQ2hHeWdDOUQsY0FBYyxDQUFDLENBQUM7RTJHaitCeUIsaUJBQWlCLEMzR2krQjFELGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDYixLQUFLLEVEdmtDVSx3QkFBSSxHQ3lrQ3RCO0U4STlpQ3VDLEE5SWdqQ3hDLFM4SWhqQ2lELEM5SWdqQ2pELENBQUMsQUFBQSxjQUFjLEFBQUEsTUFBTSxFb0YxNkJzQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjA2QnJGLENBQUMsQUFBQSxjQUFjLEFBQUEsTUFBTSxFb0Y3NUJ3QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjA2QnJGLENBQUMsQUFBQSxjQUFjLEFBQUEsTUFBTSxFc0Y1NUJtQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjA2QnJGLENBQUMsQUFBQSxjQUFjLEFBQUEsTUFBTSxFc0YvNEJxQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYwNkJyRixDQUFDLEFBQUEsY0FBYyxBQUFBLE1BQU0sRXVGbjFCbUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZtMUJyRSxDQUFDLEFBQUEsY0FBYyxBQUFBLE1BQU0sRXVGbDFCbUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGazFCakUsQ0FBQyxBQUFBLGNBQWMsQUFBQSxNQUFNLEV1Rnp6QnFCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGeXpCekUsQ0FBQyxBQUFBLGNBQWMsQUFBQSxNQUFNLEV1Rnh6QnFCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZrMUJqRSxDQUFDLEFBQUEsY0FBYyxBQUFBLE1BQU0sRWdHOWdDc0IsbUJBQW1CLENoRzhnQzlELENBQUMsQUFBQSxjQUFjLEFBQUEsTUFBTSxFMkd0K0JvQixpQkFBaUIsQzNHcytCMUQsQ0FBQyxBQUFBLGNBQWMsQUFBQSxNQUFNO0U4SWhqQ21CLFNBQVMsQzlJaWpDakQsY0FBYyxDQUFDLENBQUMsQUFBQSxNQUFNO0VvRjM2QnFCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGMjZCckYsY0FBYyxDQUFDLENBQUMsQUFBQSxNQUFNO0VvRjk1QnVCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGMjZCckYsY0FBYyxDQUFDLENBQUMsQUFBQSxNQUFNO0VzRjc1QmtCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMjZCckYsY0FBYyxDQUFDLENBQUMsQUFBQSxNQUFNO0VzRmg1Qm9CLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjI2QnJGLGNBQWMsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFdUZwMUJrQixnQkFBZ0IsQUFBQSxhQUFhLEN2Rm8xQnJFLGNBQWMsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFdUZuMUJrQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtMUJqRSxjQUFjLENBQUMsQ0FBQyxBQUFBLE1BQU07RXVGMXpCb0Isa0JBQWtCLEFBQUEsYUFBYSxDdkYwekJ6RSxjQUFjLENBQUMsQ0FBQyxBQUFBLE1BQU07RXVGenpCb0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm0xQmpFLGNBQWMsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFZ0cvZ0NxQixtQkFBbUIsQ2hHK2dDOUQsY0FBYyxDQUFDLENBQUMsQUFBQSxNQUFNO0UyR3YrQm1CLGlCQUFpQixDM0d1K0IxRCxjQUFjLENBQUMsQ0FBQyxBQUFBLE1BQU07RThJampDa0IsU0FBUyxDOUlrakNqRCxlQUFlLEFBQUEsTUFBTSxDQUFDLGNBQWM7RW9GNTZCTyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjQ2QnJGLGVBQWUsQUFBQSxNQUFNLENBQUMsY0FBYztFb0YvNUJTLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNDZCckYsZUFBZSxBQUFBLE1BQU0sQ0FBQyxjQUFjO0VzRjk1QkksZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY0NkJyRixlQUFlLEFBQUEsTUFBTSxDQUFDLGNBQWM7RXNGajVCTSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY0NkJyRixlQUFlLEFBQUEsTUFBTSxDQUFDLGNBQWM7RXVGcjFCSSxnQkFBZ0IsQUFBQSxhQUFhLEN2RnExQnJFLGVBQWUsQUFBQSxNQUFNLENBQUMsY0FBYztFdUZwMUJJLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm8xQmpFLGVBQWUsQUFBQSxNQUFNLENBQUMsY0FBYztFdUYzekJNLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMnpCekUsZUFBZSxBQUFBLE1BQU0sQ0FBQyxjQUFjO0V1RjF6Qk0sa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm8xQmpFLGVBQWUsQUFBQSxNQUFNLENBQUMsY0FBYztFZ0doaENPLG1CQUFtQixDaEdnaEM5RCxlQUFlLEFBQUEsTUFBTSxDQUFDLGNBQWM7RTJHeCtCSyxpQkFBaUIsQzNHdytCMUQsZUFBZSxBQUFBLE1BQU0sQ0FBQyxjQUFjO0U4SWxqQ0ksU0FBUyxDOUltakNqRCxlQUFlLEFBQUEsTUFBTSxDQUFDLGNBQWM7RW9GNzZCTyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjY2QnJGLGVBQWUsQUFBQSxNQUFNLENBQUMsY0FBYztFb0ZoNkJTLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNjZCckYsZUFBZSxBQUFBLE1BQU0sQ0FBQyxjQUFjO0VzRi81QkksZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY2NkJyRixlQUFlLEFBQUEsTUFBTSxDQUFDLGNBQWM7RXNGbDVCTSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY2NkJyRixlQUFlLEFBQUEsTUFBTSxDQUFDLGNBQWM7RXVGdDFCSSxnQkFBZ0IsQUFBQSxhQUFhLEN2RnMxQnJFLGVBQWUsQUFBQSxNQUFNLENBQUMsY0FBYztFdUZyMUJJLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnExQmpFLGVBQWUsQUFBQSxNQUFNLENBQUMsY0FBYztFdUY1ekJNLGtCQUFrQixBQUFBLGFBQWEsQ3ZGNHpCekUsZUFBZSxBQUFBLE1BQU0sQ0FBQyxjQUFjO0V1RjN6Qk0sa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnExQmpFLGVBQWUsQUFBQSxNQUFNLENBQUMsY0FBYztFZ0dqaENPLG1CQUFtQixDaEdpaEM5RCxlQUFlLEFBQUEsTUFBTSxDQUFDLGNBQWM7RTJHeitCSyxpQkFBaUIsQzNHeStCMUQsZUFBZSxBQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUU7SUFDbEMsS0FBSyxFRC9rQ1Usd0JBQUksR0NpbEN0QjtFOEl0akN1QyxBOUl3akN4QyxTOEl4akNpRCxDOUl3akNqRCxDQUFDLEFBQUEsYUFBYSxBQUFBLE1BQU0sRW9GbDdCdUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZrN0JyRixDQUFDLEFBQUEsYUFBYSxBQUFBLE1BQU0sRW9GcjZCeUIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZrN0JyRixDQUFDLEFBQUEsYUFBYSxBQUFBLE1BQU0sRXNGcDZCb0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZrN0JyRixDQUFDLEFBQUEsYUFBYSxBQUFBLE1BQU0sRXNGdjVCc0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGazdCckYsQ0FBQyxBQUFBLGFBQWEsQUFBQSxNQUFNLEV1RjMxQm9CLGdCQUFnQixBQUFBLGFBQWEsQ3ZGMjFCckUsQ0FBQyxBQUFBLGFBQWEsQUFBQSxNQUFNLEV1RjExQm9CLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjAxQmpFLENBQUMsQUFBQSxhQUFhLEFBQUEsTUFBTSxFdUZqMEJzQixrQkFBa0IsQUFBQSxhQUFhLEN2RmkwQnpFLENBQUMsQUFBQSxhQUFhLEFBQUEsTUFBTSxFdUZoMEJzQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMDFCakUsQ0FBQyxBQUFBLGFBQWEsQUFBQSxNQUFNLEVnR3RoQ3VCLG1CQUFtQixDaEdzaEM5RCxDQUFDLEFBQUEsYUFBYSxBQUFBLE1BQU0sRTJHOStCcUIsaUJBQWlCLEMzRzgrQjFELENBQUMsQUFBQSxhQUFhLEFBQUEsTUFBTTtFOEl4akNvQixTQUFTLEM5SXlqQ2pELGFBQWEsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFb0ZuN0JzQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRm03QnJGLGFBQWEsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFb0Z0NkJ3QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm03QnJGLGFBQWEsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFc0ZyNkJtQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRm03QnJGLGFBQWEsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFc0Z4NUJxQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZtN0JyRixhQUFhLENBQUMsQ0FBQyxBQUFBLE1BQU07RXVGNTFCbUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkY0MUJyRSxhQUFhLENBQUMsQ0FBQyxBQUFBLE1BQU07RXVGMzFCbUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMjFCakUsYUFBYSxDQUFDLENBQUMsQUFBQSxNQUFNO0V1RmwwQnFCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGazBCekUsYUFBYSxDQUFDLENBQUMsQUFBQSxNQUFNO0V1RmowQnFCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYyMUJqRSxhQUFhLENBQUMsQ0FBQyxBQUFBLE1BQU07RWdHdmhDc0IsbUJBQW1CLENoR3VoQzlELGFBQWEsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFMkcvK0JvQixpQkFBaUIsQzNHKytCMUQsYUFBYSxDQUFDLENBQUMsQUFBQSxNQUFNO0U4SXpqQ21CLFNBQVMsQzlJMGpDakQsZUFBZSxBQUFBLE1BQU0sQ0FBQyxhQUFhO0VvRnA3QlEsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZvN0JyRixlQUFlLEFBQUEsTUFBTSxDQUFDLGFBQWE7RW9GdjZCVSxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm83QnJGLGVBQWUsQUFBQSxNQUFNLENBQUMsYUFBYTtFc0Z0NkJLLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGbzdCckYsZUFBZSxBQUFBLE1BQU0sQ0FBQyxhQUFhO0VzRno1Qk8sa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGbzdCckYsZUFBZSxBQUFBLE1BQU0sQ0FBQyxhQUFhO0V1RjcxQkssZ0JBQWdCLEFBQUEsYUFBYSxDdkY2MUJyRSxlQUFlLEFBQUEsTUFBTSxDQUFDLGFBQWE7RXVGNTFCSyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY0MUJqRSxlQUFlLEFBQUEsTUFBTSxDQUFDLGFBQWE7RXVGbjBCTyxrQkFBa0IsQUFBQSxhQUFhLEN2Rm0wQnpFLGVBQWUsQUFBQSxNQUFNLENBQUMsYUFBYTtFdUZsMEJPLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY0MUJqRSxlQUFlLEFBQUEsTUFBTSxDQUFDLGFBQWE7RWdHeGhDUSxtQkFBbUIsQ2hHd2hDOUQsZUFBZSxBQUFBLE1BQU0sQ0FBQyxhQUFhO0UyR2gvQk0saUJBQWlCLEMzR2cvQjFELGVBQWUsQUFBQSxNQUFNLENBQUMsYUFBYTtFOEkxakNLLFNBQVMsQzlJMmpDakQsZUFBZSxBQUFBLE1BQU0sQ0FBQyxhQUFhO0VvRnI3QlEsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZxN0JyRixlQUFlLEFBQUEsTUFBTSxDQUFDLGFBQWE7RW9GeDZCVSxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnE3QnJGLGVBQWUsQUFBQSxNQUFNLENBQUMsYUFBYTtFc0Z2NkJLLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGcTdCckYsZUFBZSxBQUFBLE1BQU0sQ0FBQyxhQUFhO0VzRjE1Qk8sa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGcTdCckYsZUFBZSxBQUFBLE1BQU0sQ0FBQyxhQUFhO0V1RjkxQkssZ0JBQWdCLEFBQUEsYUFBYSxDdkY4MUJyRSxlQUFlLEFBQUEsTUFBTSxDQUFDLGFBQWE7RXVGNzFCSyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY2MUJqRSxlQUFlLEFBQUEsTUFBTSxDQUFDLGFBQWE7RXVGcDBCTyxrQkFBa0IsQUFBQSxhQUFhLEN2Rm8wQnpFLGVBQWUsQUFBQSxNQUFNLENBQUMsYUFBYTtFdUZuMEJPLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY2MUJqRSxlQUFlLEFBQUEsTUFBTSxDQUFDLGFBQWE7RWdHemhDUSxtQkFBbUIsQ2hHeWhDOUQsZUFBZSxBQUFBLE1BQU0sQ0FBQyxhQUFhO0UyR2ovQk0saUJBQWlCLEMzR2kvQjFELGVBQWUsQUFBQSxNQUFNLENBQUMsYUFBYSxDQUFDO0lBQ2hDLEtBQUssRUR2bENVLHdCQUFJLEdDeWxDdEI7RThJOWpDdUMsQTlJZ2tDeEMsUzhJaGtDaUQsQzlJZ2tDakQsQ0FBQyxBQUFBLGdCQUFnQixBQUFBLE1BQU0sRW9GMTdCb0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYwN0JyRixDQUFDLEFBQUEsZ0JBQWdCLEFBQUEsTUFBTSxFb0Y3NkJzQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjA3QnJGLENBQUMsQUFBQSxnQkFBZ0IsQUFBQSxNQUFNLEVzRjU2QmlCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMDdCckYsQ0FBQyxBQUFBLGdCQUFnQixBQUFBLE1BQU0sRXNGLzVCbUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGMDdCckYsQ0FBQyxBQUFBLGdCQUFnQixBQUFBLE1BQU0sRXVGbjJCaUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZtMkJyRSxDQUFDLEFBQUEsZ0JBQWdCLEFBQUEsTUFBTSxFdUZsMkJpQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZrMkJqRSxDQUFDLEFBQUEsZ0JBQWdCLEFBQUEsTUFBTSxFdUZ6MEJtQixrQkFBa0IsQUFBQSxhQUFhLEN2RnkwQnpFLENBQUMsQUFBQSxnQkFBZ0IsQUFBQSxNQUFNLEV1RngwQm1CLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZrMkJqRSxDQUFDLEFBQUEsZ0JBQWdCLEFBQUEsTUFBTSxFZ0c5aENvQixtQkFBbUIsQ2hHOGhDOUQsQ0FBQyxBQUFBLGdCQUFnQixBQUFBLE1BQU0sRTJHdC9Ca0IsaUJBQWlCLEMzR3MvQjFELENBQUMsQUFBQSxnQkFBZ0IsQUFBQSxNQUFNO0U4SWhrQ2lCLFNBQVMsQzlJaWtDakQsZ0JBQWdCLENBQUMsQ0FBQyxBQUFBLE1BQU07RW9GMzdCbUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYyN0JyRixnQkFBZ0IsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFb0Y5NkJxQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjI3QnJGLGdCQUFnQixDQUFDLENBQUMsQUFBQSxNQUFNO0VzRjc2QmdCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMjdCckYsZ0JBQWdCLENBQUMsQ0FBQyxBQUFBLE1BQU07RXNGaDZCa0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGMjdCckYsZ0JBQWdCLENBQUMsQ0FBQyxBQUFBLE1BQU07RXVGcDJCZ0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZvMkJyRSxnQkFBZ0IsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFdUZuMkJnQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtMkJqRSxnQkFBZ0IsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFdUYxMEJrQixrQkFBa0IsQUFBQSxhQUFhLEN2RjAwQnpFLGdCQUFnQixDQUFDLENBQUMsQUFBQSxNQUFNO0V1RnowQmtCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtMkJqRSxnQkFBZ0IsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFZ0cvaENtQixtQkFBbUIsQ2hHK2hDOUQsZ0JBQWdCLENBQUMsQ0FBQyxBQUFBLE1BQU07RTJHdi9CaUIsaUJBQWlCLEMzR3UvQjFELGdCQUFnQixDQUFDLENBQUMsQUFBQSxNQUFNO0U4SWprQ2dCLFNBQVMsQzlJa2tDakQsZUFBZSxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7RW9GNTdCSyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjQ3QnJGLGVBQWUsQUFBQSxNQUFNLENBQUMsZ0JBQWdCO0VvRi82Qk8scUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY0N0JyRixlQUFlLEFBQUEsTUFBTSxDQUFDLGdCQUFnQjtFc0Y5NkJFLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNDdCckYsZUFBZSxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7RXNGajZCSSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY0N0JyRixlQUFlLEFBQUEsTUFBTSxDQUFDLGdCQUFnQjtFdUZyMkJFLGdCQUFnQixBQUFBLGFBQWEsQ3ZGcTJCckUsZUFBZSxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7RXVGcDJCRSxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvMkJqRSxlQUFlLEFBQUEsTUFBTSxDQUFDLGdCQUFnQjtFdUYzMEJJLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMjBCekUsZUFBZSxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7RXVGMTBCSSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbzJCakUsZUFBZSxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7RWdHaGlDSyxtQkFBbUIsQ2hHZ2lDOUQsZUFBZSxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7RTJHeC9CRyxpQkFBaUIsQzNHdy9CMUQsZUFBZSxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7RThJbGtDRSxTQUFTLEM5SW1rQ2pELGVBQWUsQUFBQSxNQUFNLENBQUMsZ0JBQWdCO0VvRjc3QkssbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY2N0JyRixlQUFlLEFBQUEsTUFBTSxDQUFDLGdCQUFnQjtFb0ZoN0JPLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNjdCckYsZUFBZSxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7RXNGLzZCRSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjY3QnJGLGVBQWUsQUFBQSxNQUFNLENBQUMsZ0JBQWdCO0VzRmw2Qkksa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNjdCckYsZUFBZSxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7RXVGdDJCRSxnQkFBZ0IsQUFBQSxhQUFhLEN2RnMyQnJFLGVBQWUsQUFBQSxNQUFNLENBQUMsZ0JBQWdCO0V1RnIyQkUsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGcTJCakUsZUFBZSxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7RXVGNTBCSSxrQkFBa0IsQUFBQSxhQUFhLEN2RjQwQnpFLGVBQWUsQUFBQSxNQUFNLENBQUMsZ0JBQWdCO0V1RjMwQkksa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnEyQmpFLGVBQWUsQUFBQSxNQUFNLENBQUMsZ0JBQWdCO0VnR2ppQ0ssbUJBQW1CLENoR2lpQzlELGVBQWUsQUFBQSxNQUFNLENBQUMsZ0JBQWdCO0UyR3ovQkcsaUJBQWlCLEMzR3kvQjFELGVBQWUsQUFBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUM7SUFDbkMsS0FBSyxFRC9sQ1UsSUFBSSxHQ2ltQ3RCO0U4SXRrQ3VDLEE5STQ3QnhDLFM4STU3QmlELEM5STQ3QmpELG1CQUFtQixFb0Z0ekJ3QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnN6QnJGLG1CQUFtQixFb0Z6eUIwQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnN6QnJGLG1CQUFtQixFc0Z4eUJxQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnN6QnJGLG1CQUFtQixFc0YzeEJ1QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZzekJyRixtQkFBbUIsRXVGL3RCcUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkYrdEJyRSxtQkFBbUIsRXVGOXRCcUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGOHRCakUsbUJBQW1CLEV1RnJzQnVCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGcXNCekUsbUJBQW1CLEV1RnBzQnVCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY4dEJqRSxtQkFBbUIsRWdHMTVCd0IsbUJBQW1CLENoRzA1QjlELG1CQUFtQixFMkdsM0JzQixpQkFBaUIsQzNHazNCMUQsbUJBQW1CLENBQUM7SUFDaEIsbUJBQW1CLEVEeDlCSix3QkFBSSxHQzA5QnRCO0U4SS83QnVDLEE5SWk4QnhDLFM4SWo4QmlELEM5SWk4QmpELGtCQUFrQixBQUFBLFFBQVEsRW9GM3pCaUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYyekJyRixrQkFBa0IsQUFBQSxRQUFRLEVvRjl5Qm1CLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGMnpCckYsa0JBQWtCLEFBQUEsUUFBUSxFc0Y3eUJjLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMnpCckYsa0JBQWtCLEFBQUEsUUFBUSxFc0ZoeUJnQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYyekJyRixrQkFBa0IsQUFBQSxRQUFRLEV1RnB1QmMsZ0JBQWdCLEFBQUEsYUFBYSxDdkZvdUJyRSxrQkFBa0IsQUFBQSxRQUFRLEV1Rm51QmMsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbXVCakUsa0JBQWtCLEFBQUEsUUFBUSxFdUYxc0JnQixrQkFBa0IsQUFBQSxhQUFhLEN2RjBzQnpFLGtCQUFrQixBQUFBLFFBQVEsRXVGenNCZ0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm11QmpFLGtCQUFrQixBQUFBLFFBQVEsRWdHLzVCaUIsbUJBQW1CLENoRys1QjlELGtCQUFrQixBQUFBLFFBQVEsRTJHdjNCZSxpQkFBaUIsQzNHdTNCMUQsa0JBQWtCLEFBQUEsUUFBUSxDQUFDO0lBQ3ZCLGlCQUFpQixFRDc5QkYsd0JBQUksR0MrOUJ0QjtFOElwOEJ1QyxBOUlzOEJ4QyxTOEl0OEJpRCxDOUlzOEJqRCxnQkFBZ0IsR0FBRyxRQUFRLEVvRmgwQmdCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGZzBCckYsZ0JBQWdCLEdBQUcsUUFBUSxFb0ZuekJrQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmcwQnJGLGdCQUFnQixHQUFHLFFBQVEsRXNGbHpCYSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmcwQnJGLGdCQUFnQixHQUFHLFFBQVEsRXNGcnlCZSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZnMEJyRixnQkFBZ0IsR0FBRyxRQUFRLEV1Rnp1QmEsZ0JBQWdCLEFBQUEsYUFBYSxDdkZ5dUJyRSxnQkFBZ0IsR0FBRyxRQUFRLEV1Rnh1QmEsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGd3VCakUsZ0JBQWdCLEdBQUcsUUFBUSxFdUYvc0JlLGtCQUFrQixBQUFBLGFBQWEsQ3ZGK3NCekUsZ0JBQWdCLEdBQUcsUUFBUSxFdUY5c0JlLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ3dUJqRSxnQkFBZ0IsR0FBRyxRQUFRLEVnR3A2QmdCLG1CQUFtQixDaEdvNkI5RCxnQkFBZ0IsR0FBRyxRQUFRLEUyRzUzQmMsaUJBQWlCLEMzRzQzQjFELGdCQUFnQixHQUFHLFFBQVE7RThJdDhCYSxTQUFTLEM5SXU4QmpELGdCQUFnQixHQUFHLE9BQU87RW9GajBCaUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZpMEJyRixnQkFBZ0IsR0FBRyxPQUFPO0VvRnB6Qm1CLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGaTBCckYsZ0JBQWdCLEdBQUcsT0FBTztFc0ZuekJjLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGaTBCckYsZ0JBQWdCLEdBQUcsT0FBTztFc0Z0eUJnQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZpMEJyRixnQkFBZ0IsR0FBRyxPQUFPO0V1RjF1QmMsZ0JBQWdCLEFBQUEsYUFBYSxDdkYwdUJyRSxnQkFBZ0IsR0FBRyxPQUFPO0V1Rnp1QmMsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGeXVCakUsZ0JBQWdCLEdBQUcsT0FBTztFdUZodEJnQixrQkFBa0IsQUFBQSxhQUFhLEN2Rmd0QnpFLGdCQUFnQixHQUFHLE9BQU87RXVGL3NCZ0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rnl1QmpFLGdCQUFnQixHQUFHLE9BQU87RWdHcjZCaUIsbUJBQW1CLENoR3E2QjlELGdCQUFnQixHQUFHLE9BQU87RTJHNzNCZSxpQkFBaUIsQzNHNjNCMUQsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO0lBQ3ZCLG1CQUFtQixFRG4rQkosd0JBQUksR0NxK0J0QjtFOEkxOEJ1QyxBOUk2ckJ4QyxTOEk3ckJpRCxDOUk2ckJqRCxnQkFBZ0IsRW9GdmpCMkIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZ1akJyRixnQkFBZ0IsRW9GMWlCNkIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZ1akJyRixnQkFBZ0IsRXNGemlCd0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ1akJyRixnQkFBZ0IsRXNGNWhCMEIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGdWpCckYsZ0JBQWdCLEV1Rmhld0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZnZXJFLGdCQUFnQixFdUYvZHdCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RitkakUsZ0JBQWdCLEV1RnRjMEIsa0JBQWtCLEFBQUEsYUFBYSxDdkZzY3pFLGdCQUFnQixFdUZyYzBCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYrZGpFLGdCQUFnQixFZ0czcEIyQixtQkFBbUIsQ2hHMnBCOUQsZ0JBQWdCLEUyR25uQnlCLGlCQUFpQixDM0dtbkIxRCxnQkFBZ0IsQ0FBQztJdUVwc0JqQixnQkFBZ0IsRUFBRSx1V0FBd0IsR3ZFdXNCekM7RThJaHNCdUMsQTlJa3NCeEMsUzhJbHNCaUQsQzlJa3NCakQsZ0JBQWdCLEFBQUEsUUFBUSxFb0Y1akJtQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjRqQnJGLGdCQUFnQixBQUFBLFFBQVEsRW9GL2lCcUIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY0akJyRixnQkFBZ0IsQUFBQSxRQUFRLEVzRjlpQmdCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNGpCckYsZ0JBQWdCLEFBQUEsUUFBUSxFc0ZqaUJrQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY0akJyRixnQkFBZ0IsQUFBQSxRQUFRLEV1RnJlZ0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZxZXJFLGdCQUFnQixBQUFBLFFBQVEsRXVGcGVnQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvZWpFLGdCQUFnQixBQUFBLFFBQVEsRXVGM2NrQixrQkFBa0IsQUFBQSxhQUFhLEN2RjJjekUsZ0JBQWdCLEFBQUEsUUFBUSxFdUYxY2tCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvZWpFLGdCQUFnQixBQUFBLFFBQVEsRWdHaHFCbUIsbUJBQW1CLENoR2dxQjlELGdCQUFnQixBQUFBLFFBQVEsRTJHeG5CaUIsaUJBQWlCLEMzR3duQjFELGdCQUFnQixBQUFBLFFBQVE7RThJbHNCZ0IsU0FBUyxDOUltc0JqRCxnQkFBZ0IsQUFBQSxPQUFPO0VvRjdqQm9CLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGNmpCckYsZ0JBQWdCLEFBQUEsT0FBTztFb0ZoakJzQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjZqQnJGLGdCQUFnQixBQUFBLE9BQU87RXNGL2lCaUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY2akJyRixnQkFBZ0IsQUFBQSxPQUFPO0VzRmxpQm1CLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjZqQnJGLGdCQUFnQixBQUFBLE9BQU87RXVGdGVpQixnQkFBZ0IsQUFBQSxhQUFhLEN2RnNlckUsZ0JBQWdCLEFBQUEsT0FBTztFdUZyZWlCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnFlakUsZ0JBQWdCLEFBQUEsT0FBTztFdUY1Y21CLGtCQUFrQixBQUFBLGFBQWEsQ3ZGNGN6RSxnQkFBZ0IsQUFBQSxPQUFPO0V1RjNjbUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnFlakUsZ0JBQWdCLEFBQUEsT0FBTztFZ0dqcUJvQixtQkFBbUIsQ2hHaXFCOUQsZ0JBQWdCLEFBQUEsT0FBTztFMkd6bkJrQixpQkFBaUIsQzNHeW5CMUQsZ0JBQWdCLEFBQUEsT0FBTyxDQUFDO0lBQ3BCLG1CQUFtQixFRC90Qkosd0JBQUksR0NpdUJ0QjtFOEl0c0J1QyxBOUl3c0J4QyxTOEl4c0JpRCxDOUl3c0JqRCxpQkFBaUIsQUFBQSxPQUFPLEVvRmxrQm1CLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGa2tCckYsaUJBQWlCLEFBQUEsT0FBTyxFb0ZyakJxQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmtrQnJGLGlCQUFpQixBQUFBLE9BQU8sRXNGcGpCZ0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZra0JyRixpQkFBaUIsQUFBQSxPQUFPLEVzRnZpQmtCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRmtrQnJGLGlCQUFpQixBQUFBLE9BQU8sRXVGM2VnQixnQkFBZ0IsQUFBQSxhQUFhLEN2RjJlckUsaUJBQWlCLEFBQUEsT0FBTyxFdUYxZWdCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjBlakUsaUJBQWlCLEFBQUEsT0FBTyxFdUZqZGtCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGaWR6RSxpQkFBaUIsQUFBQSxPQUFPLEV1Rmhka0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjBlakUsaUJBQWlCLEFBQUEsT0FBTyxFZ0d0cUJtQixtQkFBbUIsQ2hHc3FCOUQsaUJBQWlCLEFBQUEsT0FBTyxFMkc5bkJpQixpQkFBaUIsQzNHOG5CMUQsaUJBQWlCLEFBQUEsT0FBTyxDQUFDO0lBQ3JCLGdCQUFnQixFRHB1QkQsd0JBQUksR0NzdUJ0QjtFOEkzc0J1QyxBOUk2c0J4QyxTOEk3c0JpRCxDOUk2c0JqRCxvQkFBb0IsRW9GdmtCdUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZ1a0JyRixvQkFBb0IsRW9GMWpCeUIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZ1a0JyRixvQkFBb0IsRXNGempCb0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ1a0JyRixvQkFBb0IsRXNGNWlCc0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGdWtCckYsb0JBQW9CLEV1Rmhmb0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZnZnJFLG9CQUFvQixFdUYvZW9CLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RitlakUsb0JBQW9CLEV1RnRkc0Isa0JBQWtCLEFBQUEsYUFBYSxDdkZzZHpFLG9CQUFvQixFdUZyZHNCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYrZWpFLG9CQUFvQixFZ0czcUJ1QixtQkFBbUIsQ2hHMnFCOUQsb0JBQW9CLEUyR25vQnFCLGlCQUFpQixDM0dtb0IxRCxvQkFBb0IsQ0FBQztJQUNqQixpQkFBaUIsRUR6dUJGLHdCQUFJLEdDMnVCdEI7RThJaHRCdUMsQTlJMmtDeEMsUzhJM2tDaUQsQzlJMmtDakQsY0FBYyxHQUFHLFFBQVEsRW9GcjhCa0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZxOEJyRixjQUFjLEdBQUcsUUFBUSxFb0Z4N0JvQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnE4QnJGLGNBQWMsR0FBRyxRQUFRLEVzRnY3QmUsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZxOEJyRixjQUFjLEdBQUcsUUFBUSxFc0YxNkJpQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZxOEJyRixjQUFjLEdBQUcsUUFBUSxFdUY5MkJlLGdCQUFnQixBQUFBLGFBQWEsQ3ZGODJCckUsY0FBYyxHQUFHLFFBQVEsRXVGNzJCZSxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY2MkJqRSxjQUFjLEdBQUcsUUFBUSxFdUZwMUJpQixrQkFBa0IsQUFBQSxhQUFhLEN2Rm8xQnpFLGNBQWMsR0FBRyxRQUFRLEV1Rm4xQmlCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY2MkJqRSxjQUFjLEdBQUcsUUFBUSxFZ0d6aUNrQixtQkFBbUIsQ2hHeWlDOUQsY0FBYyxHQUFHLFFBQVEsRTJHamdDZ0IsaUJBQWlCLEMzR2lnQzFELGNBQWMsR0FBRyxRQUFRLENBQUM7SUFBRSxLQUFLLEVEdG1DZCx3QkFBSSxDQ3NtQ3NDLFVBQVUsR0FBSTtFOEkza0NuQyxBOUk0a0N4QyxTOEk1a0NpRCxDOUk0a0NqRCxpQkFBaUIsR0FBRyxRQUFRLEVvRnQ4QmUsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZzOEJyRixpQkFBaUIsR0FBRyxRQUFRLEVvRno3QmlCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGczhCckYsaUJBQWlCLEdBQUcsUUFBUSxFc0Z4N0JZLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGczhCckYsaUJBQWlCLEdBQUcsUUFBUSxFc0YzNkJjLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnM4QnJGLGlCQUFpQixHQUFHLFFBQVEsRXVGLzJCWSxnQkFBZ0IsQUFBQSxhQUFhLEN2RisyQnJFLGlCQUFpQixHQUFHLFFBQVEsRXVGOTJCWSxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY4MkJqRSxpQkFBaUIsR0FBRyxRQUFRLEV1RnIxQmMsa0JBQWtCLEFBQUEsYUFBYSxDdkZxMUJ6RSxpQkFBaUIsR0FBRyxRQUFRLEV1RnAxQmMsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjgyQmpFLGlCQUFpQixHQUFHLFFBQVEsRWdHMWlDZSxtQkFBbUIsQ2hHMGlDOUQsaUJBQWlCLEdBQUcsUUFBUSxFMkdsZ0NhLGlCQUFpQixDM0drZ0MxRCxpQkFBaUIsR0FBRyxRQUFRLENBQUM7SUFBRSxLQUFLLEVEdm1DakIsSUFBSSxDQ3VtQzRDLFVBQVUsR0FBSTtFOEk1a0N6QyxBOUk2a0N4QyxTOEk3a0NpRCxDOUk2a0NqRCxnQkFBZ0IsR0FBRyxRQUFRLEVvRnY4QmdCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGdThCckYsZ0JBQWdCLEdBQUcsUUFBUSxFb0YxN0JrQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnU4QnJGLGdCQUFnQixHQUFHLFFBQVEsRXNGejdCYSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnU4QnJGLGdCQUFnQixHQUFHLFFBQVEsRXNGNTZCZSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ1OEJyRixnQkFBZ0IsR0FBRyxRQUFRLEV1RmgzQmEsZ0JBQWdCLEFBQUEsYUFBYSxDdkZnM0JyRSxnQkFBZ0IsR0FBRyxRQUFRLEV1Ri8yQmEsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGKzJCakUsZ0JBQWdCLEdBQUcsUUFBUSxFdUZ0MUJlLGtCQUFrQixBQUFBLGFBQWEsQ3ZGczFCekUsZ0JBQWdCLEdBQUcsUUFBUSxFdUZyMUJlLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYrMkJqRSxnQkFBZ0IsR0FBRyxRQUFRLEVnRzNpQ2dCLG1CQUFtQixDaEcyaUM5RCxnQkFBZ0IsR0FBRyxRQUFRLEUyR25nQ2MsaUJBQWlCLEMzR21nQzFELGdCQUFnQixHQUFHLFFBQVEsQ0FBQztJQUFFLEtBQUssRUR4bUNoQixJQUFJLENDd21DMEMsVUFBVSxHQUFJO0U4STdrQ3ZDLEE5SThrQ3hDLFM4STlrQ2lELEM5SThrQ2pELGtCQUFrQixHQUFHLFFBQVEsRW9GeDhCYyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnc4QnJGLGtCQUFrQixHQUFHLFFBQVEsRW9GMzdCZ0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZ3OEJyRixrQkFBa0IsR0FBRyxRQUFRLEVzRjE3QlcsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ3OEJyRixrQkFBa0IsR0FBRyxRQUFRLEVzRjc2QmEsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGdzhCckYsa0JBQWtCLEdBQUcsUUFBUSxFdUZqM0JXLGdCQUFnQixBQUFBLGFBQWEsQ3ZGaTNCckUsa0JBQWtCLEdBQUcsUUFBUSxFdUZoM0JXLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RmczQmpFLGtCQUFrQixHQUFHLFFBQVEsRXVGdjFCYSxrQkFBa0IsQUFBQSxhQUFhLEN2RnUxQnpFLGtCQUFrQixHQUFHLFFBQVEsRXVGdDFCYSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGZzNCakUsa0JBQWtCLEdBQUcsUUFBUSxFZ0c1aUNjLG1CQUFtQixDaEc0aUM5RCxrQkFBa0IsR0FBRyxRQUFRLEUyR3BnQ1ksaUJBQWlCLEMzR29nQzFELGtCQUFrQixHQUFHLFFBQVEsQ0FBQztJQUFFLEtBQUssRUR6bUNsQixJQUFJLENDeW1DOEMsVUFBVSxHQUFJO0U4STlrQzNDLEE5SWdsQ3hDLFM4SWhsQ2lELEM5SWdsQ2pELGVBQWUsR0FBRyxRQUFRLEVvRjE4QmlCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGMDhCckYsZUFBZSxHQUFHLFFBQVEsRW9GNzdCbUIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYwOEJyRixlQUFlLEdBQUcsUUFBUSxFc0Y1N0JjLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMDhCckYsZUFBZSxHQUFHLFFBQVEsRXNGLzZCZ0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGMDhCckYsZUFBZSxHQUFHLFFBQVEsRXVGbjNCYyxnQkFBZ0IsQUFBQSxhQUFhLEN2Rm0zQnJFLGVBQWUsR0FBRyxRQUFRLEV1RmwzQmMsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGazNCakUsZUFBZSxHQUFHLFFBQVEsRXVGejFCZ0Isa0JBQWtCLEFBQUEsYUFBYSxDdkZ5MUJ6RSxlQUFlLEdBQUcsUUFBUSxFdUZ4MUJnQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGazNCakUsZUFBZSxHQUFHLFFBQVEsRWdHOWlDaUIsbUJBQW1CLENoRzhpQzlELGVBQWUsR0FBRyxRQUFRLEUyR3RnQ2UsaUJBQWlCLEMzR3NnQzFELGVBQWUsR0FBRyxRQUFRLENBQUM7SXVFdmxDM0IsZ0JBQWdCLEVBQUUsK1NBQXdCLEd2RXlsQ3pDO0U4SWxsQ3VDLEE5SW9sQ3hDLFM4SXBsQ2lELEM5SW9sQ2pELGdCQUFnQixHQUFHLFVBQVcsQ0FBQSxHQUFHLEdvRjk4QlUsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY4OEJyRixnQkFBZ0IsR0FBRyxVQUFXLENBQUEsR0FBRyxHb0ZqOEJZLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGODhCckYsZ0JBQWdCLEdBQUcsVUFBVyxDQUFBLEdBQUcsR3NGaDhCTyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjg4QnJGLGdCQUFnQixHQUFHLFVBQVcsQ0FBQSxHQUFHLEdzRm43QlMsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGODhCckYsZ0JBQWdCLEdBQUcsVUFBVyxDQUFBLEdBQUcsR3VGdjNCTyxnQkFBZ0IsQUFBQSxhQUFhLEN2RnUzQnJFLGdCQUFnQixHQUFHLFVBQVcsQ0FBQSxHQUFHLEd1RnQzQk8sZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGczNCakUsZ0JBQWdCLEdBQUcsVUFBVyxDQUFBLEdBQUcsR3VGNzFCUyxrQkFBa0IsQUFBQSxhQUFhLEN2RjYxQnpFLGdCQUFnQixHQUFHLFVBQVcsQ0FBQSxHQUFHLEd1RjUxQlMsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnMzQmpFLGdCQUFnQixHQUFHLFVBQVcsQ0FBQSxHQUFHLEdnR2xqQ1UsbUJBQW1CLENoR2tqQzlELGdCQUFnQixHQUFHLFVBQVcsQ0FBQSxHQUFHLEcyRzFnQ1EsaUJBQWlCLEMzRzBnQzFELGdCQUFnQixHQUFHLFVBQVcsQ0FBQSxHQUFHLEVBQUU7SUFDL0IsZ0JBQWdCLEVEaG5DRCx3QkFBSSxHQ2tuQ3RCO0U4SXZsQ3VDLEE5STZqRHhDLFM4STdqRGlELEM5SXlsQ2pELGdCQUFnQixHQUFHLENBQUMsQUFvZW5CLFlBQWEsQ0FWQSxHQUFHLEdvRjc2QzBCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGbTlCckYsZ0JBQWdCLEdBQUcsQ0FBQyxBQW9lbkIsWUFBYSxDQVZBLEdBQUcsR29GaDZDNEIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZtOUJyRixnQkFBZ0IsR0FBRyxDQUFDLEFBb2VuQixZQUFhLENBVkEsR0FBRyxHc0YvNUN1QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRm05QnJGLGdCQUFnQixHQUFHLENBQUMsQUFvZW5CLFlBQWEsQ0FWQSxHQUFHLEdzRmw1Q3lCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRm05QnJGLGdCQUFnQixHQUFHLENBQUMsQUFvZW5CLFlBQWEsQ0FWQSxHQUFHLEd1RnQxQ3VCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGNDNCckUsZ0JBQWdCLEdBQUcsQ0FBQyxBQW9lbkIsWUFBYSxDQVZBLEdBQUcsR3VGcjFDdUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMjNCakUsZ0JBQWdCLEdBQUcsQ0FBQyxBQW9lbkIsWUFBYSxDQVZBLEdBQUcsR3VGNXpDeUIsa0JBQWtCLEFBQUEsYUFBYSxDdkZrMkJ6RSxnQkFBZ0IsR0FBRyxDQUFDLEFBb2VuQixZQUFhLENBVkEsR0FBRyxHdUYzekN5QixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMjNCakUsZ0JBQWdCLEdBQUcsQ0FBQyxBQW9lbkIsWUFBYSxDQVZBLEdBQUcsR2dHamhEMEIsbUJBQW1CLENoR3VqQzlELGdCQUFnQixHQUFHLENBQUMsQUFvZW5CLFlBQWEsQ0FWQSxHQUFHLEcyR3orQ3dCLGlCQUFpQixDM0crZ0MxRCxnQkFBZ0IsR0FBRyxDQUFDLEFBb2VuQixZQUFhLENBVkEsR0FBRyxFQVVFO0lBQ2YsZ0JBQWdCLEVEemxERCx3QkFBSTtJQzBsRG5CLG1CQUFtQixFRDFsREosd0JBQUksR0MybER0QjtFOEloa0R1QyxBOUk2bEN4QyxTOEk3bENpRCxDOUk2bENqRCxnQkFBZ0IsR0FBRyxZQUFhLENBc2RsQixHQUFHLEdvRjc2QzBCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGdTlCckYsZ0JBQWdCLEdBQUcsWUFBYSxDQXNkbEIsR0FBRyxHb0ZoNkM0QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnU5QnJGLGdCQUFnQixHQUFHLFlBQWEsQ0FzZGxCLEdBQUcsR3NGLzVDdUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ1OUJyRixnQkFBZ0IsR0FBRyxZQUFhLENBc2RsQixHQUFHLEdzRmw1Q3lCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnU5QnJGLGdCQUFnQixHQUFHLFlBQWEsQ0FzZGxCLEdBQUcsR3VGdDFDdUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZnNEJyRSxnQkFBZ0IsR0FBRyxZQUFhLENBc2RsQixHQUFHLEd1RnIxQ3VCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RiszQmpFLGdCQUFnQixHQUFHLFlBQWEsQ0FzZGxCLEdBQUcsR3VGNXpDeUIsa0JBQWtCLEFBQUEsYUFBYSxDdkZzMkJ6RSxnQkFBZ0IsR0FBRyxZQUFhLENBc2RsQixHQUFHLEd1RjN6Q3lCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYrM0JqRSxnQkFBZ0IsR0FBRyxZQUFhLENBc2RsQixHQUFHLEdnR2poRDBCLG1CQUFtQixDaEcyakM5RCxnQkFBZ0IsR0FBRyxZQUFhLENBc2RsQixHQUFHLEcyR3orQ3dCLGlCQUFpQixDM0dtaEMxRCxnQkFBZ0IsR0FBRyxZQUFhLENBc2RsQixHQUFHLEVBdGRvQjtJQUFFLGdCQUFnQixFRHhuQ3BDLHdCQUFJLEdDd25Dc0U7RThJN2xDckQsQTlJbytCeEMsUzhJcCtCaUQsQzlJbytCakQsYUFBYSxFb0Y5MUI4QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjgxQnJGLGFBQWEsRW9GajFCZ0MscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY4MUJyRixhQUFhLEVzRmgxQjJCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGODFCckYsYUFBYSxFc0ZuMEI2QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY4MUJyRixhQUFhLEV1RnZ3QjJCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGdXdCckUsYUFBYSxFdUZ0d0IyQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZzd0JqRSxhQUFhLEV1Rjd1QjZCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGNnVCekUsYUFBYSxFdUY1dUI2QixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGc3dCakUsYUFBYSxFZ0dsOEI4QixtQkFBbUIsQ2hHazhCOUQsYUFBYSxFMkcxNUI0QixpQkFBaUIsQzNHMDVCMUQsYUFBYSxDQUFDO0lBQ1YsS0FBSyxFRGhnQ1Usd0JBQUksR0NrZ0N0QjtFOEl2K0J1QyxBOUl5K0J4QyxTOEl6K0JpRCxDOUl5K0JqRCxhQUFhLEFBQUEsTUFBTSxFb0ZuMkJ3QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRm0yQnJGLGFBQWEsQUFBQSxNQUFNLEVvRnQxQjBCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGbTJCckYsYUFBYSxBQUFBLE1BQU0sRXNGcjFCcUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZtMkJyRixhQUFhLEFBQUEsTUFBTSxFc0Z4MEJ1QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZtMkJyRixhQUFhLEFBQUEsTUFBTSxFdUY1d0JxQixnQkFBZ0IsQUFBQSxhQUFhLEN2RjR3QnJFLGFBQWEsQUFBQSxNQUFNLEV1RjN3QnFCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjJ3QmpFLGFBQWEsQUFBQSxNQUFNLEV1Rmx2QnVCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGa3ZCekUsYUFBYSxBQUFBLE1BQU0sRXVGanZCdUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjJ3QmpFLGFBQWEsQUFBQSxNQUFNLEVnR3Y4QndCLG1CQUFtQixDaEd1OEI5RCxhQUFhLEFBQUEsTUFBTSxFMkcvNUJzQixpQkFBaUIsQzNHKzVCMUQsYUFBYSxBQUFBLE1BQU07RThJeitCcUIsU0FBUyxDOUkwK0JqRCxhQUFhLEFBQUEsTUFBTTtFb0ZwMkJ3QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRm8yQnJGLGFBQWEsQUFBQSxNQUFNO0VvRnYxQjBCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGbzJCckYsYUFBYSxBQUFBLE1BQU07RXNGdDFCcUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZvMkJyRixhQUFhLEFBQUEsTUFBTTtFc0Z6MEJ1QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZvMkJyRixhQUFhLEFBQUEsTUFBTTtFdUY3d0JxQixnQkFBZ0IsQUFBQSxhQUFhLEN2RjZ3QnJFLGFBQWEsQUFBQSxNQUFNO0V1RjV3QnFCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjR3QmpFLGFBQWEsQUFBQSxNQUFNO0V1Rm52QnVCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGbXZCekUsYUFBYSxBQUFBLE1BQU07RXVGbHZCdUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjR3QmpFLGFBQWEsQUFBQSxNQUFNO0VnR3g4QndCLG1CQUFtQixDaEd3OEI5RCxhQUFhLEFBQUEsTUFBTTtFMkdoNkJzQixpQkFBaUIsQzNHZzZCMUQsYUFBYSxBQUFBLE1BQU0sQ0FBQztJQUNoQixLQUFLLEVEdGdDVSx3QkFBSSxHQ3dnQ3RCO0U4STcrQnVDLEE5SSsrQnhDLFM4SS8rQmlELEM5SSsrQmpELGFBQWEsQUFBQSxPQUFPLEVvRnoyQnVCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGeTJCckYsYUFBYSxBQUFBLE9BQU8sRW9GNTFCeUIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZ5MkJyRixhQUFhLEFBQUEsT0FBTyxFc0YzMUJvQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnkyQnJGLGFBQWEsQUFBQSxPQUFPLEVzRjkwQnNCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnkyQnJGLGFBQWEsQUFBQSxPQUFPLEV1Rmx4Qm9CLGdCQUFnQixBQUFBLGFBQWEsQ3ZGa3hCckUsYUFBYSxBQUFBLE9BQU8sRXVGanhCb0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGaXhCakUsYUFBYSxBQUFBLE9BQU8sRXVGeHZCc0Isa0JBQWtCLEFBQUEsYUFBYSxDdkZ3dkJ6RSxhQUFhLEFBQUEsT0FBTyxFdUZ2dkJzQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGaXhCakUsYUFBYSxBQUFBLE9BQU8sRWdHNzhCdUIsbUJBQW1CLENoRzY4QjlELGFBQWEsQUFBQSxPQUFPLEUyR3I2QnFCLGlCQUFpQixDM0dxNkIxRCxhQUFhLEFBQUEsT0FBTztFOEkvK0JvQixTQUFTLEM5SWcvQmpELFVBQVUsR0FBRyxhQUFhO0VvRjEyQmlCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGMDJCckYsVUFBVSxHQUFHLGFBQWE7RW9GNzFCbUIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYwMkJyRixVQUFVLEdBQUcsYUFBYTtFc0Y1MUJjLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMDJCckYsVUFBVSxHQUFHLGFBQWE7RXNGLzBCZ0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGMDJCckYsVUFBVSxHQUFHLGFBQWE7RXVGbnhCYyxnQkFBZ0IsQUFBQSxhQUFhLEN2Rm14QnJFLFVBQVUsR0FBRyxhQUFhO0V1Rmx4QmMsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGa3hCakUsVUFBVSxHQUFHLGFBQWE7RXVGenZCZ0Isa0JBQWtCLEFBQUEsYUFBYSxDdkZ5dkJ6RSxVQUFVLEdBQUcsYUFBYTtFdUZ4dkJnQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGa3hCakUsVUFBVSxHQUFHLGFBQWE7RWdHOThCaUIsbUJBQW1CLENoRzg4QjlELFVBQVUsR0FBRyxhQUFhO0UyR3Q2QmUsaUJBQWlCLEMzR3M2QjFELFVBQVUsR0FBRyxhQUFhLENBQUM7SUFDdkIsS0FBSyxFRDVnQ1Usd0JBQUksR0M4Z0N0QjtFOEluL0J1QyxBOUl5L0J4QyxTOEl6L0JpRCxDOUl5L0JqRCxlQUFlLEVvRm4zQjRCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGbTNCckYsZUFBZSxFb0Z0MkI4QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm0zQnJGLGVBQWUsRXNGcjJCeUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZtM0JyRixlQUFlLEVzRngxQjJCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRm0zQnJGLGVBQWUsRXVGNXhCeUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkY0eEJyRSxlQUFlLEV1RjN4QnlCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjJ4QmpFLGVBQWUsRXVGbHdCMkIsa0JBQWtCLEFBQUEsYUFBYSxDdkZrd0J6RSxlQUFlLEV1Rmp3QjJCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYyeEJqRSxlQUFlLEVnR3Y5QjRCLG1CQUFtQixDaEd1OUI5RCxlQUFlLEUyRy82QjBCLGlCQUFpQixDM0crNkIxRCxlQUFlLENBQUM7SUFDWixnQkFBZ0IsRURyaENELHdCQUFJO0lDc2hDbkIsS0FBSyxFRHRoQ1Usd0JBQUksR0N3aEN0QjtFOEk3L0J1QyxBOUkrL0J4QyxTOEkvL0JpRCxDOUkrL0JqRCxlQUFlLEFBQUEsTUFBTSxFb0Z6M0JzQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnkzQnJGLGVBQWUsQUFBQSxNQUFNLEVvRjUyQndCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGeTNCckYsZUFBZSxBQUFBLE1BQU0sRXNGMzJCbUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ5M0JyRixlQUFlLEFBQUEsTUFBTSxFc0Y5MUJxQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ5M0JyRixlQUFlLEFBQUEsTUFBTSxFdUZseUJtQixnQkFBZ0IsQUFBQSxhQUFhLEN2Rmt5QnJFLGVBQWUsQUFBQSxNQUFNLEV1Rmp5Qm1CLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rml5QmpFLGVBQWUsQUFBQSxNQUFNLEV1Rnh3QnFCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGd3dCekUsZUFBZSxBQUFBLE1BQU0sRXVGdndCcUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rml5QmpFLGVBQWUsQUFBQSxNQUFNLEVnRzc5QnNCLG1CQUFtQixDaEc2OUI5RCxlQUFlLEFBQUEsTUFBTSxFMkdyN0JvQixpQkFBaUIsQzNHcTdCMUQsZUFBZSxBQUFBLE1BQU07RThJLy9CbUIsU0FBUyxDOUlnZ0NqRCxlQUFlLEFBQUEsTUFBTTtFb0YxM0JzQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjAzQnJGLGVBQWUsQUFBQSxNQUFNO0VvRjcyQndCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGMDNCckYsZUFBZSxBQUFBLE1BQU07RXNGNTJCbUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEYwM0JyRixlQUFlLEFBQUEsTUFBTTtFc0YvMUJxQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYwM0JyRixlQUFlLEFBQUEsTUFBTTtFdUZueUJtQixnQkFBZ0IsQUFBQSxhQUFhLEN2Rm15QnJFLGVBQWUsQUFBQSxNQUFNO0V1Rmx5Qm1CLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rmt5QmpFLGVBQWUsQUFBQSxNQUFNO0V1Rnp3QnFCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGeXdCekUsZUFBZSxBQUFBLE1BQU07RXVGeHdCcUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rmt5QmpFLGVBQWUsQUFBQSxNQUFNO0VnRzk5QnNCLG1CQUFtQixDaEc4OUI5RCxlQUFlLEFBQUEsTUFBTTtFMkd0N0JvQixpQkFBaUIsQzNHczdCMUQsZUFBZSxBQUFBLE1BQU0sQ0FBQztJQUNsQixnQkFBZ0IsRURwaEJlLHdCQUEyQztJQ3FoQjFFLEtBQUssRUQ3aENVLHdCQUFJLEdDK2hDdEI7RThJcGdDdUMsQTlJc2dDeEMsUzhJdGdDaUQsQzlJc2dDakQsZUFBZSxBQUFBLE9BQU8sRW9GaDRCcUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZnNEJyRixlQUFlLEFBQUEsT0FBTyxFb0ZuM0J1QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmc0QnJGLGVBQWUsQUFBQSxPQUFPLEVzRmwzQmtCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGZzRCckYsZUFBZSxBQUFBLE9BQU8sRXNGcjJCb0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGZzRCckYsZUFBZSxBQUFBLE9BQU8sRXVGenlCa0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZ5eUJyRSxlQUFlLEFBQUEsT0FBTyxFdUZ4eUJrQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ3eUJqRSxlQUFlLEFBQUEsT0FBTyxFdUYvd0JvQixrQkFBa0IsQUFBQSxhQUFhLEN2Rit3QnpFLGVBQWUsQUFBQSxPQUFPLEV1Rjl3Qm9CLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ3eUJqRSxlQUFlLEFBQUEsT0FBTyxFZ0dwK0JxQixtQkFBbUIsQ2hHbytCOUQsZUFBZSxBQUFBLE9BQU8sRTJHNTdCbUIsaUJBQWlCLEMzRzQ3QjFELGVBQWUsQUFBQSxPQUFPLENBQUM7SUFDbkIsZ0JBQWdCLEVEeGhCZ0Isd0JBQTRDO0lDeWhCNUUsS0FBSyxFRG5pQ1Usd0JBQUksR0NxaUN0QjtFOEkxZ0N1QyxBOUlpekJ4QyxTOElqekJpRCxDOUlpekJqRCxTQUFTLEVvRjNxQmtDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGMnFCckYsU0FBUyxFb0Y5cEJvQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjJxQnJGLFNBQVMsRXNGN3BCK0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEYycUJyRixTQUFTLEVzRmhwQmlDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjJxQnJGLFNBQVMsRXVGcGxCK0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZvbEJyRSxTQUFTLEV1Rm5sQitCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm1sQmpFLFNBQVMsRXVGMWpCaUMsa0JBQWtCLEFBQUEsYUFBYSxDdkYwakJ6RSxTQUFTLEV1RnpqQmlDLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtbEJqRSxTQUFTLEVnRy93QmtDLG1CQUFtQixDaEcrd0I5RCxTQUFTLEUyR3Z1QmdDLGlCQUFpQixDM0d1dUIxRCxTQUFTO0U4SWp6QitCLFNBQVMsQzlJa3pCakQsVUFBVTtFb0Y1cUJpQyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjRxQnJGLFVBQVU7RW9GL3BCbUMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY0cUJyRixVQUFVO0VzRjlwQjhCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNHFCckYsVUFBVTtFc0ZqcEJnQyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY0cUJyRixVQUFVO0V1RnJsQjhCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGcWxCckUsVUFBVTtFdUZwbEI4QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvbEJqRSxVQUFVO0V1RjNqQmdDLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMmpCekUsVUFBVTtFdUYxakJnQyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGb2xCakUsVUFBVTtFZ0doeEJpQyxtQkFBbUIsQ2hHZ3hCOUQsVUFBVTtFMkd4dUIrQixpQkFBaUIsQzNHd3VCMUQsVUFBVTtFOElsekI4QixTQUFTLEM5SW16QmpELFlBQVk7RW9GN3FCK0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY2cUJyRixZQUFZO0VvRmhxQmlDLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNnFCckYsWUFBWTtFc0YvcEI0QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjZxQnJGLFlBQVk7RXNGbHBCOEIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNnFCckYsWUFBWTtFdUZ0bEI0QixnQkFBZ0IsQUFBQSxhQUFhLEN2RnNsQnJFLFlBQVk7RXVGcmxCNEIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGcWxCakUsWUFBWTtFdUY1akI4QixrQkFBa0IsQUFBQSxhQUFhLEN2RjRqQnpFLFlBQVk7RXVGM2pCOEIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnFsQmpFLFlBQVk7RWdHanhCK0IsbUJBQW1CLENoR2l4QjlELFlBQVk7RTJHenVCNkIsaUJBQWlCLEMzR3l1QjFELFlBQVksQ0FBQztJQUNULGdCQUFnQixFRC8wQkQsd0JBQUk7SUNnMUJuQixLQUFLLEVEaDFCVSx3QkFBSTtJQ2kxQm5CLGVBQWUsRUFBRSxXQUFXO0lBZFIsWUFBWSxFRG4wQmpCLHdCQUFJLEdDeTFCdEI7SThJOXpCdUMsQTlJeXpCcEMsUzhJenpCNkMsQzlJaXpCakQsU0FBUyxBQVFKLE1BQU0sRW9GbnJCZ0MsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYycUJyRixTQUFTLEFBUUosTUFBTSxFb0Z0cUJrQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjJxQnJGLFNBQVMsQUFRSixNQUFNLEVzRnJxQjZCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMnFCckYsU0FBUyxBQVFKLE1BQU0sRXNGeHBCK0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGMnFCckYsU0FBUyxBQVFKLE1BQU0sRXVGNWxCNkIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZvbEJyRSxTQUFTLEFBUUosTUFBTSxFdUYzbEI2QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtbEJqRSxTQUFTLEFBUUosTUFBTSxFdUZsa0IrQixrQkFBa0IsQUFBQSxhQUFhLEN2RjBqQnpFLFNBQVMsQUFRSixNQUFNLEV1RmprQitCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtbEJqRSxTQUFTLEFBUUosTUFBTSxFZ0d2eEJnQyxtQkFBbUIsQ2hHK3dCOUQsU0FBUyxBQVFKLE1BQU0sRTJHL3VCOEIsaUJBQWlCLEMzR3V1QjFELFNBQVMsQUFRSixNQUFNO0k4SXp6QjZCLFNBQVMsQzlJa3pCakQsVUFBVSxBQU9MLE1BQU07SW9GbnJCZ0MsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY0cUJyRixVQUFVLEFBT0wsTUFBTTtJb0Z0cUJrQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjRxQnJGLFVBQVUsQUFPTCxNQUFNO0lzRnJxQjZCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNHFCckYsVUFBVSxBQU9MLE1BQU07SXNGeHBCK0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNHFCckYsVUFBVSxBQU9MLE1BQU07SXVGNWxCNkIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZxbEJyRSxVQUFVLEFBT0wsTUFBTTtJdUYzbEI2QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvbEJqRSxVQUFVLEFBT0wsTUFBTTtJdUZsa0IrQixrQkFBa0IsQUFBQSxhQUFhLEN2RjJqQnpFLFVBQVUsQUFPTCxNQUFNO0l1RmprQitCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvbEJqRSxVQUFVLEFBT0wsTUFBTTtJZ0d2eEJnQyxtQkFBbUIsQ2hHZ3hCOUQsVUFBVSxBQU9MLE1BQU07STJHL3VCOEIsaUJBQWlCLEMzR3d1QjFELFVBQVUsQUFPTCxNQUFNO0k4SXp6QjZCLFNBQVMsQzlJbXpCakQsWUFBWSxBQU1QLE1BQU07SW9GbnJCZ0MsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY2cUJyRixZQUFZLEFBTVAsTUFBTTtJb0Z0cUJrQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjZxQnJGLFlBQVksQUFNUCxNQUFNO0lzRnJxQjZCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNnFCckYsWUFBWSxBQU1QLE1BQU07SXNGeHBCK0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNnFCckYsWUFBWSxBQU1QLE1BQU07SXVGNWxCNkIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZzbEJyRSxZQUFZLEFBTVAsTUFBTTtJdUYzbEI2QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZxbEJqRSxZQUFZLEFBTVAsTUFBTTtJdUZsa0IrQixrQkFBa0IsQUFBQSxhQUFhLEN2RjRqQnpFLFlBQVksQUFNUCxNQUFNO0l1RmprQitCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZxbEJqRSxZQUFZLEFBTVAsTUFBTTtJZ0d2eEJnQyxtQkFBbUIsQ2hHaXhCOUQsWUFBWSxBQU1QLE1BQU07STJHL3VCOEIsaUJBQWlCLEMzR3l1QjFELFlBQVksQUFNUCxNQUFNLENBQUM7TUFDSixnQkFBZ0IsRURyMUJMLHdCQUFJO01DczFCZixLQUFLLEVEdDFCTSx3QkFBSTtNQ28wQk8sWUFBWSxFRHAwQnZCLHdCQUFJLEdDdzFCbEI7RThJN3pCbUMsQTlJbzBCeEMsUzhJcDBCaUQsQzlJbzBCakQsU0FBUyxBQUFBLHVCQUF1QixFb0Y5ckJXLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGOHJCckYsU0FBUyxBQUFBLHVCQUF1QixFb0ZqckJhLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGOHJCckYsU0FBUyxBQUFBLHVCQUF1QixFc0ZockJRLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGOHJCckYsU0FBUyxBQUFBLHVCQUF1QixFc0ZucUJVLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjhyQnJGLFNBQVMsQUFBQSx1QkFBdUIsRXVGdm1CUSxnQkFBZ0IsQUFBQSxhQUFhLEN2RnVtQnJFLFNBQVMsQUFBQSx1QkFBdUIsRXVGdG1CUSxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZzbUJqRSxTQUFTLEFBQUEsdUJBQXVCLEV1RjdrQlUsa0JBQWtCLEFBQUEsYUFBYSxDdkY2a0J6RSxTQUFTLEFBQUEsdUJBQXVCLEV1RjVrQlUsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnNtQmpFLFNBQVMsQUFBQSx1QkFBdUIsRWdHbHlCVyxtQkFBbUIsQ2hHa3lCOUQsU0FBUyxBQUFBLHVCQUF1QixFMkcxdkJTLGlCQUFpQixDM0cwdkIxRCxTQUFTLEFBQUEsdUJBQXVCLENBQUM7SUFBRSxLQUFLLEVELzFCckIsd0JBQUksQ0MrMUJtRCxVQUFVLEdBQUk7RThJcDBCaEQsQTlJcTBCeEMsUzhJcjBCaUQsQzlJcTBCakQsU0FBUyxBQUFBLGFBQWEsRW9GL3JCcUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYrckJyRixTQUFTLEFBQUEsYUFBYSxFb0ZsckJ1QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRityQnJGLFNBQVMsQUFBQSxhQUFhLEVzRmpyQmtCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGK3JCckYsU0FBUyxBQUFBLGFBQWEsRXNGcHFCb0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGK3JCckYsU0FBUyxBQUFBLGFBQWEsRXVGeG1Ca0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZ3bUJyRSxTQUFTLEFBQUEsYUFBYSxFdUZ2bUJrQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ1bUJqRSxTQUFTLEFBQUEsYUFBYSxFdUY5a0JvQixrQkFBa0IsQUFBQSxhQUFhLEN2RjhrQnpFLFNBQVMsQUFBQSxhQUFhLEV1RjdrQm9CLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ1bUJqRSxTQUFTLEFBQUEsYUFBYSxFZ0dueUJxQixtQkFBbUIsQ2hHbXlCOUQsU0FBUyxBQUFBLGFBQWEsRTJHM3ZCbUIsaUJBQWlCLEMzRzJ2QjFELFNBQVMsQUFBQSxhQUFhLENBQUM7SUFBRSxLQUFLLEVEaDJCWCx3QkFBSSxHQ2cyQjRDO0U4SXIwQjNCLEE5SXUwQnhDLFM4SXYwQmlELEM5SXUwQmpELFlBQVksQUFBQSx1QkFBdUIsRW9GanNCUSxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRmlzQnJGLFlBQVksQUFBQSx1QkFBdUIsRW9GcHJCVSxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmlzQnJGLFlBQVksQUFBQSx1QkFBdUIsRXNGbnJCSyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmlzQnJGLFlBQVksQUFBQSx1QkFBdUIsRXNGdHFCTyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZpc0JyRixZQUFZLEFBQUEsdUJBQXVCLEV1RjFtQkssZ0JBQWdCLEFBQUEsYUFBYSxDdkYwbUJyRSxZQUFZLEFBQUEsdUJBQXVCLEV1RnptQkssZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGeW1CakUsWUFBWSxBQUFBLHVCQUF1QixFdUZobEJPLGtCQUFrQixBQUFBLGFBQWEsQ3ZGZ2xCekUsWUFBWSxBQUFBLHVCQUF1QixFdUYva0JPLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ5bUJqRSxZQUFZLEFBQUEsdUJBQXVCLEVnR3J5QlEsbUJBQW1CLENoR3F5QjlELFlBQVksQUFBQSx1QkFBdUIsRTJHN3ZCTSxpQkFBaUIsQzNHNnZCMUQsWUFBWSxBQUFBLHVCQUF1QixDQUFDO0lBQUUsS0FBSyxFRGwyQnhCLHdCQUFJLENDazJCc0QsVUFBVSxHQUFJO0U4SXYwQm5ELEE5SXcwQnhDLFM4SXgwQmlELEM5SXcwQmpELFlBQVksQUFBQSxhQUFhLEVvRmxzQmtCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGa3NCckYsWUFBWSxBQUFBLGFBQWEsRW9GcnJCb0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZrc0JyRixZQUFZLEFBQUEsYUFBYSxFc0ZwckJlLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGa3NCckYsWUFBWSxBQUFBLGFBQWEsRXNGdnFCaUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGa3NCckYsWUFBWSxBQUFBLGFBQWEsRXVGM21CZSxnQkFBZ0IsQUFBQSxhQUFhLEN2RjJtQnJFLFlBQVksQUFBQSxhQUFhLEV1RjFtQmUsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMG1CakUsWUFBWSxBQUFBLGFBQWEsRXVGamxCaUIsa0JBQWtCLEFBQUEsYUFBYSxDdkZpbEJ6RSxZQUFZLEFBQUEsYUFBYSxFdUZobEJpQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMG1CakUsWUFBWSxBQUFBLGFBQWEsRWdHdHlCa0IsbUJBQW1CLENoR3N5QjlELFlBQVksQUFBQSxhQUFhLEUyRzl2QmdCLGlCQUFpQixDM0c4dkIxRCxZQUFZLEFBQUEsYUFBYSxDQUFDO0lBQUUsS0FBSyxFRG4yQmQsd0JBQUksR0NtMkIrQztFOEl4MEI5QixBOUk4MEJ4QyxTOEk5MEJpRCxDOUk4MEJqRCxVQUFVLEFBQUEsSUFBSyxFaUZsbkJKLEFBQUEsUUFBQyxBQUFBLEVqRmtuQmMsSUFBSyxFaUZsbkJKLEFBQUEsSUFBQyxBQUFBLElHdEZlLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGd3NCckYsVUFBVSxBQUFBLElBQUssRWlGbG5CSixBQUFBLFFBQUMsQUFBQSxFakZrbkJjLElBQUssRWlGbG5CSixBQUFBLElBQUMsQUFBQSxJR3pFaUIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZ3c0JyRixVQUFVLEFBQUEsSUFBSyxFaUZsbkJKLEFBQUEsUUFBQyxBQUFBLEVqRmtuQmMsSUFBSyxFaUZsbkJKLEFBQUEsSUFBQyxBQUFBLElLeEVZLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGd3NCckYsVUFBVSxBQUFBLElBQUssRWlGbG5CSixBQUFBLFFBQUMsQUFBQSxFakZrbkJjLElBQUssRWlGbG5CSixBQUFBLElBQUMsQUFBQSxJSzNEYyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ3c0JyRixVQUFVLEFBQUEsSUFBSyxFaUZsbkJKLEFBQUEsUUFBQyxBQUFBLEVqRmtuQmMsSUFBSyxFaUZsbkJKLEFBQUEsSUFBQyxBQUFBLElNQ1ksZ0JBQWdCLEFBQUEsYUFBYSxDdkZpbkJyRSxVQUFVLEFBQUEsSUFBSyxFaUZsbkJKLEFBQUEsUUFBQyxBQUFBLEVqRmtuQmMsSUFBSyxFaUZsbkJKLEFBQUEsSUFBQyxBQUFBLElNRVksZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGZ25CakUsVUFBVSxBQUFBLElBQUssRWlGbG5CSixBQUFBLFFBQUMsQUFBQSxFakZrbkJjLElBQUssRWlGbG5CSixBQUFBLElBQUMsQUFBQSxJTTJCYyxrQkFBa0IsQUFBQSxhQUFhLEN2RnVsQnpFLFVBQVUsQUFBQSxJQUFLLEVpRmxuQkosQUFBQSxRQUFDLEFBQUEsRWpGa25CYyxJQUFLLEVpRmxuQkosQUFBQSxJQUFDLEFBQUEsSU00QmMsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RmduQmpFLFVBQVUsQUFBQSxJQUFLLEVpRmxuQkosQUFBQSxRQUFDLEFBQUEsRWpGa25CYyxJQUFLLEVpRmxuQkosQUFBQSxJQUFDLEFBQUEsSWUxTGUsbUJBQW1CLENoRzR5QjlELFVBQVUsQUFBQSxJQUFLLEVpRmxuQkosQUFBQSxRQUFDLEFBQUEsRWpGa25CYyxJQUFLLEVpRmxuQkosQUFBQSxJQUFDLEFBQUEsSTBCbEphLGlCQUFpQixDM0dvd0IxRCxVQUFVLEFBQUEsSUFBSyxFaUZsbkJKLEFBQUEsUUFBQyxBQUFBLEVqRmtuQmMsSUFBSyxFaUZsbkJKLEFBQUEsSUFBQyxBQUFBLEdqRmtuQlc7SXVFcjFCdkMsZ0JBQWdCLEVBQUUsd2FBQXdCLEd2RXExQjBGO0U4STkwQjVGLEE5SW8xQnhDLFM4SXAxQmlELEM5SW8xQmpELFNBQVMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDQUFLLE1BQU0sRW9GOXNCc0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY4c0JyRixTQUFTLENBQUEsQUFBQSxJQUFDLEFBQUEsQ0FBSyxNQUFNLEVvRmpzQndCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGOHNCckYsU0FBUyxDQUFBLEFBQUEsSUFBQyxBQUFBLENBQUssTUFBTSxFc0Zoc0JtQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjhzQnJGLFNBQVMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDQUFLLE1BQU0sRXNGbnJCcUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGOHNCckYsU0FBUyxDQUFBLEFBQUEsSUFBQyxBQUFBLENBQUssTUFBTSxFdUZ2bkJtQixnQkFBZ0IsQUFBQSxhQUFhLEN2RnVuQnJFLFNBQVMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDQUFLLE1BQU0sRXVGdG5CbUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGc25CakUsU0FBUyxDQUFBLEFBQUEsSUFBQyxBQUFBLENBQUssTUFBTSxFdUY3bEJxQixrQkFBa0IsQUFBQSxhQUFhLEN2RjZsQnpFLFNBQVMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDQUFLLE1BQU0sRXVGNWxCcUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnNuQmpFLFNBQVMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDQUFLLE1BQU0sRWdHbHpCc0IsbUJBQW1CLENoR2t6QjlELFNBQVMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDQUFLLE1BQU0sRTJHMXdCb0IsaUJBQWlCLEMzRzB3QjFELFNBQVMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDQUFLLE1BQU07RThJcDFCbUIsU0FBUyxDOUlxMUJqRCxTQUFTLENBQUEsQUFBQSxJQUFDLEFBQUEsQ0FBSyxNQUFNO0VvRi9zQnNCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGK3NCckYsU0FBUyxDQUFBLEFBQUEsSUFBQyxBQUFBLENBQUssTUFBTTtFb0Zsc0J3QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRitzQnJGLFNBQVMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDQUFLLE1BQU07RXNGanNCbUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEYrc0JyRixTQUFTLENBQUEsQUFBQSxJQUFDLEFBQUEsQ0FBSyxNQUFNO0VzRnByQnFCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRitzQnJGLFNBQVMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDQUFLLE1BQU07RXVGeG5CbUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZ3bkJyRSxTQUFTLENBQUEsQUFBQSxJQUFDLEFBQUEsQ0FBSyxNQUFNO0V1RnZuQm1CLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnVuQmpFLFNBQVMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDQUFLLE1BQU07RXVGOWxCcUIsa0JBQWtCLEFBQUEsYUFBYSxDdkY4bEJ6RSxTQUFTLENBQUEsQUFBQSxJQUFDLEFBQUEsQ0FBSyxNQUFNO0V1RjdsQnFCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ1bkJqRSxTQUFTLENBQUEsQUFBQSxJQUFDLEFBQUEsQ0FBSyxNQUFNO0VnR256QnNCLG1CQUFtQixDaEdtekI5RCxTQUFTLENBQUEsQUFBQSxJQUFDLEFBQUEsQ0FBSyxNQUFNO0UyRzN3Qm9CLGlCQUFpQixDM0cyd0IxRCxTQUFTLENBQUEsQUFBQSxJQUFDLEFBQUEsQ0FBSyxNQUFNLENBQUM7SXVFNTFCdEIsZ0JBQWdCLEVBQUUscVRBQXdCLEd2RTQxQjZFO0U4SXIxQi9FLEE5STIxQnhDLFM4STMxQmlELEM5STIxQmpELFNBQVMsRW9GcnRCa0MsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZxdEJyRixTQUFTLEVvRnhzQm9DLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGcXRCckYsU0FBUyxFc0Z2c0IrQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnF0QnJGLFNBQVMsRXNGMXJCaUMsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGcXRCckYsU0FBUyxFdUY5bkIrQixnQkFBZ0IsQUFBQSxhQUFhLEN2RjhuQnJFLFNBQVMsRXVGN25CK0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGNm5CakUsU0FBUyxFdUZwbUJpQyxrQkFBa0IsQUFBQSxhQUFhLEN2Rm9tQnpFLFNBQVMsRXVGbm1CaUMsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjZuQmpFLFNBQVMsRWdHenpCa0MsbUJBQW1CLENoR3l6QjlELFNBQVMsRTJHanhCZ0MsaUJBQWlCLEMzR2l4QjFELFNBQVM7RThJMzFCK0IsU0FBUyxDOUk0MUJqRCxZQUFZO0VvRnR0QitCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGc3RCckYsWUFBWTtFb0Z6c0JpQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnN0QnJGLFlBQVk7RXNGeHNCNEIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZzdEJyRixZQUFZO0VzRjNyQjhCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnN0QnJGLFlBQVk7RXVGL25CNEIsZ0JBQWdCLEFBQUEsYUFBYSxDdkYrbkJyRSxZQUFZO0V1RjluQjRCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjhuQmpFLFlBQVk7RXVGcm1COEIsa0JBQWtCLEFBQUEsYUFBYSxDdkZxbUJ6RSxZQUFZO0V1RnBtQjhCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY4bkJqRSxZQUFZO0VnRzF6QitCLG1CQUFtQixDaEcwekI5RCxZQUFZO0UyR2x4QjZCLGlCQUFpQixDM0dreEIxRCxZQUFZLENBQUM7SUFDVCxnQkFBZ0IsRUR4Y1Esd0JBQTRDO0lDcVoxQyxZQUFZLEVEcjBCdkIsd0JBQUksR0MwM0J0QjtFOEkvMUJ1QyxBOUlrMkJ4QyxTOElsMkJpRCxDOUlrMkJqRCxTQUFTLEFBQUEsTUFBTSxFb0Y1dEI0QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjR0QnJGLFNBQVMsQUFBQSxNQUFNLEVvRi9zQjhCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNHRCckYsU0FBUyxBQUFBLE1BQU0sRXNGOXNCeUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY0dEJyRixTQUFTLEFBQUEsTUFBTSxFc0Zqc0IyQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY0dEJyRixTQUFTLEFBQUEsTUFBTSxFdUZyb0J5QixnQkFBZ0IsQUFBQSxhQUFhLEN2RnFvQnJFLFNBQVMsQUFBQSxNQUFNLEV1RnBvQnlCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm9vQmpFLFNBQVMsQUFBQSxNQUFNLEV1RjNtQjJCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMm1CekUsU0FBUyxBQUFBLE1BQU0sRXVGMW1CMkIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm9vQmpFLFNBQVMsQUFBQSxNQUFNLEVnR2gwQjRCLG1CQUFtQixDaEdnMEI5RCxTQUFTLEFBQUEsTUFBTSxFMkd4eEIwQixpQkFBaUIsQzNHd3hCMUQsU0FBUyxBQUFBLE1BQU07RThJbDJCeUIsU0FBUyxDOUltMkJqRCxZQUFZLEFBQUEsTUFBTTtFb0Y3dEJ5QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjZ0QnJGLFlBQVksQUFBQSxNQUFNO0VvRmh0QjJCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNnRCckYsWUFBWSxBQUFBLE1BQU07RXNGL3NCc0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY2dEJyRixZQUFZLEFBQUEsTUFBTTtFc0Zsc0J3QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY2dEJyRixZQUFZLEFBQUEsTUFBTTtFdUZ0b0JzQixnQkFBZ0IsQUFBQSxhQUFhLEN2RnNvQnJFLFlBQVksQUFBQSxNQUFNO0V1RnJvQnNCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnFvQmpFLFlBQVksQUFBQSxNQUFNO0V1RjVtQndCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGNG1CekUsWUFBWSxBQUFBLE1BQU07RXVGM21Cd0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnFvQmpFLFlBQVksQUFBQSxNQUFNO0VnR2owQnlCLG1CQUFtQixDaEdpMEI5RCxZQUFZLEFBQUEsTUFBTTtFMkd6eEJ1QixpQkFBaUIsQzNHeXhCMUQsWUFBWSxBQUFBLE1BQU0sQ0FBQztJQXhEaUIsWUFBWSxFRHQwQjdCLHdCQUFJLEdDZzRCdEI7RThJcjJCdUMsQTlJdzJCeEMsUzhJeDJCaUQsQzlJdzJCakQsU0FBUyxBQUFBLFFBQVEsRW9GbHVCMEIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZrdUJyRixTQUFTLEFBQUEsUUFBUSxFb0ZydEI0QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmt1QnJGLFNBQVMsQUFBQSxRQUFRLEVzRnB0QnVCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGa3VCckYsU0FBUyxBQUFBLFFBQVEsRXNGdnNCeUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGa3VCckYsU0FBUyxBQUFBLFFBQVEsRXVGM29CdUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkYyb0JyRSxTQUFTLEFBQUEsUUFBUSxFdUYxb0J1QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYwb0JqRSxTQUFTLEFBQUEsUUFBUSxFdUZqbkJ5QixrQkFBa0IsQUFBQSxhQUFhLEN2RmluQnpFLFNBQVMsQUFBQSxRQUFRLEV1RmhuQnlCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYwb0JqRSxTQUFTLEFBQUEsUUFBUSxFZ0d0MEIwQixtQkFBbUIsQ2hHczBCOUQsU0FBUyxBQUFBLFFBQVEsRTJHOXhCd0IsaUJBQWlCLEMzRzh4QjFELFNBQVMsQUFBQSxRQUFRO0U4SXgyQnVCLFNBQVMsQzlJeTJCakQsWUFBWSxBQUFBLFFBQVE7RW9GbnVCdUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZtdUJyRixZQUFZLEFBQUEsUUFBUTtFb0Z0dEJ5QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm11QnJGLFlBQVksQUFBQSxRQUFRO0VzRnJ0Qm9CLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGbXVCckYsWUFBWSxBQUFBLFFBQVE7RXNGeHNCc0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGbXVCckYsWUFBWSxBQUFBLFFBQVE7RXVGNW9Cb0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkY0b0JyRSxZQUFZLEFBQUEsUUFBUTtFdUYzb0JvQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYyb0JqRSxZQUFZLEFBQUEsUUFBUTtFdUZsbkJzQixrQkFBa0IsQUFBQSxhQUFhLEN2RmtuQnpFLFlBQVksQUFBQSxRQUFRO0V1RmpuQnNCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYyb0JqRSxZQUFZLEFBQUEsUUFBUTtFZ0d2MEJ1QixtQkFBbUIsQ2hHdTBCOUQsWUFBWSxBQUFBLFFBQVE7RTJHL3hCcUIsaUJBQWlCLEMzRyt4QjFELFlBQVksQUFBQSxRQUFRO0U4SXoyQm9CLFNBQVMsQzlJMDJCakQsWUFBWSxBQUFBLGNBQWM7RW9GcHVCaUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZvdUJyRixZQUFZLEFBQUEsY0FBYztFb0Z2dEJtQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm91QnJGLFlBQVksQUFBQSxjQUFjO0VzRnR0QmMsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZvdUJyRixZQUFZLEFBQUEsY0FBYztFc0Z6c0JnQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZvdUJyRixZQUFZLEFBQUEsY0FBYztFdUY3b0JjLGdCQUFnQixBQUFBLGFBQWEsQ3ZGNm9CckUsWUFBWSxBQUFBLGNBQWM7RXVGNW9CYyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY0b0JqRSxZQUFZLEFBQUEsY0FBYztFdUZubkJnQixrQkFBa0IsQUFBQSxhQUFhLEN2Rm1uQnpFLFlBQVksQUFBQSxjQUFjO0V1RmxuQmdCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY0b0JqRSxZQUFZLEFBQUEsY0FBYztFZ0d4MEJpQixtQkFBbUIsQ2hHdzBCOUQsWUFBWSxBQUFBLGNBQWM7RTJHaHlCZSxpQkFBaUIsQzNHZ3lCMUQsWUFBWSxBQUFBLGNBQWMsQ0FBQztJQUN2QixnQkFBZ0IsRUR0NEJELElBQUk7SUN1MEJlLFlBQVksRUR2MEIvQix3QkFBSSxHQ3c0QnRCO0U4STcyQnVDLEE5SWczQnhDLFM4SWgzQmlELEM5SWczQmpELFNBQVMsQUFBQSxRQUFRLEFBQUEsTUFBTSxFb0YxdUJvQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjB1QnJGLFNBQVMsQUFBQSxRQUFRLEFBQUEsTUFBTSxFb0Y3dEJzQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjB1QnJGLFNBQVMsQUFBQSxRQUFRLEFBQUEsTUFBTSxFc0Y1dEJpQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjB1QnJGLFNBQVMsQUFBQSxRQUFRLEFBQUEsTUFBTSxFc0Yvc0JtQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYwdUJyRixTQUFTLEFBQUEsUUFBUSxBQUFBLE1BQU0sRXVGbnBCaUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZtcEJyRSxTQUFTLEFBQUEsUUFBUSxBQUFBLE1BQU0sRXVGbHBCaUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGa3BCakUsU0FBUyxBQUFBLFFBQVEsQUFBQSxNQUFNLEV1RnpuQm1CLGtCQUFrQixBQUFBLGFBQWEsQ3ZGeW5CekUsU0FBUyxBQUFBLFFBQVEsQUFBQSxNQUFNLEV1RnhuQm1CLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZrcEJqRSxTQUFTLEFBQUEsUUFBUSxBQUFBLE1BQU0sRWdHOTBCb0IsbUJBQW1CLENoRzgwQjlELFNBQVMsQUFBQSxRQUFRLEFBQUEsTUFBTSxFMkd0eUJrQixpQkFBaUIsQzNHc3lCMUQsU0FBUyxBQUFBLFFBQVEsQUFBQSxNQUFNO0U4SWgzQmlCLFNBQVMsQzlJaTNCakQsWUFBWSxBQUFBLFFBQVEsQUFBQSxNQUFNO0VvRjN1QmlCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGMnVCckYsWUFBWSxBQUFBLFFBQVEsQUFBQSxNQUFNO0VvRjl0Qm1CLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGMnVCckYsWUFBWSxBQUFBLFFBQVEsQUFBQSxNQUFNO0VzRjd0QmMsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEYydUJyRixZQUFZLEFBQUEsUUFBUSxBQUFBLE1BQU07RXNGaHRCZ0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGMnVCckYsWUFBWSxBQUFBLFFBQVEsQUFBQSxNQUFNO0V1RnBwQmMsZ0JBQWdCLEFBQUEsYUFBYSxDdkZvcEJyRSxZQUFZLEFBQUEsUUFBUSxBQUFBLE1BQU07RXVGbnBCYyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtcEJqRSxZQUFZLEFBQUEsUUFBUSxBQUFBLE1BQU07RXVGMW5CZ0Isa0JBQWtCLEFBQUEsYUFBYSxDdkYwbkJ6RSxZQUFZLEFBQUEsUUFBUSxBQUFBLE1BQU07RXVGem5CZ0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm1wQmpFLFlBQVksQUFBQSxRQUFRLEFBQUEsTUFBTTtFZ0cvMEJpQixtQkFBbUIsQ2hHKzBCOUQsWUFBWSxBQUFBLFFBQVEsQUFBQSxNQUFNO0UyR3Z5QmUsaUJBQWlCLEMzR3V5QjFELFlBQVksQUFBQSxRQUFRLEFBQUEsTUFBTTtFOElqM0JjLFNBQVMsQzlJazNCakQsWUFBWSxBQUFBLGNBQWMsQUFBQSxNQUFNO0VvRjV1QlcsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY0dUJyRixZQUFZLEFBQUEsY0FBYyxBQUFBLE1BQU07RW9GL3RCYSxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjR1QnJGLFlBQVksQUFBQSxjQUFjLEFBQUEsTUFBTTtFc0Y5dEJRLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNHVCckYsWUFBWSxBQUFBLGNBQWMsQUFBQSxNQUFNO0VzRmp0QlUsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNHVCckYsWUFBWSxBQUFBLGNBQWMsQUFBQSxNQUFNO0V1RnJwQlEsZ0JBQWdCLEFBQUEsYUFBYSxDdkZxcEJyRSxZQUFZLEFBQUEsY0FBYyxBQUFBLE1BQU07RXVGcHBCUSxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvcEJqRSxZQUFZLEFBQUEsY0FBYyxBQUFBLE1BQU07RXVGM25CVSxrQkFBa0IsQUFBQSxhQUFhLEN2RjJuQnpFLFlBQVksQUFBQSxjQUFjLEFBQUEsTUFBTTtFdUYxbkJVLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvcEJqRSxZQUFZLEFBQUEsY0FBYyxBQUFBLE1BQU07RWdHaDFCVyxtQkFBbUIsQ2hHZzFCOUQsWUFBWSxBQUFBLGNBQWMsQUFBQSxNQUFNO0UyR3h5QlMsaUJBQWlCLEMzR3d5QjFELFlBQVksQUFBQSxjQUFjLEFBQUEsTUFBTSxDQUFDO0lBQzdCLGdCQUFnQixFRDNkc0IsT0FBK0MsR0M2ZHhGO0U4SXIzQnVDLEE5SXczQnhDLFM4SXgzQmlELEM5SXcyQmpELFNBQVMsQUFBQSxRQUFRLEVvRmx1QjBCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGa3VCckYsU0FBUyxBQUFBLFFBQVEsRW9GcnRCNEIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZrdUJyRixTQUFTLEFBQUEsUUFBUSxFc0ZwdEJ1QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmt1QnJGLFNBQVMsQUFBQSxRQUFRLEVzRnZzQnlCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRmt1QnJGLFNBQVMsQUFBQSxRQUFRLEV1RjNvQnVCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGMm9CckUsU0FBUyxBQUFBLFFBQVEsRXVGMW9CdUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMG9CakUsU0FBUyxBQUFBLFFBQVEsRXVGam5CeUIsa0JBQWtCLEFBQUEsYUFBYSxDdkZpbkJ6RSxTQUFTLEFBQUEsUUFBUSxFdUZobkJ5QixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMG9CakUsU0FBUyxBQUFBLFFBQVEsRWdHdDBCMEIsbUJBQW1CLENoR3MwQjlELFNBQVMsQUFBQSxRQUFRLEUyRzl4QndCLGlCQUFpQixDM0c4eEIxRCxTQUFTLEFBQUEsUUFBUSxDQWdCQztJdUUvM0JsQixnQkFBZ0IsRUFBRSxpU0FBd0IsR3ZFKzNCMkU7O0U4SXgzQjdFLEE5SXkzQnhDLFM4SXozQmlELEM5SXkyQmpELFlBQVksQUFBQSxRQUFRO0VvRm51QnVCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGbXVCckYsWUFBWSxBQUFBLFFBQVE7RW9GdHRCeUIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZtdUJyRixZQUFZLEFBQUEsUUFBUTtFc0ZydEJvQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRm11QnJGLFlBQVksQUFBQSxRQUFRO0VzRnhzQnNCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRm11QnJGLFlBQVksQUFBQSxRQUFRO0V1RjVvQm9CLGdCQUFnQixBQUFBLGFBQWEsQ3ZGNG9CckUsWUFBWSxBQUFBLFFBQVE7RXVGM29Cb0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMm9CakUsWUFBWSxBQUFBLFFBQVE7RXVGbG5Cc0Isa0JBQWtCLEFBQUEsYUFBYSxDdkZrbkJ6RSxZQUFZLEFBQUEsUUFBUTtFdUZqbkJzQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMm9CakUsWUFBWSxBQUFBLFFBQVE7RWdHdjBCdUIsbUJBQW1CLENoR3UwQjlELFlBQVksQUFBQSxRQUFRO0UyRy94QnFCLGlCQUFpQixDM0creEIxRCxZQUFZLEFBQUEsUUFBUSxDQWdCQztJdUVoNEJyQixnQkFBZ0IsRUFBRSxpVUFBd0IsR3ZFZzRCaUY7O0U4SXozQm5GLEE5STAzQnhDLFM4STEzQmlELEM5STAyQmpELFlBQVksQUFBQSxjQUFjO0VvRnB1QmlCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGb3VCckYsWUFBWSxBQUFBLGNBQWM7RW9GdnRCbUIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZvdUJyRixZQUFZLEFBQUEsY0FBYztFc0Z0dEJjLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGb3VCckYsWUFBWSxBQUFBLGNBQWM7RXNGenNCZ0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGb3VCckYsWUFBWSxBQUFBLGNBQWM7RXVGN29CYyxnQkFBZ0IsQUFBQSxhQUFhLEN2RjZvQnJFLFlBQVksQUFBQSxjQUFjO0V1RjVvQmMsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGNG9CakUsWUFBWSxBQUFBLGNBQWM7RXVGbm5CZ0Isa0JBQWtCLEFBQUEsYUFBYSxDdkZtbkJ6RSxZQUFZLEFBQUEsY0FBYztFdUZsbkJnQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGNG9CakUsWUFBWSxBQUFBLGNBQWM7RWdHeDBCaUIsbUJBQW1CLENoR3cwQjlELFlBQVksQUFBQSxjQUFjO0UyR2h5QmUsaUJBQWlCLEMzR2d5QjFELFlBQVksQUFBQSxjQUFjLENBZ0JDO0l1RWo0QjNCLGdCQUFnQixFQUFFLHFUQUF3QixHdkVpNEJxRztFOEkxM0J2RyxBOUk2M0J4QyxTOEk3M0JpRCxDOUk2M0JqRCxjQUFjLEVvRnZ2QjZCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGdXZCckYsY0FBYyxFb0YxdUIrQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnV2QnJGLGNBQWMsRXNGenVCMEIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ1dkJyRixjQUFjLEVzRjV0QjRCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnV2QnJGLGNBQWMsRXVGaHFCMEIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZncUJyRSxjQUFjLEV1Ri9wQjBCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RitwQmpFLGNBQWMsRXVGdG9CNEIsa0JBQWtCLEFBQUEsYUFBYSxDdkZzb0J6RSxjQUFjLEV1RnJvQjRCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYrcEJqRSxjQUFjLEVnRzMxQjZCLG1CQUFtQixDaEcyMUI5RCxjQUFjLEUyR256QjJCLGlCQUFpQixDM0dtekIxRCxjQUFjLENBQUM7SUEvRWUsS0FBSyxFRHowQmhCLElBQUksR0MwNUJ0QjtFOEkvM0J1QyxBOUlrNEJ4QyxTOElsNEJpRCxDOUlrNEJqRCxhQUFhLEVvRjV2QjhCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGNHZCckYsYUFBYSxFb0YvdUJnQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjR2QnJGLGFBQWEsRXNGOXVCMkIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY0dkJyRixhQUFhLEVzRmp1QjZCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjR2QnJGLGFBQWEsRXVGcnFCMkIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZxcUJyRSxhQUFhLEV1RnBxQjJCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm9xQmpFLGFBQWEsRXVGM29CNkIsa0JBQWtCLEFBQUEsYUFBYSxDdkYyb0J6RSxhQUFhLEV1RjFvQjZCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvcUJqRSxhQUFhLEVnR2gyQjhCLG1CQUFtQixDaEdnMkI5RCxhQUFhLEUyR3h6QjRCLGlCQUFpQixDM0d3ekIxRCxhQUFhLENBQUM7SUFBRSxLQUFLLEVENzVCRix3QkFBSSxHQzY1QjRCO0U4SWw0QlgsQTlJbTRCeEMsUzhJbjRCaUQsQzlJbTRCakQsYUFBYSxBQUFBLE1BQU0sRW9GN3ZCd0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY2dkJyRixhQUFhLEFBQUEsTUFBTSxFb0ZodkIwQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjZ2QnJGLGFBQWEsQUFBQSxNQUFNLEVzRi91QnFCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNnZCckYsYUFBYSxBQUFBLE1BQU0sRXNGbHVCdUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNnZCckYsYUFBYSxBQUFBLE1BQU0sRXVGdHFCcUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZzcUJyRSxhQUFhLEFBQUEsTUFBTSxFdUZycUJxQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZxcUJqRSxhQUFhLEFBQUEsTUFBTSxFdUY1b0J1QixrQkFBa0IsQUFBQSxhQUFhLEN2RjRvQnpFLGFBQWEsQUFBQSxNQUFNLEV1RjNvQnVCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZxcUJqRSxhQUFhLEFBQUEsTUFBTSxFZ0dqMkJ3QixtQkFBbUIsQ2hHaTJCOUQsYUFBYSxBQUFBLE1BQU0sRTJHenpCc0IsaUJBQWlCLEMzR3l6QjFELGFBQWEsQUFBQSxNQUFNLENBQUM7SUFBRSxLQUFLLEVEOTVCUix3QkFBSSxHQzg1QndDO0U4SW40QnZCLEE5STJYeEMsUzhJM1hpRCxDOUkyWGpELGtCQUFrQixFb0ZyUHlCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGcVByRixrQkFBa0IsRW9GeE8yQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnFQckYsa0JBQWtCLEVzRnZPc0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZxUHJGLGtCQUFrQixFc0YxTndCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnFQckYsa0JBQWtCLEV1RjlKc0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkY4SnJFLGtCQUFrQixFdUY3SnNCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjZKakUsa0JBQWtCLEV1RnBJd0Isa0JBQWtCLEFBQUEsYUFBYSxDdkZvSXpFLGtCQUFrQixFdUZuSXdCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY2SmpFLGtCQUFrQixFZ0d6VnlCLG1CQUFtQixDaEd5VjlELGtCQUFrQixFMkdqVHVCLGlCQUFpQixDM0dpVDFELGtCQUFrQixDQUFDO0lBQ2YsZ0JBQWdCLEVEdk1ZLFdBQVc7SUN3TXZDLEtBQUssRUR4WlUsSUFBSTtJQ2lZVyxZQUFZLEVEalkzQix3QkFBSSxHQzBadEI7RThJL1h1QyxBOUlpWXhDLFM4SWpZaUQsQzlJaVlqRCxrQkFBa0IsQUFBQSxNQUFNLEVvRjNQbUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYyUHJGLGtCQUFrQixBQUFBLE1BQU0sRW9GOU9xQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjJQckYsa0JBQWtCLEFBQUEsTUFBTSxFc0Y3T2dCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMlByRixrQkFBa0IsQUFBQSxNQUFNLEVzRmhPa0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGMlByRixrQkFBa0IsQUFBQSxNQUFNLEV1RnBLZ0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZvS3JFLGtCQUFrQixBQUFBLE1BQU0sRXVGbktnQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtS2pFLGtCQUFrQixBQUFBLE1BQU0sRXVGMUlrQixrQkFBa0IsQUFBQSxhQUFhLEN2RjBJekUsa0JBQWtCLEFBQUEsTUFBTSxFdUZ6SWtCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtS2pFLGtCQUFrQixBQUFBLE1BQU0sRWdHL1ZtQixtQkFBbUIsQ2hHK1Y5RCxrQkFBa0IsQUFBQSxNQUFNLEUyR3ZUaUIsaUJBQWlCLEMzR3VUMUQsa0JBQWtCLEFBQUEsTUFBTTtFOElqWWdCLFNBQVMsQzlJa1lqRCxrQkFBa0IsQUFBQSxNQUFNO0VvRjVQbUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY0UHJGLGtCQUFrQixBQUFBLE1BQU07RW9GL09xQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjRQckYsa0JBQWtCLEFBQUEsTUFBTTtFc0Y5T2dCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNFByRixrQkFBa0IsQUFBQSxNQUFNO0VzRmpPa0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNFByRixrQkFBa0IsQUFBQSxNQUFNO0V1RnJLZ0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZxS3JFLGtCQUFrQixBQUFBLE1BQU07RXVGcEtnQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvS2pFLGtCQUFrQixBQUFBLE1BQU07RXVGM0lrQixrQkFBa0IsQUFBQSxhQUFhLEN2RjJJekUsa0JBQWtCLEFBQUEsTUFBTTtFdUYxSWtCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvS2pFLGtCQUFrQixBQUFBLE1BQU07RWdHaFdtQixtQkFBbUIsQ2hHZ1c5RCxrQkFBa0IsQUFBQSxNQUFNO0UyR3hUaUIsaUJBQWlCLEMzR3dUMUQsa0JBQWtCLEFBQUEsTUFBTSxDQUFDO0lBQ3JCLGdCQUFnQixFRDVNa0IsV0FBVztJQzZNN0MsS0FBSyxFRC9aVSxJQUFJO0lDa1lpQixZQUFZLEVEbFlqQyxJQUFJLEdDaWF0QjtFOEl0WXVDLEE5SXdZeEMsUzhJeFlpRCxDOUl3WWpELGtCQUFrQixBQUFBLE9BQU8sRW9GbFFrQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRmtRckYsa0JBQWtCLEFBQUEsT0FBTyxFb0ZyUG9CLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGa1FyRixrQkFBa0IsQUFBQSxPQUFPLEVzRnBQZSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmtRckYsa0JBQWtCLEFBQUEsT0FBTyxFc0Z2T2lCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRmtRckYsa0JBQWtCLEFBQUEsT0FBTyxFdUYzS2UsZ0JBQWdCLEFBQUEsYUFBYSxDdkYyS3JFLGtCQUFrQixBQUFBLE9BQU8sRXVGMUtlLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjBLakUsa0JBQWtCLEFBQUEsT0FBTyxFdUZqSmlCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGaUp6RSxrQkFBa0IsQUFBQSxPQUFPLEV1RmhKaUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjBLakUsa0JBQWtCLEFBQUEsT0FBTyxFZ0d0V2tCLG1CQUFtQixDaEdzVzlELGtCQUFrQixBQUFBLE9BQU8sRTJHOVRnQixpQkFBaUIsQzNHOFQxRCxrQkFBa0IsQUFBQSxPQUFPO0U4SXhZZSxTQUFTLEM5SXlZakQsa0JBQWtCLEFBQUEsVUFBVTtFb0ZuUWUsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZtUXJGLGtCQUFrQixBQUFBLFVBQVU7RW9GdFBpQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm1RckYsa0JBQWtCLEFBQUEsVUFBVTtFc0ZyUFksZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZtUXJGLGtCQUFrQixBQUFBLFVBQVU7RXNGeE9jLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRm1RckYsa0JBQWtCLEFBQUEsVUFBVTtFdUY1S1ksZ0JBQWdCLEFBQUEsYUFBYSxDdkY0S3JFLGtCQUFrQixBQUFBLFVBQVU7RXVGM0tZLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjJLakUsa0JBQWtCLEFBQUEsVUFBVTtFdUZsSmMsa0JBQWtCLEFBQUEsYUFBYSxDdkZrSnpFLGtCQUFrQixBQUFBLFVBQVU7RXVGakpjLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYyS2pFLGtCQUFrQixBQUFBLFVBQVU7RWdHdldlLG1CQUFtQixDaEd1VzlELGtCQUFrQixBQUFBLFVBQVU7RTJHL1RhLGlCQUFpQixDM0crVDFELGtCQUFrQixBQUFBLFVBQVUsQ0FBQztJQUN6QixnQkFBZ0IsRURqTm1CLFdBQVc7SUNrTjlDLEtBQUssRUR0YVUsSUFBSTtJQ21Za0IsWUFBWSxFRG5ZbEMsSUFBSSxHQ3dhdEI7RThJN1l1QyxBOUltWnhDLFM4SW5aaUQsQzlJbVpqRCxrQkFBa0IsRW9GN1F5QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjZRckYsa0JBQWtCLEVvRmhRMkIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY2UXJGLGtCQUFrQixFc0YvUHNCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNlFyRixrQkFBa0IsRXNGbFB3QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY2UXJGLGtCQUFrQixFdUZ0THNCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGc0xyRSxrQkFBa0IsRXVGckxzQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZxTGpFLGtCQUFrQixFdUY1SndCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGNEp6RSxrQkFBa0IsRXVGM0p3QixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGcUxqRSxrQkFBa0IsRWdHalh5QixtQkFBbUIsQ2hHaVg5RCxrQkFBa0IsRTJHelV1QixpQkFBaUIsQzNHeVUxRCxrQkFBa0IsQ0FBQztJQUNmLGdCQUFnQixFRC9hRCxJQUFJO0lDZ2JuQixLQUFLLEVEbmJFLElBQUksR0NxYmQ7RThJdlp1QyxBOUl5WnhDLFM4SXpaaUQsQzlJeVpqRCxrQkFBa0IsQUFBQSxNQUFNLEVvRm5SbUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZtUnJGLGtCQUFrQixBQUFBLE1BQU0sRW9GdFFxQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm1SckYsa0JBQWtCLEFBQUEsTUFBTSxFc0ZyUWdCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGbVJyRixrQkFBa0IsQUFBQSxNQUFNLEVzRnhQa0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGbVJyRixrQkFBa0IsQUFBQSxNQUFNLEV1RjVMZ0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkY0THJFLGtCQUFrQixBQUFBLE1BQU0sRXVGM0xnQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYyTGpFLGtCQUFrQixBQUFBLE1BQU0sRXVGbEtrQixrQkFBa0IsQUFBQSxhQUFhLEN2RmtLekUsa0JBQWtCLEFBQUEsTUFBTSxFdUZqS2tCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYyTGpFLGtCQUFrQixBQUFBLE1BQU0sRWdHdlhtQixtQkFBbUIsQ2hHdVg5RCxrQkFBa0IsQUFBQSxNQUFNLEUyRy9VaUIsaUJBQWlCLEMzRytVMUQsa0JBQWtCLEFBQUEsTUFBTTtFOEl6WmdCLFNBQVMsQzlJMFpqRCxrQkFBa0IsQUFBQSxNQUFNO0VvRnBSbUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZvUnJGLGtCQUFrQixBQUFBLE1BQU07RW9GdlFxQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm9SckYsa0JBQWtCLEFBQUEsTUFBTTtFc0Z0UWdCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGb1JyRixrQkFBa0IsQUFBQSxNQUFNO0VzRnpQa0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGb1JyRixrQkFBa0IsQUFBQSxNQUFNO0V1RjdMZ0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkY2THJFLGtCQUFrQixBQUFBLE1BQU07RXVGNUxnQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY0TGpFLGtCQUFrQixBQUFBLE1BQU07RXVGbktrQixrQkFBa0IsQUFBQSxhQUFhLEN2Rm1LekUsa0JBQWtCLEFBQUEsTUFBTTtFdUZsS2tCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY0TGpFLGtCQUFrQixBQUFBLE1BQU07RWdHeFhtQixtQkFBbUIsQ2hHd1g5RCxrQkFBa0IsQUFBQSxNQUFNO0UyR2hWaUIsaUJBQWlCLEMzR2dWMUQsa0JBQWtCLEFBQUEsTUFBTSxDQUFDO0lBQ3JCLGdCQUFnQixFRDlOa0IsT0FBOEM7SUMrTmhGLEtBQUssRUQxYkUsSUFBSSxHQzRiZDtFOEk5WnVDLEE5SWdheEMsUzhJaGFpRCxDOUlnYWpELGtCQUFrQixBQUFBLE9BQU8sRW9GMVJrQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjBSckYsa0JBQWtCLEFBQUEsT0FBTyxFb0Y3UW9CLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGMFJyRixrQkFBa0IsQUFBQSxPQUFPLEVzRjVRZSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjBSckYsa0JBQWtCLEFBQUEsT0FBTyxFc0YvUGlCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjBSckYsa0JBQWtCLEFBQUEsT0FBTyxFdUZuTWUsZ0JBQWdCLEFBQUEsYUFBYSxDdkZtTXJFLGtCQUFrQixBQUFBLE9BQU8sRXVGbE1lLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RmtNakUsa0JBQWtCLEFBQUEsT0FBTyxFdUZ6S2lCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGeUt6RSxrQkFBa0IsQUFBQSxPQUFPLEV1RnhLaUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RmtNakUsa0JBQWtCLEFBQUEsT0FBTyxFZ0c5WGtCLG1CQUFtQixDaEc4WDlELGtCQUFrQixBQUFBLE9BQU8sRTJHdFZnQixpQkFBaUIsQzNHc1YxRCxrQkFBa0IsQUFBQSxPQUFPO0U4SWhhZSxTQUFTLEM5SWlhakQsa0JBQWtCLEFBQUEsVUFBVTtFb0YzUmUsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYyUnJGLGtCQUFrQixBQUFBLFVBQVU7RW9GOVFpQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjJSckYsa0JBQWtCLEFBQUEsVUFBVTtFc0Y3UVksZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEYyUnJGLGtCQUFrQixBQUFBLFVBQVU7RXNGaFFjLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjJSckYsa0JBQWtCLEFBQUEsVUFBVTtFdUZwTVksZ0JBQWdCLEFBQUEsYUFBYSxDdkZvTXJFLGtCQUFrQixBQUFBLFVBQVU7RXVGbk1ZLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm1NakUsa0JBQWtCLEFBQUEsVUFBVTtFdUYxS2Msa0JBQWtCLEFBQUEsYUFBYSxDdkYwS3pFLGtCQUFrQixBQUFBLFVBQVU7RXVGektjLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtTWpFLGtCQUFrQixBQUFBLFVBQVU7RWdHL1hlLG1CQUFtQixDaEcrWDlELGtCQUFrQixBQUFBLFVBQVU7RTJHdlZhLGlCQUFpQixDM0d1VjFELGtCQUFrQixBQUFBLFVBQVUsQ0FBQztJQUN6QixnQkFBZ0IsRURuT21CLE9BQStDO0lDb09sRixLQUFLLEVEamNFLElBQUksR0NtY2Q7RThJcmF1QyxBOUkyYXhDLFM4STNhaUQsQzlJMmFqRCxvQkFBb0IsRW9GclN1QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnFTckYsb0JBQW9CLEVvRnhSeUIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZxU3JGLG9CQUFvQixFc0Z2Um9CLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGcVNyRixvQkFBb0IsRXNGMVFzQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZxU3JGLG9CQUFvQixFdUY5TW9CLGdCQUFnQixBQUFBLGFBQWEsQ3ZGOE1yRSxvQkFBb0IsRXVGN01vQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY2TWpFLG9CQUFvQixFdUZwTHNCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGb0x6RSxvQkFBb0IsRXVGbkxzQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGNk1qRSxvQkFBb0IsRWdHell1QixtQkFBbUIsQ2hHeVk5RCxvQkFBb0IsRTJHaldxQixpQkFBaUIsQzNHaVcxRCxvQkFBb0IsQ0FBQztJQUNqQixnQkFBZ0IsRUR2Y0QsSUFBSTtJQ3djbkIsS0FBSyxFRDNjRSxJQUFJLEdDNmNkO0U4SS9hdUMsQTlJaWJ4QyxTOElqYmlELEM5SWliakQsb0JBQW9CLEFBQUEsTUFBTSxFb0YzU2lCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGMlNyRixvQkFBb0IsQUFBQSxNQUFNLEVvRjlSbUIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYyU3JGLG9CQUFvQixBQUFBLE1BQU0sRXNGN1JjLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMlNyRixvQkFBb0IsQUFBQSxNQUFNLEVzRmhSZ0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGMlNyRixvQkFBb0IsQUFBQSxNQUFNLEV1RnBOYyxnQkFBZ0IsQUFBQSxhQUFhLEN2Rm9OckUsb0JBQW9CLEFBQUEsTUFBTSxFdUZuTmMsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbU5qRSxvQkFBb0IsQUFBQSxNQUFNLEV1RjFMZ0Isa0JBQWtCLEFBQUEsYUFBYSxDdkYwTHpFLG9CQUFvQixBQUFBLE1BQU0sRXVGekxnQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbU5qRSxvQkFBb0IsQUFBQSxNQUFNLEVnRy9ZaUIsbUJBQW1CLENoRytZOUQsb0JBQW9CLEFBQUEsTUFBTSxFMkd2V2UsaUJBQWlCLEMzR3VXMUQsb0JBQW9CLEFBQUEsTUFBTTtFOElqYmMsU0FBUyxDOUlrYmpELG9CQUFvQixBQUFBLE1BQU07RW9GNVNpQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjRTckYsb0JBQW9CLEFBQUEsTUFBTTtFb0YvUm1CLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNFNyRixvQkFBb0IsQUFBQSxNQUFNO0VzRjlSYyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjRTckYsb0JBQW9CLEFBQUEsTUFBTTtFc0ZqUmdCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjRTckYsb0JBQW9CLEFBQUEsTUFBTTtFdUZyTmMsZ0JBQWdCLEFBQUEsYUFBYSxDdkZxTnJFLG9CQUFvQixBQUFBLE1BQU07RXVGcE5jLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm9OakUsb0JBQW9CLEFBQUEsTUFBTTtFdUYzTGdCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMkx6RSxvQkFBb0IsQUFBQSxNQUFNO0V1RjFMZ0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm9OakUsb0JBQW9CLEFBQUEsTUFBTTtFZ0doWmlCLG1CQUFtQixDaEdnWjlELG9CQUFvQixBQUFBLE1BQU07RTJHeFdlLGlCQUFpQixDM0d3VzFELG9CQUFvQixBQUFBLE1BQU0sQ0FBQztJQUN2QixnQkFBZ0IsRURoUG9CLE9BQWdEO0lDaVBwRixLQUFLLEVEbGRFLElBQUksR0NvZGQ7RThJdGJ1QyxBOUl3YnhDLFM4SXhiaUQsQzlJd2JqRCxvQkFBb0IsQUFBQSxPQUFPLEVvRmxUZ0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZrVHJGLG9CQUFvQixBQUFBLE9BQU8sRW9GclNrQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmtUckYsb0JBQW9CLEFBQUEsT0FBTyxFc0ZwU2EsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZrVHJGLG9CQUFvQixBQUFBLE9BQU8sRXNGdlJlLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRmtUckYsb0JBQW9CLEFBQUEsT0FBTyxFdUYzTmEsZ0JBQWdCLEFBQUEsYUFBYSxDdkYyTnJFLG9CQUFvQixBQUFBLE9BQU8sRXVGMU5hLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjBOakUsb0JBQW9CLEFBQUEsT0FBTyxFdUZqTWUsa0JBQWtCLEFBQUEsYUFBYSxDdkZpTXpFLG9CQUFvQixBQUFBLE9BQU8sRXVGaE1lLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYwTmpFLG9CQUFvQixBQUFBLE9BQU8sRWdHdFpnQixtQkFBbUIsQ2hHc1o5RCxvQkFBb0IsQUFBQSxPQUFPLEUyRzlXYyxpQkFBaUIsQzNHOFcxRCxvQkFBb0IsQUFBQSxPQUFPO0U4SXhiYSxTQUFTLEM5SXliakQsb0JBQW9CLEFBQUEsVUFBVTtFb0ZuVGEsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZtVHJGLG9CQUFvQixBQUFBLFVBQVU7RW9GdFNlLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGbVRyRixvQkFBb0IsQUFBQSxVQUFVO0VzRnJTVSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRm1UckYsb0JBQW9CLEFBQUEsVUFBVTtFc0Z4Ulksa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGbVRyRixvQkFBb0IsQUFBQSxVQUFVO0V1RjVOVSxnQkFBZ0IsQUFBQSxhQUFhLEN2RjROckUsb0JBQW9CLEFBQUEsVUFBVTtFdUYzTlUsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMk5qRSxvQkFBb0IsQUFBQSxVQUFVO0V1RmxNWSxrQkFBa0IsQUFBQSxhQUFhLEN2RmtNekUsb0JBQW9CLEFBQUEsVUFBVTtFdUZqTVksa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjJOakUsb0JBQW9CLEFBQUEsVUFBVTtFZ0d2WmEsbUJBQW1CLENoR3VaOUQsb0JBQW9CLEFBQUEsVUFBVTtFMkcvV1csaUJBQWlCLEMzRytXMUQsb0JBQW9CLEFBQUEsVUFBVSxDQUFDO0lBQzNCLGdCQUFnQixFRHJQcUIsT0FBaUQ7SUNzUHRGLEtBQUssRUR6ZEUsSUFBSSxHQzJkZDtFOEk3YnVDLEE5SW1jeEMsUzhJbmNpRCxDOUltY2pELGVBQWUsRW9GN1Q0QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjZUckYsZUFBZSxFb0ZoVDhCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNlRyRixlQUFlLEVzRi9TeUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY2VHJGLGVBQWUsRXNGbFMyQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY2VHJGLGVBQWUsRXVGdE95QixnQkFBZ0IsQUFBQSxhQUFhLEN2RnNPckUsZUFBZSxFdUZyT3lCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnFPakUsZUFBZSxFdUY1TTJCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGNE16RSxlQUFlLEV1RjNNMkIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnFPakUsZUFBZSxFZ0dqYTRCLG1CQUFtQixDaEdpYTlELGVBQWUsRTJHelgwQixpQkFBaUIsQzNHeVgxRCxlQUFlLENBQUM7SUFDWixLQUFLLEVEL2RVLElBQUksR0NpZXRCO0k4SXRjdUMsQTlJZ1h4QyxTOEloWGlELEM5SW1jakQsZUFBZSxBQW5GZCxRQUFRLEVvRjFPa0MsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY2VHJGLGVBQWUsQUFuRmQsUUFBUSxFb0Y3Tm9DLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNlRyRixlQUFlLEFBbkZkLFFBQVEsRXNGNU4rQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjZUckYsZUFBZSxBQW5GZCxRQUFRLEVzRi9NaUMsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNlRyRixlQUFlLEFBbkZkLFFBQVEsRXVGbkorQixnQkFBZ0IsQUFBQSxhQUFhLEN2RnNPckUsZUFBZSxBQW5GZCxRQUFRLEV1RmxKK0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGcU9qRSxlQUFlLEFBbkZkLFFBQVEsRXVGekhpQyxrQkFBa0IsQUFBQSxhQUFhLEN2RjRNekUsZUFBZSxBQW5GZCxRQUFRLEV1RnhIaUMsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnFPakUsZUFBZSxBQW5GZCxRQUFRLEVnRzlVa0MsbUJBQW1CLENoR2lhOUQsZUFBZSxBQW5GZCxRQUFRLEUyR3RTZ0MsaUJBQWlCLEMzR3lYMUQsZUFBZSxBQW5GZCxRQUFRLENBQUM7TUFBRSxtQkFBbUIsRUQzWVosSUFBSSxHQzJZNEM7RThJaFgzQixBOUl3Y3hDLFM4SXhjaUQsQzlJd2NqRCxlQUFlLEFBQUEsTUFBTSxFb0ZsVXNCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGa1VyRixlQUFlLEFBQUEsTUFBTSxFb0ZyVHdCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGa1VyRixlQUFlLEFBQUEsTUFBTSxFc0ZwVG1CLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGa1VyRixlQUFlLEFBQUEsTUFBTSxFc0Z2U3FCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRmtVckYsZUFBZSxBQUFBLE1BQU0sRXVGM09tQixnQkFBZ0IsQUFBQSxhQUFhLEN2RjJPckUsZUFBZSxBQUFBLE1BQU0sRXVGMU9tQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYwT2pFLGVBQWUsQUFBQSxNQUFNLEV1RmpOcUIsa0JBQWtCLEFBQUEsYUFBYSxDdkZpTnpFLGVBQWUsQUFBQSxNQUFNLEV1RmhOcUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjBPakUsZUFBZSxBQUFBLE1BQU0sRWdHdGFzQixtQkFBbUIsQ2hHc2E5RCxlQUFlLEFBQUEsTUFBTSxFMkc5WG9CLGlCQUFpQixDM0c4WDFELGVBQWUsQUFBQSxNQUFNO0U4SXhjbUIsU0FBUyxDOUl5Y2pELGVBQWUsQUFBQSxNQUFNO0VvRm5Vc0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZtVXJGLGVBQWUsQUFBQSxNQUFNO0VvRnRUd0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZtVXJGLGVBQWUsQUFBQSxNQUFNO0VzRnJUbUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZtVXJGLGVBQWUsQUFBQSxNQUFNO0VzRnhTcUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGbVVyRixlQUFlLEFBQUEsTUFBTTtFdUY1T21CLGdCQUFnQixBQUFBLGFBQWEsQ3ZGNE9yRSxlQUFlLEFBQUEsTUFBTTtFdUYzT21CLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjJPakUsZUFBZSxBQUFBLE1BQU07RXVGbE5xQixrQkFBa0IsQUFBQSxhQUFhLEN2RmtOekUsZUFBZSxBQUFBLE1BQU07RXVGak5xQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMk9qRSxlQUFlLEFBQUEsTUFBTTtFZ0d2YXNCLG1CQUFtQixDaEd1YTlELGVBQWUsQUFBQSxNQUFNO0UyRy9Yb0IsaUJBQWlCLEMzRytYMUQsZUFBZSxBQUFBLE1BQU0sQ0FBQztJQUNsQixLQUFLLEVEcmVVLElBQUksR0N1ZXRCO0U4STVjdUMsQTlJOGN4QyxTOEk5Y2lELEM5SThjakQsZUFBZSxBQUFBLFNBQVMsRW9GeFVtQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRndVckYsZUFBZSxBQUFBLFNBQVMsRW9GM1RxQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRndVckYsZUFBZSxBQUFBLFNBQVMsRXNGMVRnQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRndVckYsZUFBZSxBQUFBLFNBQVMsRXNGN1NrQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ3VXJGLGVBQWUsQUFBQSxTQUFTLEV1RmpQZ0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZpUHJFLGVBQWUsQUFBQSxTQUFTLEV1RmhQZ0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGZ1BqRSxlQUFlLEFBQUEsU0FBUyxFdUZ2TmtCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGdU56RSxlQUFlLEFBQUEsU0FBUyxFdUZ0TmtCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZnUGpFLGVBQWUsQUFBQSxTQUFTLEVnRzVhbUIsbUJBQW1CLENoRzRhOUQsZUFBZSxBQUFBLFNBQVMsRTJHcFlpQixpQkFBaUIsQzNHb1kxRCxlQUFlLEFBQUEsU0FBUyxDQUFDO0lBQ3JCLEtBQUssRUQxZVUsd0JBQUksR0M0ZXRCO0U4SWpkdUMsQTlJdWR4QyxTOEl2ZGlELEM5SXVkakQsZUFBZSxFb0ZqVjRCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGaVZyRixlQUFlLEVvRnBVOEIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZpVnJGLGVBQWUsRXNGblV5QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmlWckYsZUFBZSxFc0Z0VDJCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRmlWckYsZUFBZSxFdUYxUHlCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGMFByRSxlQUFlLEV1RnpQeUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGeVBqRSxlQUFlLEV1RmhPMkIsa0JBQWtCLEFBQUEsYUFBYSxDdkZnT3pFLGVBQWUsRXVGL04yQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGeVBqRSxlQUFlLEVnR3JiNEIsbUJBQW1CLENoR3FiOUQsZUFBZSxFMkc3WTBCLGlCQUFpQixDM0c2WTFELGVBQWUsQ0FBQztJQUNaLEtBQUssRURuZlUsd0JBQUksR0NxZnRCO0U4STFkdUMsQTlJNGR4QyxTOEk1ZGlELEM5STRkakQsZUFBZSxBQUFBLE1BQU0sRW9GdFZzQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnNWckYsZUFBZSxBQUFBLE1BQU0sRW9GelV3QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnNWckYsZUFBZSxBQUFBLE1BQU0sRXNGeFVtQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnNWckYsZUFBZSxBQUFBLE1BQU0sRXNGM1RxQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZzVnJGLGVBQWUsQUFBQSxNQUFNLEV1Ri9QbUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkYrUHJFLGVBQWUsQUFBQSxNQUFNLEV1RjlQbUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGOFBqRSxlQUFlLEFBQUEsTUFBTSxFdUZyT3FCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGcU96RSxlQUFlLEFBQUEsTUFBTSxFdUZwT3FCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY4UGpFLGVBQWUsQUFBQSxNQUFNLEVnRzFic0IsbUJBQW1CLENoRzBiOUQsZUFBZSxBQUFBLE1BQU0sRTJHbFpvQixpQkFBaUIsQzNHa1oxRCxlQUFlLEFBQUEsTUFBTTtFOEk1ZG1CLFNBQVMsQzlJNmRqRCxlQUFlLEFBQUEsTUFBTTtFb0Z2VnNCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGdVZyRixlQUFlLEFBQUEsTUFBTTtFb0YxVXdCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGdVZyRixlQUFlLEFBQUEsTUFBTTtFc0Z6VW1CLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGdVZyRixlQUFlLEFBQUEsTUFBTTtFc0Y1VHFCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnVWckYsZUFBZSxBQUFBLE1BQU07RXVGaFFtQixnQkFBZ0IsQUFBQSxhQUFhLEN2RmdRckUsZUFBZSxBQUFBLE1BQU07RXVGL1BtQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYrUGpFLGVBQWUsQUFBQSxNQUFNO0V1RnRPcUIsa0JBQWtCLEFBQUEsYUFBYSxDdkZzT3pFLGVBQWUsQUFBQSxNQUFNO0V1RnJPcUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RitQakUsZUFBZSxBQUFBLE1BQU07RWdHM2JzQixtQkFBbUIsQ2hHMmI5RCxlQUFlLEFBQUEsTUFBTTtFMkduWm9CLGlCQUFpQixDM0dtWjFELGVBQWUsQUFBQSxNQUFNLENBQUM7SUFBRSxLQUFLLEVEeGZWLHdCQUFJLEdDd2Y0QztFOEk3ZDNCLEE5SXk0QnhDLFM4SXo0QmlELEM5SXk0QmpELGdCQUFnQixHQUFHLElBQUssQ2tIbnVCSixnQkFBZ0IsQ2xIbXVCSyxRQUFRLEVvRm53Qk4sbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZtd0JyRixnQkFBZ0IsR0FBRyxJQUFLLENrSG51QkosZ0JBQWdCLENsSG11QkssUUFBUSxFb0Z0dkJKLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGbXdCckYsZ0JBQWdCLEdBQUcsSUFBSyxDa0hudUJKLGdCQUFnQixDbEhtdUJLLFFBQVEsRXNGcnZCVCxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRm13QnJGLGdCQUFnQixHQUFHLElBQUssQ2tIbnVCSixnQkFBZ0IsQ2xIbXVCSyxRQUFRLEVzRnh1QlAsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGbXdCckYsZ0JBQWdCLEdBQUcsSUFBSyxDa0hudUJKLGdCQUFnQixDbEhtdUJLLFFBQVEsRXVGNXFCVCxnQkFBZ0IsQUFBQSxhQUFhLEN2RjRxQnJFLGdCQUFnQixHQUFHLElBQUssQ2tIbnVCSixnQkFBZ0IsQ2xIbXVCSyxRQUFRLEV1RjNxQlQsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMnFCakUsZ0JBQWdCLEdBQUcsSUFBSyxDa0hudUJKLGdCQUFnQixDbEhtdUJLLFFBQVEsRXVGbHBCUCxrQkFBa0IsQUFBQSxhQUFhLEN2RmtwQnpFLGdCQUFnQixHQUFHLElBQUssQ2tIbnVCSixnQkFBZ0IsQ2xIbXVCSyxRQUFRLEV1RmpwQlAsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjJxQmpFLGdCQUFnQixHQUFHLElBQUssQ2tIbnVCSixnQkFBZ0IsQ2xIbXVCSyxRQUFRLEVnR3YyQk4sbUJBQW1CLENoR3UyQjlELGdCQUFnQixHQUFHLElBQUssQ2tIbnVCSixnQkFBZ0IsQ2xIbXVCSyxRQUFRLEUyRy96QlIsaUJBQWlCLEMzRyt6QjFELGdCQUFnQixHQUFHLElBQUssQ2tIbnVCSixnQkFBZ0IsQ2xIbXVCSyxRQUFRLENBQUM7SUFBRSxpQkFBaUIsRURwNkJsRCx3QkFBSSxHQ282QmdGO0U4SXo0Qi9ELEE5STA0QnhDLFM4STE0QmlELEM5STA0QmpELGdCQUFnQixBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsUUFBUSxFb0Zwd0JiLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGb3dCckYsZ0JBQWdCLEFBQUEsY0FBYyxHQUFHLGVBQWUsQUFBQSxRQUFRLEVvRnZ2QlgscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZvd0JyRixnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsRXNGdHZCaEIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZvd0JyRixnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsRXNGenVCZCxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZvd0JyRixnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsRXVGN3FCaEIsZ0JBQWdCLEFBQUEsYUFBYSxDdkY2cUJyRSxnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsRXVGNXFCaEIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGNHFCakUsZ0JBQWdCLEFBQUEsY0FBYyxHQUFHLGVBQWUsQUFBQSxRQUFRLEV1Rm5wQmQsa0JBQWtCLEFBQUEsYUFBYSxDdkZtcEJ6RSxnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsRXVGbHBCZCxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGNHFCakUsZ0JBQWdCLEFBQUEsY0FBYyxHQUFHLGVBQWUsQUFBQSxRQUFRLEVnR3gyQmIsbUJBQW1CLENoR3cyQjlELGdCQUFnQixBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsUUFBUSxFMkdoMEJmLGlCQUFpQixDM0dnMEIxRCxnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsQ0FBQztJQUFFLGdCQUFnQixFRHI2QnhELHdCQUFJLEdDcTZCc0Y7RThJMTRCckUsQTlJOGxCeEMsUzhJOWxCaUQsQzlJOGxCakQsU0FBUyxFb0Z4ZGtDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGd2RyRixTQUFTLEVvRjNjb0MscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZ3ZHJGLFNBQVMsRXNGMWMrQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRndkckYsU0FBUyxFc0Y3YmlDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRndkckYsU0FBUyxFdUZqWStCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGaVlyRSxTQUFTLEV1RmhZK0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGZ1lqRSxTQUFTLEV1RnZXaUMsa0JBQWtCLEFBQUEsYUFBYSxDdkZ1V3pFLFNBQVMsRXVGdFdpQyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGZ1lqRSxTQUFTLEVnRzVqQmtDLG1CQUFtQixDaEc0akI5RCxTQUFTLEUyR3BoQmdDLGlCQUFpQixDM0dvaEIxRCxTQUFTLENBQUM7SUFDTixLQUFLLEVEMW5CVSx3QkFBSSxHQzRuQnRCO0U4SWptQnVDLEE5SW1tQnhDLFM4SW5tQmlELEM5SW1tQmpELFNBQVMsQUFBQSxNQUFNLEVvRjdkNEIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY2ZHJGLFNBQVMsQUFBQSxNQUFNLEVvRmhkOEIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY2ZHJGLFNBQVMsQUFBQSxNQUFNLEVzRi9jeUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY2ZHJGLFNBQVMsQUFBQSxNQUFNLEVzRmxjMkIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNmRyRixTQUFTLEFBQUEsTUFBTSxFdUZ0WXlCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGc1lyRSxTQUFTLEFBQUEsTUFBTSxFdUZyWXlCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnFZakUsU0FBUyxBQUFBLE1BQU0sRXVGNVcyQixrQkFBa0IsQUFBQSxhQUFhLEN2RjRXekUsU0FBUyxBQUFBLE1BQU0sRXVGM1cyQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGcVlqRSxTQUFTLEFBQUEsTUFBTSxFZ0dqa0I0QixtQkFBbUIsQ2hHaWtCOUQsU0FBUyxBQUFBLE1BQU0sRTJHemhCMEIsaUJBQWlCLEMzR3loQjFELFNBQVMsQUFBQSxNQUFNO0U4SW5tQnlCLFNBQVMsQzlJb21CakQsU0FBUyxBQUFBLE1BQU07RW9GOWQ0QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjhkckYsU0FBUyxBQUFBLE1BQU07RW9GamQ4QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjhkckYsU0FBUyxBQUFBLE1BQU07RXNGaGR5QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjhkckYsU0FBUyxBQUFBLE1BQU07RXNGbmMyQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY4ZHJGLFNBQVMsQUFBQSxNQUFNO0V1RnZZeUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZ1WXJFLFNBQVMsQUFBQSxNQUFNO0V1RnRZeUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGc1lqRSxTQUFTLEFBQUEsTUFBTTtFdUY3VzJCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGNld6RSxTQUFTLEFBQUEsTUFBTTtFdUY1VzJCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZzWWpFLFNBQVMsQUFBQSxNQUFNO0VnR2xrQjRCLG1CQUFtQixDaEdra0I5RCxTQUFTLEFBQUEsTUFBTTtFMkcxaEIwQixpQkFBaUIsQzNHMGhCMUQsU0FBUyxBQUFBLE1BQU0sQ0FBQztJQUNaLEtBQUssRURob0JVLHdCQUFJLEdDa29CdEI7RThJdm1CdUMsQTlJa21DeEMsUzhJbG1DaUQsQzlJa21DakQsU0FBUyxFb0Y1OUJrQyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjQ5QnJGLFNBQVMsRW9GLzhCb0MscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY0OUJyRixTQUFTLEVzRjk4QitCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNDlCckYsU0FBUyxFc0ZqOEJpQyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY0OUJyRixTQUFTLEV1RnI0QitCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGcTRCckUsU0FBUyxFdUZwNEIrQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvNEJqRSxTQUFTLEV1RjMyQmlDLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMjJCekUsU0FBUyxFdUYxMkJpQyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbzRCakUsU0FBUyxFZ0doa0NrQyxtQkFBbUIsQ2hHZ2tDOUQsU0FBUyxFMkd4aENnQyxpQkFBaUIsQzNHd2hDMUQsU0FBUyxDQUFDO0lBQ04sS0FBSyxFRDluQ1Usd0JBQUksR0Nnb0N0QjtFOElybUN1QyxBOUl1bUN4QyxTOEl2bUNpRCxDOUl1bUNqRCxTQUFTLEFBQUEsTUFBTSxFb0ZqK0I0QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRmkrQnJGLFNBQVMsQUFBQSxNQUFNLEVvRnA5QjhCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGaStCckYsU0FBUyxBQUFBLE1BQU0sRXNGbjlCeUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZpK0JyRixTQUFTLEFBQUEsTUFBTSxFc0Z0OEIyQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZpK0JyRixTQUFTLEFBQUEsTUFBTSxFdUYxNEJ5QixnQkFBZ0IsQUFBQSxhQUFhLEN2RjA0QnJFLFNBQVMsQUFBQSxNQUFNLEV1Rno0QnlCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rnk0QmpFLFNBQVMsQUFBQSxNQUFNLEV1RmgzQjJCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGZzNCekUsU0FBUyxBQUFBLE1BQU0sRXVGLzJCMkIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rnk0QmpFLFNBQVMsQUFBQSxNQUFNLEVnR3JrQzRCLG1CQUFtQixDaEdxa0M5RCxTQUFTLEFBQUEsTUFBTSxFMkc3aEMwQixpQkFBaUIsQzNHNmhDMUQsU0FBUyxBQUFBLE1BQU07RThJdm1DeUIsU0FBUyxDOUl3bUNqRCxTQUFTLEFBQUEsTUFBTTtFb0ZsK0I0QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRmsrQnJGLFNBQVMsQUFBQSxNQUFNO0VvRnI5QjhCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGaytCckYsU0FBUyxBQUFBLE1BQU07RXNGcDlCeUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZrK0JyRixTQUFTLEFBQUEsTUFBTTtFc0Z2OEIyQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZrK0JyRixTQUFTLEFBQUEsTUFBTTtFdUYzNEJ5QixnQkFBZ0IsQUFBQSxhQUFhLEN2RjI0QnJFLFNBQVMsQUFBQSxNQUFNO0V1RjE0QnlCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjA0QmpFLFNBQVMsQUFBQSxNQUFNO0V1RmozQjJCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGaTNCekUsU0FBUyxBQUFBLE1BQU07RXVGaDNCMkIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjA0QmpFLFNBQVMsQUFBQSxNQUFNO0VnR3RrQzRCLG1CQUFtQixDaEdza0M5RCxTQUFTLEFBQUEsTUFBTTtFMkc5aEMwQixpQkFBaUIsQzNHOGhDMUQsU0FBUyxBQUFBLE1BQU0sQ0FBQztJQUNaLEtBQUssRURwb0NVLHdCQUFJLEdDc29DdEI7RThJM21DdUMsQTlJNm1DeEMsUzhJN21DaUQsQzlJNm1DakQsU0FBUyxBQUFBLE9BQU8sRW9GditCMkIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZ1K0JyRixTQUFTLEFBQUEsT0FBTyxFb0YxOUI2QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnUrQnJGLFNBQVMsQUFBQSxPQUFPLEVzRno5QndCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGdStCckYsU0FBUyxBQUFBLE9BQU8sRXNGNThCMEIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGdStCckYsU0FBUyxBQUFBLE9BQU8sRXVGaDVCd0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZnNUJyRSxTQUFTLEFBQUEsT0FBTyxFdUYvNEJ3QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYrNEJqRSxTQUFTLEFBQUEsT0FBTyxFdUZ0M0IwQixrQkFBa0IsQUFBQSxhQUFhLEN2RnMzQnpFLFNBQVMsQUFBQSxPQUFPLEV1RnIzQjBCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYrNEJqRSxTQUFTLEFBQUEsT0FBTyxFZ0cza0MyQixtQkFBbUIsQ2hHMmtDOUQsU0FBUyxBQUFBLE9BQU8sRTJHbmlDeUIsaUJBQWlCLEMzR21pQzFELFNBQVMsQUFBQSxPQUFPLENBQUM7SUFDYixLQUFLLEVEem9DVSxJQUFJLEdDMm9DdEI7RThJaG5DdUMsQTlJdUV4QyxTOEl2RWlELEM5SXVFakQsU0FBUyxFb0YrRGtDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGL0RyRixTQUFTLEVvRjRFb0MscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYvRHJGLFNBQVMsRXNGNkUrQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRi9EckYsU0FBUyxFc0YwRmlDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRi9EckYsU0FBUyxFdUZzSitCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGdEpyRSxTQUFTLEV1RnVKK0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGdkpqRSxTQUFTLEV1RmdMaUMsa0JBQWtCLEFBQUEsYUFBYSxDdkZoTHpFLFNBQVMsRXVGaUxpQyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGdkpqRSxTQUFTLEVnR3JDa0MsbUJBQW1CLENoR3FDOUQsU0FBUyxFMkdHZ0MsaUJBQWlCLEMzR0gxRCxTQUFTLENBQUM7SUFDTixnQkFBZ0IsRURuR0QsSUFBSTtJQ29HbkIsS0FBSyxFRHZHRSxJQUFJLEdDeUdkO0U4STNFdUMsQTlJNkV4QyxTOEk3RWlELEM5STZFakQsU0FBUyxBQUFBLE1BQU0sRW9GeUQ0QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnpEckYsU0FBUyxBQUFBLE1BQU0sRW9Gc0U4QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnpEckYsU0FBUyxBQUFBLE1BQU0sRXNGdUV5QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnpEckYsU0FBUyxBQUFBLE1BQU0sRXNGb0YyQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ6RHJGLFNBQVMsQUFBQSxNQUFNLEV1RmdKeUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZoSnJFLFNBQVMsQUFBQSxNQUFNLEV1RmlKeUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGakpqRSxTQUFTLEFBQUEsTUFBTSxFdUYwSzJCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMUt6RSxTQUFTLEFBQUEsTUFBTSxFdUYySzJCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZqSmpFLFNBQVMsQUFBQSxNQUFNLEVnRzNDNEIsbUJBQW1CLENoRzJDOUQsU0FBUyxBQUFBLE1BQU0sRTJHSDBCLGlCQUFpQixDM0dHMUQsU0FBUyxBQUFBLE1BQU07RThJN0V5QixTQUFTLEM5SThFakQsU0FBUyxBQUFBLE1BQU07RW9Gd0Q0QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnhEckYsU0FBUyxBQUFBLE1BQU07RW9GcUU4QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnhEckYsU0FBUyxBQUFBLE1BQU07RXNGc0V5QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnhEckYsU0FBUyxBQUFBLE1BQU07RXNGbUYyQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ4RHJGLFNBQVMsQUFBQSxNQUFNO0V1RitJeUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkYvSXJFLFNBQVMsQUFBQSxNQUFNO0V1RmdKeUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGaEpqRSxTQUFTLEFBQUEsTUFBTTtFdUZ5SzJCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGekt6RSxTQUFTLEFBQUEsTUFBTTtFdUYwSzJCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZoSmpFLFNBQVMsQUFBQSxNQUFNO0VnRzVDNEIsbUJBQW1CLENoRzRDOUQsU0FBUyxBQUFBLE1BQU07RTJHSjBCLGlCQUFpQixDM0dJMUQsU0FBUyxBQUFBLE1BQU0sQ0FBQztJQUNaLEtBQUssRUQ3R0UsSUFBSSxHQytHZDtFOElqRnVDLEE5SXFuQ3hDLFM4SXJuQ2lELEM5SXFuQ2pELFNBQVMsRW9GLytCa0MsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYrK0JyRixTQUFTLEVvRmwrQm9DLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGKytCckYsU0FBUyxFc0ZqK0IrQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRisrQnJGLFNBQVMsRXNGcDlCaUMsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGKytCckYsU0FBUyxFdUZ4NUIrQixnQkFBZ0IsQUFBQSxhQUFhLEN2Rnc1QnJFLFNBQVMsRXVGdjVCK0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGdTVCakUsU0FBUyxFdUY5M0JpQyxrQkFBa0IsQUFBQSxhQUFhLEN2RjgzQnpFLFNBQVMsRXVGNzNCaUMsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnU1QmpFLFNBQVMsRWdHbmxDa0MsbUJBQW1CLENoR21sQzlELFNBQVMsRTJHM2lDZ0MsaUJBQWlCLEMzRzJpQzFELFNBQVMsQ0FBQztJQUNOLGdCQUFnQixFRGpwQ0QsSUFBSTtJQ2twQ25CLEtBQUssRURycENFLElBQUksR0N1cENkO0U4SXpuQ3VDLEE5SXlEeEMsUzhJekRpRCxDOUl5RGpELGdCQUFnQixFb0Y2RTJCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGN0VyRixnQkFBZ0IsRW9GMEY2QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjdFckYsZ0JBQWdCLEVzRjJGd0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY3RXJGLGdCQUFnQixFc0Z3RzBCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjdFckYsZ0JBQWdCLEV1Rm9Ld0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZwS3JFLGdCQUFnQixFdUZxS3dCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnJLakUsZ0JBQWdCLEV1RjhMMEIsa0JBQWtCLEFBQUEsYUFBYSxDdkY5THpFLGdCQUFnQixFdUYrTDBCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZyS2pFLGdCQUFnQixFZ0d2QjJCLG1CQUFtQixDaEd1QjlELGdCQUFnQixFMkdpQnlCLGlCQUFpQixDM0dqQjFELGdCQUFnQixDQUFFO0lBQ2QsS0FBSyxFRHJGVSx3QkFBSSxHQ3VGdEI7RThJNUR1QyxBOUlrb0N4QyxTOElsb0NpRCxDOUlrb0NqRCxnQkFBZ0IsRW9GNS9CMkIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY0L0JyRixnQkFBZ0IsRW9GLytCNkIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY0L0JyRixnQkFBZ0IsRXNGOStCd0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY0L0JyRixnQkFBZ0IsRXNGaitCMEIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNC9CckYsZ0JBQWdCLEV1RnI2QndCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGcTZCckUsZ0JBQWdCLEV1RnA2QndCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm82QmpFLGdCQUFnQixFdUYzNEIwQixrQkFBa0IsQUFBQSxhQUFhLEN2RjI0QnpFLGdCQUFnQixFdUYxNEIwQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbzZCakUsZ0JBQWdCLEVnR2htQzJCLG1CQUFtQixDaEdnbUM5RCxnQkFBZ0IsRTJHeGpDeUIsaUJBQWlCLEMzR3dqQzFELGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFRDdwQ0wsd0JBQUksR0M2cEM0QjtFOElsb0NYLEE5SW9vQ3hDLFM4SXBvQ2lELEM5SW9vQ2pELGdCQUFnQixBQUFBLHNCQUFzQixFb0Y5L0JLLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGOC9CckYsZ0JBQWdCLEFBQUEsc0JBQXNCLEVvRmovQk8scUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY4L0JyRixnQkFBZ0IsQUFBQSxzQkFBc0IsRXNGaC9CRSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjgvQnJGLGdCQUFnQixBQUFBLHNCQUFzQixFc0ZuK0JJLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjgvQnJGLGdCQUFnQixBQUFBLHNCQUFzQixFdUZ2NkJFLGdCQUFnQixBQUFBLGFBQWEsQ3ZGdTZCckUsZ0JBQWdCLEFBQUEsc0JBQXNCLEV1RnQ2QkUsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGczZCakUsZ0JBQWdCLEFBQUEsc0JBQXNCLEV1Rjc0Qkksa0JBQWtCLEFBQUEsYUFBYSxDdkY2NEJ6RSxnQkFBZ0IsQUFBQSxzQkFBc0IsRXVGNTRCSSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGczZCakUsZ0JBQWdCLEFBQUEsc0JBQXNCLEVnR2xtQ0ssbUJBQW1CLENoR2ttQzlELGdCQUFnQixBQUFBLHNCQUFzQixFMkcxakNHLGlCQUFpQixDM0cwakMxRCxnQkFBZ0IsQUFBQSxzQkFBc0IsQ0FBQztJQUFFLEtBQUssRUQvcEMzQix3QkFBSSxDQytwQzJELFVBQVUsR0FBSTtFOElwb0N4RCxBOUlxb0N4QyxTOElyb0NpRCxDOUlxb0NqRCxnQkFBZ0IsQUFBQSxhQUFhLEVvRi8vQmMsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYrL0JyRixnQkFBZ0IsQUFBQSxhQUFhLEVvRmwvQmdCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGKy9CckYsZ0JBQWdCLEFBQUEsYUFBYSxFc0ZqL0JXLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGKy9CckYsZ0JBQWdCLEFBQUEsYUFBYSxFc0ZwK0JhLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRisvQnJGLGdCQUFnQixBQUFBLGFBQWEsRXVGeDZCVyxnQkFBZ0IsQUFBQSxhQUFhLEN2Rnc2QnJFLGdCQUFnQixBQUFBLGFBQWEsRXVGdjZCVyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ1NkJqRSxnQkFBZ0IsQUFBQSxhQUFhLEV1Rjk0QmEsa0JBQWtCLEFBQUEsYUFBYSxDdkY4NEJ6RSxnQkFBZ0IsQUFBQSxhQUFhLEV1Rjc0QmEsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnU2QmpFLGdCQUFnQixBQUFBLGFBQWEsRWdHbm1DYyxtQkFBbUIsQ2hHbW1DOUQsZ0JBQWdCLEFBQUEsYUFBYSxFMkczakNZLGlCQUFpQixDM0cyakMxRCxnQkFBZ0IsQUFBQSxhQUFhLENBQUM7SUFBRSxLQUFLLEVEaHFDbEIsd0JBQUksR0NncUNxRDtFOElyb0NwQyxBOUk0b0N4QyxTOEk1b0NpRCxDOUk0b0NqRCxVQUFVLENBQUMsZUFBZSxFb0Z0Z0NpQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnNnQ3JGLFVBQVUsQ0FBQyxlQUFlLEVvRnovQm1CLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGc2dDckYsVUFBVSxDQUFDLGVBQWUsRXNGeC9CYyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnNnQ3JGLFVBQVUsQ0FBQyxlQUFlLEVzRjMrQmdCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnNnQ3JGLFVBQVUsQ0FBQyxlQUFlLEV1Ri82QmMsZ0JBQWdCLEFBQUEsYUFBYSxDdkYrNkJyRSxVQUFVLENBQUMsZUFBZSxFdUY5NkJjLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rjg2QmpFLFVBQVUsQ0FBQyxlQUFlLEV1RnI1QmdCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGcTVCekUsVUFBVSxDQUFDLGVBQWUsRXVGcDVCZ0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rjg2QmpFLFVBQVUsQ0FBQyxlQUFlLEVnRzFtQ2lCLG1CQUFtQixDaEcwbUM5RCxVQUFVLENBQUMsZUFBZSxFMkdsa0NlLGlCQUFpQixDM0dra0MxRCxVQUFVLENBQUMsZUFBZSxDQUFDO0lBQUUsS0FBSyxFRHZxQ2Ysd0JBQUksR0N1cUMyQztFOEk1b0MxQixBOUk2b0N4QyxTOEk3b0NpRCxDOUk2b0NqRCxVQUFVLENBQUMsZUFBZSxBQUFBLE1BQU0sRW9GdmdDVyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnVnQ3JGLFVBQVUsQ0FBQyxlQUFlLEFBQUEsTUFBTSxFb0YxL0JhLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGdWdDckYsVUFBVSxDQUFDLGVBQWUsQUFBQSxNQUFNLEVzRnovQlEsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ1Z0NyRixVQUFVLENBQUMsZUFBZSxBQUFBLE1BQU0sRXNGNStCVSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ1Z0NyRixVQUFVLENBQUMsZUFBZSxBQUFBLE1BQU0sRXVGaDdCUSxnQkFBZ0IsQUFBQSxhQUFhLEN2Rmc3QnJFLFVBQVUsQ0FBQyxlQUFlLEFBQUEsTUFBTSxFdUYvNkJRLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Ris2QmpFLFVBQVUsQ0FBQyxlQUFlLEFBQUEsTUFBTSxFdUZ0NUJVLGtCQUFrQixBQUFBLGFBQWEsQ3ZGczVCekUsVUFBVSxDQUFDLGVBQWUsQUFBQSxNQUFNLEV1RnI1QlUsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Ris2QmpFLFVBQVUsQ0FBQyxlQUFlLEFBQUEsTUFBTSxFZ0czbUNXLG1CQUFtQixDaEcybUM5RCxVQUFVLENBQUMsZUFBZSxBQUFBLE1BQU0sRTJHbmtDUyxpQkFBaUIsQzNHbWtDMUQsVUFBVSxDQUFDLGVBQWUsQUFBQSxNQUFNLENBQUM7SUFBRSxLQUFLLEVEeHFDckIsd0JBQUksR0N3cUNpRDtFOEk3b0NoQyxBOUltcEN4QyxTOElucENpRCxDOUltcENqRCxrQkFBa0IsQ0FBQyxnQkFBZ0IsRW9GN2dDUSxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjZnQ3JGLGtCQUFrQixDQUFDLGdCQUFnQixFb0ZoZ0NVLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNmdDckYsa0JBQWtCLENBQUMsZ0JBQWdCLEVzRi8vQkssZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY2Z0NyRixrQkFBa0IsQ0FBQyxnQkFBZ0IsRXNGbC9CTyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY2Z0NyRixrQkFBa0IsQ0FBQyxnQkFBZ0IsRXVGdDdCSyxnQkFBZ0IsQUFBQSxhQUFhLEN2RnM3QnJFLGtCQUFrQixDQUFDLGdCQUFnQixFdUZyN0JLLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnE3QmpFLGtCQUFrQixDQUFDLGdCQUFnQixFdUY1NUJPLGtCQUFrQixBQUFBLGFBQWEsQ3ZGNDVCekUsa0JBQWtCLENBQUMsZ0JBQWdCLEV1RjM1Qk8sa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnE3QmpFLGtCQUFrQixDQUFDLGdCQUFnQixFZ0dqbkNRLG1CQUFtQixDaEdpbkM5RCxrQkFBa0IsQ0FBQyxnQkFBZ0IsRTJHemtDTSxpQkFBaUIsQzNHeWtDMUQsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUM7SUFDaEMsZ0JBQWdCLEVEeFhZLFdBQVc7SUN1K0JILFlBQVksRUQ5eERqQyx3QkFBSSxHQ2lyQ3RCO0U4SXRwQ3VDLEE5SXdwQ3hDLFM4SXhwQ2lELEM5SXdwQ2pELGtCQUFrQixDQUFDLGdCQUFnQixBQUFBLE1BQU0sRW9GbGhDRSxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRmtoQ3JGLGtCQUFrQixDQUFDLGdCQUFnQixBQUFBLE1BQU0sRW9GcmdDSSxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmtoQ3JGLGtCQUFrQixDQUFDLGdCQUFnQixBQUFBLE1BQU0sRXNGcGdDRCxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmtoQ3JGLGtCQUFrQixDQUFDLGdCQUFnQixBQUFBLE1BQU0sRXNGdi9CQyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZraENyRixrQkFBa0IsQ0FBQyxnQkFBZ0IsQUFBQSxNQUFNLEV1RjM3QkQsZ0JBQWdCLEFBQUEsYUFBYSxDdkYyN0JyRSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQUFBQSxNQUFNLEV1RjE3QkQsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMDdCakUsa0JBQWtCLENBQUMsZ0JBQWdCLEFBQUEsTUFBTSxFdUZqNkJDLGtCQUFrQixBQUFBLGFBQWEsQ3ZGaTZCekUsa0JBQWtCLENBQUMsZ0JBQWdCLEFBQUEsTUFBTSxFdUZoNkJDLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYwN0JqRSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQUFBQSxNQUFNLEVnR3RuQ0UsbUJBQW1CLENoR3NuQzlELGtCQUFrQixDQUFDLGdCQUFnQixBQUFBLE1BQU0sRTJHOWtDQSxpQkFBaUIsQzNHOGtDMUQsa0JBQWtCLENBQUMsZ0JBQWdCLEFBQUEsTUFBTSxDQUFDO0lBQ3RDLGdCQUFnQixFRDdYWSxXQUFXLEdDK1gxQztFOEkzcEN1QyxBOUk2cEN4QyxTOEk3cENpRCxDOUk2cENqRCxpQkFBaUIsQ0FBQyxnQkFBZ0IsRW9GdmhDUyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnVoQ3JGLGlCQUFpQixDQUFDLGdCQUFnQixFb0YxZ0NXLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGdWhDckYsaUJBQWlCLENBQUMsZ0JBQWdCLEVzRnpnQ00sZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ1aENyRixpQkFBaUIsQ0FBQyxnQkFBZ0IsRXNGNS9CUSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ1aENyRixpQkFBaUIsQ0FBQyxnQkFBZ0IsRXVGaDhCTSxnQkFBZ0IsQUFBQSxhQUFhLEN2Rmc4QnJFLGlCQUFpQixDQUFDLGdCQUFnQixFdUYvN0JNLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Ris3QmpFLGlCQUFpQixDQUFDLGdCQUFnQixFdUZ0NkJRLGtCQUFrQixBQUFBLGFBQWEsQ3ZGczZCekUsaUJBQWlCLENBQUMsZ0JBQWdCLEV1RnI2QlEsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Ris3QmpFLGlCQUFpQixDQUFDLGdCQUFnQixFZ0czbkNTLG1CQUFtQixDaEcybkM5RCxpQkFBaUIsQ0FBQyxnQkFBZ0IsRTJHbmxDTyxpQkFBaUIsQzNHbWxDMUQsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsZ0JBQWdCLEVEaFlXLFdBQVcsR0NrWXpDO0U4SWhxQ3VDLEE5SWtxQ3hDLFM4SWxxQ2lELEM5SWtxQ2pELGdCQUFnQixDQUFDLGdCQUFnQixFb0Y1aENVLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGNGhDckYsZ0JBQWdCLENBQUMsZ0JBQWdCLEVvRi9nQ1kscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY0aENyRixnQkFBZ0IsQ0FBQyxnQkFBZ0IsRXNGOWdDTyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjRoQ3JGLGdCQUFnQixDQUFDLGdCQUFnQixFc0ZqZ0NTLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjRoQ3JGLGdCQUFnQixDQUFDLGdCQUFnQixFdUZyOEJPLGdCQUFnQixBQUFBLGFBQWEsQ3ZGcThCckUsZ0JBQWdCLENBQUMsZ0JBQWdCLEV1RnA4Qk8sZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbzhCakUsZ0JBQWdCLENBQUMsZ0JBQWdCLEV1RjM2QlMsa0JBQWtCLEFBQUEsYUFBYSxDdkYyNkJ6RSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRXVGMTZCUyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbzhCakUsZ0JBQWdCLENBQUMsZ0JBQWdCLEVnR2hvQ1UsbUJBQW1CLENoR2dvQzlELGdCQUFnQixDQUFDLGdCQUFnQixFMkd4bENRLGlCQUFpQixDM0d3bEMxRCxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztJQUM5QixnQkFBZ0IsRURwWVUsV0FBVyxHQ3NZeEM7RThJcnFDdUMsQTlJMnFDeEMsUzhJM3FDaUQsQzlJMnFDakQsaUJBQWlCLEVvRnJpQzBCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGcWlDckYsaUJBQWlCLEVvRnhoQzRCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGcWlDckYsaUJBQWlCLEVzRnZoQ3VCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGcWlDckYsaUJBQWlCLEVzRjFnQ3lCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnFpQ3JGLGlCQUFpQixFdUY5OEJ1QixnQkFBZ0IsQUFBQSxhQUFhLEN2Rjg4QnJFLGlCQUFpQixFdUY3OEJ1QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY2OEJqRSxpQkFBaUIsRXVGcDdCeUIsa0JBQWtCLEFBQUEsYUFBYSxDdkZvN0J6RSxpQkFBaUIsRXVGbjdCeUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjY4QmpFLGlCQUFpQixFZ0d6b0MwQixtQkFBbUIsQ2hHeW9DOUQsaUJBQWlCLEUyR2ptQ3dCLGlCQUFpQixDM0dpbUMxRCxpQkFBaUIsQ0FBQztJQUNkLEtBQUssRUR2c0NVLHdCQUFJLEdDeXNDdEI7RThJOXFDdUMsQTlJZ3JDeEMsUzhJaHJDaUQsQzlJZ3JDakQsaUJBQWlCLEFBQUEsTUFBTSxFb0YxaUNvQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjBpQ3JGLGlCQUFpQixBQUFBLE1BQU0sRW9GN2hDc0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYwaUNyRixpQkFBaUIsQUFBQSxNQUFNLEVzRjVoQ2lCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMGlDckYsaUJBQWlCLEFBQUEsTUFBTSxFc0YvZ0NtQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYwaUNyRixpQkFBaUIsQUFBQSxNQUFNLEV1Rm45QmlCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGbTlCckUsaUJBQWlCLEFBQUEsTUFBTSxFdUZsOUJpQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZrOUJqRSxpQkFBaUIsQUFBQSxNQUFNLEV1Rno3Qm1CLGtCQUFrQixBQUFBLGFBQWEsQ3ZGeTdCekUsaUJBQWlCLEFBQUEsTUFBTSxFdUZ4N0JtQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGazlCakUsaUJBQWlCLEFBQUEsTUFBTSxFZ0c5b0NvQixtQkFBbUIsQ2hHOG9DOUQsaUJBQWlCLEFBQUEsTUFBTSxFMkd0bUNrQixpQkFBaUIsQzNHc21DMUQsaUJBQWlCLEFBQUEsTUFBTTtFOElockNpQixTQUFTLEM5SWlyQ2pELGlCQUFpQixBQUFBLE1BQU07RW9GM2lDb0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYyaUNyRixpQkFBaUIsQUFBQSxNQUFNO0VvRjloQ3NCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGMmlDckYsaUJBQWlCLEFBQUEsTUFBTTtFc0Y3aENpQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjJpQ3JGLGlCQUFpQixBQUFBLE1BQU07RXNGaGhDbUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGMmlDckYsaUJBQWlCLEFBQUEsTUFBTTtFdUZwOUJpQixnQkFBZ0IsQUFBQSxhQUFhLEN2Rm85QnJFLGlCQUFpQixBQUFBLE1BQU07RXVGbjlCaUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbTlCakUsaUJBQWlCLEFBQUEsTUFBTTtFdUYxN0JtQixrQkFBa0IsQUFBQSxhQUFhLEN2RjA3QnpFLGlCQUFpQixBQUFBLE1BQU07RXVGejdCbUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm05QmpFLGlCQUFpQixBQUFBLE1BQU07RWdHL29Db0IsbUJBQW1CLENoRytvQzlELGlCQUFpQixBQUFBLE1BQU07RTJHdm1Da0IsaUJBQWlCLEMzR3VtQzFELGlCQUFpQixBQUFBLE1BQU0sQ0FBQztJQUNwQixLQUFLLEVEN3NDVSx3QkFBSSxHQytzQ3RCO0U4SXByQ3VDLEE5STZyQ3hDLFM4STdyQ2lELEM5STZyQ2pELG1CQUFtQixHQUFHLFVBQVUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFb0Z2akNBLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGdWpDckYsbUJBQW1CLEdBQUcsVUFBVSxHQUFHLENBQUMsQUFBQSxPQUFPLEVvRjFpQ0UscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZ1akNyRixtQkFBbUIsR0FBRyxVQUFVLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRXNGemlDSCxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnVqQ3JGLG1CQUFtQixHQUFHLFVBQVUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFc0Y1aENELGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnVqQ3JGLG1CQUFtQixHQUFHLFVBQVUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFdUZoK0JILGdCQUFnQixBQUFBLGFBQWEsQ3ZGZytCckUsbUJBQW1CLEdBQUcsVUFBVSxHQUFHLENBQUMsQUFBQSxPQUFPLEV1Ri85QkgsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGKzlCakUsbUJBQW1CLEdBQUcsVUFBVSxHQUFHLENBQUMsQUFBQSxPQUFPLEV1RnQ4QkQsa0JBQWtCLEFBQUEsYUFBYSxDdkZzOEJ6RSxtQkFBbUIsR0FBRyxVQUFVLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRXVGcjhCRCxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGKzlCakUsbUJBQW1CLEdBQUcsVUFBVSxHQUFHLENBQUMsQUFBQSxPQUFPLEVnRzNwQ0EsbUJBQW1CLENoRzJwQzlELG1CQUFtQixHQUFHLFVBQVUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFMkdubkNGLGlCQUFpQixDM0dtbkMxRCxtQkFBbUIsR0FBRyxVQUFVLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztJdUVwc0M1QyxnQkFBZ0IsRUFBRSxvV0FBd0IsR3ZFdXNDekM7RThJaHNDdUMsQTlJa3NDeEMsUzhJbHNDaUQsQzlJa3NDakQsbUJBQW1CLEdBQUcsVUFBVSxBQUFBLFFBQVEsR0FBRyxDQUFDLEFBQUEsT0FBTyxFb0Y1akNSLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGNGpDckYsbUJBQW1CLEdBQUcsVUFBVSxBQUFBLFFBQVEsR0FBRyxDQUFDLEFBQUEsT0FBTyxFb0YvaUNOLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNGpDckYsbUJBQW1CLEdBQUcsVUFBVSxBQUFBLFFBQVEsR0FBRyxDQUFDLEFBQUEsT0FBTyxFc0Y5aUNYLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNGpDckYsbUJBQW1CLEdBQUcsVUFBVSxBQUFBLFFBQVEsR0FBRyxDQUFDLEFBQUEsT0FBTyxFc0ZqaUNULGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjRqQ3JGLG1CQUFtQixHQUFHLFVBQVUsQUFBQSxRQUFRLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRXVGcitCWCxnQkFBZ0IsQUFBQSxhQUFhLEN2RnErQnJFLG1CQUFtQixHQUFHLFVBQVUsQUFBQSxRQUFRLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRXVGcCtCWCxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvK0JqRSxtQkFBbUIsR0FBRyxVQUFVLEFBQUEsUUFBUSxHQUFHLENBQUMsQUFBQSxPQUFPLEV1RjM4QlQsa0JBQWtCLEFBQUEsYUFBYSxDdkYyOEJ6RSxtQkFBbUIsR0FBRyxVQUFVLEFBQUEsUUFBUSxHQUFHLENBQUMsQUFBQSxPQUFPLEV1RjE4QlQsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm8rQmpFLG1CQUFtQixHQUFHLFVBQVUsQUFBQSxRQUFRLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRWdHaHFDUixtQkFBbUIsQ2hHZ3FDOUQsbUJBQW1CLEdBQUcsVUFBVSxBQUFBLFFBQVEsR0FBRyxDQUFDLEFBQUEsT0FBTyxFMkd4bkNWLGlCQUFpQixDM0d3bkMxRCxtQkFBbUIsR0FBRyxVQUFVLEFBQUEsUUFBUSxHQUFHLENBQUMsQUFBQSxPQUFPLENBQUM7SXVFenNDcEQsZ0JBQWdCLEVBQUUsbVdBQXdCLEd2RXlzQzBHO0U4SWxzQzVHLEE5SXdzQ3hDLFM4SXhzQ2lELEM5SXdzQ2pELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFb0Zsa0NtQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRmtrQ3JGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFb0ZyakNxQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmtrQ3JGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFc0ZwakNnQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmtrQ3JGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFc0Z2aUNrQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZra0NyRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRXVGMytCZ0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkYyK0JyRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRXVGMStCZ0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMCtCakUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1Rmo5QmtCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGaTlCekUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1Rmg5QmtCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYwK0JqRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRWdHdHFDbUIsbUJBQW1CLENoR3NxQzlELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFMkc5bkNpQixpQkFBaUIsQzNHOG5DMUQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckIsS0FBSyxFRHB1Q1Usd0JBQUksR0NzdUN0QjtFOEkzc0N1QyxBOUk2c0N4QyxTOEk3c0NpRCxDOUk2c0NqRCxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRnZrQ2EsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZ1a0NyRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRjFqQ2UscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZ1a0NyRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVzRnpqQ1UsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ1a0NyRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVzRjVpQ1ksa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGdWtDckYsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFdUZoL0JVLGdCQUFnQixBQUFBLGFBQWEsQ3ZGZy9CckUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFdUYvK0JVLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RisrQmpFLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRXVGdDlCWSxrQkFBa0IsQUFBQSxhQUFhLEN2RnM5QnpFLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRXVGcjlCWSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGKytCakUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFZ0czcUNhLG1CQUFtQixDaEcycUM5RCxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEUyR25vQ1csaUJBQWlCLEMzR21vQzFELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07RThJN3NDVSxTQUFTLEM5SThzQ2pELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07RW9GeGtDYSxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRndrQ3JGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07RW9GM2pDZSxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRndrQ3JGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXNGMWpDVSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRndrQ3JGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXNGN2lDWSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ3a0NyRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNO0V1RmovQlUsZ0JBQWdCLEFBQUEsYUFBYSxDdkZpL0JyRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNO0V1RmgvQlUsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGZy9CakUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtFdUZ2OUJZLGtCQUFrQixBQUFBLGFBQWEsQ3ZGdTlCekUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtFdUZ0OUJZLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZnL0JqRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNO0VnRzVxQ2EsbUJBQW1CLENoRzRxQzlELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07RTJHcG9DVyxpQkFBaUIsQzNHb29DMUQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxDQUFDO0lBQzNCLEtBQUssRUQxdUNVLHdCQUFJLEdDNHVDdEI7RThJanRDdUMsQTlJbXRDeEMsUzhJbnRDaUQsQzlJbXRDakQsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFb0Y3a0NTLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGNmtDckYsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFb0Zoa0NXLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNmtDckYsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFc0YvakNNLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNmtDckYsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFc0ZsakNRLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjZrQ3JGLGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRXVGdC9CTSxnQkFBZ0IsQUFBQSxhQUFhLEN2RnMvQnJFLGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRXVGci9CTSxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZxL0JqRSxlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEV1RjU5QlEsa0JBQWtCLEFBQUEsYUFBYSxDdkY0OUJ6RSxlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEV1RjM5QlEsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnEvQmpFLGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRWdHanJDUyxtQkFBbUIsQ2hHaXJDOUQsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFMkd6b0NPLGlCQUFpQixDM0d5b0MxRCxlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDL0IsS0FBSyxFRC91Q1UsSUFBSSxHQ2l2Q3RCO0U4SXR0Q3VDLEE5SXd0Q3hDLFM4SXh0Q2lELEM5SXd0Q2pELGVBQWUsQ0FBQyxjQUFjLEVvRmxsQ2EsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZrbENyRixlQUFlLENBQUMsY0FBYyxFb0Zya0NlLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGa2xDckYsZUFBZSxDQUFDLGNBQWMsRXNGcGtDVSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmtsQ3JGLGVBQWUsQ0FBQyxjQUFjLEVzRnZqQ1ksa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGa2xDckYsZUFBZSxDQUFDLGNBQWMsRXVGMy9CVSxnQkFBZ0IsQUFBQSxhQUFhLEN2RjIvQnJFLGVBQWUsQ0FBQyxjQUFjLEV1RjEvQlUsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMC9CakUsZUFBZSxDQUFDLGNBQWMsRXVGaitCWSxrQkFBa0IsQUFBQSxhQUFhLEN2RmkrQnpFLGVBQWUsQ0FBQyxjQUFjLEV1RmgrQlksa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjAvQmpFLGVBQWUsQ0FBQyxjQUFjLEVnR3RyQ2EsbUJBQW1CLENoR3NyQzlELGVBQWUsQ0FBQyxjQUFjLEUyRzlvQ1csaUJBQWlCLEMzRzhvQzFELGVBQWUsQ0FBQyxjQUFjLENBQUM7SUFDM0IsS0FBSyxFRHB2Q1UsSUFBSSxHQ3N2Q3RCO0U4STN0Q3VDLEE5STZ0Q3hDLFM4STd0Q2lELEM5STZ0Q2pELGVBQWUsQ0FBQyxlQUFlLEVvRnZsQ1ksbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZ1bENyRixlQUFlLENBQUMsZUFBZSxFb0Yxa0NjLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGdWxDckYsZUFBZSxDQUFDLGVBQWUsRXNGemtDUyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnVsQ3JGLGVBQWUsQ0FBQyxlQUFlLEVzRjVqQ1csa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGdWxDckYsZUFBZSxDQUFDLGVBQWUsRXVGaGdDUyxnQkFBZ0IsQUFBQSxhQUFhLEN2RmdnQ3JFLGVBQWUsQ0FBQyxlQUFlLEV1Ri8vQlMsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGKy9CakUsZUFBZSxDQUFDLGVBQWUsRXVGdCtCVyxrQkFBa0IsQUFBQSxhQUFhLEN2RnMrQnpFLGVBQWUsQ0FBQyxlQUFlLEV1RnIrQlcsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RisvQmpFLGVBQWUsQ0FBQyxlQUFlLEVnRzNyQ1ksbUJBQW1CLENoRzJyQzlELGVBQWUsQ0FBQyxlQUFlLEUyR25wQ1UsaUJBQWlCLEMzR21wQzFELGVBQWUsQ0FBQyxlQUFlLENBQUM7SUFDNUIsZ0JBQWdCLEVEenZDRCx3QkFBSSxHQzJ2Q3RCO0U4SWh1Q3VDLEE5SWt1Q3hDLFM4SWx1Q2lELEM5SWt1Q2pELGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFb0Y1bENjLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGNGxDckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVvRi9rQ2dCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNGxDckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVzRjlrQ1csZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY0bENyRixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRXNGamtDYSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY0bENyRixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRXVGcmdDVyxnQkFBZ0IsQUFBQSxhQUFhLEN2RnFnQ3JFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFdUZwZ0NXLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm9nQ2pFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFdUYzK0JhLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMitCekUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEV1RjErQmEsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm9nQ2pFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFZ0doc0NjLG1CQUFtQixDaEdnc0M5RCxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRTJHeHBDWSxpQkFBaUIsQzNHd3BDMUQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFBRSxLQUFLLEVEN3ZDbEIsd0JBQUksR0M2dkMyRDtFOElsdUMxQyxBOUlvdUN4QyxTOElwdUNpRCxDOUlvdUNqRCxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVvRjlsQ1EsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY4bENyRixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVvRmpsQ1UscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY4bENyRixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVzRmhsQ0ssZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY4bENyRixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVzRm5rQ08sa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGOGxDckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFdUZ2Z0NLLGdCQUFnQixBQUFBLGFBQWEsQ3ZGdWdDckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFdUZ0Z0NLLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnNnQ2pFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRXVGNytCTyxrQkFBa0IsQUFBQSxhQUFhLEN2RjYrQnpFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRXVGNStCTyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGc2dDakUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFZ0dsc0NRLG1CQUFtQixDaEdrc0M5RCxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEUyRzFwQ00saUJBQWlCLEMzRzBwQzFELGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU07RThJcHVDSyxTQUFTLEM5SXF1Q2pELGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU07RW9GL2xDUSxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRitsQ3JGLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU07RW9GbGxDVSxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRitsQ3JGLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU07RXNGamxDSyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRitsQ3JGLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU07RXNGcGtDTyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYrbENyRixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNO0V1RnhnQ0ssZ0JBQWdCLEFBQUEsYUFBYSxDdkZ3Z0NyRSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNO0V1RnZnQ0ssZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGdWdDakUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFdUY5K0JPLGtCQUFrQixBQUFBLGFBQWEsQ3ZGOCtCekUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFdUY3K0JPLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ1Z0NqRSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNO0VnR25zQ1EsbUJBQW1CLENoR21zQzlELGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU07RTJHM3BDTSxpQkFBaUIsQzNHMnBDMUQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxDQUFDO0lBQUUsS0FBSyxFRGh3Q3hCLHdCQUFJLEdDZ3dDdUU7RThJcnVDdEQsQTlJdXVDeEMsUzhJdnVDaUQsQzlJdXVDakQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRW9Gam1DRCxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRmltQ3JGLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVvRnBsQ0MscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZpbUNyRixlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFc0ZubENKLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGaW1DckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRXNGdGtDRixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZpbUNyRixlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFdUYxZ0NKLGdCQUFnQixBQUFBLGFBQWEsQ3ZGMGdDckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRXVGemdDSixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ5Z0NqRSxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFdUZoL0JGLGtCQUFrQixBQUFBLGFBQWEsQ3ZGZy9CekUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRXVGLytCRixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGeWdDakUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRWdHcnNDRCxtQkFBbUIsQ2hHcXNDOUQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRTJHN3BDSCxpQkFBaUIsQzNHNnBDMUQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRURsd0NqQyxJQUFJLEdDa3dDaUY7RThJdnVDaEUsQTlJNnVDeEMsUzhJN3VDaUQsQzlJNnVDakQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVvRnZtQ21CLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGdW1DckYsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVvRjFsQ3FCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGdW1DckYsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVzRnpsQ2dCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGdW1DckYsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVzRjVrQ2tCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnVtQ3JGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFdUZoaENnQixnQkFBZ0IsQUFBQSxhQUFhLEN2RmdoQ3JFLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFdUYvZ0NnQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYrZ0NqRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRXVGdC9Ca0Isa0JBQWtCLEFBQUEsYUFBYSxDdkZzL0J6RSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRXVGci9Ca0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RitnQ2pFLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFZ0czc0NtQixtQkFBbUIsQ2hHMnNDOUQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEUyR25xQ2lCLGlCQUFpQixDM0dtcUMxRCxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNyQixLQUFLLEVEendDVSx3QkFBSSxHQzJ3Q3RCO0U4SWh2Q3VDLEE5SWt2Q3hDLFM4SWx2Q2lELEM5SWt2Q2pELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GNW1DYSxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjRtQ3JGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GL2xDZSxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjRtQ3JGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRXNGOWxDVSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjRtQ3JGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRXNGamxDWSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY0bUNyRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEV1RnJoQ1UsZ0JBQWdCLEFBQUEsYUFBYSxDdkZxaENyRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEV1RnBoQ1UsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGb2hDakUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFdUYzL0JZLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMi9CekUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFdUYxL0JZLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvaENqRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVnR2h0Q2EsbUJBQW1CLENoR2d0QzlELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRTJHeHFDVyxpQkFBaUIsQzNHd3FDMUQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtFOElsdkNVLFNBQVMsQzlJbXZDakQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtFb0Y3bUNhLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGNm1DckYsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtFb0ZobUNlLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNm1DckYsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtFc0YvbENVLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNm1DckYsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtFc0ZsbENZLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjZtQ3JGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXVGdGhDVSxnQkFBZ0IsQUFBQSxhQUFhLEN2RnNoQ3JFLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXVGcmhDVSxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZxaENqRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNO0V1RjUvQlksa0JBQWtCLEFBQUEsYUFBYSxDdkY0L0J6RSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNO0V1RjMvQlksa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnFoQ2pFLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07RWdHanRDYSxtQkFBbUIsQ2hHaXRDOUQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtFMkd6cUNXLGlCQUFpQixDM0d5cUMxRCxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLENBQUM7SUFDM0IsS0FBSyxFRC93Q1Usd0JBQUksR0NpeEN0QjtFOEl0dkN1QyxBOUl3dkN4QyxTOEl4dkNpRCxDOUl3dkNqRCxlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVvRmxuQ1MsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZrbkNyRixlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVvRnJtQ1cscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZrbkNyRixlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVzRnBtQ00sZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZrbkNyRixlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVzRnZsQ1Esa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGa25DckYsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFdUYzaENNLGdCQUFnQixBQUFBLGFBQWEsQ3ZGMmhDckUsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFdUYxaENNLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjBoQ2pFLGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRXVGamdDUSxrQkFBa0IsQUFBQSxhQUFhLEN2RmlnQ3pFLGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRXVGaGdDUSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMGhDakUsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFZ0d0dENTLG1CQUFtQixDaEdzdEM5RCxlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEUyRzlxQ08saUJBQWlCLEMzRzhxQzFELGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUMvQixLQUFLLEVEcHhDVSxJQUFJLEdDc3hDdEI7RThJM3ZDdUMsQTlJNnZDeEMsUzhJN3ZDaUQsQzlJNnZDakQsZUFBZSxDQUFDLGNBQWMsRW9Gdm5DYSxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnVuQ3JGLGVBQWUsQ0FBQyxjQUFjLEVvRjFtQ2UscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZ1bkNyRixlQUFlLENBQUMsY0FBYyxFc0Z6bUNVLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGdW5DckYsZUFBZSxDQUFDLGNBQWMsRXNGNWxDWSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ1bkNyRixlQUFlLENBQUMsY0FBYyxFdUZoaUNVLGdCQUFnQixBQUFBLGFBQWEsQ3ZGZ2lDckUsZUFBZSxDQUFDLGNBQWMsRXVGL2hDVSxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYraENqRSxlQUFlLENBQUMsY0FBYyxFdUZ0Z0NZLGtCQUFrQixBQUFBLGFBQWEsQ3ZGc2dDekUsZUFBZSxDQUFDLGNBQWMsRXVGcmdDWSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGK2hDakUsZUFBZSxDQUFDLGNBQWMsRWdHM3RDYSxtQkFBbUIsQ2hHMnRDOUQsZUFBZSxDQUFDLGNBQWMsRTJHbnJDVyxpQkFBaUIsQzNHbXJDMUQsZUFBZSxDQUFDLGNBQWMsQ0FBQztJQUMzQixLQUFLLEVEenhDVSxJQUFJLEdDMnhDdEI7RThJaHdDdUMsQTlJa3dDeEMsUzhJbHdDaUQsQzlJa3dDakQsZUFBZSxDQUFDLGVBQWUsRW9GNW5DWSxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjRuQ3JGLGVBQWUsQ0FBQyxlQUFlLEVvRi9tQ2MscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY0bkNyRixlQUFlLENBQUMsZUFBZSxFc0Y5bUNTLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNG5DckYsZUFBZSxDQUFDLGVBQWUsRXNGam1DVyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY0bkNyRixlQUFlLENBQUMsZUFBZSxFdUZyaUNTLGdCQUFnQixBQUFBLGFBQWEsQ3ZGcWlDckUsZUFBZSxDQUFDLGVBQWUsRXVGcGlDUyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvaUNqRSxlQUFlLENBQUMsZUFBZSxFdUYzZ0NXLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMmdDekUsZUFBZSxDQUFDLGVBQWUsRXVGMWdDVyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGb2lDakUsZUFBZSxDQUFDLGVBQWUsRWdHaHVDWSxtQkFBbUIsQ2hHZ3VDOUQsZUFBZSxDQUFDLGVBQWUsRTJHeHJDVSxpQkFBaUIsQzNHd3JDMUQsZUFBZSxDQUFDLGVBQWUsQ0FBQztJQUM1QixnQkFBZ0IsRUQ5eENELHdCQUFJLEdDZ3lDdEI7RThJcndDdUMsQTlJdXdDeEMsUzhJdndDaUQsQzlJdXdDakQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVvRmpvQ2MsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZpb0NyRixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRW9GcG5DZ0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZpb0NyRixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRXNGbm5DVyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmlvQ3JGLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFc0Z0bUNhLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRmlvQ3JGLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFdUYxaUNXLGdCQUFnQixBQUFBLGFBQWEsQ3ZGMGlDckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEV1RnppQ1csZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGeWlDakUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEV1RmhoQ2Esa0JBQWtCLEFBQUEsYUFBYSxDdkZnaEN6RSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRXVGL2dDYSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGeWlDakUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVnR3J1Q2MsbUJBQW1CLENoR3F1QzlELGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFMkc3ckNZLGlCQUFpQixDM0c2ckMxRCxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUFFLEtBQUssRURseUNsQix3QkFBSSxHQ2t5QzJEO0U4SXZ3QzFDLEE5SXl3Q3hDLFM4SXp3Q2lELEM5SXl3Q2pELGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9Gbm9DUSxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRm1vQ3JGLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9GdG5DVSxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm1vQ3JGLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRXNGcm5DSyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRm1vQ3JGLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRXNGeG1DTyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZtb0NyRixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEV1RjVpQ0ssZ0JBQWdCLEFBQUEsYUFBYSxDdkY0aUNyRSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEV1RjNpQ0ssZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMmlDakUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFdUZsaENPLGtCQUFrQixBQUFBLGFBQWEsQ3ZGa2hDekUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFdUZqaENPLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYyaUNqRSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVnR3Z1Q1EsbUJBQW1CLENoR3V1QzlELGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRTJHL3JDTSxpQkFBaUIsQzNHK3JDMUQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFOEl6d0NLLFNBQVMsQzlJMHdDakQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFb0Zwb0NRLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGb29DckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFb0Z2bkNVLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGb29DckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFc0Z0bkNLLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGb29DckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFc0Z6bUNPLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRm9vQ3JGLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU07RXVGN2lDSyxnQkFBZ0IsQUFBQSxhQUFhLEN2RjZpQ3JFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU07RXVGNWlDSyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY0aUNqRSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNO0V1Rm5oQ08sa0JBQWtCLEFBQUEsYUFBYSxDdkZtaEN6RSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNO0V1RmxoQ08sa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjRpQ2pFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU07RWdHeHVDUSxtQkFBbUIsQ2hHd3VDOUQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFMkdoc0NNLGlCQUFpQixDM0dnc0MxRCxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLENBQUM7SUFBRSxLQUFLLEVEcnlDeEIsd0JBQUksR0NxeUN1RTtFOEkxd0N0RCxBOUk0d0N4QyxTOEk1d0NpRCxDOUk0d0NqRCxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFb0Z0b0NELG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGc29DckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRW9Gem5DQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnNvQ3JGLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVzRnhuQ0osZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZzb0NyRixlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFc0YzbUNGLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnNvQ3JGLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEV1Ri9pQ0osZ0JBQWdCLEFBQUEsYUFBYSxDdkYraUNyRSxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFdUY5aUNKLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjhpQ2pFLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEV1RnJoQ0Ysa0JBQWtCLEFBQUEsYUFBYSxDdkZxaEN6RSxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFdUZwaENGLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY4aUNqRSxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFZ0cxdUNELG1CQUFtQixDaEcwdUM5RCxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFMkdsc0NILGlCQUFpQixDM0drc0MxRCxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFRHZ5Q2pDLElBQUksR0N1eUNpRjtFOEk1d0NoRSxBOUlpeEN4QyxTOElqeENpRCxDOUlpeENqRCxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GM29Db0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYyb0NyRixjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GOW5Dc0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYyb0NyRixjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsRXNGN25DaUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEYyb0NyRixjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsRXNGaG5DbUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGMm9DckYsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1RnBqQ2lCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGb2pDckUsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1Rm5qQ2lCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm1qQ2pFLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFdUYxaENtQixrQkFBa0IsQUFBQSxhQUFhLEN2RjBoQ3pFLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFdUZ6aENtQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbWpDakUsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVnRy91Q29CLG1CQUFtQixDaEcrdUM5RCxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsRTJHdnNDa0IsaUJBQWlCLEMzR3VzQzFELGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLEtBQUssRUQ3eUNVLHdCQUFJLEdDK3lDdEI7RThJcHhDdUMsQTlJc3hDeEMsUzhJdHhDaUQsQzlJc3hDakQsY0FBYyxHQUFHLEVBQUUsQUFBQSxNQUFNLEdBQUcsQ0FBQyxFb0ZocENjLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGZ3BDckYsY0FBYyxHQUFHLEVBQUUsQUFBQSxNQUFNLEdBQUcsQ0FBQyxFb0Zub0NnQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmdwQ3JGLGNBQWMsR0FBRyxFQUFFLEFBQUEsTUFBTSxHQUFHLENBQUMsRXNGbG9DVyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmdwQ3JGLGNBQWMsR0FBRyxFQUFFLEFBQUEsTUFBTSxHQUFHLENBQUMsRXNGcm5DYSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZncENyRixjQUFjLEdBQUcsRUFBRSxBQUFBLE1BQU0sR0FBRyxDQUFDLEV1RnpqQ1csZ0JBQWdCLEFBQUEsYUFBYSxDdkZ5akNyRSxjQUFjLEdBQUcsRUFBRSxBQUFBLE1BQU0sR0FBRyxDQUFDLEV1RnhqQ1csZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGd2pDakUsY0FBYyxHQUFHLEVBQUUsQUFBQSxNQUFNLEdBQUcsQ0FBQyxFdUYvaENhLGtCQUFrQixBQUFBLGFBQWEsQ3ZGK2hDekUsY0FBYyxHQUFHLEVBQUUsQUFBQSxNQUFNLEdBQUcsQ0FBQyxFdUY5aENhLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ3akNqRSxjQUFjLEdBQUcsRUFBRSxBQUFBLE1BQU0sR0FBRyxDQUFDLEVnR3B2Q2MsbUJBQW1CLENoR292QzlELGNBQWMsR0FBRyxFQUFFLEFBQUEsTUFBTSxHQUFHLENBQUMsRTJHNXNDWSxpQkFBaUIsQzNHNHNDMUQsY0FBYyxHQUFHLEVBQUUsQUFBQSxNQUFNLEdBQUcsQ0FBQztFOEl0eENXLFNBQVMsQzlJdXhDakQsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtFb0ZqcENjLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGaXBDckYsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtFb0Zwb0NnQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmlwQ3JGLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXNGbm9DVyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmlwQ3JGLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXNGdG5DYSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZpcENyRixjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNO0V1RjFqQ1csZ0JBQWdCLEFBQUEsYUFBYSxDdkYwakNyRSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNO0V1RnpqQ1csZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGeWpDakUsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtFdUZoaUNhLGtCQUFrQixBQUFBLGFBQWEsQ3ZGZ2lDekUsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtFdUYvaENhLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ5akNqRSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNO0VnR3J2Q2MsbUJBQW1CLENoR3F2QzlELGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU07RTJHN3NDWSxpQkFBaUIsQzNHNnNDMUQsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtFOEl2eENXLFNBQVMsQzlJd3hDakQsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsUUFBUTtFb0ZscENZLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGa3BDckYsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsUUFBUTtFb0Zyb0NjLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGa3BDckYsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsUUFBUTtFc0Zwb0NTLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGa3BDckYsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsUUFBUTtFc0Z2bkNXLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRmtwQ3JGLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLFFBQVE7RXVGM2pDUyxnQkFBZ0IsQUFBQSxhQUFhLEN2RjJqQ3JFLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLFFBQVE7RXVGMWpDUyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYwakNqRSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxRQUFRO0V1RmppQ1csa0JBQWtCLEFBQUEsYUFBYSxDdkZpaUN6RSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxRQUFRO0V1RmhpQ1csa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjBqQ2pFLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLFFBQVE7RWdHdHZDWSxtQkFBbUIsQ2hHc3ZDOUQsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsUUFBUTtFMkc5c0NVLGlCQUFpQixDM0c4c0MxRCxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxRQUFRLENBQUM7SUFDNUIsS0FBSyxFRHB6Q1Usd0JBQUksR0NzekN0QjtFOEkzeEN1QyxBOUk2eEN4QyxTOEk3eENpRCxDOUk2eENqRCxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxPQUFPLEVvRnZwQ2EsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZ1cENyRixjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxPQUFPLEVvRjFvQ2UscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZ1cENyRixjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxPQUFPLEVzRnpvQ1UsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ1cENyRixjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxPQUFPLEVzRjVuQ1ksa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGdXBDckYsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFdUZoa0NVLGdCQUFnQixBQUFBLGFBQWEsQ3ZGZ2tDckUsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFdUYvakNVLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RitqQ2pFLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRXVGdGlDWSxrQkFBa0IsQUFBQSxhQUFhLEN2RnNpQ3pFLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRXVGcmlDWSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGK2pDakUsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFZ0czdkNhLG1CQUFtQixDaEcydkM5RCxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxPQUFPLEUyR250Q1csaUJBQWlCLEMzR210QzFELGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztJQUMzQixLQUFLLEVEenpDVSxJQUFJLEdDMnpDdEI7RThJaHlDdUMsQTlJa3lDeEMsUzhJbHlDaUQsQzlJa3lDakQsY0FBYyxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFb0Y1cENVLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGNHBDckYsY0FBYyxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFb0Yvb0NZLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNHBDckYsY0FBYyxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFc0Y5b0NPLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNHBDckYsY0FBYyxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFc0Zqb0NTLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjRwQ3JGLGNBQWMsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRXVGcmtDTyxnQkFBZ0IsQUFBQSxhQUFhLEN2RnFrQ3JFLGNBQWMsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRXVGcGtDTyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZva0NqRSxjQUFjLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEV1RjNpQ1Msa0JBQWtCLEFBQUEsYUFBYSxDdkYyaUN6RSxjQUFjLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEV1RjFpQ1Msa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm9rQ2pFLGNBQWMsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRWdHaHdDVSxtQkFBbUIsQ2hHZ3dDOUQsY0FBYyxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFMkd4dENRLGlCQUFpQixDM0d3dEMxRCxjQUFjLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDOUIsS0FBSyxFRDl6Q1UsSUFBSSxHQ2cwQ3RCO0U4SXJ5Q3VDLEE5SXV5Q3hDLFM4SXZ5Q2lELEM5SXV5Q2pELGVBQWUsRW9GanFDNEIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZpcUNyRixlQUFlLEVvRnBwQzhCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGaXFDckYsZUFBZSxFc0ZucEN5QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmlxQ3JGLGVBQWUsRXNGdG9DMkIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGaXFDckYsZUFBZSxFdUYxa0N5QixnQkFBZ0IsQUFBQSxhQUFhLEN2RjBrQ3JFLGVBQWUsRXVGemtDeUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGeWtDakUsZUFBZSxFdUZoakMyQixrQkFBa0IsQUFBQSxhQUFhLEN2RmdqQ3pFLGVBQWUsRXVGL2lDMkIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnlrQ2pFLGVBQWUsRWdHcndDNEIsbUJBQW1CLENoR3F3QzlELGVBQWUsRTJHN3RDMEIsaUJBQWlCLEMzRzZ0QzFELGVBQWUsQ0FBQztJQUNaLEtBQUssRURuMENVLHdCQUFJLEdDcTBDdEI7RThJMXlDdUMsQTlJNHlDeEMsUzhJNXlDaUQsQzlJNHlDakQsaUJBQWlCLEVvRnRxQzBCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGc3FDckYsaUJBQWlCLEVvRnpwQzRCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGc3FDckYsaUJBQWlCLEVzRnhwQ3VCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGc3FDckYsaUJBQWlCLEVzRjNvQ3lCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnNxQ3JGLGlCQUFpQixFdUYva0N1QixnQkFBZ0IsQUFBQSxhQUFhLEN2RitrQ3JFLGlCQUFpQixFdUY5a0N1QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY4a0NqRSxpQkFBaUIsRXVGcmpDeUIsa0JBQWtCLEFBQUEsYUFBYSxDdkZxakN6RSxpQkFBaUIsRXVGcGpDeUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjhrQ2pFLGlCQUFpQixFZ0cxd0MwQixtQkFBbUIsQ2hHMHdDOUQsaUJBQWlCLEUyR2x1Q3dCLGlCQUFpQixDM0drdUMxRCxpQkFBaUIsQ0FBQztJQUNkLEtBQUssRUR4MENVLHdCQUFJLEdDMDBDdEI7RThJL3lDdUMsQTlJaXpDeEMsUzhJanpDaUQsQzlJaXpDakQsaUJBQWlCLEFBQUEsTUFBTSxFb0YzcUNvQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjJxQ3JGLGlCQUFpQixBQUFBLE1BQU0sRW9GOXBDc0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYycUNyRixpQkFBaUIsQUFBQSxNQUFNLEVzRjdwQ2lCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMnFDckYsaUJBQWlCLEFBQUEsTUFBTSxFc0ZocENtQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYycUNyRixpQkFBaUIsQUFBQSxNQUFNLEV1RnBsQ2lCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGb2xDckUsaUJBQWlCLEFBQUEsTUFBTSxFdUZubENpQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtbENqRSxpQkFBaUIsQUFBQSxNQUFNLEV1RjFqQ21CLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMGpDekUsaUJBQWlCLEFBQUEsTUFBTSxFdUZ6akNtQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbWxDakUsaUJBQWlCLEFBQUEsTUFBTSxFZ0cvd0NvQixtQkFBbUIsQ2hHK3dDOUQsaUJBQWlCLEFBQUEsTUFBTSxFMkd2dUNrQixpQkFBaUIsQzNHdXVDMUQsaUJBQWlCLEFBQUEsTUFBTTtFOElqekNpQixTQUFTLEM5SWt6Q2pELGlCQUFpQixBQUFBLE1BQU07RW9GNXFDb0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY0cUNyRixpQkFBaUIsQUFBQSxNQUFNO0VvRi9wQ3NCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGNHFDckYsaUJBQWlCLEFBQUEsTUFBTTtFc0Y5cENpQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjRxQ3JGLGlCQUFpQixBQUFBLE1BQU07RXNGanBDbUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNHFDckYsaUJBQWlCLEFBQUEsTUFBTTtFdUZybENpQixnQkFBZ0IsQUFBQSxhQUFhLEN2RnFsQ3JFLGlCQUFpQixBQUFBLE1BQU07RXVGcGxDaUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGb2xDakUsaUJBQWlCLEFBQUEsTUFBTTtFdUYzakNtQixrQkFBa0IsQUFBQSxhQUFhLEN2RjJqQ3pFLGlCQUFpQixBQUFBLE1BQU07RXVGMWpDbUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm9sQ2pFLGlCQUFpQixBQUFBLE1BQU07RWdHaHhDb0IsbUJBQW1CLENoR2d4QzlELGlCQUFpQixBQUFBLE1BQU07RTJHeHVDa0IsaUJBQWlCLEMzR3d1QzFELGlCQUFpQixBQUFBLE1BQU07RThJbHpDaUIsU0FBUyxDOUltekNqRCxpQkFBaUIsQUFBQSxRQUFRO0VvRjdxQ2tCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGNnFDckYsaUJBQWlCLEFBQUEsUUFBUTtFb0ZocUNvQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjZxQ3JGLGlCQUFpQixBQUFBLFFBQVE7RXNGL3BDZSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjZxQ3JGLGlCQUFpQixBQUFBLFFBQVE7RXNGbHBDaUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNnFDckYsaUJBQWlCLEFBQUEsUUFBUTtFdUZ0bENlLGdCQUFnQixBQUFBLGFBQWEsQ3ZGc2xDckUsaUJBQWlCLEFBQUEsUUFBUTtFdUZybENlLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnFsQ2pFLGlCQUFpQixBQUFBLFFBQVE7RXVGNWpDaUIsa0JBQWtCLEFBQUEsYUFBYSxDdkY0akN6RSxpQkFBaUIsQUFBQSxRQUFRO0V1RjNqQ2lCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZxbENqRSxpQkFBaUIsQUFBQSxRQUFRO0VnR2p4Q2tCLG1CQUFtQixDaEdpeEM5RCxpQkFBaUIsQUFBQSxRQUFRO0UyR3p1Q2dCLGlCQUFpQixDM0d5dUMxRCxpQkFBaUIsQUFBQSxRQUFRLENBQUM7SUFDdEIsS0FBSyxFRC8wQ1Usd0JBQUksR0NpMUN0QjtFOEl0ekN1QyxBOUkyekN4QyxTOEkzekNpRCxDOUkyekNqRCxVQUFVLEdBQUcsQ0FBQyxHQUFHLFlBQVksRW9GcnJDYyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnFyQ3JGLFVBQVUsR0FBRyxDQUFDLEdBQUcsWUFBWSxFb0Z4cUNnQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnFyQ3JGLFVBQVUsR0FBRyxDQUFDLEdBQUcsWUFBWSxFc0Z2cUNXLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGcXJDckYsVUFBVSxHQUFHLENBQUMsR0FBRyxZQUFZLEVzRjFwQ2Esa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGcXJDckYsVUFBVSxHQUFHLENBQUMsR0FBRyxZQUFZLEV1RjlsQ1csZ0JBQWdCLEFBQUEsYUFBYSxDdkY4bENyRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLFlBQVksRXVGN2xDVyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY2bENqRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLFlBQVksRXVGcGtDYSxrQkFBa0IsQUFBQSxhQUFhLEN2Rm9rQ3pFLFVBQVUsR0FBRyxDQUFDLEdBQUcsWUFBWSxFdUZua0NhLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY2bENqRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLFlBQVksRWdHenhDYyxtQkFBbUIsQ2hHeXhDOUQsVUFBVSxHQUFHLENBQUMsR0FBRyxZQUFZLEUyR2p2Q1ksaUJBQWlCLEMzR2l2QzFELFVBQVUsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDO0lBQzFCLEtBQUssRUR2MUNVLHdCQUFJLEdDeTFDdEI7RThJOXpDdUMsQTlJZzBDeEMsUzhJaDBDaUQsQzlJZzBDakQsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0YxckNtQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjByQ3JGLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GN3FDcUIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYwckNyRixVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVzRjVxQ2dCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMHJDckYsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFc0YvcENrQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYwckNyRixVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEV1Rm5tQ2dCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGbW1DckUsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFdUZsbUNnQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZrbUNqRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEV1RnprQ2tCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGeWtDekUsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFdUZ4a0NrQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGa21DakUsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFZ0c5eENtQixtQkFBbUIsQ2hHOHhDOUQsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFMkd0dkNpQixpQkFBaUIsQzNHc3ZDMUQsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTTtFOEloMENnQixTQUFTLEM5SWkwQ2pELFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RW9GM3JDbUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYyckNyRixVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0VvRjlxQ3FCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGMnJDckYsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTTtFc0Y3cUNnQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjJyQ3JGLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXNGaHFDa0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGMnJDckYsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTTtFdUZwbUNnQixnQkFBZ0IsQUFBQSxhQUFhLEN2Rm9tQ3JFLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXVGbm1DZ0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbW1DakUsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTTtFdUYxa0NrQixrQkFBa0IsQUFBQSxhQUFhLEN2RjBrQ3pFLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXVGemtDa0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm1tQ2pFLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RWdHL3hDbUIsbUJBQW1CLENoRyt4QzlELFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RTJHdnZDaUIsaUJBQWlCLEMzR3V2QzFELFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sQ0FBQztJQUNyQixLQUFLLEVENzFDVSx3QkFBSSxHQysxQ3RCO0U4SXAwQ3VDLEE5SXMwQ3hDLFM4SXQwQ2lELEM5SXMwQ2pELFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0Zoc0NnQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRmdzQ3JGLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0ZuckNrQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmdzQ3JGLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFc0ZsckNhLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGZ3NDckYsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVzRnJxQ2Usa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGZ3NDckYsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEV1RnptQ2EsZ0JBQWdCLEFBQUEsYUFBYSxDdkZ5bUNyRSxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsRXVGeG1DYSxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ3bUNqRSxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsRXVGL2tDZSxrQkFBa0IsQUFBQSxhQUFhLEN2RitrQ3pFLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFdUY5a0NlLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ3bUNqRSxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsRWdHcHlDZ0IsbUJBQW1CLENoR295QzlELFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFMkc1dkNjLGlCQUFpQixDM0c0dkMxRCxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUN4QixLQUFLLEVEbDJDVSxJQUFJLEdDbzJDdEI7RThJejBDdUMsQTlJKzBDeEMsUzhJLzBDaUQsQzlJKzBDakQsa0JBQWtCLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENrSHpxQ3JCLGdCQUFnQixDbEh5cUNzQixRQUFRLEVvRnpzQ3ZCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGeXNDckYsa0JBQWtCLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENrSHpxQ3JCLGdCQUFnQixDbEh5cUNzQixRQUFRLEVvRjVyQ3JCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGeXNDckYsa0JBQWtCLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENrSHpxQ3JCLGdCQUFnQixDbEh5cUNzQixRQUFRLEVzRjNyQzFCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGeXNDckYsa0JBQWtCLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENrSHpxQ3JCLGdCQUFnQixDbEh5cUNzQixRQUFRLEVzRjlxQ3hCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnlzQ3JGLGtCQUFrQixHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDa0h6cUNyQixnQkFBZ0IsQ2xIeXFDc0IsUUFBUSxFdUZsbkMxQixnQkFBZ0IsQUFBQSxhQUFhLEN2RmtuQ3JFLGtCQUFrQixHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDa0h6cUNyQixnQkFBZ0IsQ2xIeXFDc0IsUUFBUSxFdUZqbkMxQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZpbkNqRSxrQkFBa0IsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ2tIenFDckIsZ0JBQWdCLENsSHlxQ3NCLFFBQVEsRXVGeGxDeEIsa0JBQWtCLEFBQUEsYUFBYSxDdkZ3bEN6RSxrQkFBa0IsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ2tIenFDckIsZ0JBQWdCLENsSHlxQ3NCLFFBQVEsRXVGdmxDeEIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RmluQ2pFLGtCQUFrQixHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDa0h6cUNyQixnQkFBZ0IsQ2xIeXFDc0IsUUFBUSxFZ0c3eUN2QixtQkFBbUIsQ2hHNnlDOUQsa0JBQWtCLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENrSHpxQ3JCLGdCQUFnQixDbEh5cUNzQixRQUFRLEUyR3J3Q3pCLGlCQUFpQixDM0dxd0MxRCxrQkFBa0IsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ2tIenFDckIsZ0JBQWdCLENsSHlxQ3NCLFFBQVEsQ0FBQztJQUMvRCxpQkFBaUIsRUQzMkNGLHdCQUFJLEdDNjJDdEI7RThJbDFDdUMsQTlJdzFDeEMsUzhJeDFDaUQsQzlJdzFDakQsZUFBZSxHQUFHLENBQUMsR0FBRyxZQUFZLEVvRmx0Q1MsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZrdENyRixlQUFlLEdBQUcsQ0FBQyxHQUFHLFlBQVksRW9GcnNDVyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmt0Q3JGLGVBQWUsR0FBRyxDQUFDLEdBQUcsWUFBWSxFc0Zwc0NNLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGa3RDckYsZUFBZSxHQUFHLENBQUMsR0FBRyxZQUFZLEVzRnZyQ1Esa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGa3RDckYsZUFBZSxHQUFHLENBQUMsR0FBRyxZQUFZLEV1RjNuQ00sZ0JBQWdCLEFBQUEsYUFBYSxDdkYybkNyRSxlQUFlLEdBQUcsQ0FBQyxHQUFHLFlBQVksRXVGMW5DTSxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYwbkNqRSxlQUFlLEdBQUcsQ0FBQyxHQUFHLFlBQVksRXVGam1DUSxrQkFBa0IsQUFBQSxhQUFhLEN2RmltQ3pFLGVBQWUsR0FBRyxDQUFDLEdBQUcsWUFBWSxFdUZobUNRLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYwbkNqRSxlQUFlLEdBQUcsQ0FBQyxHQUFHLFlBQVksRWdHdHpDUyxtQkFBbUIsQ2hHc3pDOUQsZUFBZSxHQUFHLENBQUMsR0FBRyxZQUFZLEUyRzl3Q08saUJBQWlCLEMzRzh3QzFELGVBQWUsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDO0lBQy9CLGdCQUFnQixFRHhmYyxXQUFXO0lDeWZ6QyxLQUFLLEVEcjNDVSx3QkFBSSxHQ3UzQ3RCO0U4STUxQ3VDLEE5STgxQ3hDLFM4STkxQ2lELEM5STgxQ2pELGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GeHRDYyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnd0Q3JGLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GM3NDZ0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZ3dENyRixlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVzRjFzQ1csZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ3dENyRixlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVzRjdyQ2Esa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGd3RDckYsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFdUZqb0NXLGdCQUFnQixBQUFBLGFBQWEsQ3ZGaW9DckUsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFdUZob0NXLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RmdvQ2pFLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRXVGdm1DYSxrQkFBa0IsQUFBQSxhQUFhLEN2RnVtQ3pFLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRXVGdG1DYSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGZ29DakUsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFZ0c1ekNjLG1CQUFtQixDaEc0ekM5RCxlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEUyR3B4Q1ksaUJBQWlCLEMzR294QzFELGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RThJOTFDVyxTQUFTLEM5SSsxQ2pELGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RW9GenRDYyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnl0Q3JGLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RW9GNXNDZ0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZ5dENyRixlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0VzRjNzQ1csZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ5dENyRixlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0VzRjlyQ2Esa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGeXRDckYsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTTtFdUZsb0NXLGdCQUFnQixBQUFBLGFBQWEsQ3ZGa29DckUsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTTtFdUZqb0NXLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RmlvQ2pFLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXVGeG1DYSxrQkFBa0IsQUFBQSxhQUFhLEN2RndtQ3pFLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXVGdm1DYSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGaW9DakUsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTTtFZ0c3ekNjLG1CQUFtQixDaEc2ekM5RCxlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0UyR3J4Q1ksaUJBQWlCLEMzR3F4QzFELGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sQ0FBQztJQUMxQixnQkFBZ0IsRUQzM0NELHdCQUFJO0lDNDNDbkIsS0FBSyxFRDUzQ1Usd0JBQUksR0M4M0N0QjtFOEluMkN1QyxBOUlxMkN4QyxTOElyMkNpRCxDOUlxMkNqRCxlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxPQUFPLEVvRi90Q2EsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYrdENyRixlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxPQUFPLEVvRmx0Q2UscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYrdENyRixlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxPQUFPLEVzRmp0Q1UsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEYrdENyRixlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxPQUFPLEVzRnBzQ1ksa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGK3RDckYsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsT0FBTyxFdUZ4b0NVLGdCQUFnQixBQUFBLGFBQWEsQ3ZGd29DckUsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsT0FBTyxFdUZ2b0NVLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnVvQ2pFLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRXVGOW1DWSxrQkFBa0IsQUFBQSxhQUFhLEN2RjhtQ3pFLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRXVGN21DWSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGdW9DakUsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsT0FBTyxFZ0duMENhLG1CQUFtQixDaEdtMEM5RCxlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxPQUFPLEUyRzN4Q1csaUJBQWlCLEMzRzJ4QzFELGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztJQUMzQixnQkFBZ0IsRURqNENELHdCQUFJO0lDazRDbkIsS0FBSyxFRGw0Q1Usd0JBQUksR0NvNEN0QjtFOEl6MkN1QyxBOUkyMkN4QyxTOEkzMkNpRCxDOUkyMkNqRCxlQUFlLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GcnVDVyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnF1Q3JGLGVBQWUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0Z4dENhLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGcXVDckYsZUFBZSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVzRnZ0Q1EsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZxdUNyRixlQUFlLEdBQUcsVUFBVSxHQUFHLENBQUMsRXNGMXNDVSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZxdUNyRixlQUFlLEdBQUcsVUFBVSxHQUFHLENBQUMsRXVGOW9DUSxnQkFBZ0IsQUFBQSxhQUFhLEN2RjhvQ3JFLGVBQWUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFdUY3b0NRLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjZvQ2pFLGVBQWUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFdUZwbkNVLGtCQUFrQixBQUFBLGFBQWEsQ3ZGb25DekUsZUFBZSxHQUFHLFVBQVUsR0FBRyxDQUFDLEV1Rm5uQ1Usa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjZvQ2pFLGVBQWUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFZ0d6MENXLG1CQUFtQixDaEd5MEM5RCxlQUFlLEdBQUcsVUFBVSxHQUFHLENBQUMsRTJHanlDUyxpQkFBaUIsQzNHaXlDMUQsZUFBZSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDN0IsZ0JBQWdCLEVEdjRDRCxJQUFJO0lDdzRDbkIsS0FBSyxFRDM0Q0UsSUFBSSxHQzY0Q2Q7RThJLzJDdUMsQTlJcTNDeEMsUzhJcjNDaUQsQzlJcTNDakQsVUFBVSxHQUFHLFlBQVksR0FBRyxDQUFDLEVvRi91Q2MsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYrdUNyRixVQUFVLEdBQUcsWUFBWSxHQUFHLENBQUMsRW9GbHVDZ0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYrdUNyRixVQUFVLEdBQUcsWUFBWSxHQUFHLENBQUMsRXNGanVDVyxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRit1Q3JGLFVBQVUsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFc0ZwdENhLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRit1Q3JGLFVBQVUsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFdUZ4cENXLGdCQUFnQixBQUFBLGFBQWEsQ3ZGd3BDckUsVUFBVSxHQUFHLFlBQVksR0FBRyxDQUFDLEV1RnZwQ1csZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGdXBDakUsVUFBVSxHQUFHLFlBQVksR0FBRyxDQUFDLEV1RjluQ2Esa0JBQWtCLEFBQUEsYUFBYSxDdkY4bkN6RSxVQUFVLEdBQUcsWUFBWSxHQUFHLENBQUMsRXVGN25DYSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGdXBDakUsVUFBVSxHQUFHLFlBQVksR0FBRyxDQUFDLEVnR24xQ2MsbUJBQW1CLENoR20xQzlELFVBQVUsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFMkczeUNZLGlCQUFpQixDM0cyeUMxRCxVQUFVLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQztJQUMxQixLQUFLLEVEajVDVSx3QkFBSSxHQ201Q3RCO0U4SXgzQ3VDLEE5STBQeEMsUzhJMVBpRCxDOUkwUGpELGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFb0ZwSHFCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGb0hyRixjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsRW9Gdkd1QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm9IckYsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLEVzRnRHa0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZvSHJGLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFc0Z6Rm9CLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRm9IckYsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLEV1RjdCa0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkY2QnJFLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFdUY1QmtCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjRCakUsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLEV1RkhvQixrQkFBa0IsQUFBQSxhQUFhLEN2Rkd6RSxjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsRXVGRm9CLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY0QmpFLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFZ0d4TnFCLG1CQUFtQixDaEd3TjlELGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFMkdoTG1CLGlCQUFpQixDM0dnTDFELGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLEtBQUssRUR0UlUsd0JBQUksR0N3UnRCO0U4STdQdUMsQTlJK1B4QyxTOEkvUGlELEM5SStQakQsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRnpIZ0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZ5SHJGLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFb0Y1R2tCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGeUhyRixjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRXNGM0dhLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGeUhyRixjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRXNGOUZlLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnlIckYsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEV1RmxDYSxnQkFBZ0IsQUFBQSxhQUFhLEN2RmtDckUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEV1RmpDYSxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZpQ2pFLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFdUZSZSxrQkFBa0IsQUFBQSxhQUFhLEN2RlF6RSxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRXVGUGUsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RmlDakUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVnRzdOZ0IsbUJBQW1CLENoRzZOOUQsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEUyR3JMYyxpQkFBaUIsQzNHcUwxRCxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU07RThJL1BhLFNBQVMsQzlJZ1FqRCxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU07RW9GMUhnQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjBIckYsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNO0VvRjdHa0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYwSHJGLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTTtFc0Y1R2EsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEYwSHJGLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTTtFc0YvRmUsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGMEhyRixjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU07RXVGbkNhLGdCQUFnQixBQUFBLGFBQWEsQ3ZGbUNyRSxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU07RXVGbENhLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RmtDakUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNO0V1RlRlLGtCQUFrQixBQUFBLGFBQWEsQ3ZGU3pFLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTTtFdUZSZSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGa0NqRSxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU07RWdHOU5nQixtQkFBbUIsQ2hHOE45RCxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU07RTJHdExjLGlCQUFpQixDM0dzTDFELGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLEtBQUssRUQ1UlUsd0JBQUksR0M4UnRCO0U4SW5RdUMsQTlJMFF4QyxTOEkxUWlELEM5STBRakQsY0FBYyxHQUFHLFdBQVcsR0FBRyxDQUFDLEVvRnBJVyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRm9JckYsY0FBYyxHQUFHLFdBQVcsR0FBRyxDQUFDLEVvRnZIYSxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm9JckYsY0FBYyxHQUFHLFdBQVcsR0FBRyxDQUFDLEVzRnRIUSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRm9JckYsY0FBYyxHQUFHLFdBQVcsR0FBRyxDQUFDLEVzRnpHVSxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZvSXJGLGNBQWMsR0FBRyxXQUFXLEdBQUcsQ0FBQyxFdUY3Q1EsZ0JBQWdCLEFBQUEsYUFBYSxDdkY2Q3JFLGNBQWMsR0FBRyxXQUFXLEdBQUcsQ0FBQyxFdUY1Q1EsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGNENqRSxjQUFjLEdBQUcsV0FBVyxHQUFHLENBQUMsRXVGbkJVLGtCQUFrQixBQUFBLGFBQWEsQ3ZGbUJ6RSxjQUFjLEdBQUcsV0FBVyxHQUFHLENBQUMsRXVGbEJVLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY0Q2pFLGNBQWMsR0FBRyxXQUFXLEdBQUcsQ0FBQyxFZ0d4T1csbUJBQW1CLENoR3dPOUQsY0FBYyxHQUFHLFdBQVcsR0FBRyxDQUFDLEUyR2hNUyxpQkFBaUIsQzNHZ00xRCxjQUFjLEdBQUcsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUM3QixLQUFLLEVEdFNVLHdCQUFJLEdDd1N0QjtFOEk3UXVDLEE5SW1SeEMsUzhJblJpRCxDOUltUmpELGNBQWMsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ2tIN0dqQixnQkFBZ0IsQ2xINkdrQixRQUFRLEVvRjdJbkIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY2SXJGLGNBQWMsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ2tIN0dqQixnQkFBZ0IsQ2xINkdrQixRQUFRLEVvRmhJakIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY2SXJGLGNBQWMsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ2tIN0dqQixnQkFBZ0IsQ2xINkdrQixRQUFRLEVzRi9IdEIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY2SXJGLGNBQWMsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ2tIN0dqQixnQkFBZ0IsQ2xINkdrQixRQUFRLEVzRmxIcEIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNklyRixjQUFjLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENrSDdHakIsZ0JBQWdCLENsSDZHa0IsUUFBUSxFdUZ0RHRCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGc0RyRSxjQUFjLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENrSDdHakIsZ0JBQWdCLENsSDZHa0IsUUFBUSxFdUZyRHRCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnFEakUsY0FBYyxHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDa0g3R2pCLGdCQUFnQixDbEg2R2tCLFFBQVEsRXVGNUJwQixrQkFBa0IsQUFBQSxhQUFhLEN2RjRCekUsY0FBYyxHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDa0g3R2pCLGdCQUFnQixDbEg2R2tCLFFBQVEsRXVGM0JwQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGcURqRSxjQUFjLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENrSDdHakIsZ0JBQWdCLENsSDZHa0IsUUFBUSxFZ0dqUG5CLG1CQUFtQixDaEdpUDlELGNBQWMsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ2tIN0dqQixnQkFBZ0IsQ2xINkdrQixRQUFRLEUyR3pNckIsaUJBQWlCLEMzR3lNMUQsY0FBYyxHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDa0g3R2pCLGdCQUFnQixDbEg2R2tCLFFBQVEsQ0FBQztJQUMzRCxLQUFLLEVEL1NVLHdCQUFJLEdDaVR0QjtFOEl0UnVDLEE5STYzQ3hDLFM4STczQ2lELEM5STYzQ2pELGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFb0Z2dkNxQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnV2Q3JGLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFb0YxdUN1QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnV2Q3JGLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFc0Z6dUNrQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnV2Q3JGLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFc0Y1dENvQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ1dkNyRixjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsRXVGaHFDa0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZncUNyRSxjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsRXVGL3BDa0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGK3BDakUsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLEV1RnRvQ29CLGtCQUFrQixBQUFBLGFBQWEsQ3ZGc29DekUsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLEV1RnJvQ29CLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYrcENqRSxjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsRWdHMzFDcUIsbUJBQW1CLENoRzIxQzlELGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFMkduekNtQixpQkFBaUIsQzNHbXpDMUQsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkIsS0FBSyxFRHo1Q1Usd0JBQUksR0MyNUN0QjtFOEloNEN1QyxBOUlrNEN4QyxTOElsNENpRCxDOUlrNENqRCxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW9GNXZDZ0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY0dkNyRixjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW9GL3VDa0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY0dkNyRixjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRXNGOXVDYSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjR2Q3JGLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFc0ZqdUNlLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjR2Q3JGLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFdUZycUNhLGdCQUFnQixBQUFBLGFBQWEsQ3ZGcXFDckUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEV1RnBxQ2EsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGb3FDakUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEV1RjNvQ2Usa0JBQWtCLEFBQUEsYUFBYSxDdkYyb0N6RSxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRXVGMW9DZSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGb3FDakUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVnR2gyQ2dCLG1CQUFtQixDaEdnMkM5RCxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRTJHeHpDYyxpQkFBaUIsQzNHd3pDMUQsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNO0U4SWw0Q2EsU0FBUyxDOUltNENqRCxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU07RW9GN3ZDZ0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY2dkNyRixjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU07RW9GaHZDa0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY2dkNyRixjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU07RXNGL3VDYSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjZ2Q3JGLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTTtFc0ZsdUNlLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjZ2Q3JGLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTTtFdUZ0cUNhLGdCQUFnQixBQUFBLGFBQWEsQ3ZGc3FDckUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNO0V1RnJxQ2EsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGcXFDakUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNO0V1RjVvQ2Usa0JBQWtCLEFBQUEsYUFBYSxDdkY0b0N6RSxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU07RXVGM29DZSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGcXFDakUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNO0VnR2oyQ2dCLG1CQUFtQixDaEdpMkM5RCxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU07RTJHenpDYyxpQkFBaUIsQzNHeXpDMUQsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDeEIsS0FBSyxFRC81Q1Usd0JBQUksR0NpNkN0QjtFOEl0NEN1QyxBOUl3NEN4QyxTOEl4NENpRCxDOUl3NENqRCxjQUFjLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GbHdDWSxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRmt3Q3JGLGNBQWMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0ZydkNjLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGa3dDckYsY0FBYyxHQUFHLFVBQVUsR0FBRyxDQUFDLEVzRnB2Q1MsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZrd0NyRixjQUFjLEdBQUcsVUFBVSxHQUFHLENBQUMsRXNGdnVDVyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZrd0NyRixjQUFjLEdBQUcsVUFBVSxHQUFHLENBQUMsRXVGM3FDUyxnQkFBZ0IsQUFBQSxhQUFhLEN2RjJxQ3JFLGNBQWMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFdUYxcUNTLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjBxQ2pFLGNBQWMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFdUZqcENXLGtCQUFrQixBQUFBLGFBQWEsQ3ZGaXBDekUsY0FBYyxHQUFHLFVBQVUsR0FBRyxDQUFDLEV1RmhwQ1csa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjBxQ2pFLGNBQWMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFZ0d0MkNZLG1CQUFtQixDaEdzMkM5RCxjQUFjLEdBQUcsVUFBVSxHQUFHLENBQUMsRTJHOXpDVSxpQkFBaUIsQzNHOHpDMUQsY0FBYyxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDNUIsS0FBSyxFRHA2Q1Usd0JBQUksR0NzNkN0QjtFOEkzNEN1QyxBOUk2NEN4QyxTOEk3NENpRCxDOUk2NENqRCxjQUFjLEdBQUcsWUFBWSxHQUFHLENBQUMsRW9GdndDVSxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnV3Q3JGLGNBQWMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFb0YxdkNZLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGdXdDckYsY0FBYyxHQUFHLFlBQVksR0FBRyxDQUFDLEVzRnp2Q08sZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ1d0NyRixjQUFjLEdBQUcsWUFBWSxHQUFHLENBQUMsRXNGNXVDUyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ1d0NyRixjQUFjLEdBQUcsWUFBWSxHQUFHLENBQUMsRXVGaHJDTyxnQkFBZ0IsQUFBQSxhQUFhLEN2RmdyQ3JFLGNBQWMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFdUYvcUNPLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RitxQ2pFLGNBQWMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFdUZ0cENTLGtCQUFrQixBQUFBLGFBQWEsQ3ZGc3BDekUsY0FBYyxHQUFHLFlBQVksR0FBRyxDQUFDLEV1RnJwQ1Msa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RitxQ2pFLGNBQWMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFZ0czMkNVLG1CQUFtQixDaEcyMkM5RCxjQUFjLEdBQUcsWUFBWSxHQUFHLENBQUMsRTJHbjBDUSxpQkFBaUIsQzNHbTBDMUQsY0FBYyxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDOUIsS0FBSyxFRHo2Q1Usd0JBQUksR0MyNkN0QjtFOEloNUN1QyxBOUk0NER4QyxTOEk1NERpRCxDOUlxNUNqRCxPQUFPLEFBdWZOLFFBQVEsRW9GdHdEa0MsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEYrd0NyRixPQUFPLEFBdWZOLFFBQVEsRW9GenZEb0MscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYrd0NyRixPQUFPLEFBdWZOLFFBQVEsRXNGeHZEK0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEYrd0NyRixPQUFPLEFBdWZOLFFBQVEsRXNGM3VEaUMsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGK3dDckYsT0FBTyxBQXVmTixRQUFRLEV1Ri9xRCtCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGd3JDckUsT0FBTyxBQXVmTixRQUFRLEV1RjlxRCtCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnVyQ2pFLE9BQU8sQUF1Zk4sUUFBUSxFdUZycERpQyxrQkFBa0IsQUFBQSxhQUFhLEN2RjhwQ3pFLE9BQU8sQUF1Zk4sUUFBUSxFdUZwcERpQyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGdXJDakUsT0FBTyxBQXVmTixRQUFRLEVnRzEyRGtDLG1CQUFtQixDaEdtM0M5RCxPQUFPLEFBdWZOLFFBQVEsRTJHbDBEZ0MsaUJBQWlCLEMzRzIwQzFELE9BQU8sQUF1Zk4sUUFBUSxDQUFDO0lBQUUsWUFBWSxFRHY2REwsd0JBQUksR0N1NkQwQjtFOEk1NERULEE5SXk1Q3hDLFM4SXo1Q2lELEM5SXk1Q2pELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxFb0ZueEM0QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRm14Q3JGLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxFb0Z0d0M4QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm14Q3JGLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxFc0Zyd0N5QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRm14Q3JGLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxFc0Z4dkMyQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZteENyRixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsRXVGNXJDeUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkY0ckNyRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsRXVGM3JDeUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMnJDakUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEV1RmxxQzJCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGa3FDekUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEV1RmpxQzJCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYyckNqRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsRWdHdjNDNEIsbUJBQW1CLENoR3UzQzlELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxFMkcvMEMwQixpQkFBaUIsQzNHKzBDMUQsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDWixLQUFLLEVEcjdDVSx3QkFBSSxHQ3U3Q3RCO0U4STU1Q3VDLEE5STg1Q3hDLFM4STk1Q2lELEM5STg1Q2pELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GeHhDc0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZ3eENyRixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRjN3Q3dCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGd3hDckYsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFc0Yxd0NtQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnd4Q3JGLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRXNGN3ZDcUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGd3hDckYsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFdUZqc0NtQixnQkFBZ0IsQUFBQSxhQUFhLEN2RmlzQ3JFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRXVGaHNDbUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGZ3NDakUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFdUZ2cUNxQixrQkFBa0IsQUFBQSxhQUFhLEN2RnVxQ3pFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRXVGdHFDcUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RmdzQ2pFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWdHNTNDc0IsbUJBQW1CLENoRzQzQzlELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRTJHcDFDb0IsaUJBQWlCLEMzR28xQzFELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RThJOTVDbUIsU0FBUyxDOUkrNUNqRCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0VvRnp4Q3NCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGeXhDckYsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTTtFb0Y1d0N3QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnl4Q3JGLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXNGM3dDbUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ5eENyRixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0VzRjl2Q3FCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnl4Q3JGLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXVGbHNDbUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZrc0NyRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0V1RmpzQ21CLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RmlzQ2pFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXVGeHFDcUIsa0JBQWtCLEFBQUEsYUFBYSxDdkZ3cUN6RSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0V1RnZxQ3FCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZpc0NqRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0VnRzczQ3NCLG1CQUFtQixDaEc2M0M5RCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0UyR3IxQ29CLGlCQUFpQixDM0dxMUMxRCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLENBQUE7SUFDakIsS0FBSyxFRDM3Q1Usd0JBQUksR0M2N0N0QjtFOElsNkN1QyxBOUlvNkN4QyxTOElwNkNpRCxDOUlvNkNqRCxPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GOXhDbUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY4eENyRixPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GanhDcUIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY4eENyRixPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsRXNGaHhDZ0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY4eENyRixPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsRXNGbndDa0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGOHhDckYsT0FBTyxHQUFHLFVBQVUsR0FBRyxDQUFDLEV1RnZzQ2dCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGdXNDckUsT0FBTyxHQUFHLFVBQVUsR0FBRyxDQUFDLEV1RnRzQ2dCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnNzQ2pFLE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBQyxFdUY3cUNrQixrQkFBa0IsQUFBQSxhQUFhLEN2RjZxQ3pFLE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBQyxFdUY1cUNrQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGc3NDakUsT0FBTyxHQUFHLFVBQVUsR0FBRyxDQUFDLEVnR2w0Q21CLG1CQUFtQixDaEdrNEM5RCxPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsRTJHMTFDaUIsaUJBQWlCLEMzRzAxQzFELE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLEtBQUssRURoOENVLElBQUk7SUM0NkRZLFlBQVksRUQ1NkQ1QixJQUFJLEdDazhDdEI7RThJdjZDdUMsQTlJeTZDeEMsUzhJejZDaUQsQzlJeTZDakQsT0FBTyxHQUFHLFlBQVksR0FBRyxDQUFDLEVvRm55Q2lCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGbXlDckYsT0FBTyxHQUFHLFlBQVksR0FBRyxDQUFDLEVvRnR4Q21CLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGbXlDckYsT0FBTyxHQUFHLFlBQVksR0FBRyxDQUFDLEVzRnJ4Q2MsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZteUNyRixPQUFPLEdBQUcsWUFBWSxHQUFHLENBQUMsRXNGeHdDZ0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGbXlDckYsT0FBTyxHQUFHLFlBQVksR0FBRyxDQUFDLEV1RjVzQ2MsZ0JBQWdCLEFBQUEsYUFBYSxDdkY0c0NyRSxPQUFPLEdBQUcsWUFBWSxHQUFHLENBQUMsRXVGM3NDYyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYyc0NqRSxPQUFPLEdBQUcsWUFBWSxHQUFHLENBQUMsRXVGbHJDZ0Isa0JBQWtCLEFBQUEsYUFBYSxDdkZrckN6RSxPQUFPLEdBQUcsWUFBWSxHQUFHLENBQUMsRXVGanJDZ0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjJzQ2pFLE9BQU8sR0FBRyxZQUFZLEdBQUcsQ0FBQyxFZ0d2NENpQixtQkFBbUIsQ2hHdTRDOUQsT0FBTyxHQUFHLFlBQVksR0FBRyxDQUFDLEUyRy8xQ2UsaUJBQWlCLEMzRysxQzFELE9BQU8sR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLEtBQUssRURyOENVLHdCQUFJLEdDdThDdEI7RThJNTZDdUMsQTlJaTdDeEMsUzhJajdDaUQsQzlJaTdDakQsWUFBWSxFb0YzeUMrQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjJ5Q3JGLFlBQVksRW9GOXhDaUMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEYyeUNyRixZQUFZLEVzRjd4QzRCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGMnlDckYsWUFBWSxFc0ZoeEM4QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYyeUNyRixZQUFZLEV1RnB0QzRCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGb3RDckUsWUFBWSxFdUZudEM0QixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtdENqRSxZQUFZLEV1RjFyQzhCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMHJDekUsWUFBWSxFdUZ6ckM4QixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbXRDakUsWUFBWSxFZ0cvNEMrQixtQkFBbUIsQ2hHKzRDOUQsWUFBWSxFMkd2MkM2QixpQkFBaUIsQzNHdTJDMUQsWUFBWSxDQUFDO0lBQ1QsS0FBSyxFRDc4Q1Usd0JBQUksR0MrOEN0QjtFOElwN0N1QyxBOUlzN0N4QyxTOEl0N0NpRCxDOUlzN0NqRCxZQUFZLEFBQUEsTUFBTSxFb0ZoekN5QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRmd6Q3JGLFlBQVksQUFBQSxNQUFNLEVvRm55QzJCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGZ3pDckYsWUFBWSxBQUFBLE1BQU0sRXNGbHlDc0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZnekNyRixZQUFZLEFBQUEsTUFBTSxFc0ZyeEN3QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZnekNyRixZQUFZLEFBQUEsTUFBTSxFdUZ6dENzQixnQkFBZ0IsQUFBQSxhQUFhLEN2Rnl0Q3JFLFlBQVksQUFBQSxNQUFNLEV1Rnh0Q3NCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rnd0Q2pFLFlBQVksQUFBQSxNQUFNLEV1Ri9yQ3dCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGK3JDekUsWUFBWSxBQUFBLE1BQU0sRXVGOXJDd0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rnd0Q2pFLFlBQVksQUFBQSxNQUFNLEVnR3A1Q3lCLG1CQUFtQixDaEdvNUM5RCxZQUFZLEFBQUEsTUFBTSxFMkc1MkN1QixpQkFBaUIsQzNHNDJDMUQsWUFBWSxBQUFBLE1BQU07RThJdDdDc0IsU0FBUyxDOUl1N0NqRCxZQUFZLEFBQUEsTUFBTTtFb0ZqekN5QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRml6Q3JGLFlBQVksQUFBQSxNQUFNO0VvRnB5QzJCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGaXpDckYsWUFBWSxBQUFBLE1BQU07RXNGbnlDc0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZpekNyRixZQUFZLEFBQUEsTUFBTTtFc0Z0eEN3QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZpekNyRixZQUFZLEFBQUEsTUFBTTtFdUYxdENzQixnQkFBZ0IsQUFBQSxhQUFhLEN2RjB0Q3JFLFlBQVksQUFBQSxNQUFNO0V1Rnp0Q3NCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rnl0Q2pFLFlBQVksQUFBQSxNQUFNO0V1RmhzQ3dCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGZ3NDekUsWUFBWSxBQUFBLE1BQU07RXVGL3JDd0Isa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rnl0Q2pFLFlBQVksQUFBQSxNQUFNO0VnR3I1Q3lCLG1CQUFtQixDaEdxNUM5RCxZQUFZLEFBQUEsTUFBTTtFMkc3MkN1QixpQkFBaUIsQzNHNjJDMUQsWUFBWSxBQUFBLE1BQU0sQ0FBQztJQUNmLEtBQUssRURuOUNVLHlCQUFJLEdDcTlDdEI7RThJMTdDdUMsQTlJNDdDeEMsUzhJNTdDaUQsQzlJNDdDakQsWUFBWSxBQUFBLE9BQU8sRW9GdHpDd0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZzekNyRixZQUFZLEFBQUEsT0FBTyxFb0Z6eUMwQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnN6Q3JGLFlBQVksQUFBQSxPQUFPLEVzRnh5Q3FCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGc3pDckYsWUFBWSxBQUFBLE9BQU8sRXNGM3hDdUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGc3pDckYsWUFBWSxBQUFBLE9BQU8sRXVGL3RDcUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkYrdENyRSxZQUFZLEFBQUEsT0FBTyxFdUY5dENxQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY4dENqRSxZQUFZLEFBQUEsT0FBTyxFdUZyc0N1QixrQkFBa0IsQUFBQSxhQUFhLEN2RnFzQ3pFLFlBQVksQUFBQSxPQUFPLEV1RnBzQ3VCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY4dENqRSxZQUFZLEFBQUEsT0FBTyxFZ0cxNUN3QixtQkFBbUIsQ2hHMDVDOUQsWUFBWSxBQUFBLE9BQU8sRTJHbDNDc0IsaUJBQWlCLEMzR2szQzFELFlBQVksQUFBQSxPQUFPLENBQUM7SUFDaEIsS0FBSyxFRHg5Q1Usd0JBQUksR0MwOUN0QjtFOEkvN0N1QyxBOUltdUJ4QyxTOEludUJpRCxDOUltdUJqRCxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsRW9GN2xCeUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY2bEJyRixVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsRW9GaGxCMkIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY2bEJyRixVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsRXNGL2tCc0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEY2bEJyRixVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsRXNGbGtCd0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNmxCckYsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEV1RnRnQnNCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGc2dCckUsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEV1RnJnQnNCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnFnQmpFLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFdUY1ZXdCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGNGV6RSxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsRXVGM2V3QixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGcWdCakUsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEVnR2pzQnlCLG1CQUFtQixDaEdpc0I5RCxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsRTJHenBCdUIsaUJBQWlCLEMzR3lwQjFELFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsZ0JBQWdCLEVEemFTLFdBQVc7SUNrYVQsWUFBWSxFRHh2QnhCLHdCQUFJLEdDaXdCdEI7RThJdHVCdUMsQTlJd3VCeEMsUzhJeHVCaUQsQzlJd3VCakQsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRmxtQm9CLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGa21CckYsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRnJsQnNCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGa21CckYsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLEVzRnBsQmlCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGa21CckYsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLEVzRnZrQm1CLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRmttQnJGLFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxFdUYzZ0JpQixnQkFBZ0IsQUFBQSxhQUFhLEN2RjJnQnJFLFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxFdUYxZ0JpQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYwZ0JqRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRXVGamZtQixrQkFBa0IsQUFBQSxhQUFhLEN2RmlmekUsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLEV1RmhmbUIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjBnQmpFLFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxFZ0d0c0JvQixtQkFBbUIsQ2hHc3NCOUQsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLEUyRzlwQmtCLGlCQUFpQixDM0c4cEIxRCxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU07RThJeHVCaUIsU0FBUyxDOUl5dUJqRCxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU07RW9Gbm1Cb0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZtbUJyRixVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU07RW9GdGxCc0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZtbUJyRixVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU07RXNGcmxCaUIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZtbUJyRixVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU07RXNGeGtCbUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGbW1CckYsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNO0V1RjVnQmlCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGNGdCckUsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNO0V1RjNnQmlCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjJnQmpFLFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTTtFdUZsZm1CLGtCQUFrQixBQUFBLGFBQWEsQ3ZGa2Z6RSxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU07RXVGamZtQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGMmdCakUsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNO0VnR3ZzQm9CLG1CQUFtQixDaEd1c0I5RCxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU07RTJHL3BCa0IsaUJBQWlCLEMzRytwQjFELFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQ3BCLGdCQUFnQixFRHJ3QkQsd0JBQUk7SUN5dkJjLFlBQVksRUFBRSxXQUFXLEdBYzdEO0U4STV1QnVDLEE5STh1QnhDLFM4STl1QmlELEM5STh1QmpELFVBQVUsR0FBRyxDQUFDLEdBQUcsT0FBTyxFb0Z4bUJtQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRndtQnJGLFVBQVUsR0FBRyxDQUFDLEdBQUcsT0FBTyxFb0YzbEJxQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRndtQnJGLFVBQVUsR0FBRyxDQUFDLEdBQUcsT0FBTyxFc0YxbEJnQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRndtQnJGLFVBQVUsR0FBRyxDQUFDLEdBQUcsT0FBTyxFc0Y3a0JrQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ3bUJyRixVQUFVLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRXVGamhCZ0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZpaEJyRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRXVGaGhCZ0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGZ2hCakUsVUFBVSxHQUFHLENBQUMsR0FBRyxPQUFPLEV1RnZma0Isa0JBQWtCLEFBQUEsYUFBYSxDdkZ1ZnpFLFVBQVUsR0FBRyxDQUFDLEdBQUcsT0FBTyxFdUZ0ZmtCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZnaEJqRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRWdHNXNCbUIsbUJBQW1CLENoRzRzQjlELFVBQVUsR0FBRyxDQUFDLEdBQUcsT0FBTyxFMkdwcUJpQixpQkFBaUIsQzNHb3FCMUQsVUFBVSxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDckIsZ0JBQWdCLEVEMXdCRCx3QkFBSTtJQzB2QmdCLFlBQVksRUFBRSxXQUFXLEdBa0IvRDtFOElqdkJ1QyxBOUltdkJ4QyxTOEludkJpRCxDOUltdkJqRCxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GN21CZ0IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEY2bUJyRixVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GaG1Ca0IscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY2bUJyRixVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsRXNGL2xCYSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjZtQnJGLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFc0ZsbEJlLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjZtQnJGLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFdUZ0aEJhLGdCQUFnQixBQUFBLGFBQWEsQ3ZGc2hCckUsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEV1RnJoQmEsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGcWhCakUsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEV1RjVmZSxrQkFBa0IsQUFBQSxhQUFhLEN2RjRmekUsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEV1RjNmZSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGcWhCakUsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVnR2p0QmdCLG1CQUFtQixDaEdpdEI5RCxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsRTJHenFCYyxpQkFBaUIsQzNHeXFCMUQsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDeEIsZ0JBQWdCLEVEL3dCRCx3QkFBSTtJQzJ2QmUsWUFBWSxFQUFFLFdBQVcsR0FzQjlEO0U4SXR2QnVDLEE5SVR4QyxTOElTaUQsQzlJVGpELG1CQUFtQixBQUFBLFFBQVEsRW9GK0lnQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRi9JckYsbUJBQW1CLEFBQUEsUUFBUSxFb0Y0SmtCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGL0lyRixtQkFBbUIsQUFBQSxRQUFRLEVzRjZKYSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRi9JckYsbUJBQW1CLEFBQUEsUUFBUSxFc0YwS2Usa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGL0lyRixtQkFBbUIsQUFBQSxRQUFRLEV1RnNPYSxnQkFBZ0IsQUFBQSxhQUFhLEN2RnRPckUsbUJBQW1CLEFBQUEsUUFBUSxFdUZ1T2EsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGdk9qRSxtQkFBbUIsQUFBQSxRQUFRLEV1RmdRZSxrQkFBa0IsQUFBQSxhQUFhLEN2RmhRekUsbUJBQW1CLEFBQUEsUUFBUSxFdUZpUWUsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RnZPakUsbUJBQW1CLEFBQUEsUUFBUSxFZ0cyQ2dCLG1CQUFtQixDaEczQzlELG1CQUFtQixBQUFBLFFBQVEsRTJHbUZjLGlCQUFpQixDM0duRjFELG1CQUFtQixBQUFBLFFBQVEsQ0FBQztJdUVFNUIsZ0JBQWdCLEVBQUUsZ2RBQXdCLEd2RUZ5RTtFOElTM0UsQTlJUHhDLFM4SU9pRCxDOUlQakQsUUFBUSxHQUFHLG1CQUFtQixBQUFBLFFBQVEsRW9GNklLLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGN0lyRixRQUFRLEdBQUcsbUJBQW1CLEFBQUEsUUFBUSxFb0YwSk8scUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY3SXJGLFFBQVEsR0FBRyxtQkFBbUIsQUFBQSxRQUFRLEVzRjJKRSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjdJckYsUUFBUSxHQUFHLG1CQUFtQixBQUFBLFFBQVEsRXNGd0tJLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjdJckYsUUFBUSxHQUFHLG1CQUFtQixBQUFBLFFBQVEsRXVGb09FLGdCQUFnQixBQUFBLGFBQWEsQ3ZGcE9yRSxRQUFRLEdBQUcsbUJBQW1CLEFBQUEsUUFBUSxFdUZxT0UsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGck9qRSxRQUFRLEdBQUcsbUJBQW1CLEFBQUEsUUFBUSxFdUY4UEksa0JBQWtCLEFBQUEsYUFBYSxDdkY5UHpFLFFBQVEsR0FBRyxtQkFBbUIsQUFBQSxRQUFRLEV1RitQSSxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGck9qRSxRQUFRLEdBQUcsbUJBQW1CLEFBQUEsUUFBUSxFZ0d5Q0ssbUJBQW1CLENoR3pDOUQsUUFBUSxHQUFHLG1CQUFtQixBQUFBLFFBQVEsRTJHaUZHLGlCQUFpQixDM0dqRjFELFFBQVEsR0FBRyxtQkFBbUIsQUFBQSxRQUFRLENBQUM7SXVFQXZDLGdCQUFnQixFQUFFLHVVQUF3QixHdkVBbUY7RThJT3JGLEE5SXVoQ3hDLFM4SXZoQ2lELEM5SXVoQ2pELFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFb0ZqNUJ3QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRmk1QnJGLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFb0ZwNEIwQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmk1QnJGLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFc0ZuNEJxQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRmk1QnJGLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFc0Z0M0J1QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZpNUJyRixXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsRXVGMXpCcUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkYwekJyRSxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsRXVGenpCcUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGeXpCakUsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEV1Rmh5QnVCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGZ3lCekUsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEV1Ri94QnVCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ5ekJqRSxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsRWdHci9Cd0IsbUJBQW1CLENoR3EvQjlELFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFMkc3OEJzQixpQkFBaUIsQzNHNjhCMUQsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEIsS0FBSyxFRG5qQ1Usd0JBQUksR0NxakN0QjtFOEkxaEN1QyxBOUk0aEN4QyxTOEk1aENpRCxDOUk0aENqRCxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRnQ1QmtCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGczVCckYsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0Z6NEJvQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnM1QnJGLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRXNGeDRCZSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnM1QnJGLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRXNGMzNCaUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGczVCckYsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFdUYvekJlLGdCQUFnQixBQUFBLGFBQWEsQ3ZGK3pCckUsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFdUY5ekJlLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rjh6QmpFLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRXVGcnlCaUIsa0JBQWtCLEFBQUEsYUFBYSxDdkZxeUJ6RSxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEV1RnB5QmlCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY4ekJqRSxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVnRzEvQmtCLG1CQUFtQixDaEcwL0I5RCxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEUyR2w5QmdCLGlCQUFpQixDM0drOUIxRCxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0U4STVoQ2UsU0FBUyxDOUk2aENqRCxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0VvRnY1QmtCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGdTVCckYsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTTtFb0YxNEJvQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnU1QnJGLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXNGejRCZSxnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnU1QnJGLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXNGNTNCaUIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGdTVCckYsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTTtFdUZoMEJlLGdCQUFnQixBQUFBLGFBQWEsQ3ZGZzBCckUsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTTtFdUYvekJlLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rit6QmpFLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07RXVGdHlCaUIsa0JBQWtCLEFBQUEsYUFBYSxDdkZzeUJ6RSxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0V1RnJ5QmlCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYrekJqRSxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0VnRzMvQmtCLG1CQUFtQixDaEcyL0I5RCxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0UyR245QmdCLGlCQUFpQixDM0dtOUIxRCxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLENBQUM7SUFDdEIsS0FBSyxFRHpqQ1Usd0JBQUksR0MyakN0QjtFOEloaUN1QyxBOUlraUN4QyxTOElsaUNpRCxDOUlraUNqRCxXQUFXLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GNTVCZSxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjQ1QnJGLFdBQVcsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0YvNEJpQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjQ1QnJGLFdBQVcsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFc0Y5NEJZLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNDVCckYsV0FBVyxHQUFHLFVBQVUsR0FBRyxDQUFDLEVzRmo0QmMsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGNDVCckYsV0FBVyxHQUFHLFVBQVUsR0FBRyxDQUFDLEV1RnIwQlksZ0JBQWdCLEFBQUEsYUFBYSxDdkZxMEJyRSxXQUFXLEdBQUcsVUFBVSxHQUFHLENBQUMsRXVGcDBCWSxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvMEJqRSxXQUFXLEdBQUcsVUFBVSxHQUFHLENBQUMsRXVGM3lCYyxrQkFBa0IsQUFBQSxhQUFhLEN2RjJ5QnpFLFdBQVcsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFdUYxeUJjLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZvMEJqRSxXQUFXLEdBQUcsVUFBVSxHQUFHLENBQUMsRWdHaGdDZSxtQkFBbUIsQ2hHZ2dDOUQsV0FBVyxHQUFHLFVBQVUsR0FBRyxDQUFDLEUyR3g5QmEsaUJBQWlCLEMzR3c5QjFELFdBQVcsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLEtBQUssRUQ5akNVLHdCQUFJLEdDZ2tDdEI7RThJcmlDdUMsQTlJbzhDeEMsUzhJcDhDaUQsQzlJbzhDakQsYUFBYSxFb0Y5ekM4QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjh6Q3JGLGFBQWEsRW9GanpDZ0MscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY4ekNyRixhQUFhLEVzRmh6QzJCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGOHpDckYsYUFBYSxFc0ZueUM2QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY4ekNyRixhQUFhLEV1RnZ1QzJCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGdXVDckUsYUFBYSxFdUZ0dUMyQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZzdUNqRSxhQUFhLEV1RjdzQzZCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGNnNDekUsYUFBYSxFdUY1c0M2QixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGc3VDakUsYUFBYSxFZ0dsNkM4QixtQkFBbUIsQ2hHazZDOUQsYUFBYSxFMkcxM0M0QixpQkFBaUIsQzNHMDNDMUQsYUFBYSxDQUFDO0lBQ1YsS0FBSyxFRGgrQ1Usd0JBQUksR0NrK0N0QjtFOEl2OEN1QyxBOUl5OEN4QyxTOEl6OENpRCxDOUl5OENqRCxhQUFhLEVvRm4wQzhCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGbTBDckYsYUFBYSxFb0Z0ekNnQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm0wQ3JGLGFBQWEsRXNGcnpDMkIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZtMENyRixhQUFhLEVzRnh5QzZCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRm0wQ3JGLGFBQWEsRXVGNXVDMkIsZ0JBQWdCLEFBQUEsYUFBYSxDdkY0dUNyRSxhQUFhLEV1RjN1QzJCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RjJ1Q2pFLGFBQWEsRXVGbHRDNkIsa0JBQWtCLEFBQUEsYUFBYSxDdkZrdEN6RSxhQUFhLEV1Rmp0QzZCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYydUNqRSxhQUFhLEVnR3Y2QzhCLG1CQUFtQixDaEd1NkM5RCxhQUFhLEUyRy8zQzRCLGlCQUFpQixDM0crM0MxRCxhQUFhLENBQUM7SUFDVixLQUFLLEVEcitDVSx3QkFBSSxHQ3UrQ3RCO0U4STU4Q3VDLEE5STg4Q3hDLFM4STk4Q2lELEM5STg4Q2pELGNBQWMsRW9GeDBDNkIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZ3MENyRixjQUFjLEVvRjN6QytCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGdzBDckYsY0FBYyxFc0YxekMwQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRncwQ3JGLGNBQWMsRXNGN3lDNEIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGdzBDckYsY0FBYyxFdUZqdkMwQixnQkFBZ0IsQUFBQSxhQUFhLEN2Rml2Q3JFLGNBQWMsRXVGaHZDMEIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGZ3ZDakUsY0FBYyxFdUZ2dEM0QixrQkFBa0IsQUFBQSxhQUFhLEN2RnV0Q3pFLGNBQWMsRXVGdHRDNEIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rmd2Q2pFLGNBQWMsRWdHNTZDNkIsbUJBQW1CLENoRzQ2QzlELGNBQWMsRTJHcDRDMkIsaUJBQWlCLEMzR280QzFELGNBQWMsQ0FBQztJQUFFLEtBQUssRUR6K0NILHdCQUFJLENDeStDMkIsVUFBVSxHQUFJO0U4STk4Q3hCLEE5SSs4Q3hDLFM4SS84Q2lELEM5SSs4Q2pELGlCQUFpQixFb0Z6MEMwQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnkwQ3JGLGlCQUFpQixFb0Y1ekM0QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnkwQ3JGLGlCQUFpQixFc0YzekN1QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRnkwQ3JGLGlCQUFpQixFc0Y5eUN5QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZ5MENyRixpQkFBaUIsRXVGbHZDdUIsZ0JBQWdCLEFBQUEsYUFBYSxDdkZrdkNyRSxpQkFBaUIsRXVGanZDdUIsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGaXZDakUsaUJBQWlCLEV1Rnh0Q3lCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGd3RDekUsaUJBQWlCLEV1RnZ0Q3lCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZpdkNqRSxpQkFBaUIsRWdHNzZDMEIsbUJBQW1CLENoRzY2QzlELGlCQUFpQixFMkdyNEN3QixpQkFBaUIsQzNHcTRDMUQsaUJBQWlCLENBQUM7SUFBRSxLQUFLLEVEMStDTixJQUFJLENDMCtDaUMsVUFBVSxHQUFJO0U4SS84QzlCLEE5SWc5Q3hDLFM4SWg5Q2lELEM5SWc5Q2pELGdCQUFnQixFb0YxMEMyQixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjAwQ3JGLGdCQUFnQixFb0Y3ekM2QixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjAwQ3JGLGdCQUFnQixFc0Y1ekN3QixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjAwQ3JGLGdCQUFnQixFc0YveUMwQixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYwMENyRixnQkFBZ0IsRXVGbnZDd0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZtdkNyRSxnQkFBZ0IsRXVGbHZDd0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGa3ZDakUsZ0JBQWdCLEV1Rnp0QzBCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGeXRDekUsZ0JBQWdCLEV1Rnh0QzBCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZrdkNqRSxnQkFBZ0IsRWdHOTZDMkIsbUJBQW1CLENoRzg2QzlELGdCQUFnQixFMkd0NEN5QixpQkFBaUIsQzNHczRDMUQsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVEMytDTCxJQUFJLENDMitDK0IsVUFBVSxHQUFJO0U4SWg5QzVCLEE5SWk5Q3hDLFM4SWo5Q2lELEM5SWk5Q2pELGtCQUFrQixFb0YzMEN5QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjIwQ3JGLGtCQUFrQixFb0Y5ekMyQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjIwQ3JGLGtCQUFrQixFc0Y3ekNzQixnQkFBZ0IsQUFBQSxJQUFLLENGZE0sa0JBQWtCLEVwRjIwQ3JGLGtCQUFrQixFc0ZoekN3QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYyMENyRixrQkFBa0IsRXVGcHZDc0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZvdkNyRSxrQkFBa0IsRXVGbnZDc0IsZ0JBQWdCLEdBQUcsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGbXZDakUsa0JBQWtCLEV1RjF0Q3dCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMHRDekUsa0JBQWtCLEV1Rnp0Q3dCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtdkNqRSxrQkFBa0IsRWdHLzZDeUIsbUJBQW1CLENoRys2QzlELGtCQUFrQixFMkd2NEN1QixpQkFBaUIsQzNHdTRDMUQsa0JBQWtCLENBQUM7SUFBRSxLQUFLLEVENStDUCxJQUFJLENDNCtDbUMsVUFBVSxHQUFJO0U4SWo5Q2hDLEE5STZtQnhDLFM4STdtQmlELEM5STZtQmpELGtCQUFrQixFb0Z2ZXlCLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGdWVyRixrQkFBa0IsRW9GMWQyQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRnVlckYsa0JBQWtCLEVzRnpkc0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZ1ZXJGLGtCQUFrQixFc0Y1Y3dCLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRnVlckYsa0JBQWtCLEV1Rmhac0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZnWnJFLGtCQUFrQixFdUYvWXNCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2RitZakUsa0JBQWtCLEV1RnRYd0Isa0JBQWtCLEFBQUEsYUFBYSxDdkZzWHpFLGtCQUFrQixFdUZyWHdCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYrWWpFLGtCQUFrQixFZ0cza0J5QixtQkFBbUIsQ2hHMmtCOUQsa0JBQWtCLEUyR25pQnVCLGlCQUFpQixDM0dtaUIxRCxrQkFBa0IsQ0FBQztJQUFFLGlCQUFpQixFRHhvQm5CLHdCQUFJLEdDd29CdUQ7RThJN21CdEMsQTlJMjlDeEMsUzhJMzlDaUQsQzlJMjlDakQsUUFBUSxFb0ZyMUNtQyxtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRnExQ3JGLFFBQVEsRW9GeDBDcUMscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZxMUNyRixRQUFRLEVzRnYwQ2dDLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGcTFDckYsUUFBUSxFc0YxekNrQyxrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEZxMUNyRixRQUFRLEV1Rjl2Q2dDLGdCQUFnQixBQUFBLGFBQWEsQ3ZGOHZDckUsUUFBUSxFdUY3dkNnQyxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkY2dkNqRSxRQUFRLEV1RnB1Q2tDLGtCQUFrQixBQUFBLGFBQWEsQ3ZGb3VDekUsUUFBUSxFdUZudUNrQyxrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGNnZDakUsUUFBUSxFZ0d6N0NtQyxtQkFBbUIsQ2hHeTdDOUQsUUFBUSxFMkdqNUNpQyxpQkFBaUIsQzNHaTVDMUQsUUFBUSxDQUFDO0lBQ0wsS0FBSyxFRHYvQ1Usd0JBQUksR0N5L0N0QjtFOEk5OUN1QyxBOUlnK0N4QyxTOEloK0NpRCxDOUlnK0NqRCxRQUFRLEFBQUEsTUFBTSxFb0YxMUM2QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjAxQ3JGLFFBQVEsQUFBQSxNQUFNLEVvRjcwQytCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGMDFDckYsUUFBUSxBQUFBLE1BQU0sRXNGNTBDMEIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEYwMUNyRixRQUFRLEFBQUEsTUFBTSxFc0YvekM0QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYwMUNyRixRQUFRLEFBQUEsTUFBTSxFdUZud0MwQixnQkFBZ0IsQUFBQSxhQUFhLEN2Rm13Q3JFLFFBQVEsQUFBQSxNQUFNLEV1Rmx3QzBCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rmt3Q2pFLFFBQVEsQUFBQSxNQUFNLEV1Rnp1QzRCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGeXVDekUsUUFBUSxBQUFBLE1BQU0sRXVGeHVDNEIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rmt3Q2pFLFFBQVEsQUFBQSxNQUFNLEVnRzk3QzZCLG1CQUFtQixDaEc4N0M5RCxRQUFRLEFBQUEsTUFBTSxFMkd0NUMyQixpQkFBaUIsQzNHczVDMUQsUUFBUSxBQUFBLE1BQU07RThJaCtDMEIsU0FBUyxDOUlpK0NqRCxRQUFRLEFBQUEsTUFBTTtFb0YzMUM2QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjIxQ3JGLFFBQVEsQUFBQSxNQUFNO0VvRjkwQytCLHFCQUFxQixBQUFBLElBQUssQ0FiSixrQkFBa0IsRXBGMjFDckYsUUFBUSxBQUFBLE1BQU07RXNGNzBDMEIsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEYyMUNyRixRQUFRLEFBQUEsTUFBTTtFc0ZoMEM0QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEYyMUNyRixRQUFRLEFBQUEsTUFBTTtFdUZwd0MwQixnQkFBZ0IsQUFBQSxhQUFhLEN2Rm93Q3JFLFFBQVEsQUFBQSxNQUFNO0V1Rm53QzBCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm13Q2pFLFFBQVEsQUFBQSxNQUFNO0V1RjF1QzRCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGMHVDekUsUUFBUSxBQUFBLE1BQU07RXVGenVDNEIsa0JBQWtCLEdBQUcsSUFBSyxFQTFCSixBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm13Q2pFLFFBQVEsQUFBQSxNQUFNO0VnRy83QzZCLG1CQUFtQixDaEcrN0M5RCxRQUFRLEFBQUEsTUFBTTtFMkd2NUMyQixpQkFBaUIsQzNHdTVDMUQsUUFBUSxBQUFBLE1BQU0sQ0FBQztJQUNYLEtBQUssRUQ3L0NVLHdCQUFJLEdDKy9DdEI7RThJcCtDdUMsQTlJcytDeEMsUzhJdCtDaUQsQzlJcytDakQsUUFBUSxHQUFHLElBQUssQ3VJM29DcEIsZ0JBQWdCLEN2STJvQ3FCLElBQUssQ0FBQSxhQUFhLEdvRmgyQ1IsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZnMkNyRixRQUFRLEdBQUcsSUFBSyxDdUkzb0NwQixnQkFBZ0IsQ3ZJMm9DcUIsSUFBSyxDQUFBLGFBQWEsR29GbjFDTixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRmcyQ3JGLFFBQVEsR0FBRyxJQUFLLEN1STNvQ3BCLGdCQUFnQixDdkkyb0NxQixJQUFLLENBQUEsYUFBYSxHc0ZsMUNYLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGZzJDckYsUUFBUSxHQUFHLElBQUssQ3VJM29DcEIsZ0JBQWdCLEN2STJvQ3FCLElBQUssQ0FBQSxhQUFhLEdzRnIwQ1Qsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGZzJDckYsUUFBUSxHQUFHLElBQUssQ3VJM29DcEIsZ0JBQWdCLEN2STJvQ3FCLElBQUssQ0FBQSxhQUFhLEd1Rnp3Q1gsZ0JBQWdCLEFBQUEsYUFBYSxDdkZ5d0NyRSxRQUFRLEdBQUcsSUFBSyxDdUkzb0NwQixnQkFBZ0IsQ3ZJMm9DcUIsSUFBSyxDQUFBLGFBQWEsR3VGeHdDWCxnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ3d0NqRSxRQUFRLEdBQUcsSUFBSyxDdUkzb0NwQixnQkFBZ0IsQ3ZJMm9DcUIsSUFBSyxDQUFBLGFBQWEsR3VGL3VDVCxrQkFBa0IsQUFBQSxhQUFhLEN2Rit1Q3pFLFFBQVEsR0FBRyxJQUFLLEN1STNvQ3BCLGdCQUFnQixDdkkyb0NxQixJQUFLLENBQUEsYUFBYSxHdUY5dUNULGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZ3d0NqRSxRQUFRLEdBQUcsSUFBSyxDdUkzb0NwQixnQkFBZ0IsQ3ZJMm9DcUIsSUFBSyxDQUFBLGFBQWEsR2dHcDhDUixtQkFBbUIsQ2hHbzhDOUQsUUFBUSxHQUFHLElBQUssQ3VJM29DcEIsZ0JBQWdCLEN2STJvQ3FCLElBQUssQ0FBQSxhQUFhLEcyRzU1Q1YsaUJBQWlCLEMzRzQ1QzFELFFBQVEsR0FBRyxJQUFLLEN1STNvQ3BCLGdCQUFnQixDdkkyb0NxQixJQUFLLENBQUEsYUFBYSxFQUFFO0lBQUUsT0FBTyxFQUFFLElBQUksR0FBSTtFOEl0K0NoQyxBOUl1K0N4QyxTOEl2K0NpRCxDOUl1K0NqRCxnQkFBZ0IsRW9GajJDMkIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZpMkNyRixnQkFBZ0IsRW9GcDFDNkIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEZpMkNyRixnQkFBZ0IsRXNGbjFDd0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEZpMkNyRixnQkFBZ0IsRXNGdDBDMEIsa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGaTJDckYsZ0JBQWdCLEV1RjF3Q3dCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGMHdDckUsZ0JBQWdCLEV1Rnp3Q3dCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rnl3Q2pFLGdCQUFnQixFdUZodkMwQixrQkFBa0IsQUFBQSxhQUFhLEN2Rmd2Q3pFLGdCQUFnQixFdUYvdUMwQixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGeXdDakUsZ0JBQWdCLEVnR3I4QzJCLG1CQUFtQixDaEdxOEM5RCxnQkFBZ0IsRTJHNzVDeUIsaUJBQWlCLEMzRzY1QzFELGdCQUFnQixDQUFDO0lBQUUsT0FBTyxFQUFFLE1BQU0sR0FBSTs7QStJbGdEMUM7OzhFQUU4RTtBQUU5RSxNQUFNLENBQUMsS0FBSztFQUVSLEFBQUEsQ0FBQztFQUNELENBQUMsQUFBQSxRQUFRO0VBQ1QsQ0FBQyxBQUFBLE9BQU8sQ0FBQztJQUNMLFVBQVUsRUFBRSxzQkFBc0I7SUFDbEMsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixVQUFVLEVBQUUsZUFBZTtJQUMzQixXQUFXLEVBQUUsZUFBZSxHQUMvQjtFQUVELEFBQUEsQ0FBQztFQUNELENBQUMsQUFBQSxRQUFRLENBQUM7SUFBRSxlQUFlLEVBQUUsU0FBUyxHQUFJO0VBRTFDLEFBQUEsR0FBRztFQUNILFVBQVUsQ0FBQztJQUNQLE1BQU0sRUFBRSxjQUFjO0lBQ3RCLGlCQUFpQixFQUFFLEtBQUssR0FDM0I7RUFFRCxBQUFBLEtBQUssQ0FBQztJQUFFLE9BQU8sRUFBRSxrQkFBa0IsR0FBSTtFQUV2QyxBQUFBLEVBQUU7RUFDRixHQUFHLENBQUM7SUFBRSxpQkFBaUIsRUFBRSxLQUFLLEdBQUk7RUFFbEMsQUFBQSxHQUFHLENBQUM7SUFBRSxTQUFTLEVBQUUsZUFBZSxHQUFJO0VBRXBDLEtBQUs7SUFBRyxNQUFNLEVBQUUsS0FBSztFQUVyQixBQUFBLENBQUM7RUFDRCxFQUFFO0VBQ0YsRUFBRSxDQUFDO0lBQ0MsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQyxHQUNaO0VBRUQsQUFBQSxFQUFFO0VBQ0YsRUFBRSxDQUFDO0lBQUUsZ0JBQWdCLEVBQUUsS0FBSyxHQUFJOztBdkUwQ3BDLEFBQUEsSUFBSSxDMUVuRUM7RUFDSCxXQUFXLEVBQUUsaUNBQWlDLEdBQy9DOztBMEV3VEQsQUFBQSxFQUFFLEVBQUUsTUFBTTtBQUNWLEVBQUUsRUFBRSxNQUFNO0FBQ1YsRUFBRSxFQUFFLE1BQU07QUFDVixFQUFFLEVBQUUsTUFBTTtBQUNWLEVBQUUsRUFBRSxNQUFNO0FBQ1YsRUFBRSxFQUFFLE1BQU07QUFDVixpQkFBaUI7QUFDakIsa0JBQWtCO0FBQ2xCLGlCQUFpQjtBQUNqQixrQkFBa0I7QUFDbEIsbUJBQW1CLEMxRWhVdUo7RUFDeEssV0FBVyxFQUFFLGlDQUFpQyxHQUMvQzs7QXNIc0VELEFBQUEsb0JBQW9CLEFBQUEsSUFBSyxDQUFBLHNCQUFzQixFdEhwRUU7RUFDL0MsZ0JBQWdCLEVBaENPLE9BQU87RUFpQzlCLGdCQUFnQixFQUFFLCtDQUE2RSxHQUNoRzs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNkLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsSUFBSTtFQUNoQixVQUFVLEVBQUUsSUFBSTtFQUNoQixTQUFTLEVBQUUsS0FBSyxHQUNqQjs7QWdKUjJDLEFBQUEsU0FBUyxFMURzSU4sbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixHQWF4QyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEdFYzdDLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsR0UyQjNDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEdHdUY3QyxnQkFBZ0IsQUFBQSxhQUFhLEVBQzdCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLElBeUJ2QixrQkFBa0IsQUFBQSxhQUFhLEVBQy9CLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixJUzVMdEIsbUJBQW1CLEVXd0NyQixpQkFBaUIsQzdHaEVwRDtFQUNSLGdCQUFnQixFQTdDTyxPQUFPO0VBOEM5QixnQkFBZ0IsRUFBRSwrQ0FBNkUsR0FhaEc7RWdKekIyQyxBOUltWnhDLFM4SW5aaUQsQzlJbVpqRCxrQkFBa0IsRW9GN1F5QixtQkFBbUIsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVwRjZRckYsa0JBQWtCLEVvRmhRMkIscUJBQXFCLEFBQUEsSUFBSyxDQWJKLGtCQUFrQixFcEY2UXJGLGtCQUFrQixFc0YvUHNCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGNlFyRixrQkFBa0IsRXNGbFB3QixrQkFBa0IsQUFBQSxJQUFLLENGM0JFLGtCQUFrQixFcEY2UXJGLGtCQUFrQixFdUZ0THNCLGdCQUFnQixBQUFBLGFBQWEsQ3ZGc0xyRSxrQkFBa0IsRXVGckxzQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZxTGpFLGtCQUFrQixFdUY1SndCLGtCQUFrQixBQUFBLGFBQWEsQ3ZGNEp6RSxrQkFBa0IsRXVGM0p3QixrQkFBa0IsR0FBRyxJQUFLLEVBMUJKLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3ZGcUxqRSxrQkFBa0IsRWdHalh5QixtQkFBbUIsQ2hHaVg5RCxrQkFBa0IsRTJHelV1QixpQkFBaUIsQzNHeVUxRCxrQkFBa0IsQ0Z0WUQ7SUFDakIsZ0JBQWdCLEVBOUNPLE9BQU87SUErQzlCLGdCQUFnQixFQUFFLCtDQUFrRjtJQUNwRyxLQUFLLEVBMUNELElBQUk7SUEyQ1IsYUFBYSxFQUFFLEdBQUcsR0FPbkI7SWdKeEJ5QyxBaEprQnhDLFNnSmxCaUQsQzlJeVpqRCxrQkFBa0IsQUFBQSxNQUFNLEVvRm5SbUIsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFcEZtUnJGLGtCQUFrQixBQUFBLE1BQU0sRW9GdFFxQixxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRm1SckYsa0JBQWtCLEFBQUEsTUFBTSxFc0ZyUWdCLGdCQUFnQixBQUFBLElBQUssQ0ZkTSxrQkFBa0IsRXBGbVJyRixrQkFBa0IsQUFBQSxNQUFNLEVzRnhQa0Isa0JBQWtCLEFBQUEsSUFBSyxDRjNCRSxrQkFBa0IsRXBGbVJyRixrQkFBa0IsQUFBQSxNQUFNLEV1RjVMZ0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkY0THJFLGtCQUFrQixBQUFBLE1BQU0sRXVGM0xnQixnQkFBZ0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYyTGpFLGtCQUFrQixBQUFBLE1BQU0sRXVGbEtrQixrQkFBa0IsQUFBQSxhQUFhLEN2RmtLekUsa0JBQWtCLEFBQUEsTUFBTSxFdUZqS2tCLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkYyTGpFLGtCQUFrQixBQUFBLE1BQU0sRWdHdlhtQixtQkFBbUIsQ2hHdVg5RCxrQkFBa0IsQUFBQSxNQUFNLEUyRy9VaUIsaUJBQWlCLEMzRytVMUQsa0JBQWtCLEFBQUEsTUFBTSxDRnZZaEI7TUFDTixnQkFBZ0IsRUFqREksT0FBTztNQWtEM0IsZ0JBQWdCLEVBQUUsK0NBQTRGO01BQzlHLEtBQUssRUEvQ0gsSUFBSTtNQWdETixhQUFhLEVBQUUsR0FBRyxHQUNuQjs7QXlJK0tMLEFBQUEscUJBQXFCLEN6STNLQztFQUNwQixXQUFXLEVBQUMsSUFBSSxHQUNqQjs7QXNIaUZELEFBQUEsZ0JBQWdCLEN0SC9FQztFQUNmLFlBQVksRUFBQyxDQUFDLEdBQ2Y7O0FzSTlCRCxBQUFBLG9CQUFvQixDdElnQ0M7RUFDbkIsY0FBYyxFQUFFLEtBQUssR0FDdEI7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDYixNQUFNLEVBQUUsYUFBYSxHQUN0Qjs7QUFFRCxBQUFBLFNBQVMsQ0FBQztFQUNSLGdCQUFnQixFQXRFVixJQUFJLEdBdUVYOztBeUZpQkQsQUFBQSxhQUFhLEN6RmZDO0VBQ1osT0FBTyxFQUFFLFNBQVMsR0FDbkI7O0F5RnFGRCxBQUFBLGNBQWMsQ3pGbkZDO0VBQ2IsYUFBYSxFQUFFLElBQUk7RUFDbkIsVUFBVSxFQUFFLEdBQUc7RUFDZixLQUFLLEVBeEZrQixPQUFPLEdBeUYvQjs7QUFFRCxBQUFBLFFBQVEsQ0FBQztFQUNQLEtBQUssRUE1RmtCLE9BQU8sR0E2Ri9COztBQUVELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUN0QixBQUFBLFFBQVEsR0FBRyxRQUFRLEFBQUEsVUFBVyxDQUFBLENBQUMsRUFBRTtJQUMvQixVQUFVLEVBQUUsQ0FBQyxHQUNkO0VBQ0QsQUFBQSxRQUFRLEdBQUcsZ0JBQWdCLEdBQUcsUUFBUSxBQUFBLFVBQVcsQ0FBQSxDQUFDLEVBQUU7SUFDbEQsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBR0gsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUVELEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsS0FBSyxFQXJHQyxJQUFJO0VBc0dWLEtBQUssRUFBRSxHQUFHLEdBQ1g7O0E0RXRERCxBQUFBLGlCQUFpQixDNUV3REM7RUFDaEIsS0FBSyxFQTFHQyxJQUFJLEdBMkdYOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFDZixVQUFVLEVBQUUsS0FBSyxHQUNsQjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLEtBQUssRUFsSEMsSUFBSTtFQW1IVixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBQyxJQUFJLEdBQ2pCOztBQUVELEFBQUEsMEJBQTBCLENBQUM7RUFDekIsWUFBWSxFQUFFLENBQUM7RUFDZixVQUFVLEVBQUUsR0FBRyxHQUNoQjs7QUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFDdEIsQUFBQSxNQUFNLENBQUM7SUFDTCxLQUFLLEVBQUUsR0FBRyxHQUNYO0VBRUQsQUFBQSxXQUFXLENBQUM7SUFDVixLQUFLLEVBQUUsR0FBRztJQUNWLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBRUQsQUFBQSx1QkFBdUIsQ0FBQztJQUN0QixXQUFXLEVBQUUsSUFBSSxHQUNsQjtFQUVELEFBQUEsUUFBUSxHQUFHLGVBQWUsR0FBRyw0QkFBNEIsQ0FBQztJQUN4RCxVQUFVLEVBQUUsSUFBSSxHQUNqQjtFQUVELEFBQ0UsV0FEUyxDQUNULEdBQUcsQ0FBQztJQUNGLEtBQUssRUFBRSxHQUFHLEdBQ1g7RUFHSCxBQUFBLGlCQUFpQixDQUFDO0lBQ2hCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0V5RlVILEFBQUEsY0FBYyxDekZSRztJQUNiLFNBQVMsRUFBRSxNQUFNLEdBQ2xCOztBQUdILE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUN0QixBQUFBLFlBQVksQ0FBQztJQUNYLFdBQVcsRUFBRSxJQUFJLEdBQ2xCOztBQUdILE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUN0QixBQUFBLFdBQVcsQ0FBQztJQUNWLFVBQVUsRUFBRSxZQUFZLEdBQ3pCOztBQUdILE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUN0QixBQUFBLDJCQUEyQixDQUFDO0lBQzFCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUFyREgsQUFBQSwwQkFBMEIsQ0F1REc7SUFDekIsWUFBWSxFQUFDLENBQUMsR0FDZjs7QUFHSCxBQUFBLFlBQVksQ0FBQztFQUNYLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQUVELEFBQUEsV0FBVyxDQUFBO0VBQ1QsS0FBSyxFQXpMRCxPQUFPLEdBMExaOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDcEIsS0FBSyxFQTdMRCxPQUFPO0VBOExYLFNBQVMsRUFBRSxJQUFJO0VBQ2YsR0FBRyxFQUFFLEtBQUs7RUFDVixXQUFXLEVBQUUsaUNBQWlDLEdBQy9DOztBQUVELEFBQUEsMkJBQTJCLENBQUM7RUFDMUIsS0FBSyxFQXBNRCxPQUFPO0VBcU1YLFNBQVMsRUFBRSxJQUFJO0VBQ2YsR0FBRyxFQUFFLEtBQUs7RUFDVixXQUFXLEVBQUUsaUNBQWlDLEdBQy9DOztBQUVELEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsS0FBSyxFQTNNRCxPQUFPO0VBNE1YLFNBQVMsRUFBRSxJQUFJO0VBQ2YsR0FBRyxFQUFFLEtBQUs7RUFDVixXQUFXLEVBQUUsaUNBQWlDLEdBQy9DOztBQUVELEFBQUEsT0FBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLElBQUksR0FDZDs7QW1GOUZELEFBQUEsU0FBUztBQUNULFVBQVU7QUFDVixZQUFZO0FBQ1osU0FBUztBQUNULFlBQVksQ25GNEZpRDtFQUMzRCxhQUFhLEVBQUUsNEJBQTRCO0VBQzNDLE1BQU0sRUFBRSxJQUFJO0VBQ1osWUFBWSxFQUFFLENBQUMsR0FDaEI7O0FBRUQsQUFBQSxLQUFLLENBQUM7RUFDSixLQUFLLEVBQUUsSUFBSTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLElBQUk7RUFDVCxVQUFVLEVBQUUsSUFBSTtFQUNoQixXQUFXLEVBQUUsaUNBQWlDLEdBQy9DOztBQUVELEFBQUEsS0FBSyxBQUFBLE1BQU0sR0FBRyxLQUFLLEVBQUUsS0FBSyxBQUFBLE1BQU0sR0FBRyxLQUFLLENBQUM7RUFDdkMsR0FBRyxFQUFFLEtBQUs7RUFDVixTQUFTLEVBQUUsS0FBSztFQUNoQixLQUFLLEVBL09rQixPQUFPO0VBZ1A5QixnQkFBZ0IsRUF4T1YsSUFBSTtFQXlPVixPQUFPLEVBQUMsU0FBUyxHQUNsQjs7QXNIUEQsQUFBQSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQ3RIU0M7RUFDdEIsS0FBSyxFQTdPQyxJQUFJLEdBOE9YOztBeUdORCxBQUFBLGVBQWUsQ3pHUUM7RUFDZCxhQUFhLEVBQUUsSUFBSTtFQUNuQixXQUFXLEVBQUUsaUNBQWlDLEdBQy9DOztBZ0p6TjJDLEFoSjJONUMsU2dKM05xRCxDOUlpekJqRCxTQUFTLEVvRjNxQmtDLG1CQUFtQixBQUFBLElBQUssQ0FBQSxrQkFBa0IsRXBGMnFCckYsU0FBUyxFb0Y5cEJvQyxxQkFBcUIsQUFBQSxJQUFLLENBYkosa0JBQWtCLEVwRjJxQnJGLFNBQVMsRXNGN3BCK0IsZ0JBQWdCLEFBQUEsSUFBSyxDRmRNLGtCQUFrQixFcEYycUJyRixTQUFTLEVzRmhwQmlDLGtCQUFrQixBQUFBLElBQUssQ0YzQkUsa0JBQWtCLEVwRjJxQnJGLFNBQVMsRXVGcGxCK0IsZ0JBQWdCLEFBQUEsYUFBYSxDdkZvbEJyRSxTQUFTLEV1Rm5sQitCLGdCQUFnQixHQUFHLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEd2Rm1sQmpFLFNBQVMsRXVGMWpCaUMsa0JBQWtCLEFBQUEsYUFBYSxDdkYwakJ6RSxTQUFTLEV1RnpqQmlDLGtCQUFrQixHQUFHLElBQUssRUExQkosQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHdkZtbEJqRSxTQUFTLEVnRy93QmtDLG1CQUFtQixDaEcrd0I5RCxTQUFTLEUyR3Z1QmdDLGlCQUFpQixDM0d1dUIxRCxTQUFTLENGdGxCTTtFQUNqQixLQUFLLEVBQUUsT0FBTyxHQUNmOztBOEV2TUQsQUFBQSxRQUFRLEM5RXlNQztFQUNQLFdBQVcsRUFBRSxJQUFJLEdBQ2xCOztBb0Z2RUQsQUFBQSxrQkFBa0IsQ3BGeUVDO0VBQ2pCLGdCQUFnQixFQXBRUyxPQUFPO0VBcVFoQyxnQkFBZ0IsRUFBRSwrQ0FBa0Y7RUFDcEcsS0FBSyxFQWhRQyxJQUFJO0VBaVFWLGFBQWEsRUFBRSxHQUFHLEdBUW5CO0VBWkQsQUFNRSxrQkFOZ0IsQUFNZixNQUFNLENBQUM7SUFDTixnQkFBZ0IsRUF4UU0sT0FBTztJQXlRN0IsZ0JBQWdCLEVBQUUsK0NBQTRGO0lBQzlHLEtBQUssRUF0UUQsSUFBSTtJQXVRUixhQUFhLEVBQUUsR0FBRyxHQUNuQjs7QXlGMUxILEFBQUEsUUFBUSxDekY2TEM7RUFDUCxhQUFhLEVBQUUsR0FBRyxHQUNuQjs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNYLE1BQU0sRUFBRSxZQUFZLEdBQ3JCOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1osS0FBSyxFQTVSa0IsT0FBTztFQTZSOUIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsU0FBUyxFQUFFLElBQUk7RUFDZixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNYLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDcEIsYUFBYSxFQUFFLEtBQUssR0FDckI7O0ErRTlRRCxBQUFBLG9CQUFvQixHQUFHLEVBQUUsQy9FZ1JBO0VBQ3ZCLEtBQUssRUFuU0MsSUFBSSxHQW9TWDs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBcEpDLEFBQUEsaUJBQWlCLENBc0pEO0VBQ2hCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1QsYUFBYSxFQUFDLElBQUksR0FDbkI7O0FBRUQsQUFDRSxFQURBLEFBQ0MsZUFBZSxDQUFDO0VBQ2YsVUFBVSxFQUFFLENBQUMsR0FDZCJ9 */
