@charset "UTF-8";
body {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.light {
  font-weight: 300;
  font-style: normal;
}

.headings {
  font-family: "Roboto Slab", serif;
  font-weight: 400;
  font-style: normal;
}

.bold {
  font-weight: 600;
  font-style: normal;
}

.italic {
  font-weight: 400;
  font-style: italic;
}

/* FONTS end */
/* VARIABLES start */
/** DEFAULT COLORS **/
/** BRAND COLORS **/
/* VARIABLES end */
/* BRAND VARIABLES start */
/**** BRAND VARIABLES end ****/
/* FUNCTIONS start */
/* FUNCTIONS end */
/* MIXINS start */
/*********************       MEDIA QUERIES        *********************/
/*
@include breakpoint(sm) {
.some-class {
  display: block;
}
}
*/
/* Single property */
/* Multiple properties with same values */
/*****    WORKSPACE   ******/
.p-0 {
  padding: 0px;
}

.p-3 {
  padding: 3px;
}

.p-5 {
  padding: 5px;
}

.p-10 {
  padding: 10px;
}

.p-15 {
  padding: 15px;
}

.p-20 {
  padding: 20px;
}

.p-25 {
  padding: 25px;
}

.p-30 {
  padding: 30px;
}

.p-35 {
  padding: 35px;
}

.p-40 {
  padding: 40px;
}

.p-45 {
  padding: 45px;
}

.p-50 {
  padding: 50px;
}

.pt-0 {
  padding-top: 0px;
}

.pt-3 {
  padding-top: 3px;
}

.pt-5 {
  padding-top: 5px;
}

.pt-10 {
  padding-top: 10px;
}

.pt-15 {
  padding-top: 15px;
}

.pt-20 {
  padding-top: 20px;
}

.pt-25 {
  padding-top: 25px;
}

.pt-30 {
  padding-top: 30px;
}

.pt-35 {
  padding-top: 35px;
}

.pt-40 {
  padding-top: 40px;
}

.pt-45 {
  padding-top: 45px;
}

.pt-50 {
  padding-top: 50px;
}

.pr-0 {
  padding-right: 0px;
}

.pr-3 {
  padding-right: 3px;
}

.pr-5 {
  padding-right: 5px;
}

.pr-10 {
  padding-right: 10px;
}

.pr-15 {
  padding-right: 15px;
}

.pr-20 {
  padding-right: 20px;
}

.pr-25 {
  padding-right: 25px;
}

.pr-30 {
  padding-right: 30px;
}

.pr-35 {
  padding-right: 35px;
}

.pr-40 {
  padding-right: 40px;
}

.pr-45 {
  padding-right: 45px;
}

.pr-50 {
  padding-right: 50px;
}

.pb-0 {
  padding-bottom: 0px;
}

.pb-3 {
  padding-bottom: 3px;
}

.pb-5 {
  padding-bottom: 5px;
}

.pb-10 {
  padding-bottom: 10px;
}

.pb-15 {
  padding-bottom: 15px;
}

.pb-20 {
  padding-bottom: 20px;
}

.pb-25 {
  padding-bottom: 25px;
}

.pb-30 {
  padding-bottom: 30px;
}

.pb-35 {
  padding-bottom: 35px;
}

.pb-40 {
  padding-bottom: 40px;
}

.pb-45 {
  padding-bottom: 45px;
}

.pb-50 {
  padding-bottom: 50px;
}

.pl-0 {
  padding-left: 0px;
}

.pl-3 {
  padding-left: 3px;
}

.pl-5 {
  padding-left: 5px;
}

.pl-10 {
  padding-left: 10px;
}

.pl-15 {
  padding-left: 15px;
}

.pl-20 {
  padding-left: 20px;
}

.pl-25 {
  padding-left: 25px;
}

.pl-30 {
  padding-left: 30px;
}

.pl-35 {
  padding-left: 35px;
}

.pl-40 {
  padding-left: 40px;
}

.pl-45 {
  padding-left: 45px;
}

.pl-50 {
  padding-left: 50px;
}

.m-0 {
  margin: 0px;
}

.m-3 {
  margin: 3px;
}

.m-5 {
  margin: 5px;
}

.m-10 {
  margin: 10px;
}

.m-15 {
  margin: 15px;
}

.m-20 {
  margin: 20px;
}

.m-25 {
  margin: 25px;
}

.m-30 {
  margin: 30px;
}

.m-35 {
  margin: 35px;
}

.m-40 {
  margin: 40px;
}

.m-45 {
  margin: 45px;
}

.m-50 {
  margin: 50px;
}

.mt-0 {
  margin-top: 0px;
}

.mt-3 {
  margin-top: 3px;
}

.mt-5 {
  margin-top: 5px;
}

.mt-10 {
  margin-top: 10px;
}

.mt-15 {
  margin-top: 15px;
}

.mt-20 {
  margin-top: 20px;
}

.mt-25 {
  margin-top: 25px;
}

.mt-30 {
  margin-top: 30px;
}

.mt-35 {
  margin-top: 35px;
}

.mt-40 {
  margin-top: 40px;
}

.mt-45 {
  margin-top: 45px;
}

.mt-50 {
  margin-top: 50px;
}

.mr-0 {
  margin-right: 0px;
}

.mr-3 {
  margin-right: 3px;
}

.mr-5 {
  margin-right: 5px;
}

.mr-10 {
  margin-right: 10px;
}

.mr-15 {
  margin-right: 15px;
}

.mr-20 {
  margin-right: 20px;
}

.mr-25 {
  margin-right: 25px;
}

.mr-30 {
  margin-right: 30px;
}

.mr-35 {
  margin-right: 35px;
}

.mr-40 {
  margin-right: 40px;
}

.mr-45 {
  margin-right: 45px;
}

.mr-50 {
  margin-right: 50px;
}

.mb-0 {
  margin-bottom: 0px;
}

.mb-3 {
  margin-bottom: 3px;
}

.mb-5 {
  margin-bottom: 5px;
}

.mb-10 {
  margin-bottom: 10px;
}

.mb-15 {
  margin-bottom: 15px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-25 {
  margin-bottom: 25px;
}

.mb-30 {
  margin-bottom: 30px;
}

.mb-35 {
  margin-bottom: 35px;
}

.mb-40 {
  margin-bottom: 40px;
}

.mb-45 {
  margin-bottom: 45px;
}

.mb-50 {
  margin-bottom: 50px;
}

.ml-0 {
  margin-left: 0px;
}

.ml-3 {
  margin-left: 3px;
}

.ml-5 {
  margin-left: 5px;
}

.ml-10 {
  margin-left: 10px;
}

.ml-15 {
  margin-left: 15px;
}

.ml-20 {
  margin-left: 20px;
}

.ml-25 {
  margin-left: 25px;
}

.ml-30 {
  margin-left: 30px;
}

.ml-35 {
  margin-left: 35px;
}

.ml-40 {
  margin-left: 40px;
}

.ml-45 {
  margin-left: 45px;
}

.ml-50 {
  margin-left: 50px;
}

.p-0 {
  padding: 0px;
}

.p-3 {
  padding: 3px;
}

.p-5 {
  padding: 5px;
}

.p-10 {
  padding: 10px;
}

.p-15 {
  padding: 15px;
}

.p-20 {
  padding: 20px;
}

.p-25 {
  padding: 25px;
}

.p-30 {
  padding: 30px;
}

.p-35 {
  padding: 35px;
}

.p-40 {
  padding: 40px;
}

.p-45 {
  padding: 45px;
}

.p-50 {
  padding: 50px;
}

::-webkit-input-placeholder {
  font-style: italic;
  color: white;
  font-weight: 100;
}

:-moz-placeholder {
  font-style: italic;
  color: white;
  font-weight: 100;
}

::-moz-placeholder {
  font-style: italic;
  color: white;
  font-weight: 100;
}

:-ms-input-placeholder {
  font-style: italic;
  color: white;
  font-weight: 100;
}

/* USE 
https://stackoverflow.com/questions/17181849/placeholder-mixin-scss-css

.foo {
  @include placeholder {
    color: green;
  }
}

@include placeholder {
  color: red;
}
*/
/* MIXINS end */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

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

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.


button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
*/
/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

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

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
/*
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}*/
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

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

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* BASE start */
/**
 * Set up a decent box model on the root element
 */
html {
  box-sizing: border-box;
}

/**
 * Make all elements from the DOM inherit from the parent box-sizing
 * Since `*` has a specificity of 0, it does not override the `html` value
 * making all elements inheriting from the root box-sizing value
 * See: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
*,
*::before,
*::after {
  box-sizing: inherit;
}

body {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  min-height: 100dvh;
  /* icons inside links (often "external link icon") should be smaller and have more space */
}
body a {
  color: #00C292;
  text-decoration: none;
}
body a:hover, body a:active, body a:focus {
  color: #000000;
  text-decoration: underline;
}
body .icon-danger {
  color: theme-colors("danger");
  margin-right: 5px;
}
body a i {
  font-size: 80%;
  margin: 0px 5px;
}

/* BASE end */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 1rem;
  font-family: "Roboto Slab", "Helvetica Neue", serif;
  font-weight: 300;
  line-height: 1.2;
  color: inherit;
}

h1, .h1 {
  font-size: 3.2rem;
}

h2, .h2 {
  font-size: 3.2rem;
}

h3, .h3 {
  font-size: 1.4rem;
}

h4, .h4 {
  font-size: 2.4rem;
}

h5, .h5 {
  font-size: 2rem;
}

h6, .h6 {
  font-size: 1.6rem;
}

.lead {
  font-size: 2rem;
  font-weight: 300;
}

.display-1 {
  font-size: 6rem;
  font-weight: 300;
  line-height: 1.2;
}

.display-2 {
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.2;
}

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

small,
.small {
  font-size: 80%;
  font-weight: 400;
}

mark,
.mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
}

.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}

.initialism {
  font-size: 90%;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 2rem;
}

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: #8D8D8D;
}
.blockquote-footer::before {
  content: "— ";
}

span[role=checkbox] {
  border-radius: 3px;
}

/**
 * Basic typography style for copy text
 */
body {
  color: #000000;
  font-size: 1.6rem;
  font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;
  /* Breadcrumb */
  /* Replace Breadcrumb arrow with FontAwesome arrow icon */
  /* make breadcrumb look good on mobile and desktop */
  /* Label */
}
body .h0-font {
  font-family: "Roboto Slab", "Helvetica Neue", serif;
  font-style: normal;
  font-weight: 300;
}
body .h0-text {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0px;
  position: absolute;
  width: 95%;
}
body .h0-container {
  background-position: 50% center;
  background-repeat: no-repeat;
  background-size: cover;
  object-fit: cover;
  object-position: center center;
  width: 100%;
  left: 0px;
  top: 0px;
  right: 0px;
}
body h1, body h2, body h3, body h4, body h5, body h6 {
  margin-top: 0px;
}
body .breadcrumb {
  padding: 8px 0px;
  margin: 0px;
}
body .breadcrumb li.active {
  font-weight: 400;
}
body .breadcrumb li a {
  text-decoration: none;
  margin: 0;
  padding: 0;
}
body .breadcrumb > li + li::before {
  font: var(--fa-font-solid);
  content: "\f101";
  padding: 0 5px 0 1px;
  color: #000000;
  font-size: 0.5em;
  vertical-align: middle;
}
body .breadcrumb > li {
  display: flex;
  float: left;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-start;
  align-items: baseline;
}
body label, body .crmEntityFormView label, body .crmEntityFormView .label, body h1.label, body .label {
  color: #4f4f4f;
  font-size: 12px;
  display: flex;
}
/* TYPOGRAPHY end */
/**
 * Clear inner floats
 */
.clearfix::after {
  clear: both;
  content: "";
  display: table;
}

/**
 * Main content containers
 * 1. Make the container full-width with a maximum width
 * 2. Center it in the viewport
 * 3. Leave some space on the edges, especially valuable on small screens
 */
.container {
  max-width: 1180px; /* 1 */
  width: 100%; /* 1 */
  flex-wrap: wrap;
}
@media (min-width: 767px) {
  .container {
    flex-wrap: nowrap;
  }
}

/**
 * Hide text while making it readable for screen readers
 * 1. Needed in WebKit-based browsers because of an implementation bug;
 *    See: https://code.google.com/p/chromium/issues/detail?id=457146
 */
.hide-text {
  overflow: hidden;
  padding: 0; /* 1 */
  text-indent: 101%;
  white-space: nowrap;
}

/**
 * Hide element while making it readable for screen readers
 * Shamelessly borrowed from HTML5Boilerplate:
 * https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L119-L133
 */
.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.inline-icon * {
  display: inline;
}

.add-chevron-right::after {
  font-family: "FontAwesome";
  content: "\f054";
  padding-left: 5px;
  position: relative;
  font-size: 100%;
  color: #34657F;
  float: right;
}

.full-width {
  width: 100% !important;
}

/*****    FLOAT    *****/
.float-left {
  float: left;
}

.float-right {
  float: right;
}

.float-left-important {
  float: left !important;
}

.float-right-important {
  float: right !important;
}

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

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

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

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

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

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

.vertical-align-parent {
  position: relative;
}

.vertical-align {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.clear-left {
  clear: left;
}

.clear-right {
  clear: right;
}

.block {
  display: block;
}

.inline {
  display: inline-block;
}

/*****    end FLOAT    *****/
/*****    BORDER    *****/
.border {
  border: 1px solid #8D8D8D !important;
}

.border-top {
  border-top: 1px solid #8D8D8D !important;
}

.border-right {
  border-right: 1px solid #8D8D8D !important;
}

.border-bottom {
  border-bottom: 1px solid #8D8D8D !important;
}

.border-left {
  border-left: 1px solid #8D8D8D !important;
}

.border-0 {
  border: 0 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-primary {
  border-color: #00C292 !important;
}

.border-secondary {
  border-color: #4f4f4f !important;
}

.border-success {
  border-color: #005C45 !important;
}

.border-info {
  border-color: #005C45 !important;
}

.border-warning {
  border-color: #ffc107 !important;
}

.border-danger {
  border-color: #dc3545 !important;
}

.border-light {
  border-color: #D6FFF5 !important;
}

.border-dark {
  border-color: #005C45 !important;
}

.border-hr {
  border-color: #b7b7b7 !important;
}

.border-white {
  border-color: #fff !important;
}

.rounded {
  border-radius: 6px;
}

/*****    end BORDER    *****/
/** FLEX HELPERS */
.flex-column {
  flex-direction: column;
}

.flex-row {
  flex-direction: row;
}

.d-flex {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}
@media (min-width: 767px) {
  .d-flex {
    flex-direction: row;
  }
}

.justify-content-between {
  justify-content: space-between;
}

.align-items-start {
  align-items: flex-start;
}

.align-items-center {
  align-items: center;
}

.align-self-end {
  align-self: flex-end;
}

.align-self-start {
  align-self: flex-start;
}

.grow-1 {
  flex-grow: 1;
}

/*** END FLEX HELPERS ****/
/* HELPERS end */
/******  Fixes styling from Boostrap *****/
body {
  height: auto;
  /* Modal */
  /* List group */
}
body .fa {
  top: 0px;
}
body .container .fa {
  line-height: 18px;
}
body table {
  font-size: inherit;
}
body .table > thead > tr > th {
  font-weight: normal;
  text-transform: uppercase;
}
body .nav > li > a {
  padding-left: 0px;
}
body .nav > li > a:hover,
body .nav > li > a:focus {
  background-color: transparent;
}
body .navbar {
  font-size: inherit;
}
body .navbar-inverse .navbar-collapse,
body .navbar-inverse .navbar-form {
  border: none;
}
body .navbar-inverse {
  background-color: #00C292;
}
body .navbar-brand p {
  margin: 0px;
}
body .navbar-brand > img {
  max-width: 100%;
}
body legend {
  border-bottom: none;
}
body .table-striped > tbody > tr:nth-of-type(odd) {
  background-color: inherit;
}
body .table > thead > tr > th,
body .table > tbody > tr > th,
body .table > tfoot > tr > th,
body .table > thead > tr > td,
body .table > tbody > tr > td,
body .table > tfoot > tr > td {
  /*vertical-align: bottom; */
  line-height: 1.5;
}
body .table-fluid td:before {
  white-space: pre-wrap;
  word-wrap: break-word;
  word-break: break-all;
}
@media (min-width: 768px) {
  body .table-fluid td:before {
    white-space: normal;
    word-wrap: normal;
    word-break: normal;
  }
}
body .crmEntityFormView table.table td,
body .crmEntityFormView table.table td:first-child,
body .table > thead > tr > th,
body .table > tbody > tr > th,
body .table > tfoot > tr > th,
body .table > thead > tr > td,
body .table > tbody > tr > td,
body .table > tfoot > tr > td {
  padding: 10px 10px 5px 1px;
}
body .crmEntityFormView .actions {
  border-top: none;
}
body .form-control, body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input {
  -webkit-box-shadow: none;
  box-shadow: none;
}
body .navbar-inverse .navbar-nav > li > a:hover,
body .navbar-inverse .navbar-nav > li > a:focus,
body .navbar-inverse .navbar-nav > .open > a,
body .navbar-inverse .navbar-nav > .open > a:hover,
body .navbar-inverse .navbar-nav > .open > a:focus,
body .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
body .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
  background-color: inherit;
  border: inherit;
}
body .navbar-inverse .navbar-collapse,
body .navbar-inverse .navbar-form {
  border-top: none;
}
body .navbar-static-top .navbar-header {
  padding-top: 0px;
}
body .navbar-static-top.navbar .menu-bar > .navbar-nav > li > a {
  font-weight: normal;
}
body .entity-lookup .view-grid,
body .entity-associate .view-grid {
  font-size: 100%;
}
body .container {
  height: inherit;
}
body .alert {
  font-size: 1em;
}
body #navbar.navbar-collapse.in {
  overflow-y: visible;
}
body .input-group-addon:last-child {
  padding-left: 0px;
}
body .list-group-item.active,
body .list-group-item.active:hover,
body .list-group-item.active:focus {
  background-color: transparent;
  border-color: transparent;
  color: #000000;
}
body .list-group-item.active .list-group-item-text,
body .list-group-item.active:hover .list-group-item-text,
body .list-group-item.active:focus .list-group-item-text {
  color: #000000;
  text-decoration: none;
}
body a.list-group-item,
body button.list-group-item {
  color: inherit;
}
body .list-group-item {
  background-color: transparent;
  color: inherit;
}
body .crmEntityFormView table.section tr td.lookup .control .input-group {
  flex-wrap: nowrap;
}
body .crmEntityFormView table.section tr td.lookup .control .input-group input.lookup,
body .crmEntityFormView table.section tr td.lookup .control .input-group input.query {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
body .crmEntityFormView table.section tr td.lookup .control .input-group .input-group-btn {
  display: flex;
  font-size: inherit;
  width: auto;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-start;
  align-items: stretch;
}
body .crmEntityFormView table.section tr td.lookup .control .input-group .btn {
  margin-top: 0px;
  margin-bottom: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
}

/* end body */
@media (max-width: 767px) {
  .crmEntityFormView table.section {
    overflow: visible;
  }
}
@media (min-width: 768px) {
  .navbar-right {
    margin-right: 0px;
  }
}
@media (max-width: 1200px) {
  .navbar-static-top .navbar-brand {
    height: auto;
  }
}
.datepicker .day.disabled button {
  cursor: not-allowed;
  opacity: 0.5;
}

/* BOOTSTRAPFIX end */
/******  Fixes to the css file "Portalbasictheme.css" for Power Pages Registration Site *****/
body footer,
body .btn-default,
body .btn-primary,
body .navbar-static-top.navbar .menu-bar > .navbar-nav > li > a,
body .navbar-inverse .navbar-nav > li > a,
body a,
body .a,
body .poll .poll-tags h4,
body h5,
body .h5,
body p,
body .p,
body p.smallText .page_section p,
body .section-diagonal-left p,
body .section-diagonal-right p,
body .p2,
body .button1,
body .button2,
body .section-landing .row > div .section-landing-sub-heading,
body h1.siteTitle,
body .navbar-static-top.navbar-inverse .navbar-brand a h1.siteTitle,
body .navbar-static-top.navbar-inverse .navbar-brand a h1.siteTitle > span {
  font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  color: #000000;
  font-size: inherit;
  font-weight: 400;
}
body h1,
body .h1,
body .section-landing-heading,
body .section-landing .row > div .section-landing-heading,
body .section-inline-search .row > div h1,
body .section-landing h1,
body .section-search .header-search h1,
body .page_section h1,
body .color-inverse h1,
body h1 p,
body h2,
body .h2,
body .page_section h2,
body .color-inverse h2,
body h2 p,
body h3,
body .h3,
body .page_section h3,
body .color-inverse h3,
body .sidebar-home h3,
body h4,
body .h4,
body .poll .poll-header h4,
body h1.siteTitle {
  font-family: "Roboto Slab", "Helvetica Neue", serif;
  color: #000000;
  font-weight: 300;
}
body a:not(.btn) {
  text-decoration-line: none;
}
body .columnBlockLayout {
  padding: inherit;
}
body .crmEntityFormView,
body .entitylist,
body .modal-content,
body .popover-content {
  background-color: #fff;
  color: #000000;
  border: none;
  border-radius: 6px;
}

/* PORTALBASICSTHEMEFIX end */
/******  Fixes to the css file "Customtheme.css" for Power Pages Registration Site *****/
body textarea#msdynce_coursedescription {
  height: auto;
}
body .row.form-custom-actions button, body .row.form-custom-actions input {
  width: auto;
}
body .sectionFixedStyle {
  background-color: transparent;
}

/* HEADER.SCSS Starts */
body .navbar .navbar-brand .logoLink {
  text-decoration: none;
}
body .navbar .navbar-brand .siteTitle {
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  margin-bottom: 10px;
  padding-left: 10px;
}
body .navbar-static-top.navbar {
  flex: 0;
  background-color: transparent;
  color: #000000;
  box-shadow: none;
  min-height: auto;
  border-bottom: 1px solid #d9d9d9;
}
body .navbar-static-top.navbar .container {
  display: flex;
  flex-direction: column;
  padding: 0;
}
body .navbar-static-top.navbar .container .navbar-notcollapse {
  width: 100%;
}
@media (min-width: 768px) {
  body .navbar-static-top.navbar .container {
    flex-direction: row;
    align-items: center;
  }
}
body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks {
    border-top: 0;
    border-left: 0;
    flex-direction: row;
  }
}
body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li {
  font-size: 16px;
  min-width: max-content;
  border-right: 1px solid #d9d9d9;
  flex: 0;
  display: flex;
  align-items: center;
  border-bottom: 3px solid transparent;
  border-top: 3px solid transparent;
}
@media (min-width: 768px) {
  body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li {
    font-size: 12px;
    border-right: 0;
  }
}
body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li:hover, body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li:active {
  color: #00C292;
  border-bottom: 3px solid #00C292;
}
body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li a {
  padding: 10px 16px;
  text-decoration-color: rgba(0, 0, 0, 0.5);
  margin: 0;
}
body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li a:hover, body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li a:active, body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li a:focus {
  background-color: none;
  color: #00C292;
  text-decoration-color: rgba(255, 255, 255, 0.5);
  text-decoration-line: none;
}
body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li .username {
  display: flex;
}
@media (min-width: 768px) {
  body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.dropdown ul.dropdown-menu {
    left: -210%;
  }
}
body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.dropdown ul.dropdown-menu li {
  border-bottom: 0;
}
body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.dropdown ul.dropdown-menu li a:hover, body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.dropdown ul.dropdown-menu li a:active, body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.dropdown ul.dropdown-menu li a:focus {
  background-color: #fff;
  border: 0;
}
body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.spacer {
  border-right: 1px solid #d9d9d9;
  flex: 1;
}
@media (min-width: 768px) {
  body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.spacer {
    border-right: 0;
  }
}
body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.spacer:hover, body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.spacer:active, body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.spacer:focus {
  border-bottom: 0;
}
body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.divider-left {
  display: none;
}
@media (min-width: 768px) {
  body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.divider-left {
    display: block;
    border-left: 1px solid #00C292;
    height: 30px;
    margin-top: 10px;
    margin-left: 30px;
    margin-right: 20px;
  }
}
body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.divider-left:hover, body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.divider-left:active, body .navbar-static-top.navbar #navbar.navbar-notcollapse ul.weblinks li.divider-left:focus {
  border-bottom: 0;
}
body .navbar-static-top.navbar .navbar-brand {
  padding-top: 20px;
  padding-bottom: 20px;
  height: auto;
  min-width: max-content;
}
@media (min-width: 768px) {
  body .navbar-static-top.navbar .navbar-brand {
    padding-top: 0;
    padding-bottom: 8px;
  }
}

/* HEADER end */
body footer .footer-bottom {
  background-color: #393939;
  color: #fff;
  padding: 14px 0px;
  flex: 0;
}
body footer .footer-bottom .col-md-12 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  gap: 50px;
  padding: 20px 0;
}
@media (min-width: 768px) {
  body footer .footer-bottom .col-md-12 {
    flex-direction: row;
    padding: 0 20px;
  }
}
@media (min-width: 1200px) {
  body footer .footer-bottom .col-md-12 {
    flex-direction: row;
    padding: 0;
  }
}
body footer .footer-bottom .col-md-12 .DSB p {
  color: white;
  font-size: 12px;
  margin-bottom: 5px;
}
body footer .footer-bottom .col-md-12 .footerLinks {
  display: flex;
  gap: 20px;
}
body footer .footer-bottom .col-md-12 .footerLinks a {
  color: #00C292;
}

/* page-grid.scss starts */
#mainContent .row.sectionBlockLayout {
  margin-left: 0px !important;
  margin-right: 0px !important;
}

.wrapper-body {
  flex: 1;
}

/* page-grid.scss ends */
.case-list {
  overflow-x: auto;
}
.case-list ul {
  display: flex;
  list-style-type: none;
  padding: 0;
  margin: 0;
  gap: 8px;
}
@media (min-width: 768px) {
  .case-list ul {
    flex-direction: column;
  }
}
.case-list ul > li {
  display: flex;
  background-color: #f4f4f4;
  gap: 32px;
  padding: 16px;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
}
.case-list ul > li > div.case-list-data {
  min-width: max-content;
  flex: 0;
  display: flex;
  flex-basis: 8%;
  flex-direction: column;
  gap: 0.2rem;
  align-items: flex-start;
}
.case-list ul > li > div.case-list-actions {
  min-width: max-content;
  flex: 0;
  display: flex;
  gap: 0.2rem;
  flex-direction: column;
  align-items: flex-end;
}
.case-list ul > li > div.case-list-actions a {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: center;
  font-size: 12px;
}
.case-list ul > li > div.case-list-spacer {
  flex: 1;
}
.case-list ul > li h3 {
  font-size: 12px;
  font-weight: 200;
  color: #525252;
  margin: 0px;
  padding: 0px;
}
.case-list ul > li p {
  margin: 0px;
  padding: 0px;
}
.case-list div.icon-edit {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21" fill="none"><path d="M19.0833 16.252H1.58331V17.502H19.0833V16.252Z" fill="%23008060"/><path d="M16.2083 5.62695C16.7083 5.12695 16.7083 4.37695 16.2083 3.87695L13.9583 1.62695C13.4583 1.12695 12.7083 1.12695 12.2083 1.62695L2.83331 11.002V15.002H6.83331L16.2083 5.62695ZM13.0833 2.50195L15.3333 4.75195L13.4583 6.62695L11.2083 4.37695L13.0833 2.50195ZM4.08331 13.752V11.502L10.3333 5.25195L12.5833 7.50195L6.33331 13.752H4.08331Z" fill="%23008060"/></svg>');
  background-size: contain;
  width: 1.5rem;
  height: 1.5rem;
}
.case-list div.icon-details {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M14 5H2C1.73487 4.99967 1.48069 4.89422 1.29321 4.70675C1.10574 4.51927 1.00029 4.26509 1 4V2C1.00028 1.73483 1.10572 1.48064 1.2932 1.29316C1.48068 1.10569 1.73487 1.00024 2 1H14C14.2651 1.00024 14.5193 1.10569 14.7068 1.29316C14.8943 1.48064 14.9997 1.73483 15 2V4C14.9997 4.26509 14.8943 4.51927 14.7068 4.70675C14.5193 4.89422 14.2651 4.99967 14 5ZM2 2V4H14V2H2Z' fill='%23008060'/%3E%3Cpath d='M14 15H2C1.73487 14.9997 1.48069 14.8942 1.29321 14.7067C1.10574 14.5193 1.00029 14.2651 1 14V12C1.00028 11.7348 1.10572 11.4806 1.2932 11.2932C1.48068 11.1057 1.73487 11.0002 2 11H14C14.2651 11.0002 14.5193 11.1057 14.7068 11.2932C14.8943 11.4806 14.9997 11.7348 15 12V14C14.9997 14.2651 14.8943 14.5193 14.7068 14.7067C14.5193 14.8942 14.2651 14.9997 14 15ZM2 12V14H14V12H2Z' fill='%23008060'/%3E%3Cpath d='M14 10H2C1.73487 9.99967 1.48069 9.89422 1.29321 9.70675C1.10574 9.51927 1.00029 9.26509 1 9V7C1.00028 6.73483 1.10572 6.48064 1.2932 6.29316C1.48068 6.10569 1.73487 6.00024 2 6H14C14.2651 6.00024 14.5193 6.10569 14.7068 6.29316C14.8943 6.48064 14.9997 6.73483 15 7V9C14.9997 9.26509 14.8943 9.51927 14.7068 9.70675C14.5193 9.89422 14.2651 9.99967 14 10ZM2 7V9H14V7H2Z' fill='%23008060'/%3E%3C/svg%3E");
  background-size: contain;
  width: 1.5rem;
  height: 1.5rem;
}

.case-summary {
  display: flex;
  margin: 80px 0;
  gap: 10px;
  width: 100%;
  flex-wrap: wrap;
}
.case-summary p {
  font-size: 14px;
  font-weight: 400;
}
.case-summary h3 {
  font-weight: 200;
  color: #525252;
}
.case-summary .column1,
.case-summary .column2,
.case-summary .column3 {
  flex: 1;
  display: flex;
  gap: 10px;
  min-width: 300px;
  flex-direction: column;
}
.case-summary .incidentInformation,
.case-summary .areaOrigin {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 16px;
  background-color: #f4f4f4;
}
.case-summary .incidentInformation {
  flex-grow: 0.4;
}
.case-summary .areaOrigin {
  flex-grow: 0.6;
}
.case-summary .electicalInformation {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-grow: 1;
  gap: 8px;
  padding: 16px;
  background-color: #f4f4f4;
}
.case-summary .personalInformation,
.case-summary .fireOrigin {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 16px;
  background-color: #f4f4f4;
}
.case-summary .personalInformation {
  flex-grow: 0.6;
}
.case-summary .fireOrigin {
  flex-grow: 0.4;
}
.case-summary .editIcon {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21" fill="none"><path d="M19.0833 16.252H1.58331V17.502H19.0833V16.252Z" fill="%23008060"/><path d="M16.2083 5.62695C16.7083 5.12695 16.7083 4.37695 16.2083 3.87695L13.9583 1.62695C13.4583 1.12695 12.7083 1.12695 12.2083 1.62695L2.83331 11.002V15.002H6.83331L16.2083 5.62695ZM13.0833 2.50195L15.3333 4.75195L13.4583 6.62695L11.2083 4.37695L13.0833 2.50195ZM4.08331 13.752V11.502L10.3333 5.25195L12.5833 7.50195L6.33331 13.752H4.08331Z" fill="%23008060"/></svg>');
  height: 20px;
  width: 20px;
  align-self: flex-end;
  margin-top: auto;
}

body .row .container .case-view .print-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
body .row .container .case-view .print-container .btn.with-icon {
  width: auto;
  display: flex;
  gap: 10px;
  max-height: 55px;
}
body .row .container .case-view .print-icon {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20viewBox%3D'0%200%2016%2017'%20fill%3D'none'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Crect%20width%3D'16'%20height%3D'16'%20transform%3D'translate(0%200.512695)'%20fill%3D'white'%20fill-opacity%3D'0.01'%20style%3D'mix-blend-mode%3Amultiply'%2F%3E%3Cpath%20d%3D'M14%205.0127H12.5V2.0127H3.5V5.0127H2C1.73478%205.0127%201.48043%205.11805%201.29289%205.30559C1.10536%205.49313%201%205.74748%201%206.0127V11.0127C1%2011.2779%201.10536%2011.5323%201.29289%2011.7198C1.48043%2011.9073%201.73478%2012.0127%202%2012.0127H3.5V15.0127H12.5V12.0127H14C14.2652%2012.0127%2014.5196%2011.9073%2014.7071%2011.7198C14.8946%2011.5323%2015%2011.2779%2015%2011.0127V6.0127C15%205.74748%2014.8946%205.49313%2014.7071%205.30559C14.5196%205.11805%2014.2652%205.0127%2014%205.0127ZM4.5%203.0127H11.5V5.0127H4.5V3.0127ZM11.5%2014.0127H4.5V9.0127H11.5V14.0127ZM14%2011.0127H12.5V8.0127H3.5V11.0127H2V6.0127H14V11.0127Z'%20fill%3D'%23161616'%2F%3E%3C%2Fsvg%3E");
  height: 20px;
  width: 20px;
  display: flex;
}

nav#case-progress-bar {
  padding: 2rem 0rem 0rem 0rem;
  user-select: none;
}
@media (min-width: 768px) {
  nav#case-progress-bar {
    flex-direction: row;
    padding: 2rem 0rem 5rem 0rem;
  }
}
nav#case-progress-bar ul {
  all: unset;
  font-size: small;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
}
@media (min-width: 768px) {
  nav#case-progress-bar ul {
    flex-direction: row;
  }
}
nav#case-progress-bar ul li {
  all: unset;
}
nav#case-progress-bar ul li.tab {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  white-space: nowrap;
  min-width: max-content;
  white-space: nowrap;
  padding: 0.5rem 2rem 1rem 0;
  gap: 0.5rem;
  flex: 0;
}
@media (min-width: 768px) {
  nav#case-progress-bar ul li {
    justify-content: center;
    border-top: 2px solid #d9d9d9;
    padding: 0.5rem 1rem 0 0;
  }
}
nav#case-progress-bar ul li.tab-spacer {
  flex: 1;
}
@media (min-width: 768px) {
  nav#case-progress-bar ul li {
    border-top: 2px solid #d9d9d9;
    flex: 1;
  }
}
nav#case-progress-bar ul li.tab-active, nav#case-progress-bar ul li.tab-active + li.tab-spacer, nav#case-progress-bar ul li.tab-complete, nav#case-progress-bar ul li.tab-complete + li.tab-spacer {
  border-top: 2px solid #00c292;
}

span.tab-icon {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.75rem;
  box-sizing: border-box;
  display: inline-block;
}
span.tab-icon.full-circle {
  background-color: #00A37B;
}
span.tab-icon.dashed-circle {
  border: 1px dashed #00A37B;
}
span.tab-icon.half-circle {
  background: linear-gradient(to right, #00A37B 50%, transparent 50%);
  position: relative;
}
span.tab-icon.half-circle:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px dashed #00A37B;
  border-radius: 50%;
  box-sizing: border-box;
}

/** ELEMENTS START ***/
.alert-icon {
  color: theme-colors("danger");
}

.list-group:not(.input-append) {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
  flex-direction: column;
}
.list-group:not(.input-append).list-removestyle .list-group-item {
  border-right: 0;
  border-left: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  border-radius: 0;
  background-color: transparent;
  color: inherit;
  padding: 0.5em 0 0.5em 0;
  margin: 0px;
  border: none;
}
.list-group:not(.input-append).list-removestyle .list-group-item a {
  margin: 0px;
}
.list-group:not(.input-append).list-removestyle:first-child .list-group-item:first-child {
  border-top: 0;
}
.list-group:not(.input-append).list-removestyle:last-child .list-group-item:last-child {
  border-bottom: 0;
}
.list-group:not(.input-append).list-group-horizontal-sm {
  flex-direction: column;
}
@media (min-width: 992px) {
  .list-group:not(.input-append).list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group:not(.input-append).list-group-horizontal-sm .list-group-item {
    padding-right: 3em;
  }
}
.list-group:not(.input-append) .list-group-item-action.flex-column {
  margin: 0 -15px;
}
.list-group:not(.input-append) .list-group-item-action.flex-column .d-flex.w-100 {
  padding: 15px;
}

#mainContent .row.sectionBlockLayout .columnBlockLayout .card {
  background-color: transparent;
  border: none;
  box-shadow: none;
  width: 100%;
  /* Designer layout element have padding 16px by default. This style counteracts that styling in mobile view */
  /* allow the default padding in desktop view */
  margin-bottom: 16px;
}
@media (min-width: 992px) {
  #mainContent .row.sectionBlockLayout .columnBlockLayout .card {
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media (min-width: 992px) {
  #mainContent .row.sectionBlockLayout .columnBlockLayout .card {
    margin-bottom: 30px;
  }
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card.rounded {
  -webkit-box-shadow: 0 0.2rem 0.3rem rgba(0, 0, 0, 0.16);
  -moz-box-shadow: 0 0.2rem 0.3rem rgba(0, 0, 0, 0.16);
  box-shadow: 0 0.2rem 0.3rem rgba(0, 0, 0, 0.16);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
}
@media (min-width: 992px) {
  #mainContent .row.sectionBlockLayout .columnBlockLayout .card.rounded {
    -webkit-box-shadow: 0 0.2rem 0.3rem rgba(0, 0, 0, 0.18);
    -moz-box-shadow: 0 0.2rem 0.3rem rgba(0, 0, 0, 0.18);
    box-shadow: 0 0.2rem 0.3rem rgba(0, 0, 0, 0.18);
  }
}
@media (min-width: 1200px) {
  #mainContent .row.sectionBlockLayout .columnBlockLayout .card.rounded {
    -webkit-box-shadow: 0 0.2rem 0.3rem rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 0.2rem 0.3rem rgba(0, 0, 0, 0.2);
    box-shadow: 0 0.2rem 0.3rem rgba(0, 0, 0, 0.2);
  }
}
@media (min-width: 992px) {
  #mainContent .row.sectionBlockLayout .columnBlockLayout .card.rounded {
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -ms-border-radius: 6px;
    border-radius: 6px;
  }
}
@media (min-width: 1200px) {
  #mainContent .row.sectionBlockLayout .columnBlockLayout .card.rounded {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    border-radius: 10px;
  }
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card.bg-white {
  background: #fff;
  border: none;
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card.bg-blue {
  background-color: theme-colors("info");
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card.bg-blue .card-title {
  color: #00C292;
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card .card-img-top.card-icon {
  max-width: 100%;
  width: 70%;
  height: auto;
  margin: 0 auto;
  display: flex;
  max-width: 130px;
  width: 12%;
}
@media (min-width: 992px) {
  #mainContent .row.sectionBlockLayout .columnBlockLayout .card .card-img-top.card-icon {
    width: 40%;
  }
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card .card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card .card-img {
  width: 100%;
  -webkit-border-radius: calc(6px - 1px);
  -moz-border-radius: calc(6px - 1px);
  -ms-border-radius: calc(6px - 1px);
  border-radius: calc(6px - 1px);
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card .card-img-top {
  width: 100%;
  border-top-left-radius: calc(6px - 1px);
  border-top-right-radius: calc(6px - 1px);
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card .card-img-top.fit {
  object-fit: cover;
  max-height: 200px;
  width: 100%;
  object-position: 0 35%;
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card .card-img-bottom {
  width: 100%;
  border-bottom-right-radius: calc(6px - 1px);
  border-bottom-left-radius: calc(6px - 1px);
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card.card-horizontal {
  flex-direction: row;
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card.card-horizontal .card-img-left {
  padding-left: 0px;
  padding-right: 0px;
  border-top-left-radius: calc(6px - 1px);
  border-top-right-radius: calc(6px - 1px);
}
@media (min-width: 768px) {
  #mainContent .row.sectionBlockLayout .columnBlockLayout .card.card-horizontal .card-img-left {
    border-top-left-radius: calc(6px - 1px);
    border-bottom-left-radius: calc(6px - 1px);
  }
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card.card-horizontal .card-img-right {
  padding-left: 0px;
  padding-right: 0px;
  border-bottom-right-radius: calc(6px - 1px);
  border-bottom-left-radius: calc(6px - 1px);
}
@media (min-width: 768px) {
  #mainContent .row.sectionBlockLayout .columnBlockLayout .card.card-horizontal .card-img-right {
    border-top-right-radius: calc(6px - 1px);
    border-bottom-right-radius: calc(6px - 1px);
  }
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card .card-body {
  padding: 15px;
}
@media (min-width: 768px) {
  #mainContent .row.sectionBlockLayout .columnBlockLayout .card .card-body {
    padding: 30px;
  }
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card .card-body .card-text {
  max-width: 600px;
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card a.list-group-item {
  text-decoration: none;
}
#mainContent .row.sectionBlockLayout .columnBlockLayout .card a.list-group-item .list-group-item-heading {
  text-decoration: underline;
}

#removableElement {
  font-size: small;
  max-width: 100%;
  height: 300px;
  margin-top: 20px;
  border: 1px solid transparent;
  border-radius: 6px;
}

.tabs-div.col-md-12.columnBlockLayout {
  margin-bottom: 0;
}
.tabs-div.col-md-12.columnBlockLayout .tabs-container {
  max-width: 1118px;
  width: 100%;
  margin: 0 auto;
  font-size: 12px;
  display: flex;
  align-items: center;
}
.tabs-div.col-md-12.columnBlockLayout .tabs {
  flex-direction: column;
  display: flex;
  list-style: none;
  justify-content: space-evenly;
  padding: 0;
  margin: 0;
  width: 100%;
}
@media (min-width: 992px) {
  .tabs-div.col-md-12.columnBlockLayout .tabs {
    flex-direction: row;
  }
}
.tabs-div.col-md-12.columnBlockLayout .tabs .tab {
  display: flex;
  flex: 1;
  text-align: left;
  border-top: 2px solid #d9d9d9;
  padding: 10px 0px;
}
.tabs-div.col-md-12.columnBlockLayout .tabs .tab p {
  margin-left: 8px;
}
.tabs-div.col-md-12.columnBlockLayout .tabs .tab .tab-icon {
  padding-top: 2px;
}
.tabs-div.col-md-12.columnBlockLayout .tabs .tab.active {
  border-top: 2px solid #00C292;
}

/** ELEMENTS END **/
body .button1, body .button2, body .submit-btn, body .btn {
  padding: 16px 64px 16px 16px;
  font-size: 16px;
  width: 100%;
  text-align: left;
  font-weight: 400;
  background-color: #00C292;
  color: #000000;
  border-radius: 0;
  border: 0;
  margin: 3px 0;
}
@media (min-width: 992px) {
  body .button1, body .button2, body .submit-btn, body .btn {
    width: auto;
  }
}
body .button1:hover, body .button1:active, body .button1:focus body .button1:focus-visible, body .button2:hover, body .button2:active, body .button1:focus body .button2:focus-visible, body .submit-btn:hover, body .submit-btn:active, body .button1:focus body .submit-btn:focus-visible, body .btn:hover, body .btn:active, body .button1:focus body .btn:focus-visible, body .button2:focus body .button1:focus-visible, body .button2:focus body .button2:focus-visible, body .button2:focus body .submit-btn:focus-visible, body .button2:focus body .btn:focus-visible, body .submit-btn:focus body .button1:focus-visible, body .submit-btn:focus body .button2:focus-visible, body .submit-btn:focus body .submit-btn:focus-visible, body .submit-btn:focus body .btn:focus-visible, body .btn:focus body .button1:focus-visible, body .btn:focus body .button2:focus-visible, body .btn:focus body .submit-btn:focus-visible, body .btn:focus body .btn:focus-visible {
  background-color: #1AFFC7;
  color: #000000;
  outline: none;
  border: 0;
}
body .button1:hover.add-chevron-right:after, body .button1:active.add-chevron-right:after, body .button1:focus body .button1:focus-visible.add-chevron-right:after, body .button2:hover.add-chevron-right:after, body .button2:active.add-chevron-right:after, body .button1:focus body .button2:focus-visible.add-chevron-right:after, body .submit-btn:hover.add-chevron-right:after, body .submit-btn:active.add-chevron-right:after, body .button1:focus body .submit-btn:focus-visible.add-chevron-right:after, body .btn:hover.add-chevron-right:after, body .btn:active.add-chevron-right:after, body .button1:focus body .btn:focus-visible.add-chevron-right:after, body .button2:focus body .button1:focus-visible.add-chevron-right:after, body .button2:focus body .button2:focus-visible.add-chevron-right:after, body .button2:focus body .submit-btn:focus-visible.add-chevron-right:after, body .button2:focus body .btn:focus-visible.add-chevron-right:after, body .submit-btn:focus body .button1:focus-visible.add-chevron-right:after, body .submit-btn:focus body .button2:focus-visible.add-chevron-right:after, body .submit-btn:focus body .submit-btn:focus-visible.add-chevron-right:after, body .submit-btn:focus body .btn:focus-visible.add-chevron-right:after, body .btn:focus body .button1:focus-visible.add-chevron-right:after, body .btn:focus body .button2:focus-visible.add-chevron-right:after, body .btn:focus body .submit-btn:focus-visible.add-chevron-right:after, body .btn:focus body .btn:focus-visible.add-chevron-right:after {
  color: #00C292;
}
body .btn-primary, body .btn-primary:not(.gjs-selected) {
  background-color: #00C292;
  color: #000000;
  border-radius: 0;
  border: 0px solid #00C292;
  margin: 3px 0;
}
body .btn-primary:hover, body .btn-primary:active, body .btn-primary:focus body .btn-primary:focus-visible, body .btn-primary:not(.gjs-selected):hover, body .btn-primary:not(.gjs-selected):active, body .btn-primary:focus body .btn-primary:not(.gjs-selected):focus-visible, body .btn-primary:not(.gjs-selected):focus body .btn-primary:focus-visible, body .btn-primary:not(.gjs-selected):focus body .btn-primary:not(.gjs-selected):focus-visible {
  background-color: #1AFFC7;
  color: #000000;
}
body .btn-primary:hover.add-chevron-right:after, body .btn-primary:active.add-chevron-right:after, body .btn-primary:focus body .btn-primary:focus-visible.add-chevron-right:after, body .btn-primary:not(.gjs-selected):hover.add-chevron-right:after, body .btn-primary:not(.gjs-selected):active.add-chevron-right:after, body .btn-primary:focus body .btn-primary:not(.gjs-selected):focus-visible.add-chevron-right:after, body .btn-primary:not(.gjs-selected):focus body .btn-primary:focus-visible.add-chevron-right:after, body .btn-primary:not(.gjs-selected):focus body .btn-primary:not(.gjs-selected):focus-visible.add-chevron-right:after {
  color: #00C292;
}
body .btn-default, body .btn-default:not(.gjs-selected) {
  background-color: #393939;
  color: #fff;
  border-radius: 0;
}
body .btn-default:hover, body .btn-default:active, body .btn-default:focus body .btn-default:focus-visible, body .btn-default:not(.gjs-selected):hover, body .btn-default:not(.gjs-selected):active, body .btn-default:focus body .btn-default:not(.gjs-selected):focus-visible, body .btn-default:not(.gjs-selected):focus body .btn-default:focus-visible, body .btn-default:not(.gjs-selected):focus body .btn-default:not(.gjs-selected):focus-visible {
  background-color: #939393;
  color: #fff;
  outline: none;
  border: 0;
}
body .btn-default:hover.add-chevron-right:after, body .btn-default:active.add-chevron-right:after, body .btn-default:focus body .btn-default:focus-visible.add-chevron-right:after, body .btn-default:not(.gjs-selected):hover.add-chevron-right:after, body .btn-default:not(.gjs-selected):active.add-chevron-right:after, body .btn-default:focus body .btn-default:not(.gjs-selected):focus-visible.add-chevron-right:after, body .btn-default:not(.gjs-selected):focus body .btn-default:focus-visible.add-chevron-right:after, body .btn-default:not(.gjs-selected):focus body .btn-default:not(.gjs-selected):focus-visible.add-chevron-right:after {
  color: #00C292;
}
body .button2:not(.gjs-selected) {
  background-color: #fff;
  border: 0px solid #00C292;
}
body .button2:not(.gjs-selected):hover, body .button2:not(.gjs-selected):active, body .button2:not(.gjs-selected):focus body .button2:not(.gjs-selected):focus-visible {
  background-color: #393939;
  color: #fff;
}
body .button2:not(.gjs-selected):hover.add-chevron-right:after, body .button2:not(.gjs-selected):active.add-chevron-right:after, body .button2:not(.gjs-selected):focus body .button2:not(.gjs-selected):focus-visible.add-chevron-right:after {
  color: #fff;
}
body .button2:not(.gjs-selected).btn-gray {
  border-color: #4f4f4f;
  color: #4f4f4f;
}
body .button2:not(.gjs-selected).btn-gray:hover, body .button2:not(.gjs-selected).btn-gray:active, body .button2:not(.gjs-selected).btn-gray:focus body .button2:not(.gjs-selected).btn-gray:focus-visible {
  background-color: #4f4f4f;
  color: #fff;
}
body .button2:not(.gjs-selected).btn-gray:hover.add-chevron-right:after, body .button2:not(.gjs-selected).btn-gray:active.add-chevron-right:after, body .button2:not(.gjs-selected).btn-gray:focus body .button2:not(.gjs-selected).btn-gray:focus-visible.add-chevron-right:after {
  color: #fff;
}
body .btn-muted {
  background-color: #b7b7b7;
  border: 1px solid #b7b7b7;
  color: #8D8D8D;
}
body .btn-muted:hover, body .btn-muted:active, body .btn-muted:focus {
  background-color: #8D8D8D;
  color: #fff;
}
body .btn-muted:hover.add-chevron-right:after, body .btn-muted:active.add-chevron-right:after, body .btn-muted:focus.add-chevron-right:after {
  color: #fff;
}
body .modal-footer .btn + .btn {
  margin-left: 0px;
  margin-bottom: 3px;
}
@media (min-width: 992px) {
  body .modal-footer .btn + .btn {
    margin-left: 5px;
    margin-bottom: 3px;
  }
}

/* BUTTON end */
/* Forms.scss start */
body {
  /* List */
}
body form {
  flex: 1;
}
body #content_form {
  padding-bottom: 100px;
}
body #WebFormPanel #EntityFormView.entity-form.narrow {
  max-width: calc(380px + 15%);
  padding-left: 15%;
}
body .entityformwidth-80 {
  width: 100%;
}
@media (min-width: 992px) {
  body .entityformwidth-80 {
    width: 80%;
  }
}
body .entityformwidth-100 {
  width: 100%;
}
body .crmEntityFormView table.section > tr {
  display: flex;
  flex-wrap: wrap;
}
body .crmEntityFormView table.section tr td .control input {
  background-color: transparent;
  border: none;
  border-radius: none;
  height: auto;
}
body .crmEntityFormView table.section tr .msos-filter-container .msos-caret-container {
  background-color: transparent !important;
}
body .crmEntityFormView table.section tr label, body .crmEntityFormView table.section tr .label,
body .crmEntityFormView table.section tr .field-label {
  display: flex;
  padding-top: 20px;
  font-weight: 400;
  color: #4f4f4f;
}
body .crmEntityFormView table.section tr td.cell.zero-cell {
  display: none;
}
body .crmEntityFormView table.section tr td.cell {
  vertical-align: top;
  display: flex;
  width: 100%;
  flex-direction: column;
  margin: 0;
  padding: 0;
}
body .crmEntityFormView table.section tr td.cell .form-control, body .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input, body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell input {
  border-radius: none;
  background-color: #F4F4F4 !important;
  border: 0px solid #00C292;
  border-bottom: 1px solid #8D8D8D;
  height: 48px;
  font-size: 16px;
}
body .crmEntityFormView table.section tr td.cell .form-control.readonly, body .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input.readonly, body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell input.readonly, body .crmEntityFormView table.section tr td.cell .form-readonly .form-control, body .crmEntityFormView table.section tr td.cell .form-readonly #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input, body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell .form-readonly input, body .crmEntityFormView table.section tr td.cell .form-control[readonly][disabled], body .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input[readonly][disabled], body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell input[readonly][disabled] {
  background-color: transparent !important;
  border: none;
}
body .crmEntityFormView table.section tr td.cell .form-control ::-webkit-input-placeholder, body .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input ::-webkit-input-placeholder, body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell input ::-webkit-input-placeholder {
  color: #8D8D8D;
}
body .crmEntityFormView table.section tr td.cell .form-control :-moz-placeholder, body .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input :-moz-placeholder, body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell input :-moz-placeholder {
  color: #8D8D8D;
}
body .crmEntityFormView table.section tr td.cell .form-control ::-moz-placeholder, body .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input ::-moz-placeholder, body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell input ::-moz-placeholder {
  color: #8D8D8D;
}
body .crmEntityFormView table.section tr td.cell .form-control :-ms-input-placeholder, body .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input :-ms-input-placeholder, body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell input :-ms-input-placeholder {
  color: #8D8D8D;
}
body .crmEntityFormView table.section tr td.cell .form-control:focus, body .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input:focus, body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell input:focus {
  border-color: #8D8D8D !important;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 0 8px rgba(102, 175, 233, 0.6) !important;
}
body .crmEntityFormView table.section tr td.cell .form-control:focus, body .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input:focus, body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell input:focus {
  border-color: #8D8D8D !important;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 0 8px rgba(102, 175, 233, 0.6) !important;
}
body .crmEntityFormView table.section tr td.cell textarea.form-control {
  resize: vertical;
}
body .crmEntityFormView table.section tr td.cell .ms-Label.ms-Toggle-stateText {
  font-size: 1.6rem;
}
@media (min-width: 992px) {
  body .crmEntityFormView table.section tr td.cell input[type=text].form-control, body .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input[type=text], body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell input[type=text] {
    width: 100%;
  }
  body .crmEntityFormView table.section tr td.cell input[type=email].form-control, body .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input[type=email], body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell input[type=email] {
    width: 340px;
  }
  body .crmEntityFormView table.section tr td.cell input#firstname.form-control, body .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input#firstname, body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell input#firstname {
    width: 240px;
  }
  body .crmEntityFormView table.section tr td.cell input#lastname.form-control, body .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input#lastname, body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .crmEntityFormView table.section tr td.cell input#lastname {
    width: 340px;
  }
  body .crmEntityFormView table.section tr td.cell select.picklist.form-control {
    width: 100%;
  }
  body .crmEntityFormView table.section tr td.cell textarea.textarea.form-control {
    width: 100%;
  }
}
body .crmEntityFormView table.section tr td.cell.checkbox-cell {
  display: flex;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row-reverse;
}
body .crmEntityFormView table.section tr td.cell.checkbox-cell .checkbox input {
  margin-top: 0px;
}
body .crmEntityFormView table.section tr td.cell.checkbox-cell .info,
body .crmEntityFormView table.section tr td.cell.checkbox-cell .info .field-label {
  float: left !important;
}
body .crmEntityFormView table.section tr td.cell.datetime input {
  border: none;
  border-bottom: 1px solid #8D8D8D;
  background-color: #F4F4F4 !important;
}
body .crmEntityFormView table.section tr td.cell.datetime .datetimepicker .fa {
  color: #4f4f4f;
}
body .crmEntityFormView table.section tr div.description {
  font-size: 1.6rem;
  color: #8D8D8D;
  font-weight: 400;
  padding-top: 16px;
}
body .crmEntityFormView table.section tr div.description.above {
  padding-top: 4px;
  font-size: 14px;
}
body .crmEntityFormView fieldset {
  margin-bottom: 64px;
}
body .crmEntityFormView .actions .col-sm-6:first-child {
  margin-left: -15px;
}
body .crmEntityFormView .tab-title {
  border-bottom: none;
}
body .crmEntityFormView .form-readonly.entity-form table.section tr td.cell .control .form-control, body .crmEntityFormView .form-readonly.entity-form table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input, body #EntityFormPanel .crmEntityFormView .form-readonly.entity-form table.section tr td.cell .control .msos-container:not(.msos-disabled) .msos-input-container input {
  background-color: transparent !important;
  border: 1px solid transparent;
}
body .crmEntityFormView .cell.boolean-radio-cell .control input[type=radio] {
  padding: 50px;
  background-color: #000000;
}
body .crmEntityFormView .tr .file-cell .control input[type=file] {
  padding: 0px;
  background-color: transparent;
}
body #EntityFormPanel .control .msos-container:not(.msos-disabled) {
  border: 1px solid #37e17b;
  border-radius: 0.25rem;
  height: 35px;
  background-color: rgb(248, 249, 250) !important;
  font-size: inherit;
  font-family: inherit;
  width: auto;
}
body .input-append.input-group {
  position: relative;
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-start;
  flex-direction: row;
  background-color: #fff !important;
  border-radius: 0;
  width: 100%;
  float: left;
}
body .input-append.input-group input {
  background: #fff !important;
  border-radius: inherit;
}
body .input-append.input-group .input-group-addon {
  background: #F4F4F4;
  color: #000000;
  font-size: inherit;
  border: none;
  border-bottom: 1px solid #8D8D8D;
  border-radius: inherit;
  display: flex;
  align-items: center;
  width: auto;
  justify-content: flex-start;
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 6px;
  padding-bottom: 6px;
}
body .bootstrap-datetimepicker-widget.bottom tr td button {
  background-color: transparent;
}
body .instructions {
  clear: both;
}
body ::-webkit-input-placeholder {
  color: #8D8D8D;
}
body :-moz-placeholder {
  color: #8D8D8D;
}
body ::-moz-placeholder {
  color: #8D8D8D;
}
body :-ms-input-placeholder {
  color: #8D8D8D;
}
body #counterContainer {
  text-align: right;
}
body .help-block.error,
body label.control-label.required:before,
body .control-label.required.label:before,
body .crmEntityFormView .cell div.info.required label:after,
body .crmEntityFormView .cell div.info.required .label:after,
body .crmEntityFormView .cell div.info div.validators,
body .crmEntityFormView .validator-text,
body .crmEntityFormView .rank-order-cell .validator-text,
body .crmEntityFormView .constant-sum-cell .validator-text,
body .crmEntityFormView .stack-rank-cell .validator-text {
  color: #4f4f4f;
}
body .div-left .progress.left {
  background-color: transparent;
  border-left: 2px solid #939393;
  margin-left: 16px;
  box-shadow: none;
  overflow: visible;
}
body .div-left .progress.left .list-group-item {
  margin-left: -23px;
  border: none;
  overflow: visible;
}
body .div-left .progress.left .list-group-item::before {
  font: var(--fa-font-solid);
  content: "\f111";
  padding-right: 16px;
  font-size: 6px;
  color: #939393;
  border: 4px solid #fff;
}
body .div-left .progress.left .list-group-item.active {
  margin-left: -25px;
}
body .div-left .progress.left .list-group-item.active::before {
  font: var(--fa-font-solid);
  content: "\f111";
  padding-right: 14px;
  font-size: 9px;
  color: #00C292;
  border: 4px solid #fff;
}
body .div-left .progress.left .list-group-item-success .glyphicon {
  display: none;
}
body .view-grid table th a {
  text-transform: lowercase capitalize;
  text-decoration: none;
}

/* Forms.scss end */
/* SIGNIN.SCSS Starts */
body #content-container.signinpage {
  display: flex;
  justify-content: center;
}
body #content-container.signinpage #content #mainContent {
  margin-top: 30px;
  margin-bottom: 30px;
  display: flex;
  gap: 100px;
  justify-content: space-between;
  flex-direction: column;
}
@media (min-width: 768px) {
  body #content-container.signinpage #content #mainContent {
    flex-direction: row;
  }
}
body #content-container.signinpage #content #mainContent .page-copy .information-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 640px;
  line-height: 24px;
}
body #content-container.signinpage #content #mainContent .page-copy .information-container ol {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body #content-container.signinpage #content .row {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
}
body #content-container.signinpage #content .row .col-md-6 {
  min-width: max-content;
}

/* SIGNIN end */
#liquid_form {
  flex: 1;
}
#liquid_form .crmEntityFormView .actions {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
}
#liquid_form .crmEntityFormView tr[data-hidden] {
  display: none;
}
#liquid_form .crmEntityFormView div.info.required label::after, #liquid_form .crmEntityFormView div.info.required body .label::after, body #liquid_form .crmEntityFormView div.info.required .label::after {
  content: "";
}
#liquid_form .crmEntityFormView span.picklist.horizontal {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  white-space: nowrap;
  gap: 0.5rem;
}
#liquid_form .crmEntityFormView span.picklist.horizontal > * {
  padding: 0;
  margin: 0;
}
#liquid_form .crmEntityFormView span.picklist.horizontal > label, #liquid_form .crmEntityFormView body span.picklist.horizontal > .label, body #liquid_form .crmEntityFormView span.picklist.horizontal > .label, #liquid_form body .crmEntityFormView span.picklist.horizontal > .label {
  margin-right: 1rem;
}

body .profile-page {
  justify-content: center;
}
body .profile-content {
  max-width: 640px;
  padding: 16px;
}
body .profile-content .crmEntityFormView {
  background-color: #F4F4F4;
}
body .profile-content .crmEntityFormView table.section tr td.cell input#firstname.form-control, body .profile-content .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input#firstname, body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .profile-content .crmEntityFormView table.section tr td.cell input#firstname,
body .profile-content .crmEntityFormView table.section tr td.cell input#lastname.form-control,
body .profile-content .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input#lastname,
body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .profile-content .crmEntityFormView table.section tr td.cell input#lastname,
body .profile-content .crmEntityFormView table.section tr td.cell input[type=email].form-control,
body .profile-content .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input[type=email],
body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .profile-content .crmEntityFormView table.section tr td.cell input[type=email],
body .profile-content .crmEntityFormView table.section tr td.cell select.picklist.form-control,
body .profile-content .crmEntityFormView table.section tr td.cell input[type=text].form-control,
body .profile-content .crmEntityFormView table.section tr td.cell #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container input[type=text],
body #EntityFormPanel .control .msos-container:not(.msos-disabled) .msos-input-container .profile-content .crmEntityFormView table.section tr td.cell input[type=text] {
  width: 288px;
}
body .profile-content .profile-container {
  padding: 16px;
  background-color: #F4F4F4;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
iframe {
        border: none !important;
    }
/* Sticky footer baseline */
html, body { height: 100%; margin: 0; }
body { display: flex; flex-direction: column; min-height: 100dvh; }

/* Gi "main-området" flex:1. Behold alle som finnes – legg gjerne til din reelle containerklasse. */
.wrapper-body, main, #content_form, .page-content, .content-wrapper {
  flex: 1 0 auto;
}

/* Footeren skal følge flyten, ikke være fixed/absolute */
footer.footer, .footer, .footer-bottom {
  position: static !important;
  bottom: auto !important;
  top: auto !important;
  z-index: auto !important;
}

/* Rapport-wrapper */
.report-wrapper { position: relative; min-height: 60vh; } /* juster ved behov */
.report-wrapper iframe,
.report-wrapper .ms-powerbi-frame,
.report-wrapper .powerbi-embed,
.report-wrapper .powerbi-report-container {
  position: absolute; inset: 0; width: 100%; height: 100%; display: block;
}


/* Små skjermer: litt lavere minimumshøyde */
@media (max-width: 991.98px) {
  .report-wrapper { min-height: 60vh; }
}
@media (max-width: 575.98px) {
  .report-wrapper { min-height: 50vh; }
}
h1 + .report-wrapper {
  margin-top: 0.5rem;   /* ca 8px i stedet for 24px */
  margin-bottom: 1.5rem;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmaWxlOi8vL1VzZXJzL3N0aWdhcmsvQ3VzdG9tZXJzL0JSVVMvc2Nzcy9iYXNlL19mb250cy5zY3NzIiwiZmlsZTovLy9Vc2Vycy9zdGlnYXJrL0N1c3RvbWVycy9CUlVTL3Njc3MvYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsImZpbGU6Ly8vVXNlcnMvc3RpZ2Fyay9DdXN0b21lcnMvQlJVUy9zY3NzL2Fic3RyYWN0cy9fYnJhbmRfdmFyaWFibGVzLnNjc3MiLCJmaWxlOi8vL1VzZXJzL3N0aWdhcmsvQ3VzdG9tZXJzL0JSVVMvc2Nzcy9hYnN0cmFjdHMvX2Z1bmN0aW9ucy5zY3NzIiwiZmlsZTovLy9Vc2Vycy9zdGlnYXJrL0N1c3RvbWVycy9CUlVTL3Njc3MvYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImZpbGU6Ly8vVXNlcnMvc3RpZ2Fyay9DdXN0b21lcnMvQlJVUy9zY3NzL3ZlbmRvcnMvX25vcm1hbGl6ZS5zY3NzIiwiZmlsZTovLy9Vc2Vycy9zdGlnYXJrL0N1c3RvbWVycy9CUlVTL3Njc3MvYmFzZS9fYmFzZS5zY3NzIiwiZmlsZTovLy9Vc2Vycy9zdGlnYXJrL0N1c3RvbWVycy9CUlVTL3Njc3MvYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiZmlsZTovLy9Vc2Vycy9zdGlnYXJrL0N1c3RvbWVycy9CUlVTL3Njc3MvYmFzZS9faGVscGVycy5zY3NzIiwiZmlsZTovLy9Vc2Vycy9zdGlnYXJrL0N1c3RvbWVycy9CUlVTL3Njc3MvZml4L19ib290c3RyYXBmaXguc2NzcyIsImZpbGU6Ly8vVXNlcnMvc3RpZ2Fyay9DdXN0b21lcnMvQlJVUy9zY3NzL2ZpeC9fcG9ydGFsYmFzaWN0aGVtZWZpeC5zY3NzIiwiZmlsZTovLy9Vc2Vycy9zdGlnYXJrL0N1c3RvbWVycy9CUlVTL3Njc3MvZml4L19jdXN0b210aGVtZWZpeC5zY3NzIiwiZmlsZTovLy9Vc2Vycy9zdGlnYXJrL0N1c3RvbWVycy9CUlVTL3Njc3MvbGF5b3V0L19oZWFkZXIuc2NzcyIsImZpbGU6Ly8vVXNlcnMvc3RpZ2Fyay9DdXN0b21lcnMvQlJVUy9zY3NzL2xheW91dC9fZm9vdGVyLnNjc3MiLCJmaWxlOi8vL1VzZXJzL3N0aWdhcmsvQ3VzdG9tZXJzL0JSVVMvc2Nzcy9sYXlvdXQvX3BhZ2UtZ3JpZC5zY3NzIiwiZmlsZTovLy9Vc2Vycy9zdGlnYXJrL0N1c3RvbWVycy9CUlVTL3Njc3MvbGF5b3V0L19jYXNlLWxpc3Quc2NzcyIsImZpbGU6Ly8vVXNlcnMvc3RpZ2Fyay9DdXN0b21lcnMvQlJVUy9zY3NzL2xheW91dC9fY2FzZS1zdW1tYXJ5LnNjc3MiLCJmaWxlOi8vL1VzZXJzL3N0aWdhcmsvQ3VzdG9tZXJzL0JSVVMvc2Nzcy9jb21wb25lbnRzL19jYXNlLXByb2dyZXNzLWJhci5zY3NzIiwiZmlsZTovLy9Vc2Vycy9zdGlnYXJrL0N1c3RvbWVycy9CUlVTL3Njc3MvY29tcG9uZW50cy9fZWxlbWVudHMuc2NzcyIsImZpbGU6Ly8vVXNlcnMvc3RpZ2Fyay9DdXN0b21lcnMvQlJVUy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiZmlsZTovLy9Vc2Vycy9zdGlnYXJrL0N1c3RvbWVycy9CUlVTL3Njc3MvY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImZpbGU6Ly8vVXNlcnMvc3RpZ2Fyay9DdXN0b21lcnMvQlJVUy9zY3NzL3BhZ2VzL19zaWduaW4uc2NzcyIsImZpbGU6Ly8vVXNlcnMvc3RpZ2Fyay9DdXN0b21lcnMvQlJVUy9zY3NzL3BhZ2VzL19jYXNlLXJlZ2lzdHJhdGlvbi5zY3NzIiwiZmlsZTovLy9Vc2Vycy9zdGlnYXJrL0N1c3RvbWVycy9CUlVTL3Njc3MvcGFnZXMvX3Byb2ZpbGUtcGFnZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQTtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFFSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFFSTtFQUNBOzs7QUFHSjtFQUVJO0VBQ0E7OztBQUtKO0FDbkNBO0FBc0NBO0FBaUNBO0FBaytCQTtBQ3ppQ0E7QUFvQkE7QUNwQkE7QUErQkE7QUMvQkE7QUFtSUE7QUEyQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFzREE7QUFJQTtBQStCQTtBQWlHSTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUE0QkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBd0JKO0VBT0U7RUFDQTtFQUNBOzs7QUFSRjtFQU1FO0VBQ0E7RUFDQTs7O0FBUEY7RUFLRTtFQUNBO0VBQ0E7OztBQU5GO0VBSUU7RUFDQTtFQUNBOzs7QUFHSjtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFjQTtBQ3hhQTtBQUVBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtDO0VBQ0M7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQSxRQUNRO0VBQ047OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQSxTQUNTO0VBQ1A7OztBQUdGO0FBQUE7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtBQUFBO0FB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dkIsaUJIL0d1QjtFR2dIbEIsWUhoSGtCO0VHblA1Qix1QkgrTzRCO0VHOU96QixvQkg4T3lCO0VHN094QixtQkg2T3dCO0VHNU9wQixlSDRPb0I7O0FHcEkxQjtFY3BDSTtJZDBSSixvQkg3RzBCO0lHOEd2QixpQkg5R3VCO0lHK0dsQixZSC9Ha0I7OztBR3RJMUI7RWN2Q0k7SWQwUkosb0JINUcwQjtJRzZHdkIsaUJIN0d1QjtJRzhHbEIsWUg5R2tCOzs7QUcxSTFCO0VjcENJO0lkdkVOLHVCSGdQNEI7SUcvT3pCLG9CSCtPeUI7SUc5T3hCLG1CSDhPd0I7SUc3T3BCLGVINk9vQjs7O0FHbEkxQjtFY3ZDSTtJZHZFTix1QkhpUDRCO0lHaFB6QixvQkhnUHlCO0lHL094QixtQkgrT3dCO0lHOU9wQixlSDhPb0I7OztBaUJwSnRCO0VBQ0UsWWpCcEhBO0VpQnFIQTs7QUFHRjtFQUNFOztBQUVBO0VBQ0UsT2pCL0RHOztBaUJvRUw7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QWRSUjtFY0FNO0lBV0k7OztBQVFOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFNqQjJsQjBCOztBaUJ4bEI1QjtFQUNFO0VkeElSLHVCSDJ0QmtDO0VHMXRCL0Isb0JIMHRCK0I7RUd6dEI5QixtQkh5dEI4QjtFR3h0QjFCLGVId3RCMEI7O0FpQjlrQjVCO0VBQ0U7RWRySU4sd0JIa3RCZ0M7RUdqdEJoQyx5QkhpdEJnQzs7QWlCMWtCMUI7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VkbklOLDRCSG9zQmdDO0VHbnNCaEMsMkJIbXNCZ0M7O0FpQjdqQjVCO0VBQ0U7O0FBR0E7RUFDRTtFQUNBO0VkM0pSLHdCSGt0QmdDO0VHanRCaEMseUJIaXRCZ0M7O0FHbm5CaEM7RWMwRE07SWRwSU4sd0JINnJCZ0M7SUc1ckJoQywyQkg0ckJnQzs7O0FpQjdpQjFCO0VBQ0U7RUFDQTtFZHpKUiw0Qkhvc0JnQztFR25zQmhDLDJCSG1zQmdDOztBR25uQmhDO0Vjc0VNO0lkOUpOLHlCSDJzQmdD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LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIEBmb250LWZhY2UgZGVjbGFyYXRpb25zLCBpZiBhbnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi5saWdodCB7XG4gICAgLy8gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uaGVhZGluZ3Mge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInLCBzZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmJvbGQge1xuICAgIC8vICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLml0YWxpYyB7XG4gICAgLy8gICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cblxuXG4vKiBGT05UUyBlbmQgKi8iLCIvKiBWQVJJQUJMRVMgc3RhcnQgKi9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIGFwcGxpY2F0aW9uLXdpZGUgU2FzcyB2YXJpYWJsZXMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vXG4vLyBDb2xvciBzeXN0ZW1cbi8vXG5cbi8vIEJSQU5EIEdSQVlTXG4kd2hpdGU6ICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwOiAjZDlkOWQ5ICFkZWZhdWx0O1xuJGdyYXktMjA6ICNiN2I3YjcgIWRlZmF1bHQ7XG4kZ3JheS00MDogIzkzOTM5MyAhZGVmYXVsdDtcbiRncmF5LTYwOiAjOEQ4RDhEICFkZWZhdWx0O1xuJGdyYXktODA6ICM0ZjRmNGYgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgIzAwMDAwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncmF5OiAjRjRGNEY0ICFkZWZhdWx0O1xuJHNlY29uZGFyeS1idXR0b24tZ3JheTogIzM5MzkzOSAhZGVmYXVsdDtcblxuJGdyYXlzOiAoXG4gIDEwMDogJGdyYXktMTAsXG4gIDIwMDogJGdyYXktMjAsXG4gIDMwMDogJGdyYXktMjAsXG4gIDQwMDogJGdyYXktNDAsXG4gIDUwMDogJGdyYXktNDAsXG4gIDYwMDogJGdyYXktNjAsXG4gIDcwMDogJGdyYXktNjAsXG4gIDgwMDogJGdyYXktODAsXG4gIDkwMDogJGdyYXktODBcbik7XG5cbi8qKiBERUZBVUxUIENPTE9SUyAqKi9cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICBtYXAtZ2V0KCRncmF5cywgNjAwKSxcbiAgICBcImdyYXktZGFya1wiOiAgbWFwLWdldCgkZ3JheXMsIDgwMClcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuLyoqIEJSQU5EIENPTE9SUyAqKi9cblxuJGJydXMtdGVhbC0xMDogI0Q2RkZGNSAhZGVmYXVsdDtcbiRicnVzLXRlYWwtMjA6ICM4RkZGRTMgIWRlZmF1bHQ7XG4kYnJ1cy10ZWFsLTMwOiAjMUFGRkM3ICFkZWZhdWx0O1xuLy8gJGJydXMtdGVhbC0zNTogIzAwZmZiZiAhZGVmYXVsdDtcbiRicnVzLXRlYWwtNDA6ICMwMEMyOTIgIWRlZmF1bHQ7XG4kYnJ1cy10ZWFsLTUwOiAjMDBBMzdCICFkZWZhdWx0O1xuJGJydXMtdGVhbC02MDogIzAwODA2MCAhZGVmYXVsdDtcbiRicnVzLXRlYWwtNzA6ICMwMDVDNDUgIWRlZmF1bHQ7XG4kYnJ1cy10ZWFsLTgwOiAjMDA0MjMyICFkZWZhdWx0O1xuJGJydXMtdGVhbC05MDogIzAwMzMyNiAhZGVmYXVsdDtcbiRicnVzLXRlYWwtMTAwOiAjMDAyNDFCICFkZWZhdWx0O1xuXG4vLyAkYnJ1c19saWdodDogICAgICAgICNjNWZiZWUgIWRlZmF1bHQ7XG4vLyAkYnJ1czogICAgICAgICAgICAgICMwMGMzOTMgIWRlZmF1bHQ7XG4vLyAkYnJ1c19kYXJrOiAgICAgICAgICMwMDVjNDUgIWRlZmF1bHQ7XG5cbiRicmlzLW9yYW5nZS0xMDogI0ZGRTRENiAhZGVmYXVsdDtcbiRicmlzLW9yYW5nZS0yMDogI0ZGQjU4RiAhZGVmYXVsdDtcbiRicmlzLW9yYW5nZS0zMDogI0ZGNjcxQSAhZGVmYXVsdDtcbiRicmlzLW9yYW5nZS00MDogI0ZGNTYwMCAhZGVmYXVsdDtcbiRicmlzLW9yYW5nZS01MDogI0EzMzcwMCAhZGVmYXVsdDtcbiRicmlzLW9yYW5nZS02MDogIzgwMkIwMCAhZGVmYXVsdDtcbiRicmlzLW9yYW5nZS03MDogIzVDMUYwMCAhZGVmYXVsdDtcbiRicmlzLW9yYW5nZS04MDogIzQyMTYwMCAhZGVmYXVsdDtcbiRicmlzLW9yYW5nZS05MDogIzMzMTEwMCAhZGVmYXVsdDtcbiRicmlzLW9yYW5nZS0xMDA6ICMyNDBDMDAgIWRlZmF1bHQ7XG5cbiRicnVzLWxpZ2h0Olx0XHRcdFx0ICAgICAgJGJydXMtdGVhbC0xMCAhZGVmYXVsdDtcbiRicnVzLW9uLWxpZ2h0Olx0XHRcdCAgXHQgICRicnVzLXRlYWwtNzAgIWRlZmF1bHQ7XG5cbiRicnVzLWRlZmF1bHQ6ICAgICAgICBcdFx0JGJydXMtdGVhbC00MCAhZGVmYXVsdDtcbiRicnVzLW9uLWRlZmF1bHQ6ICAgICAgXHRcdCRibGFjayAhZGVmYXVsdDtcblxuJGJydXMtZGFyazogICAgICAgICBcdCAgXHQkYnJ1cy10ZWFsLTcwICFkZWZhdWx0O1xuJGJydXMtb24tZGFyazogICAgICAgICBcdFx0JGdyYXktMTAgIWRlZmF1bHQ7XG5cbiRicnVzLW9yYW5nZS1hcy1ncmVlbjpcdFx0JGJydXMtdGVhbC00MCAhZGVmYXVsdDtcbiRicnVzLW9uLW9yYW5nZS1hcy1ncmVlbjpcdCRibGFjayAhZGVmYXVsdDtcblxuJGJyaXMtZGVmYXVsdDogICAgICAgICAgICAkYnJpcy1vcmFuZ2UtNDAgIWRlZmF1bHQ7XG4kYnJpcy1vbi1kZWZhdWx0OiAgICAgICAgICRibGFjayAhZGVmYXVsdDtcblxuJHByaW1hcnk6ICAgICAgICRicnVzLWRlZmF1bHQgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgbWFwLWdldCgkZ3JheXMsIDkwMCkgIWRlZmF1bHQ7IFxuJHN1Y2Nlc3M6ICAgICAgICRicnVzLWRhcmsgIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGJydXMtZGFyayAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGJydXMtbGlnaHQgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGJydXMtZGFyayAhZGVmYXVsdDtcbiRocjogICAgICAgICAgICBtYXAtZ2V0KCRncmF5cywgMjAwKSAhZGVmYXVsdDsgXG5cbiR0aGVtZS1jb2xvcjogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHRoZW1lLWNvbG9yOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmssXG4gICAgXCJoclwiOiAgICAgICAgICRocixcbiAgKSxcbiAgJHRoZW1lLWNvbG9yXG4pO1xuXG4kaGVhZGVyLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgICFkZWZhdWx0O1xuJGJnLWxpZ2h0OiAgJHdoaXRlICAhZGVmYXVsdDtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDEwJSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICBtYXAtZ2V0KCRncmF5cywgOTAwKSAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICRkYXJrO1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgIHVuZGVybGluZSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudFxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG4vL0BpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgc206IDU0MHB4LFxuICAgbWQ6IDcyMHB4LFxuICAgbGc6IDk2MHB4LFxuICAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuLy9AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgbWFwLWdldCgkZ3JheXMsIDYwMCkgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIDRweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjJyZW0gLjNyZW0gcmdiYSgkYmxhY2ssIC4xNikgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4ycmVtIC4zcmVtIHJnYmEoJGJsYWNrLCAuMTgpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAuMnJlbSAuM3JlbSByZ2JhKCRibGFjaywgLjIwKSAhZGVmYXVsdDsgXG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gRm9udHNcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgICdPcGVuIFNhbnMnLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWhlYWRlcjogICAgICAgICAgXCJSb2JvdG8gU2xhYlwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlICAgICAgICAgICAgICAgICBcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMS42cmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuODc1KSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0OyAvLyBsaWdodFxuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0OyAvLyByZWd1bGFyXG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA2MDAgIWRlZmF1bHQ7IC8vIGJvbGRcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgIGNhbGMoJHNwYWNlciAvIDEpICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgJGZvbnQtZmFtaWx5LWhlYWRlciFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgMzAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgbWFwLWdldCgkZ3JheXMsIDYwMCkgICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICBtYXAtZ2V0KCRncmF5cywgNjAwKSAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgbWFwLWdldCgkZ3JheXMsIDMwMCkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgIG1hcC1nZXQoJGdyYXlzLCAxMDApICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgbWFwLWdldCgkZ3JheXMsIDcwMCkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgIG1hcC1nZXQoJGdyYXlzLCA5MDApICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICAkdGFibGUtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICBtYXAtZ2V0KCRncmF5cywgNjAwKSAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgbWFwLWdldCgkZ3JheXMsIDIwMCkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRncmF5cywgNzAwKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRncmF5cywgNDAwKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICBtYXAtZ2V0KCRncmF5cywgNjAwKSAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lci1zbTogICAgICAgICAgICAgICAgICgkZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6ICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1sZyAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRncmF5cywgMjAwKSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgIG1hcC1nZXQoJGdyYXlzLCAzMDApICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgIG1hcC1nZXQoJGdyYXlzLCAyMDApICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgbWFwLWdldCgkZ3JheXMsIDYwMCkgICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSgkcHJpbWFyeSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM0UlM0NwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM0UlM0NjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgbWFwLWdldCgkZ3JheXMsIDYwMCkgICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgbWFwLWdldCgkZ3JheXMsIDIwMCkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgbWFwLWdldCgkZ3JheXMsIDgwMCkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCByZ2JhKCRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvciwgLjUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAxMjUlICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgIG1hcC1nZXQoJGdyYXlzLCAzMDApICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgIG1hcC1nZXQoJGdyYXlzLDIwMCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZHJvcGRvd24tbGluay1jb2xvciwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgbWFwLWdldCgkZ3JheXMsIDEwMCkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgIG1hcC1nZXQoJGdyYXlzLCA2MDApICAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICBtYXAtZ2V0KCRncmF5cywgNjAwKSAgIWRlZmF1bHQ7XG5cblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgIG1hcC1nZXQoJGdyYXlzLCA2MDApICAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgbWFwLWdldCgkZ3JheXMsIDMwMCkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICBtYXAtZ2V0KCRncmF5cywgMjAwKSBtYXAtZ2V0KCRncmF5cywgMjAwKSAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgbWFwLWdldCgkZ3JheXMsIDcwMCkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6IG1hcC1nZXQoJGdyYXlzLCAzMDApIG1hcC1nZXQoJGdyYXlzLCAzMDApICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRncmF5cywgMjAwKSAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgIGNhbGMoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgY2FsYygkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgY2FsYygkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICBjYWxjKCgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMikgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgIG1hcC1nZXQoJGdyYXlzLCAzMDApICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIG1hcC1nZXQoJGdyYXlzLCAyMDApICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgbWFwLWdldCgkZ3JheXMsIDMwMCkgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIG1hcC1nZXQoJGdyYXlzLDYwMCkgICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgbWFwLWdldCgkZ3JheXMsIDMwMCkgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRncmF5cywgMjAwKSAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgY2FsYygjeyRjYXJkLWJvcmRlci1yYWRpdXN9IC0gI3skY2FyZC1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICBjYWxjKCRncmlkLWd1dHRlci13aWR0aCAvIDIpICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICBtYXAtZ2V0KCRncmF5cywgMjAwKSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogLjc1KSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJGdyYXlzLCAyMDApICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgbWFwLWdldCgkZ3JheXMsIDEwKSAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICBtYXAtZ2V0KCRncmF5cywgNjAwKSAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgbWFwLWdldCgkZ3JheXMsIDcwMCkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgbWFwLWdldCgkZ3JheXMsIDIwMCkgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICBtYXAtZ2V0KCRncmF5cywgMzAwKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgIG1hcC1nZXQoJGdyYXlzLCA2MDApICAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJGdyYXlzLCAyMDApICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgbWFwLWdldCgkZ3JheXMsIDYwMCkgICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgbWFwLWdldCgkZ3JheXMsIDYwMCkgICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC42cyBlYXNlICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJGdyYXlzLCA5MDApICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRncmF5cywgOTAwKSAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG4vLyBTVkdcbiRzdmctZWRpdDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDIxIDIxXCIgZmlsbD1cIm5vbmVcIj48cGF0aCBkPVwiTTE5LjA4MzMgMTYuMjUySDEuNTgzMzFWMTcuNTAySDE5LjA4MzNWMTYuMjUyWlwiIGZpbGw9XCIlMjMwMDgwNjBcIi8+PHBhdGggZD1cIk0xNi4yMDgzIDUuNjI2OTVDMTYuNzA4MyA1LjEyNjk1IDE2LjcwODMgNC4zNzY5NSAxNi4yMDgzIDMuODc2OTVMMTMuOTU4MyAxLjYyNjk1QzEzLjQ1ODMgMS4xMjY5NSAxMi43MDgzIDEuMTI2OTUgMTIuMjA4MyAxLjYyNjk1TDIuODMzMzEgMTEuMDAyVjE1LjAwMkg2LjgzMzMxTDE2LjIwODMgNS42MjY5NVpNMTMuMDgzMyAyLjUwMTk1TDE1LjMzMzMgNC43NTE5NUwxMy40NTgzIDYuNjI2OTVMMTEuMjA4MyA0LjM3Njk1TDEzLjA4MzMgMi41MDE5NVpNNC4wODMzMSAxMy43NTJWMTEuNTAyTDEwLjMzMzMgNS4yNTE5NUwxMi41ODMzIDcuNTAxOTVMNi4zMzMzMSAxMy43NTJINC4wODMzMVpcIiBmaWxsPVwiJTIzMDA4MDYwXCIvPjwvc3ZnPicpO1xuJHN2Zy1kZXRhaWxzOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NwYXRoIGQ9J00xNCA1SDJDMS43MzQ4NyA0Ljk5OTY3IDEuNDgwNjkgNC44OTQyMiAxLjI5MzIxIDQuNzA2NzVDMS4xMDU3NCA0LjUxOTI3IDEuMDAwMjkgNC4yNjUwOSAxIDRWMkMxLjAwMDI4IDEuNzM0ODMgMS4xMDU3MiAxLjQ4MDY0IDEuMjkzMiAxLjI5MzE2QzEuNDgwNjggMS4xMDU2OSAxLjczNDg3IDEuMDAwMjQgMiAxSDE0QzE0LjI2NTEgMS4wMDAyNCAxNC41MTkzIDEuMTA1NjkgMTQuNzA2OCAxLjI5MzE2QzE0Ljg5NDMgMS40ODA2NCAxNC45OTk3IDEuNzM0ODMgMTUgMlY0QzE0Ljk5OTcgNC4yNjUwOSAxNC44OTQzIDQuNTE5MjcgMTQuNzA2OCA0LjcwNjc1QzE0LjUxOTMgNC44OTQyMiAxNC4yNjUxIDQuOTk5NjcgMTQgNVpNMiAyVjRIMTRWMkgyWicgZmlsbD0nJTIzMDA4MDYwJy8lM0UlM0NwYXRoIGQ9J00xNCAxNUgyQzEuNzM0ODcgMTQuOTk5NyAxLjQ4MDY5IDE0Ljg5NDIgMS4yOTMyMSAxNC43MDY3QzEuMTA1NzQgMTQuNTE5MyAxLjAwMDI5IDE0LjI2NTEgMSAxNFYxMkMxLjAwMDI4IDExLjczNDggMS4xMDU3MiAxMS40ODA2IDEuMjkzMiAxMS4yOTMyQzEuNDgwNjggMTEuMTA1NyAxLjczNDg3IDExLjAwMDIgMiAxMUgxNEMxNC4yNjUxIDExLjAwMDIgMTQuNTE5MyAxMS4xMDU3IDE0LjcwNjggMTEuMjkzMkMxNC44OTQzIDExLjQ4MDYgMTQuOTk5NyAxMS43MzQ4IDE1IDEyVjE0QzE0Ljk5OTcgMTQuMjY1MSAxNC44OTQzIDE0LjUxOTMgMTQuNzA2OCAxNC43MDY3QzE0LjUxOTMgMTQuODk0MiAxNC4yNjUxIDE0Ljk5OTcgMTQgMTVaTTIgMTJWMTRIMTRWMTJIMlonIGZpbGw9JyUyMzAwODA2MCcvJTNFJTNDcGF0aCBkPSdNMTQgMTBIMkMxLjczNDg3IDkuOTk5NjcgMS40ODA2OSA5Ljg5NDIyIDEuMjkzMjEgOS43MDY3NUMxLjEwNTc0IDkuNTE5MjcgMS4wMDAyOSA5LjI2NTA5IDEgOVY3QzEuMDAwMjggNi43MzQ4MyAxLjEwNTcyIDYuNDgwNjQgMS4yOTMyIDYuMjkzMTZDMS40ODA2OCA2LjEwNTY5IDEuNzM0ODcgNi4wMDAyNCAyIDZIMTRDMTQuMjY1MSA2LjAwMDI0IDE0LjUxOTMgNi4xMDU2OSAxNC43MDY4IDYuMjkzMTZDMTQuODk0MyA2LjQ4MDY0IDE0Ljk5OTcgNi43MzQ4MyAxNSA3VjlDMTQuOTk5NyA5LjI2NTA5IDE0Ljg5NDMgOS41MTkyNyAxNC43MDY4IDkuNzA2NzVDMTQuNTE5MyA5Ljg5NDIyIDE0LjI2NTEgOS45OTk2NyAxNCAxMFpNMiA3VjlIMTRWN0gyWicgZmlsbD0nJTIzMDA4MDYwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuJHN2Zy1wcmludDogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxNiUyMDE3JyUyMGZpbGwlM0Qnbm9uZSclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDcmVjdCUyMHdpZHRoJTNEJzE2JyUyMGhlaWdodCUzRCcxNiclMjB0cmFuc2Zvcm0lM0QndHJhbnNsYXRlKDAlMjAwLjUxMjY5NSknJTIwZmlsbCUzRCd3aGl0ZSclMjBmaWxsLW9wYWNpdHklM0QnMC4wMSclMjBzdHlsZSUzRCdtaXgtYmxlbmQtbW9kZSUzQW11bHRpcGx5JyUyRiUzRSUzQ3BhdGglMjBkJTNEJ00xNCUyMDUuMDEyN0gxMi41VjIuMDEyN0gzLjVWNS4wMTI3SDJDMS43MzQ3OCUyMDUuMDEyNyUyMDEuNDgwNDMlMjA1LjExODA1JTIwMS4yOTI4OSUyMDUuMzA1NTlDMS4xMDUzNiUyMDUuNDkzMTMlMjAxJTIwNS43NDc0OCUyMDElMjA2LjAxMjdWMTEuMDEyN0MxJTIwMTEuMjc3OSUyMDEuMTA1MzYlMjAxMS41MzIzJTIwMS4yOTI4OSUyMDExLjcxOThDMS40ODA0MyUyMDExLjkwNzMlMjAxLjczNDc4JTIwMTIuMDEyNyUyMDIlMjAxMi4wMTI3SDMuNVYxNS4wMTI3SDEyLjVWMTIuMDEyN0gxNEMxNC4yNjUyJTIwMTIuMDEyNyUyMDE0LjUxOTYlMjAxMS45MDczJTIwMTQuNzA3MSUyMDExLjcxOThDMTQuODk0NiUyMDExLjUzMjMlMjAxNSUyMDExLjI3NzklMjAxNSUyMDExLjAxMjdWNi4wMTI3QzE1JTIwNS43NDc0OCUyMDE0Ljg5NDYlMjA1LjQ5MzEzJTIwMTQuNzA3MSUyMDUuMzA1NTlDMTQuNTE5NiUyMDUuMTE4MDUlMjAxNC4yNjUyJTIwNS4wMTI3JTIwMTQlMjA1LjAxMjdaTTQuNSUyMDMuMDEyN0gxMS41VjUuMDEyN0g0LjVWMy4wMTI3Wk0xMS41JTIwMTQuMDEyN0g0LjVWOS4wMTI3SDExLjVWMTQuMDEyN1pNMTQlMjAxMS4wMTI3SDEyLjVWOC4wMTI3SDMuNVYxMS4wMTI3SDJWNi4wMTI3SDE0VjExLjAxMjdaJyUyMGZpbGwlM0QnJTIzMTYxNjE2JyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcblxuXG4gXG5cbi8vIFByaW50aW5nXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG5cblxuXG4vLy8gUmVndWxhciBmb250IGZhbWlseVxuLy8vIEB0eXBlIExpc3RcbiR0ZXh0LWZvbnQtc3RhY2s6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gQ29kZSAobW9ub3NwYWNlKSBmb250IGZhbWlseVxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWZvbnQtc3RhY2s6ICdDb3VyaWVyIE5ldycsICdEZWphVnUgU2FucyBNb25vJywgJ0JpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubycsICdNb25hY28nLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cblxuLy8vIENvcHkgdGV4dCBjb2xvclxuLy8vIEB0eXBlIENvbG9yXG4kdGV4dC1jb2xvcjogJHRleHQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNYWluIGJyYW5kIGNvbG9yXG4vLy8gQHR5cGUgQ29sb3JcbiRicmFuZC1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vLyBMaWdodCBncmV5XG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmV5OiBncmF5cyhcImdyZXktNDAwXCIpICFkZWZhdWx0O1xuXG4vLy8gTWVkaXVtIGdyZXlcbi8vLyBAdHlwZSBDb2xvclxuJG1pZC1ncmV5OiBncmF5cyhcImdyZXktNzAwXCIpICFkZWZhdWx0O1xuXG4vLy8gRGFyayBncmV5XG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyZXk6IGdyYXlzKFwiZ3JleS05MDBcIikgIWRlZmF1bHQ7XG5cblxuLy8vIENvbnRhaW5lcidzIG1heGltdW0gd2lkdGhcbi8vLyBAdHlwZSBMZW5ndGhcbiRtYXgtd2lkdGg6IDExODBweCAhZGVmYXVsdDtcblxuXG4vLy8gQnJlYWtwb2ludHMgbWFwXG4vLy8gQHByb3Age1N0cmluZ30ga2V5cyAtIEtleXMgYXJlIGlkZW50aWZpZXJzIG1hcHBlZCB0byBhIGdpdmVuIGxlbmd0aFxuLy8vIEBwcm9wIHtNYXB9IHZhbHVlcyAtIFZhbHVlcyBhcmUgYWN0dWFsIGJyZWFrcG9pbnRzIGV4cHJlc3NlZCBpbiBwaXhlbHNcbiRicmVha3BvaW50czogKFxuICAnc21hbGwnOiAzMjBweCxcbiAgJ21lZGl1bSc6IDc2OHB4LFxuICAnbGFyZ2UnOiAxMDI0cHgsXG4pICFkZWZhdWx0O1xuXG5cbi8vLyBSZWxhdGl2ZSBvciBhYnNvbHV0ZSBVUkwgd2hlcmUgYWxsIGFzc2V0cyBhcmUgc2VydmVkIGZyb21cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2hlbiB1c2luZyBhIENETlxuLy8vICAgJGJhc2UtdXJsOiAnaHR0cHM6Ly9jZG4uZXhhbXBsZS5jb20vYXNzZXRzLyc7XG4kYmFzZS11cmw6ICcvYXNzZXRzLycgIWRlZmF1bHQ7XG5cbi8qIFZBUklBQkxFUyBlbmQgKi8iLCIvKiBCUkFORCBWQVJJQUJMRVMgc3RhcnQgKi8gXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFwcGxpY2F0aW9uLXdpZGUgU2FzcyB2YXJpYWJsZXMgdGhhdCBvdmVycmlkZSB0aGUgT09UQlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDBweCAhZGVmYXVsdDtcbi8vICRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS10ZXh0LWNvbG9yOiAgICAkd2hpdGU7XG4kaW52ZXJzZS1iZy1jb2xvcjogICAgICAkcHJpbWFyeTtcblxuLy8gJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgOTZweCAhZGVmYXVsdDtcbi8vICRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgIDY0cHggIWRlZmF1bHQ7XG4vLyAkaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICA0OHB4ICFkZWZhdWx0O1xuLy8gJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgMzZweCAhZGVmYXVsdDtcbi8vICRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgIDI1cHggIWRlZmF1bHQ7XG4vLyAkaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAyMnB4ICFkZWZhdWx0O1xuXG4kc3BhY2U6IDRweDtcblxuXG4vKioqKiBCUkFORCBWQVJJQUJMRVMgZW5kICoqKiovIiwiLyogRlVOQ1RJT05TIHN0YXJ0ICovIFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgYXBwbGljYXRpb24td2lkZSBTYXNzIGZ1bmN0aW9ucy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBOYXRpdmUgYHVybCguLilgIGZ1bmN0aW9uIHdyYXBwZXJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJhc2UgLSBiYXNlIFVSTCBmb3IgdGhlIGFzc2V0XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0eXBlIC0gYXNzZXQgdHlwZSBmb2xkZXIgKGUuZy4gYGZvbnRzL2ApXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwYXRoIC0gYXNzZXQgcGF0aFxuLy8vIEByZXR1cm4ge1VybH1cbkBmdW5jdGlvbiBhc3NldCgkYmFzZSwgJHR5cGUsICRwYXRoKSB7XG4gIEByZXR1cm4gdXJsKCRiYXNlICsgJHR5cGUgKyAkcGF0aCk7XG59XG5cbi8vLyBSZXR1cm5zIFVSTCB0byBhbiBpbWFnZSBiYXNlZCBvbiBpdHMgcGF0aFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcGF0aCAtIGltYWdlIHBhdGhcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJhc2UgWyRiYXNlLXVybF0gLSBiYXNlIFVSTFxuLy8vIEByZXR1cm4ge1VybH1cbi8vLyBAcmVxdWlyZSAkYmFzZS11cmxcbkBmdW5jdGlvbiBpbWFnZSgkcGF0aCwgJGJhc2U6ICRiYXNlLXVybCkge1xuICBAcmV0dXJuIGFzc2V0KCRiYXNlLCAnaW1hZ2VzLycsICRwYXRoKTtcbn1cblxuLy8vIFJldHVybnMgVVJMIHRvIGEgZm9udCBiYXNlZCBvbiBpdHMgcGF0aFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcGF0aCAtIGZvbnQgcGF0aFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYmFzZSBbJGJhc2UtdXJsXSAtIGJhc2UgVVJMXG4vLy8gQHJldHVybiB7VXJsfVxuLy8vIEByZXF1aXJlICRiYXNlLXVybFxuQGZ1bmN0aW9uIGZvbnQoJHBhdGgsICRiYXNlOiAkYmFzZS11cmwpIHtcbiAgQHJldHVybiBhc3NldCgkYmFzZSwgJ2ZvbnRzLycsICRwYXRoKTtcbn1cbi8qIEZVTkNUSU9OUyBlbmQgKi8gIiwiLyogTUlYSU5TIHN0YXJ0ICovIFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgYXBwbGljYXRpb24td2lkZSBTYXNzIG1peGlucy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBFdmVudCB3cmFwcGVyXG4vLy8gQGF1dGhvciBIYXJyeSBSb2JlcnRzXG4vLy8gQHBhcmFtIHtCb29sfSAkc2VsZiBbZmFsc2VdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBjdXJyZW50IHNlbGVjdG9yXG4vLy8gQGxpbmsgaHR0cHM6Ly90d2l0dGVyLmNvbS9jc3N3aXphcmRyeS9zdGF0dXMvNDc4OTM4NTMwMzQyMDA2Nzg0IE9yaWdpbmFsIHR3ZWV0IGZyb20gSGFycnkgUm9iZXJ0c1xuQG1peGluIG9uLWV2ZW50KCRzZWxmOiBmYWxzZSkge1xuICBAaWYgJHNlbGYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gTWFrZSBhIGNvbnRleHQgYmFzZWQgc2VsZWN0b3IgYSBsaXR0bGUgbW9yZSBmcmllbmRseVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNvbnRleHRcbkBtaXhpbiB3aGVuLWluc2lkZSgkY29udGV4dCkge1xuICAjeyRjb250ZXh0fSAmIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNSVhJTlMgXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAtbXMtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuLy8gQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cblxuQG1peGluIGJhY2tncm91bmQtdGludCgkaW1nKSB7XG4gICRpbWctcGF0aDogdXJsKCcjeyRpbWd9Jyk7XG4gIGJhY2tncm91bmQ6ICRwdXJwbGUtZGFyay10aW50LCAkaW1nLXBhdGg7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWRhcmtlbigkYmdjb2xvcikge1xuYmFja2dyb3VuZDogZGFya2VuKCRiZ2NvbG9yLDE1JSk7XG59XG4vLyBAaW5jbHVkZSBiYWNrZ3JvdW5kLWRhcmtlbigkYmdjb2xvcik7XG5cblxuQG1peGluIHVuZGVybGluZSgkY29sb3IpIHtcbiAgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkY29sb3IsIDAuMyk7XG4gICY6aG92ZXIge2JvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRjb2xvciwgMSk7fVxufVxuXG5AbWl4aW4gdmVydGljYWwtYWxpZ24ge1xucG9zaXRpb246IGFic29sdXRlO1xudG9wOiA1MCU7XG4td2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbi1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG50cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4vL0BpbmNsdWRlIHZlcnRpY2FsLWFsaWduOyBVU0UgZm9yIENISUxEXG4vL1NFVCAucmVsYXRpdmUgKGZvciBwb3NpdGlvbjogcmVsYXRpdmUpIFVTRSBmb3IgUEFSRU5UXG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR3aGF0OiBhbGwsICR0aW1lOiAwLjJzLCAkaG93OiBlYXNlLWluLW91dCkge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR3aGF0ICR0aW1lICRob3c7XG4gIC1tb3otdHJhbnNpdGlvbjogICAgJHdoYXQgJHRpbWUgJGhvdztcbiAgLW1zLXRyYW5zaXRpb246ICAgICAkd2hhdCAkdGltZSAkaG93O1xuICAtby10cmFuc2l0aW9uOiAgICAgICR3aGF0ICR0aW1lICRob3c7XG4gIHRyYW5zaXRpb246ICAgICAgICAgJHdoYXQgJHRpbWUgJGhvdztcbn1cbi8vQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsLCAwLjVzLCBlYXNlKTtcblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICRvcGFjaXR5LWllOiAkb3BhY2l0eSAqIDEwMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTsgLy9JRThcbn1cbi8vQGluY2x1ZGUgb3BhY2l0eSgwLjgpO1xuXG5AbWl4aW4gaW5wdXQtcGxhY2Vob2xkZXIge1xuICAmLnBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgJjotbW96LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG59XG4vLyBpbnB1dCx0ZXh0YXJlYSB7IEBpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyIHtjb2xvcjogJGdyZXk7fX1cblxuXG5AbWl4aW4gYWRkLWFmdGVyKCRjb250ZW50KSB7XG4gIGNvbnRlbnQ6ICRjb250ZW50O1xufVxuLy8uYWRkLWNoZXZyb24tcmlnaHQ6OmFmdGVyIHtAaW5jbHVkZSBhZGQtYWZ0ZXIoJzxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tcmlnaHRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+Jyk7fVxuXG4vKioqKioqKioqKioqKioqKioqKioqICAgICAgIE1FRElBIFFVRVJJRVMgICAgICAgICoqKioqKioqKioqKioqKioqKioqKi9cbiAgXG4vL1JFU1BPTlNJVkVcbkBtaXhpbiBicmVha3BvaW50KCRjbGFzcykge1xuICBAaWYgJGNsYXNzID09IG1vYmlsZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MXB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJGNsYXNzID09IHhzIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY3cHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkY2xhc3MgPT0gc20ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRjbGFzcyA9PSBtZCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJGNsYXNzID09IGxnIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJGNsYXNzID09IHhsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCBtaXhpbiBzdXBwb3J0czogbW9iaWxlLCB4cywgc20sIG1kLCBsZywgeGxcIjtcbiAgfVxufVxuLy8gRXhhbXBsZSB1c2FnZTpcbi8qXG5AaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4uc29tZS1jbGFzcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxufVxuKi9cblxuLy9CUkVBSyBMSU5FUyBJTiBFTlRJVFkgRk9STVNcbkBtaXhpbiBicmVha2Zvcm0oKXtcbi5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uLCBcbi5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uPnRoZWFkLCBcbi5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uPnRoZWFkPnRyLCBcbi5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uPnRoZWFkPnRyPnRoLCBcbi5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uPnRoZWFkPnRyPnRkLCBcbi5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uPnRib2R5LCBcbi5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uPnRib2R5PnRyLCBcbi5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uPnRib2R5PnRyPnRoLCBcbi5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uPnRib2R5PnRyPnRkLCBcbi5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uPnRmb290LCBcbi5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uPnRmb290PnRyLCBcbi5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uPnRmb290PnRyPnRoLCBcbi5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uPnRmb290PnRyPnRkIHtcbiAgICBkaXNwbGF5OmJsb2NrO1xufVxuLmNybUVudGl0eUZvcm1WaWV3IC5jZWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG59XG5cbkBtaXhpbiBmbHVpZC10eXBlKCRwcm9wZXJ0aWVzLCAkbWluLXZ3LCAkbWF4LXZ3LCAkbWluLXZhbHVlLCAkbWF4LXZhbHVlKSB7XG4gIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgI3skcHJvcGVydHl9OiAkbWluLXZhbHVlO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbi12dykge1xuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skbWluLXZhbHVlfSArICN7c3RyaXAtdW5pdCgkbWF4LXZhbHVlIC0gJG1pbi12YWx1ZSl9ICogKDEwMHZ3IC0gI3skbWluLXZ3fSkgLyAje3N0cmlwLXVuaXQoJG1heC12dyAtICRtaW4tdncpfSk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1heC12dykge1xuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICRtYXgtdmFsdWU7XG4gICAgfVxuICB9XG59XG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCR2YWx1ZSkge1xuICBAcmV0dXJuICR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSk7XG59XG5cbi8qIFNpbmdsZSBwcm9wZXJ0eSAqL1xuLy8gIGh0bWwgeyBAaW5jbHVkZSBmbHVpZC10eXBlKGZvbnQtc2l6ZSwgMzIwcHgsIDEzNjZweCwgMTRweCwgMThweCk7fVxuLy8gIGgxIHsgIEBpbmNsdWRlIGZsdWlkLXR5cGUoZm9udC1zaXplLCA2NDBweCwgMTI0MHB4LCAxNnB4LCAzNHB4KTsgfVxuXG4vKiBNdWx0aXBsZSBwcm9wZXJ0aWVzIHdpdGggc2FtZSB2YWx1ZXMgKi9cbi8vICAgaDEge0BpbmNsdWRlIGZsdWlkLXR5cGUocGFkZGluZy1ib3R0b20gcGFkZGluZy10b3AsIDIwZW0sIDcwZW0sIDJlbSwgNGVtKTt9XG4vLyBodHRwczovL3d3dy5zYXNzbWVpc3Rlci5jb20vZ2lzdC83ZjIyZTQ0YWNlNDliNTEyNGVlY1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZsZXhib3ggU0FTUyBtaXhpbnNcbi8vIFRoZSBzcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZsZXhib3ggZGlzcGxheVxuQG1peGluIGZsZXhib3goKSB7XG5kaXNwbGF5OiAtd2Via2l0LWJveDtcbmRpc3BsYXk6IC1tb3otYm94O1xuZGlzcGxheTogLW1zLWZsZXhib3g7XG5kaXNwbGF5OiAtd2Via2l0LWZsZXg7XG5kaXNwbGF5OiBmbGV4O1xufVxuLy8gRmxleCBMaW5lIFdyYXBwaW5nXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggY29udGFpbmVyc1xuLy8gbm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZVxuQG1peGluIGZsZXgtd3JhcCgkd3JhcCkge1xuLXdlYmtpdC1mbGV4LXdyYXA6ICR3cmFwO1xuICAgLW1vei1mbGV4LXdyYXA6ICR3cmFwO1xuICAgIC1tcy1mbGV4LXdyYXA6ICR3cmFwO1xuICAgICAgICBmbGV4LXdyYXA6ICR3cmFwO1xufVxuXG5cblxuLyoqKioqICAgIFdPUktTUEFDRSAgICoqKioqKi9cbi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCkge1xud2lkdGg6IDEwMCU7XG5wYWRkaW5nLXJpZ2h0OiAoJHdvcmtzcGFjZS1ncmlkLWd1dHRlci13aWR0aCAvIDIpO1xucGFkZGluZy1sZWZ0OiAoJHdvcmtzcGFjZS1ncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuXG5AaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkd29ya3NwYWNlLWdyaWQtZ3V0dGVyLXdpZHRoKTtcbiAgcGFkZGluZy1sZWZ0OiAoJHdvcmtzcGFjZS1ncmlkLWd1dHRlci13aWR0aCk7XG59IFxuXG5tYXJnaW4tcmlnaHQ6IGF1dG87XG5tYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICR3b3Jrc3BhY2UtY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJHdvcmtzcGFjZS1ncmlkLWJyZWFrcG9pbnRzKSB7XG5AZWFjaCAkYnJlYWtwb2ludCwgJHdvcmtzcGFjZS1jb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgIG1heC13aWR0aDogJHdvcmtzcGFjZS1jb250YWluZXItbWF4LXdpZHRoO1xuICB9XG59XG59XG5cbkBtaXhpbiBtYWtlLXJvdygpIHtcbmRpc3BsYXk6IGZsZXg7XG5mbGV4LXdyYXA6IHdyYXA7XG5tYXJnaW4tcmlnaHQ6ICgkd29ya3NwYWNlLWdyaWQtZ3V0dGVyLXdpZHRoIC8gLTEpO1xubWFyZ2luLWxlZnQ6ICgkd29ya3NwYWNlLWdyaWQtZ3V0dGVyLXdpZHRoIC8gLTEpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG5wb3NpdGlvbjogcmVsYXRpdmU7XG4vLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4vLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4vLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG53aWR0aDogMTAwJTtcbm1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXG5wYWRkaW5nLXJpZ2h0OiAoJHdvcmtzcGFjZS1ncmlkLWd1dHRlci13aWR0aCk7XG5wYWRkaW5nLWxlZnQ6ICgkd29ya3NwYWNlLWdyaWQtZ3V0dGVyLXdpZHRoKTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJHdvcmtzcGFjZS1ncmlkLWNvbHVtbnMpIHtcbmZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4vLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbi8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxubWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJHdvcmtzcGFjZS1ncmlkLWNvbHVtbnMpIHtcbiRudW06ICRzaXplIC8gJGNvbHVtbnM7XG5tYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gLS0tLVxuLy8gbGlic2FzcyAodjMuMi41KVxuLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vcHJhc29mdHkvMmI1ZjI5MGUxZDYwZjE3YjVhY2Jcbi8vIC0tLS1cblxuLy8gbWFyZ2luIGFuZCBwYWRkaW5nIHZhbHVlcyBhcnJheVxuJHNwYWNlLXZhbHVlcyA6IChcbjAsXG4zLFxuNSxcbjEwLFxuMTUsXG4yMCxcbjI1LFxuMzAsXG4zNSxcbjQwLFxuNDUsXG41MFxuKSAhZGVmYXVsdDtcblxuLy8gbWFyZ2luIGFuZCBwYWRkaW5nIHNob3J0aGFuZHNcbiRzcGFjZS1wcmVmaXhlcyA6IChcbnAgIDogcGFkZGluZyxcbnB0IDogcGFkZGluZy10b3AsXG5wciA6IHBhZGRpbmctcmlnaHQsXG5wYiA6IHBhZGRpbmctYm90dG9tLFxucGwgOiBwYWRkaW5nLWxlZnQsXG5tICA6IG1hcmdpbixcbm10IDogbWFyZ2luLXRvcCxcbm1yIDogbWFyZ2luLXJpZ2h0LFxubWIgOiBtYXJnaW4tYm90dG9tLFxubWwgOiBtYXJnaW4tbGVmdCxcbikgIWRlZmF1bHQ7XG5cbkBtaXhpbiBtYWtlLXNwYWNlcygpIHtcbkBlYWNoICRhdHRyLXNob3J0LCAkYXR0ci1sb25nIGluICRzcGFjZS1wcmVmaXhlcyB7IFxuICBAZWFjaCAkdmFsdWUgaW4gJHNwYWNlLXZhbHVlcyB7XG4gICAgLiN7JGF0dHItc2hvcnR9LSN7JHZhbHVlfSB7XG4gICAgICAjeyRhdHRyLWxvbmd9OiAjeyR2YWx1ZX0jeydweCd9O1xuICAgIH1cbiAgfVxufVxufVxuXG5AaW5jbHVkZSBtYWtlLXNwYWNlcygpO1xuXG4vLyBtYWtlIHdpZHRoXG4kd2lkdGgtcHJlZml4ZXMgOiAoXG53ICA6IHdpZHRoLFxubXcgOiBtYXgtd2lkdGhcbikgIWRlZmF1bHQ7XG5AbWl4aW4gbWFrZS13aWR0aCgpIHtcbiAgQGVhY2ggJGF0dHItc2hvcnQsICRhdHRyLWxvbmcgaW4gJHdpZHRoLXByZWZpeGVzIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHNwYWNlLXZhbHVlcyB7XG4gICAgICAuI3thdHRyLXNob3J0fS0je3ZhbHVlfSB7XG4gICAgICAgICN7YXR0ci1sb25nfTogI3t2YWx1ZX0jeyclJ307XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTWFrZSBwYWRkaW5nIFxuXG5AbWl4aW4gbWFrZS1wYWRkaW5nKCkge1xuICBAZWFjaCAkdmFsdWUgaW4gJHNwYWNlLXZhbHVlcyB7XG4gICAgLnAtI3skdmFsdWV9IHtcbiAgICAgIHBhZGRpbmc6ICN7JHZhbHVlfSN7J3B4J307XG4gICAgfVxuICB9XG59XG4gIFxuQGluY2x1ZGUgbWFrZS1wYWRkaW5nKCk7XG5cbi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vIEJveCBzaGFkb3dzXG5AbWl4aW4gbWFrZS1ib3gtc2hhZG93KCRib3gtc2hhZG93KSB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICAgICAtbW96LWJveC1zaGFkb3c6ICRib3gtc2hhZG93OyAgICAgICBcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xufVxuXG4vLyBQbGFjZWhvbGRlclxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5AaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgZm9udC1zdHlsZTppdGFsaWM7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OjEwMDtcbn1cblxuLyogVVNFIFxuaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTcxODE4NDkvcGxhY2Vob2xkZXItbWl4aW4tc2Nzcy1jc3NcblxuLmZvbyB7XG4gIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogZ3JlZW47XG4gIH1cbn1cblxuQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmVkO1xufVxuKi8gXG5cbi8qIE1JWElOUyBlbmQgKi8gIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG4gaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuIFxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAvLyAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuLypcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufSovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAvLyAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIvKiBCQVNFIHN0YXJ0ICovIFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyB2ZXJ5IGJhc2ljIHN0eWxlcy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogU2V0IHVwIGEgZGVjZW50IGJveCBtb2RlbCBvbiB0aGUgcm9vdCBlbGVtZW50XG4gKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKipcbiAqIE1ha2UgYWxsIGVsZW1lbnRzIGZyb20gdGhlIERPTSBpbmhlcml0IGZyb20gdGhlIHBhcmVudCBib3gtc2l6aW5nXG4gKiBTaW5jZSBgKmAgaGFzIGEgc3BlY2lmaWNpdHkgb2YgMCwgaXQgZG9lcyBub3Qgb3ZlcnJpZGUgdGhlIGBodG1sYCB2YWx1ZVxuICogbWFraW5nIGFsbCBlbGVtZW50cyBpbmhlcml0aW5nIGZyb20gdGhlIHJvb3QgYm94LXNpemluZyB2YWx1ZVxuICogU2VlOiBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cbiAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICBtaW4taGVpZ2h0OiAxMDBkdmg7XG4gIGEge1xuICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBvbi1ldmVudCB7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAuaWNvbi1kYW5nZXIge2NvbG9yOiB0aGVtZS1jb2xvcnMoXCJkYW5nZXJcIik7IG1hcmdpbi1yaWdodDogNXB4O31cbiAgYSBpIHtmb250LXNpemU6IDgwJTsgbWFyZ2luOiAwcHggNXB4O30gLyogaWNvbnMgaW5zaWRlIGxpbmtzIChvZnRlbiBcImV4dGVybmFsIGxpbmsgaWNvblwiKSBzaG91bGQgYmUgc21hbGxlciBhbmQgaGF2ZSBtb3JlIHNwYWNlICovXG5cbn0gLy8gYm9keSBlbmRcbi8qIEJBU0UgZW5kICovIFxuIiwiXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBmcm9tIFwiVFlQTy5zY3NzXCIgZnJvbSBCb290c3RyYXAgNFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplOyB9XG5oMiwgLmgyIHsgZm9udC1zaXplOiAkaDItZm9udC1zaXplOyB9XG5oMywgLmgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplOyB9XG5oNCwgLmg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplOyB9XG5oNSwgLmg1IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplOyB9XG5oNiwgLmg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBmb250LXNpemU6ICRkaXNwbGF5MS1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXkyLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTMtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBmb250LXNpemU6ICRkaXNwbGF5NC1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA4MCU7IC8vIGJhY2sgdG8gZGVmYXVsdCBmb250LXNpemVcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTQgXFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuXG5zcGFuW3JvbGU9Y2hlY2tib3hdIHtib3JkZXItcmFkaXVzOiAzcHg7fVxuXG4vKipcbiAqIEJhc2ljIHR5cG9ncmFwaHkgc3R5bGUgZm9yIGNvcHkgdGV4dFxuICovXG5ib2R5IHtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBmb250LXNpemU6ICAgICRmb250LXNpemUtYmFzZTtcbiAgZm9udC1mYW1pbHk6ICAkZm9udC1mYW1pbHktYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICAkbGluZS1oZWlnaHQtYmFzZTtcbiAgZm9udC13ZWlnaHQ6ICAkZm9udC13ZWlnaHQtYmFzZTtcblxuICAuaDAtZm9udCB7IGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAuaDAtdGV4dCB7IHRvcDogNTAlOyBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyBtYXJnaW46IDBweDsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogOTUlOyB9XG4gIC5oMC1jb250YWluZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgY2VudGVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB3aWR0aDogMTAwJTsgbGVmdDogMHB4OyB0b3A6IDBweDsgcmlnaHQ6IDBweDsgfVxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsgbWFyZ2luLXRvcDogMHB4OyB9XG5cbiAgLyogQnJlYWRjcnVtYiAqLyBcbiAgLmJyZWFkY3J1bWIge1xuICAgIHBhZGRpbmc6IDhweCAwcHg7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgbGkge1xuICAgICAgJi5hY3RpdmUge2ZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsOyB9XG4gICAgICBhIHt0ZXh0LWRlY29yYXRpb246IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDt9XG4gICAgfVxuICB9XG4gIC8qIFJlcGxhY2UgQnJlYWRjcnVtYiBhcnJvdyB3aXRoIEZvbnRBd2Vzb21lIGFycm93IGljb24gKi9cbiAgLmJyZWFkY3J1bWI+bGkrbGk6OmJlZm9yZSB7XG4gICAgZm9udDogdmFyKC0tZmEtZm9udC1zb2xpZCk7XG4gICAgY29udGVudDogXCJcXGYxMDFcIjtcbiAgICBwYWRkaW5nOiAwIDVweCAwIDFweDtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgZm9udC1zaXplOiAwLjVlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC8qIG1ha2UgYnJlYWRjcnVtYiBsb29rIGdvb2Qgb24gbW9iaWxlIGFuZCBkZXNrdG9wICovIFxuICAuYnJlYWRjcnVtYj5saXtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIH1cblxuICAvKiBMYWJlbCAqLyBcbiAgbGFiZWwge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRncmF5cywgODAwKTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAubGFiZWwge0BleHRlbmQgbGFiZWw7fVxuICBoMS5sYWJlbCB7QGV4dGVuZCBsYWJlbDt9XG4gIC5jcm1FbnRpdHlGb3JtVmlldyBsYWJlbCB7QGV4dGVuZCBsYWJlbDt9XG5cbn1cblxuLyogVFlQT0dSQVBIWSBlbmQgKi8gXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIENTUyBoZWxwZXIgY2xhc3Nlcy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFdyYXBwZXIgZm9yIG1haW4gYm9keVxuXG5cbi8qKlxuICogQ2xlYXIgaW5uZXIgZmxvYXRzXG4gKi9cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4vKipcbiAqIE1haW4gY29udGVudCBjb250YWluZXJzXG4gKiAxLiBNYWtlIHRoZSBjb250YWluZXIgZnVsbC13aWR0aCB3aXRoIGEgbWF4aW11bSB3aWR0aFxuICogMi4gQ2VudGVyIGl0IGluIHRoZSB2aWV3cG9ydFxuICogMy4gTGVhdmUgc29tZSBzcGFjZSBvbiB0aGUgZWRnZXMsIGVzcGVjaWFsbHkgdmFsdWFibGUgb24gc21hbGwgc2NyZWVuc1xuICovXG4uY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoOyAvKiAxICovXG4gIHdpZHRoOiAxMDAlOyAvKiAxICovXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4cykge2ZsZXgtd3JhcDpub3dyYXA7fVxufVxuXG5cbi8qKlxuICogSGlkZSB0ZXh0IHdoaWxlIG1ha2luZyBpdCByZWFkYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbiAqIDEuIE5lZWRlZCBpbiBXZWJLaXQtYmFzZWQgYnJvd3NlcnMgYmVjYXVzZSBvZiBhbiBpbXBsZW1lbnRhdGlvbiBidWc7XG4gKiAgICBTZWU6IGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD00NTcxNDZcbiAqL1xuLmhpZGUtdGV4dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7IC8qIDEgKi9cbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qKlxuICogSGlkZSBlbGVtZW50IHdoaWxlIG1ha2luZyBpdCByZWFkYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbiAqIFNoYW1lbGVzc2x5IGJvcnJvd2VkIGZyb20gSFRNTDVCb2lsZXJwbGF0ZTpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDExOS1MMTMzXG4gKi9cbi52aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLmlubGluZS1pY29uICoge2Rpc3BsYXk6IGlubGluZTt9XG5cbi5hZGQtY2hldnJvbi1yaWdodDo6YWZ0ZXIge1xuICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgY29udGVudDogJ1xcZjA1NCc7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgY29sb3I6ICMzNDY1N0Y7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmZ1bGwtd2lkdGgge3dpZHRoOiAxMDAlIWltcG9ydGFudDt9XG5cbiAvKioqKiogICAgRkxPQVQgICAgKioqKiovXG5cbiAuZmxvYXQtbGVmdCAgeyBmbG9hdDogbGVmdDt9XG4gLmZsb2F0LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0O31cblxuIC5mbG9hdC1sZWZ0LWltcG9ydGFudCAgeyBmbG9hdDogbGVmdCFpbXBvcnRhbnQ7fVxuIC5mbG9hdC1yaWdodC1pbXBvcnRhbnQgeyBmbG9hdDogcmlnaHQhaW1wb3J0YW50O31cbiBcbiAudGV4dC1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICAgIWltcG9ydGFudDsgfVxuIC50ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gLnRleHQtcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgICFpbXBvcnRhbnQ7IH1cblxuIC5hbGlnbi1taWRkbGUgICB7dmVydGljYWwtYWxpZ246IG1pZGRsZSFpbXBvcnRhbnQ7fVxuIC5hbGlnbi10b3AgICAgICB7dmVydGljYWwtYWxpZ246IHRvcCFpbXBvcnRhbnQ7fVxuIC5hbGlnbi1ib3R0b20gICB7dmVydGljYWwtYWxpZ246IGJvdHRvbSFpbXBvcnRhbnQ7fVxuXG4gLnZlcnRpY2FsLWFsaWduLXBhcmVudCB7cG9zaXRpb246IHJlbGF0aXZlO31cbiAudmVydGljYWwtYWxpZ24ge0BpbmNsdWRlIHZlcnRpY2FsLWFsaWduO30gLy8gY2hpbGQgXG5cbiAuY2xlYXItbGVmdCAge2NsZWFyOiBsZWZ0O31cbiAuY2xlYXItcmlnaHQge2NsZWFyOiByaWdodDt9XG4gLmJsb2NrICAgICAgIHtkaXNwbGF5OiBibG9jazt9XG4gLmlubGluZSAgICAgIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fVxuXG4gLyoqKioqICAgIGVuZCBGTE9BVCAgICAqKioqKi9cblxuIC8qKioqKiAgICBCT1JERVIgICAgKioqKiovXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9yIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbiAvKioqKiogICAgZW5kIEJPUkRFUiAgICAqKioqKi9cblxuLyoqIEZMRVggSEVMUEVSUyAqLyBcbi5mbGV4LWNvbHVtbiB7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjt9XG4uZmxleC1yb3cge2ZsZXgtZGlyZWN0aW9uOiByb3c7fVxuXG4uZC1mbGV4IHtcbiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZmxleC13cmFwOm5vd3JhcDsgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHMpIHtmbGV4LWRpcmVjdGlvbjogcm93O31cbn1cblxuXG4uanVzdGlmeS1jb250ZW50LWJldHdlZW4ge2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjt9XG4uYWxpZ24taXRlbXMtc3RhcnQge2FsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O31cbi5hbGlnbi1pdGVtcy1jZW50ZXIge2FsaWduLWl0ZW1zOiBjZW50ZXI7fVxuLmFsaWduLXNlbGYtZW5kIHthbGlnbi1zZWxmOiBmbGV4LWVuZDt9XG4uYWxpZ24tc2VsZi1zdGFydCB7YWxpZ24tc2VsZjogZmxleC1zdGFydH1cbi5ncm93LTEge2ZsZXgtZ3JvdzogMTsgIH1cblxuLyoqKiBFTkQgRkxFWCBIRUxQRVJTICoqKiovXG5cblxuLyogSEVMUEVSUyBlbmQgKi8gIiwiLyoqKioqKiAgRml4ZXMgc3R5bGluZyBmcm9tIEJvb3N0cmFwICoqKioqL1xuXG5ib2R5IHtcblx0aGVpZ2h0OiBhdXRvO1xuXG5cdC5mYSB7XG5cdFx0dG9wOiAwcHg7XG5cdH1cblx0LmNvbnRhaW5lciAuZmEge1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHR9XG5cdHRhYmxlIHtcblx0XHRmb250LXNpemU6IGluaGVyaXQ7XG5cdH1cblx0LnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdH1cblx0Lm5hdiA+IGxpID4gYSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwcHg7XG5cdH1cblx0Lm5hdiA+IGxpID4gYTpob3Zlcixcblx0Lm5hdiA+IGxpID4gYTpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cblx0Lm5hdmJhciB7XG5cdFx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHR9XG5cdC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWNvbGxhcHNlLFxuXHQubmF2YmFyLWludmVyc2UgLm5hdmJhci1mb3JtIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdH1cblx0Ly8gI25hdmJhciwgLm5hdmJhci1zdGF0aWMtdG9wLm5hdmJhciAubWVudS1iYXIgPiAubmF2YmFyLW5hdiA+IGxpID4gYSB7Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlOyB9XG5cdC5uYXZiYXItaW52ZXJzZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG5cdH1cblx0Lm5hdmJhci1icmFuZCBwIHtcblx0XHRtYXJnaW46IDBweDtcblx0fVxuXHQubmF2YmFyLWJyYW5kID4gaW1nIHtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cblx0bGVnZW5kIHtcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHR9XG5cdC50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpudGgtb2YtdHlwZShvZGQpIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuXHR9XG5cdC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcblx0LnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuXHQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG5cdC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCxcblx0LnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuXHQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuXHRcdC8qdmVydGljYWwtYWxpZ246IGJvdHRvbTsgKi9cblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHR9XG5cdC50YWJsZS1mbHVpZCB0ZDpiZWZvcmUge1xuXHRcdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcblx0XHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdFx0d29yZC1icmVhazogYnJlYWstYWxsO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0XHR3b3JkLXdyYXA6IG5vcm1hbDtcblx0XHRcdHdvcmQtYnJlYWs6IG5vcm1hbDtcblx0XHR9XG5cdH1cblx0LmNybUVudGl0eUZvcm1WaWV3IHRhYmxlLnRhYmxlIHRkLFxuXHQuY3JtRW50aXR5Rm9ybVZpZXcgdGFibGUudGFibGUgdGQ6Zmlyc3QtY2hpbGQsXG5cdC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcblx0LnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuXHQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG5cdC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCxcblx0LnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuXHQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuXHRcdHBhZGRpbmc6IDEwcHggMTBweCA1cHggMXB4O1xuXHR9XG5cdC5jcm1FbnRpdHlGb3JtVmlldyAuYWN0aW9ucyB7XG5cdFx0Ym9yZGVyLXRvcDogbm9uZTtcblx0fVxuXHQuZm9ybS1jb250cm9sIHtcblx0XHQtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXHQubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIsXG5cdC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcblx0Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhLFxuXHQubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIsXG5cdC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpmb2N1cyxcblx0Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLFxuXHQubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG5cdFx0Ym9yZGVyOiBpbmhlcml0O1xuXHR9XG5cdC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWNvbGxhcHNlLFxuXHQubmF2YmFyLWludmVyc2UgLm5hdmJhci1mb3JtIHtcblx0XHRib3JkZXItdG9wOiBub25lO1xuXHR9XG5cdC5uYXZiYXItc3RhdGljLXRvcCAubmF2YmFyLWhlYWRlciB7XG5cdFx0cGFkZGluZy10b3A6IDBweDtcblx0fVxuXHQubmF2YmFyLXN0YXRpYy10b3AubmF2YmFyIC5tZW51LWJhciA+IC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHR9XG5cdC5lbnRpdHktbG9va3VwIC52aWV3LWdyaWQsXG5cdC5lbnRpdHktYXNzb2NpYXRlIC52aWV3LWdyaWQge1xuXHRcdGZvbnQtc2l6ZTogMTAwJTtcblx0fVxuXHQuY29udGFpbmVyIHtcblx0XHRoZWlnaHQ6IGluaGVyaXQ7XG5cdH1cblx0Ly8gVGhpcyBjYXVzZXMgaXNzdWVzIGF1dG9tYXRpYyBwYWdlIHdpZHRoXG5cdC8vIC5jb250YWluZXIjY29udGVudC1jb250YWluZXIge1xuXHQvLyBcdGhlaWdodDogZml0LWNvbnRlbnQ7XG5cdC8vIFx0ZmxleC1ncm93OiAyO1xuXHQvLyBcdG1heC13aWR0aDogMTAwJTtcblx0Ly8gfVxuXHQuYWxlcnQge1xuXHRcdGZvbnQtc2l6ZTogMWVtO1xuXHR9XG5cblx0I25hdmJhci5uYXZiYXItY29sbGFwc2UuaW4ge1xuXHRcdG92ZXJmbG93LXk6IHZpc2libGU7XG5cdH1cblx0LyogTW9kYWwgKi9cblx0Ly8jRW50aXR5Rm9ybVBhbmVsIC5tb2RhbC1ib2R5IGlmcmFtZSBib2R5IHtiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyBkaXNwbGF5OiBibG9jazt9XG5cblx0LyogTGlzdCBncm91cCAqL1xuXHQvLyAuY3JtRW50aXR5Rm9ybVZpZXcgLmNlbGwuY3JtcXVpY2tmb3JtLWNlbGw6Zmlyc3QtY2hpbGQge2JvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O31cblx0LmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctbGVmdDogMHB4O1xuXHR9XG5cdC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlLFxuXHQubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3Zlcixcblx0Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuXHR9XG5cdC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCxcblx0Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LFxuXHQubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuXHRcdGNvbG9yOiAkdGV4dC1jb2xvcjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cblx0YS5saXN0LWdyb3VwLWl0ZW0sXG5cdGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHR9XG5cdC5saXN0LWdyb3VwLWl0ZW0ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHR9XG5cdC5jcm1FbnRpdHlGb3JtVmlldyB0YWJsZS5zZWN0aW9uIHRyIHRkLmxvb2t1cCAuY29udHJvbCAuaW5wdXQtZ3JvdXAge1xuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHRcdGlucHV0Lmxvb2t1cCxcblx0XHRpbnB1dC5xdWVyeSB7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cblx0XHQuaW5wdXQtZ3JvdXAtYnRuIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmb250LXNpemU6IGluaGVyaXQ7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHRcdH1cblx0XHQuYnRuIHtcblx0XHRcdG1hcmdpbi10b3A6IDBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDBweDtcblx0XHRcdHBhZGRpbmctdG9wOiAwcHg7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMHB4O1xuXHRcdH1cblx0fVxufSAvKiBlbmQgYm9keSAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcblx0LmNybUVudGl0eUZvcm1WaWV3IHRhYmxlLnNlY3Rpb24ge1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHR9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0Lm5hdmJhci1yaWdodCB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwcHg7XG5cdH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcblx0Lm5hdmJhci1zdGF0aWMtdG9wIC5uYXZiYXItYnJhbmQge1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxufVxuXG4uZGF0ZXBpY2tlciB7XG5cdC5kYXkuZGlzYWJsZWQge1xuXHRcdGJ1dHRvbiB7XG5cdFx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdH1cblx0fVxufVxuXG4vKiBCT09UU1RSQVBGSVggZW5kICovXG4iLCIvKioqKioqICBGaXhlcyB0byB0aGUgY3NzIGZpbGUgXCJQb3J0YWxiYXNpY3RoZW1lLmNzc1wiIGZvciBQb3dlciBQYWdlcyBSZWdpc3RyYXRpb24gU2l0ZSAqKioqKi9cblxuYm9keSB7XG5cbiAgICBmb290ZXIsXG4gICAgLmJ0bi1kZWZhdWx0LFxuICAgIC5idG4tcHJpbWFyeSxcbiAgICAubmF2YmFyLXN0YXRpYy10b3AubmF2YmFyIC5tZW51LWJhcj4ubmF2YmFyLW5hdj5saT5hLFxuICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj5saT5hLFxuICAgIGEsXG4gICAgLmEsXG4gICAgLnBvbGwgLnBvbGwtdGFncyBoNCxcbiAgICBoNSxcbiAgICAuaDUsXG4gICAgcCxcbiAgICAucCxcbiAgICBwLnNtYWxsVGV4dCAucGFnZV9zZWN0aW9uIHAsXG4gICAgLnNlY3Rpb24tZGlhZ29uYWwtbGVmdCBwLFxuICAgIC5zZWN0aW9uLWRpYWdvbmFsLXJpZ2h0IHAsXG4gICAgLnAyLFxuICAgIC5idXR0b24xLFxuICAgIC5idXR0b24yLFxuICAgIC5zZWN0aW9uLWxhbmRpbmcgLnJvdz5kaXYgLnNlY3Rpb24tbGFuZGluZy1zdWItaGVhZGluZyxcbiAgICBoMS5zaXRlVGl0bGUsXG4gICAgLm5hdmJhci1zdGF0aWMtdG9wLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItYnJhbmQgYSBoMS5zaXRlVGl0bGUsXG4gICAgLm5hdmJhci1zdGF0aWMtdG9wLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItYnJhbmQgYSBoMS5zaXRlVGl0bGU+c3BhbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgICB9XG5cbiAgICAvLyByZXZlcnQgQXJpYWwgRm9udCBkZWNsYXJhdGlvbiBcblxuICAgIGgxLFxuICAgIC5oMSxcbiAgICAuc2VjdGlvbi1sYW5kaW5nLWhlYWRpbmcsXG4gICAgLnNlY3Rpb24tbGFuZGluZyAucm93PmRpdiAuc2VjdGlvbi1sYW5kaW5nLWhlYWRpbmcsXG4gICAgLnNlY3Rpb24taW5saW5lLXNlYXJjaCAucm93PmRpdiBoMSxcbiAgICAuc2VjdGlvbi1sYW5kaW5nIGgxLFxuICAgIC5zZWN0aW9uLXNlYXJjaCAuaGVhZGVyLXNlYXJjaCBoMSxcbiAgICAucGFnZV9zZWN0aW9uIGgxLFxuICAgIC5jb2xvci1pbnZlcnNlIGgxLFxuICAgIGgxIHAsXG4gICAgaDIsXG4gICAgLmgyLFxuICAgIC5wYWdlX3NlY3Rpb24gaDIsXG4gICAgLmNvbG9yLWludmVyc2UgaDIsXG4gICAgaDIgcCxcbiAgICBoMyxcbiAgICAuaDMsXG4gICAgLnBhZ2Vfc2VjdGlvbiBoMyxcbiAgICAuY29sb3ItaW52ZXJzZSBoMyxcbiAgICAuc2lkZWJhci1ob21lIGgzLFxuICAgIGg0LFxuICAgIC5oNCxcbiAgICAucG9sbCAucG9sbC1oZWFkZXIgaDQsXG4gICAgaDEuc2l0ZVRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICAgIH1cblxuICAgIC8vIHJldmVydCBBcmlhbCBGb250IGRlY2xhcmF0aW9uIFxuICAgIGE6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gbGluayB1bmRlcmxpbmUgXG4gICAgLmNvbHVtbkJsb2NrTGF5b3V0IHtcbiAgICAgICAgcGFkZGluZzogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvLyBFbnRpdHkgRm9ybSBGaXggXG4gICAgLmNybUVudGl0eUZvcm1WaWV3LFxuICAgIC5lbnRpdHlsaXN0LFxuICAgIC5tb2RhbC1jb250ZW50LFxuICAgIC5wb3BvdmVyLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIH1cbn1cblxuLyogUE9SVEFMQkFTSUNTVEhFTUVGSVggZW5kICovIiwiLyoqKioqKiAgRml4ZXMgdG8gdGhlIGNzcyBmaWxlIFwiQ3VzdG9tdGhlbWUuY3NzXCIgZm9yIFBvd2VyIFBhZ2VzIFJlZ2lzdHJhdGlvbiBTaXRlICoqKioqL1xuXG5ib2R5IHtcbiAgICB0ZXh0YXJlYSNtc2R5bmNlX2NvdXJzZWRlc2NyaXB0aW9uIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyAvLyBoZWlnaHQ6IDgwcHg7IGZvcmNlZCB0ZXh0YXJlYXMgdG8gYmUgODBweCBkaXNwaXRlIHNldHRpbmcgaW4gZm9ybSBcbiAgICB9XG4gICAgLnJvdy5mb3JtLWN1c3RvbS1hY3Rpb25zIGJ1dHRvbiwgLnJvdy5mb3JtLWN1c3RvbS1hY3Rpb25zIGlucHV0IHt3aWR0aDogYXV0bzt9IC8vIHdpZHRoOiA0NXB4OyBjdXQgc2F2ZSBidXR0b24gb24gZm9ybXMgaW4gaGFsZlxuICAgIC5zZWN0aW9uRml4ZWRTdHlsZSB7YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7fVxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBoZWFkZXIgb2YgdGhlIHNpdGUvYXBwbGljYXRpb24uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLyogSEVBREVSLlNDU1MgU3RhcnRzICovXG5ib2R5IHtcbiAgICAvLyBMb2dvIGFzIHRleHRcbiAgICAubmF2YmFyIC5uYXZiYXItYnJhbmQge1xuICAgICAgICAubG9nb0xpbmsge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5zaXRlVGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhFQURFUiAgICBcbiAgICAubmF2YmFyLXN0YXRpYy10b3AubmF2YmFyIHtcbiAgICAgICAgZmxleDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LTEwO1xuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAubmF2YmFyLW5vdGNvbGxhcHNlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gREVTS1RPUFxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNuYXZiYXIubmF2YmFyLW5vdGNvbGxhcHNlIHVsLndlYmxpbmtzIHtcbiAgICAgICAgICAgIC8vIFByaW1hcnkgbmF2aWdhdGlvbiAoTU9CSUxFKVxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIC8vIERFU0tUT1BcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGNhbGMoJHNwYWNlICogNCk7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JheS0xMDtcbiAgICAgICAgICAgICAgICBmbGV4OiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgLy8gREVTS1RPUFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKCRzcGFjZSAqIDMpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRwcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSgkdGV4dC1jb2xvciwgMC41KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEoJHdoaXRlLCAwLjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLnVzZXJuYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTdHlsaW5nIGZvciB0aGUgcHJvZmlsZSBkcm9wZG93blxuICAgICAgICAgICAgbGkuZHJvcGRvd24ge1xuICAgICAgICAgICAgICAgIHVsLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMjEwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkuc3BhY2VyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JheS0xMDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpLmRpdmlkZXItbGVmdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG5cbiAgICAgICAgICAgIC8vIERFU0tUT1BcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLyogSEVBREVSIGVuZCAqL1xuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGZvb3RlciBvZiB0aGUgc2l0ZS9hcHBsaWNhdGlvbi5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuYm9keSB7XG5cbiAgLy9Db2xvciBvZiB0aGUgZm9vdGVyXG4gIGZvb3RlciAuZm9vdGVyLWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1idXR0b24tZ3JheTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDE0cHggMHB4O1xuICAgIGZsZXg6IDA7XG5cbiAgICAuY29sLW1kLTEyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogNTBweDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgIFxuICAgICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbSkgeyBcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIFxuICAgICAgXG4gICAgICAvLyAuZm9vdGVyTG9nbyB7XG4gICAgICAvLyAgIC5sb2dvTGluayB7XG4gICAgICAvLyAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC8vICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAvLyAgICAgLmxvZ29EaXYge1xuICAgICAgLy8gICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC8vICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAvLyAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgIC8vICAgICAgIC5zaXRlVGl0bGUge1xuICAgICAgLy8gICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAvLyAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIC8vICAgICAgIH1cblxuICAgICAgLy8gICAgICAgLmxvZ29UZXh0IHtcbiAgICAgIC8vICAgICAgICAgbGluZS1oZWlnaHQ6IDAuMjtcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICB9XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cblxuICAgICAgLkRTQiB7XG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mb290ZXJMaW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMjBweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIHN0cnVjdHVyZSBvZiB0aGUgcGFnZXNcblxuLy8gVGhlc2Ugc3R5bGVzIGFwcGx5IHRvIGRlZmF1bHQgY29tcG9uZW50cyB0aGF0IHRoZSBEZXNpZ24gU3R1ZGlvIGNyZWF0ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qIHBhZ2UtZ3JpZC5zY3NzIHN0YXJ0cyAqL1xuI21haW5Db250ZW50IC5yb3cuc2VjdGlvbkJsb2NrTGF5b3V0IHtcbiAgLy9EZXNpZ25lciBsYXlvdXQgZWxlbWVudCBoYXZlIHBhZGRpbmcgOHB4IGJ5IGRlZmF1bHQuIFRoaXMgc3R5bGUgY291bnRlcmFjdHMgdGhhdCBzdHlsaW5nXG4gIG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLndyYXBwZXItYm9keSB7XG5mbGV4OiAxO1xuXG59XG5cbi8qIHBhZ2UtZ3JpZC5zY3NzIGVuZHMgKi8iLCIuY2FzZS1saXN0IHtcblx0b3ZlcmZsb3cteDogYXV0bztcblx0dWwge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGdhcDogOHB4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkgeyBcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0fVxuXG5cdFx0PmxpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuXHRcdFx0Z2FwOiAzMnB4O1xuXHRcdFx0cGFkZGluZzogMTZweDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXG5cblx0XHRcdD5kaXYuY2FzZS1saXN0LWRhdGEge1xuXHRcdFx0XHRtaW4td2lkdGg6IG1heC1jb250ZW50O1xuXHRcdFx0XHRmbGV4OiAwO1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWJhc2lzOiA4JTtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0Z2FwOiAwLjJyZW07XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0fVxuXG5cdFx0XHQ+ZGl2LmNhc2UtbGlzdC1hY3Rpb25zIHtcblx0XHRcdFx0bWluLXdpZHRoOiBtYXgtY29udGVudDtcblx0XHRcdFx0ZmxleDogMDtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0Z2FwOiAwLjJyZW07XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRcdFx0Z2FwOiAwLjVyZW07XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0PmRpdi5jYXNlLWxpc3Qtc3BhY2VyIHtcblx0XHRcdFx0ZmxleDogMTtcblx0XHRcdH1cblxuXHRcdFx0aDMge1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAyMDA7XG5cdFx0XHRcdGNvbG9yOiAjNTI1MjUyO1xuXHRcdFx0XHRtYXJnaW46IDBweDtcblx0XHRcdFx0cGFkZGluZzogMHB4O1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRwIHtcblx0XHRcdFx0bWFyZ2luOiAwcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDBweDtcblx0XHRcdH1cdFx0XHRcblx0XHR9XG5cdH1cblxuXHRkaXYuaWNvbi1lZGl0IHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAkc3ZnLWVkaXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdHdpZHRoOiAxLjVyZW07XG5cdFx0aGVpZ2h0OiAxLjVyZW07XG5cdH1cblx0XG5cdGRpdi5pY29uLWRldGFpbHMge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6ICRzdmctZGV0YWlscztcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0d2lkdGg6IDEuNXJlbTtcblx0XHRoZWlnaHQ6IDEuNXJlbTtcblx0fVxufVxuIiwiLmNhc2Utc3VtbWFyeSB7XG5cblx0cCB7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdH1cblxuXHRoMyB7XG5cdFx0Zm9udC13ZWlnaHQ6IDIwMDtcblx0XHRjb2xvcjogIzUyNTI1Mjtcblx0fVxuXHRkaXNwbGF5OiBmbGV4O1xuXHRcdG1hcmdpbjogODBweCAwO1xuXHRcdGdhcDogMTBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHQuY29sdW1uMSxcblx0XHQuY29sdW1uMixcblx0XHQuY29sdW1uMyB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGdhcDogMTBweDtcblx0XHRcdG1pbi13aWR0aDogMzAwcHg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdH1cblxuXHQvLyBDb2x1bW4gMVxuXHQuaW5jaWRlbnRJbmZvcm1hdGlvbixcblx0LmFyZWFPcmlnaW4ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRnYXA6IDhweDtcblx0XHRwYWRkaW5nOiAxNnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG5cdH1cblxuXHQuaW5jaWRlbnRJbmZvcm1hdGlvbiB7XG5cdFx0ZmxleC1ncm93OiAwLjQ7XG5cdH1cblxuXHQuYXJlYU9yaWdpbiB7XG5cdFx0ZmxleC1ncm93OiAwLjY7XG5cdH1cblxuXHQvLyBDb2x1bW4gMlxuXHQuZWxlY3RpY2FsSW5mb3JtYXRpb24ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0Z2FwOiA4cHg7XG5cdFx0cGFkZGluZzogMTZweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuXHR9XG5cblx0Ly8gQ29sdW1uIDNcblx0LnBlcnNvbmFsSW5mb3JtYXRpb24sXG5cdC5maXJlT3JpZ2luIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0Z2FwOiA4cHg7XG5cdFx0cGFkZGluZzogMTZweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuXHR9XG5cblx0LnBlcnNvbmFsSW5mb3JtYXRpb24ge1xuXHRcdGZsZXgtZ3JvdzogMC42O1xuXHR9XG5cblx0LmZpcmVPcmlnaW4ge1xuXHRcdGZsZXgtZ3JvdzogMC40O1xuXHR9XG5cblx0LmVkaXRJY29uIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAkc3ZnLWVkaXQ7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdHdpZHRoOiAyMHB4O1xuXHRcdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXHRcdG1hcmdpbi10b3A6IGF1dG87XG5cdH1cblxuXG59XG5cbi8vIFNvbWUgQ1NTIGZvciB0aGUgY2FzZS12aWV3IHdlYi10ZW1wbGF0ZVxuXG5ib2R5IHtcblx0LnJvdyB7XG5cdFx0LmNvbnRhaW5lciB7XG5cdFx0XHQuY2FzZS12aWV3IHtcblx0XHRcdFx0LnByaW50LWNvbnRhaW5lciB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHQuYnRuLndpdGgtaWNvbiB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRnYXA6IDEwcHg7XG5cdFx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IDU1cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdH1cblx0XHRcdFx0LnByaW50LWljb24ge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6ICRzdmctcHJpbnQ7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdHdpZHRoOiAyMHB4O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdH1cblx0XHR9XHRcblx0fVxufVxuIiwibmF2I2Nhc2UtcHJvZ3Jlc3MtYmFyIHtcblx0cGFkZGluZzogMnJlbSAwcmVtIDByZW0gMHJlbTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cblx0Ly8gREVTS1RPUFxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRwYWRkaW5nOiAycmVtIDByZW0gNXJlbSAwcmVtO1xuXHR9XG5cblx0dWwge1xuXHRcdGFsbDogdW5zZXQ7XG5cdFx0Zm9udC1zaXplOiBzbWFsbDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0anVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuXG5cblx0XHQvLyBERVNLVE9QXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHR9XG5cblxuXHRcdGxpIHtcblx0XHRcdGFsbDogdW5zZXQ7XG5cblx0XHRcdCYudGFiIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzdGFydDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0bWluLXdpZHRoOiBtYXgtY29udGVudDtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0cGFkZGluZzogMC41cmVtIDJyZW0gMXJlbSAwO1xuXHRcdFx0XHRnYXA6IDAuNXJlbTtcblx0XHRcdFx0ZmxleDogMDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Ly8gREVTS1RPUFxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkICNkOWQ5ZDk7XG5cdFx0XHRcdHBhZGRpbmc6IDAuNXJlbSAxcmVtIDAgMDtcblx0XHRcdH1cblxuXHRcdFx0Ji50YWItc3BhY2VyIHtcblx0XHRcdFx0ZmxleDogMTtcblx0XHRcdH1cblx0XHRcdC8vIERFU0tUT1Bcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkICNkOWQ5ZDk7XG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHR9XG5cblx0XHRcdCYudGFiLWFjdGl2ZSxcblx0XHRcdCYudGFiLWFjdGl2ZSArIGxpLnRhYi1zcGFjZXIsXG5cdFx0XHQmLnRhYi1jb21wbGV0ZSxcblx0XHRcdCYudGFiLWNvbXBsZXRlICsgbGkudGFiLXNwYWNlciB7XG5cdFx0XHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCAjMDBjMjkyO1xuXHRcdFx0fVxuXHRcdFx0Ly8gREVTS1RPUFxuXHRcdFx0XG5cdFx0fVxuXHR9XG59XG5cbnNwYW4udGFiLWljb24ge1xuXHR3aWR0aDogMS41cmVtO1xuXHRoZWlnaHQ6IDEuNXJlbTtcblx0Ym9yZGVyLXJhZGl1czogMC43NXJlbTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdCYuZnVsbC1jaXJjbGUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRicnVzLXRlYWwtNTA7XG5cdH1cblxuXHQmLmRhc2hlZC1jaXJjbGUge1xuXHRcdGJvcmRlcjogMXB4IGRhc2hlZCAkYnJ1cy10ZWFsLTUwO1xuXHR9XG5cblx0Ji5oYWxmLWNpcmNsZSB7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkYnJ1cy10ZWFsLTUwIDUwJSwgdHJhbnNwYXJlbnQgNTAlKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRib3JkZXI6IDFweCBkYXNoZWQgJGJydXMtdGVhbC01MDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0fVxuXHR9XG59IiwiLyoqIEVMRU1FTlRTIFNUQVJUICoqKi9cblxuLmFsZXJ0LWljb24ge1xuICBjb2xvcjogdGhlbWUtY29sb3JzKFwiZGFuZ2VyXCIpO1xufVxuXG4vLyBMaXN0IEl0ZW1zIFxuXG4ubGlzdC1ncm91cDpub3QoLmlucHV0LWFwcGVuZCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gRmx1c2ggbGlzdCBpdGVtc1xuICAvL1xuICAvLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4gIC8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4gICYubGlzdC1yZW1vdmVzdHlsZSB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgcGFkZGluZzogLjVlbSAwIC41ZW0gMDtcbiAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICBhIHtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBFbmQgRmx1c2ggTGlzdCBJdGVtc1xuXG4gIC8vIEhvcml6b250YWwgbGlzdHMgaW5saW5lIGluIGRlc2t0b3Agdmlld1xuICAmLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRW5kIEhvcml6b250YWwgbGlzdHMgaW4gbW9iaWxlIHZpZXdcblxuXG4gIC8vIExpc3QgR3JvdXAgTGluayBJdGVtcyB3aXRoIGZsZXggY29udGVudCAtIFRoaXMgc3R5bGluZyB3aWxsIGNyZWF0ZSBwYWRkaW5nIGFyb3VuZCB0aGUgb2JqZWN0IG9uIGhvdmVyXG4gIC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmZsZXgtY29sdW1uIHtcbiAgICBtYXJnaW46IDAgLTE1cHg7XG5cbiAgICAuZC1mbGV4LnctMTAwIHtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgfVxuICB9XG5cbn1cblxuLy8gRW5kIExpc3QgR3JvdXAgXG5cbi8vIENhcmRzXG5cbiNtYWluQ29udGVudCB7XG4gIC5yb3cuc2VjdGlvbkJsb2NrTGF5b3V0IHtcbiAgICAuY29sdW1uQmxvY2tMYXlvdXQge1xuICAgICAgLmNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAvKiBEZXNpZ25lciBsYXlvdXQgZWxlbWVudCBoYXZlIHBhZGRpbmcgMTZweCBieSBkZWZhdWx0LiBUaGlzIHN0eWxlIGNvdW50ZXJhY3RzIHRoYXQgc3R5bGluZyBpbiBtb2JpbGUgdmlldyAqL1xuICAgICAgICAvL21hcmdpbi1sZWZ0OiAtMTZweDsgbWFyZ2luLXJpZ2h0OiAtMTZweDtcbiAgICAgICAgLyogYWxsb3cgdGhlIGRlZmF1bHQgcGFkZGluZyBpbiBkZXNrdG9wIHZpZXcgKi9cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgO1xuXG5cbiAgICAgICAgJi5yb3VuZGVkIHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWJveC1zaGFkb3coJGJveC1zaGFkb3ctc20pO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1ib3gtc2hhZG93KCRib3gtc2hhZG93KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtYm94LXNoYWRvdygkYm94LXNoYWRvdy1sZylcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZylcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmJnLXdoaXRlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5iZy1ibHVlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZS1jb2xvcnMoXCJpbmZvXCIpO1xuXG4gICAgICAgICAgLmNhcmQtdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgICYuY2FyZC1pY29uIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIG1heC13aWR0aDogMTMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTIlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29waWVkIGZyb20gY2FyZC5zY3NzIGluIEJvb3N0cmFwIFxuXG4gICAgICAgIC8vIENhcmQgaW1hZ2VcbiAgICAgICAgLmNhcmQtaW1nLW92ZXJsYXkge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2FyZCBpbWFnZSBjYXBzXG4gICAgICAgIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAgICAgICAmLmZpdCB7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IDAgMzUlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhcmQtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAvLyAuY2FyZC1ob3Jpem9udGFsIC5jYXJkLWJvZHkge2ZsZXg6IDAgMCBjYWxjKDEwMCUgLSAkY2FyZC1pbWctd2lkdGgpfVxuXG4gICAgICAgICAgLmNhcmQtaW1nLWxlZnQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgICAvL3dpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgICAgIC8vIGZsZXg6IDAgMCAkY2FyZC1pbWctd2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmNhcmQtaW1nLXJpZ2h0IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICAgICAgLy93aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICAgICAgLy8gZmxleDogMCAwICRjYXJkLWltZy13aWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1ib2R5IHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA7XG5cbiAgICAgICAgICAuY2FyZC10ZXh0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYS5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIC8vIHdoZW4gbGlzdCBncm91cCBpdGVtIGlzIGFuIDxhPlxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgLy8gcmVtb3ZlIHVuZGVybGluZSBmb3IgYWxsIHRleHQgXG5cbiAgICAgICAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy9idXQgbm90IGhlYWRpbmdcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG5cbi8vIEVuZCBjYXJkc1xuXG5cbi8vIE1BUFNcbiNyZW1vdmFibGVFbGVtZW50IHtcbiAgZm9udC1zaXplOiBzbWFsbDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMwMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cblxuXG4vLyBDdXN0b20gdGFicyBmb3IgdGhlIG11bHRpc3RlcCBmb3JtIC1cbi50YWJzLWRpdi5jb2wtbWQtMTIuY29sdW1uQmxvY2tMYXlvdXQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIC50YWJzLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTE4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC50YWJzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAudGFiIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkZ3JheS0xMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMHB4O1xuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIH1cblxuICAgICAgLnRhYi1pY29uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJweDtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGJydXMtZGVmYXVsdDsgLy8gQm9yZGVyIGZvciBhY3RpdmUgdGFiXG4gICAgICB9XG4gICAgfVxuICB9XG5cblxufVxuLy8gUHJpbnQgYnV0dG9uXG5cblxuXG5cblxuXG4vKiogRUxFTUVOVFMgRU5EICoqLyIsIlxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBzdHlsZXMgcmVsYXRlZCB0byB0aGUgYnV0dG9uIGNvbXBvbmVudC5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuYm9keXsgXG4gICAgXG4gICAgLmJ1dHRvbjEsIC5idXR0b24yLCAuc3VibWl0LWJ0biwgLmJ0biB7XG4gICAgICAgIC8vIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJ0bi1ib3JkZXItcmFkaXVzKTsgUmVtb3ZlZCBib3JkZXIgcmFkaXVzXG4gICAgICAgIHBhZGRpbmc6IGNhbGMoJHNwYWNlKjQpIGNhbGMoJHNwYWNlKjE2KSAgY2FsYygkc3BhY2UqNCkgY2FsYygkc3BhY2UqNCkgOyAvLyBDaGFuZ2VkIHRoZSBwYWRkaW5nXG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYygkc3BhY2UgKiA0KTsgLy8gQ2hhbmdlZCBmb250LXNpemUgKCBpbiBmaWdtYSBpdCB3YXMgMTQsIGJ1dCBiZWNhbWUgMTYgd2l0aCB0aGUgNHhtdWx0aXBsaWVyKVxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgUmVtb3ZlZCB1cHBlcmNhc2VcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgLy8gY2hhbmdlZCB0byBsZWZ0XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBtYXJnaW46IDNweCAwO1xuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicnVzLXRlYWwtMzA7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICYuYWRkLWNoZXZyb24tcmlnaHQ6YWZ0ZXIge2NvbG9yOiAkcHJpbWFyeTt9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmJ0bi1wcmltYXJ5LCAuYnRuLXByaW1hcnk6bm90KC5nanMtc2VsZWN0ZWQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlcjogMHB4IHNvbGlkICRwcmltYXJ5O1xuICAgICAgICBtYXJnaW46IDNweCAwO1xuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJydXMtdGVhbC0zMDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAmLmFkZC1jaGV2cm9uLXJpZ2h0OmFmdGVyIHtjb2xvcjogJHByaW1hcnk7fVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5idG4tZGVmYXVsdCwgLmJ0bi1kZWZhdWx0Om5vdCguZ2pzLXNlbGVjdGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktYnV0dG9uLWdyYXk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktNDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAmLmFkZC1jaGV2cm9uLXJpZ2h0OmFmdGVyIHtjb2xvcjogJHByaW1hcnk7fVxuICAgICAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmJ1dHRvbjI6bm90KC5nanMtc2VsZWN0ZWQpe1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMHB4IHNvbGlkICRwcmltYXJ5OyBcbiAgICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktYnV0dG9uLWdyYXk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmLmFkZC1jaGV2cm9uLXJpZ2h0OmFmdGVyIHtjb2xvcjogJHdoaXRlO31cbiAgICAgICAgfVxuICAgICAgICAmLmJ0bi1ncmF5IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZ3JheXMsIDgwMCk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZ3JheXMsIDgwMCk7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGdyYXlzLCA4MDApO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJi5hZGQtY2hldnJvbi1yaWdodDphZnRlciB7Y29sb3I6ICR3aGl0ZTt9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ0bi1tdXRlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGdyYXlzLCAzMDApO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRncmF5cywgMzAwKTsgXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRncmF5cywgNjAwKTtcbiAgICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZ3JheXMsIDYwMCk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgJi5hZGQtY2hldnJvbi1yaWdodDphZnRlciB7Y29sb3I6ICR3aGl0ZTt9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIC5idG4rLmJ0biB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkgeyAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgXG59XG5cblxuLyogQlVUVE9OIGVuZCAqLyBcblxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gYWxsIGZvcm0gY29tcG9uZW50cy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiBGb3Jtcy5zY3NzIHN0YXJ0ICovXG4vLyBtYXgtd2lkdGg6IGNhbGMoJHNwYWNlKjEwOSk7XG4vLyBHZW5lcmljIEZvcm0gc3R5bGluZ1xuXG5ib2R5IHtcbiAgICAvL0ZsZXggZml4IGZvciBmb290ZXIgb24gZm9ybSBwYWdlXG4gICAgZm9ybSB7XG4gICAgIGZsZXg6IDE7ICAgXG4gICAgfVxuICAgICNjb250ZW50X2Zvcm0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHhcbiAgICB9XG5cbiAgICAjV2ViRm9ybVBhbmVsICNFbnRpdHlGb3JtVmlldy5lbnRpdHktZm9ybS5uYXJyb3cge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMzgwcHggKyAxNSUpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1JTtcbiAgICB9XG5cbiAgICAuZW50aXR5Zm9ybXdpZHRoLTgwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgd2lkdGg6IDgwJVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVudGl0eWZvcm13aWR0aC0xMDAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY3JtRW50aXR5Rm9ybVZpZXcgdGFibGUuc2VjdGlvbj50ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuY3JtRW50aXR5Rm9ybVZpZXcge1xuICAgICAgICB0YWJsZS5zZWN0aW9uIHRyIHtcblxuICAgICAgICAgICAgLy8gRklYIGFuZCByZXNldFxuICAgICAgICAgICAgdGQgLmNvbnRyb2wgaW5wdXQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBub25lO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1zb3MtZmlsdGVyLWNvbnRhaW5lciAubXNvcy1jYXJldC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgLmZpZWxkLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKCRzcGFjZSo1KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZ3JheXMsIDgwMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vcGFkZGluZyB0b3AgMjBweFxuXG4gICAgICAgICAgICB0ZC5jZWxsLnplcm8tY2VsbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQuY2VsbFxuXG4gICAgICAgICAgICAvKjpub3QoLmRhdGV0aW1lKSovXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG5vbmU7IC8vbm8gYm9yZGVyIHJhZGl1c1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDBweCBzb2xpZCAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIC8vIG1heC13aWR0aDogY2FsYygkc3BhY2UqMTA5KTsgLy8g4oaQIFdoeT9cblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoJHNwYWNlKjEyKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKCRzcGFjZSo0KTtcblxuICAgICAgICAgICAgICAgICAgICAmLnJlYWRvbmx5LFxuICAgICAgICAgICAgICAgICAgICAmW3JlYWRvbmx5XVtkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRncmF5cywgNjAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlIGltcG9ydGFudCBzdHlsaW5nIGluIHRoZW1lLmNzcyBcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2IoMCAwIDAgLyA4JSksIDAgMCA4cHggcmdiKDEwMiAxNzUgMjMzIC8gNjAlKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZvcm0tcmVhZG9ubHkgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLnJlYWRvbmx5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgLy8gb3ZlcnJpZGUgaW1wb3J0YW50IHN0eWxpbmcgaW4gdGhlbWUuY3NzIFxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiKDAgMCAwIC8gOCUpLCAwIDAgOHB4IHJnYigxMDIgMTc1IDIzMyAvIDYwJSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5tcy1MYWJlbC5tcy1Ub2dnbGUtc3RhdGVUZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPSd0ZXh0J10uZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA7XG5cbiAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT0nZW1haWwnXS5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM0MHB4XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA7XG5cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQjZmlyc3RuYW1lLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjQwcHhcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgICAgICAgICBpbnB1dCNsYXN0bmFtZS5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM0MHB4XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA7XG5cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnBpY2tsaXN0LmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHRhcmVhLnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQuY2VsbC5jaGVja2JveC1jZWxsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgICAgICAgICAgLmNoZWNrYm94IGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pbmZvLFxuICAgICAgICAgICAgICAgIC5pbmZvIC5maWVsZC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZC5jZWxsLmRhdGV0aW1lIHtcbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmRhdGV0aW1lcGlja2VyIC5mYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRncmF5cywgODAwKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRGVzY3JpcHRpb25cbiAgICAgICAgICAgIGRpdi5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGdyYXlzLCA3MDApO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKCRzcGFjZSo0KTtcblxuICAgICAgICAgICAgICAgICYuYWJvdmUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYygkc3BhY2UqMTYpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbnMgLmNvbC1zbS02OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweFxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmxvYXQgYnV0dG9ucyBiZWxvdyBmb3JtcyB0byB0aGUgbGVmdCBcbiAgICAgICAgLnRhYi10aXRsZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuY3JtRW50aXR5Rm9ybVZpZXcgLmZvcm0tcmVhZG9ubHkuZW50aXR5LWZvcm0gdGFibGUuc2VjdGlvbiB0ciB0ZC5jZWxsIC5jb250cm9sIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBSYWRpbyBidXR0b25cbiAgICAuY3JtRW50aXR5Rm9ybVZpZXcgLmNlbGwuYm9vbGVhbi1yYWRpby1jZWxsIHtcbiAgICAgICAgLmNvbnRyb2wgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzdHlsaW5nIHRoZSByYWRpbyBidXR0b25cbiAgICB9XG5cblxuXG4gICAgLy8gQXR0YWNobWVudHMgXG4gICAgLmNybUVudGl0eUZvcm1WaWV3IC50ciAuZmlsZS1jZWxsIHtcbiAgICAgICAgLmNvbnRyb2wgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZWR1Y2Ugc3BhY2UgYXJvdW5kIHVwbG9hZCBidXR0b25cbiAgICB9XG5cbiAgICAvLyBQQ0YgQ29tcG9uZW50cyBcbiAgICAjRW50aXR5Rm9ybVBhbmVsIC5jb250cm9sIC5tc29zLWNvbnRhaW5lcjpub3QoLm1zb3MtZGlzYWJsZWQpIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzM3ZTE3YjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ4LCAyNDksIDI1MCkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgLm1zb3MtaW5wdXQtY29udGFpbmVyIGlucHV0IHtcbiAgICAgICAgICAgIEBleHRlbmQgLmZvcm0tY29udHJvbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExpc3QgQWRkb25zIChEYXRlaWNrZXIpXG4gICAgLmlucHV0LWFwcGVuZC5pbnB1dC1ncm91cCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAvLyB3aWR0aDogYXV0bztcblx0XHR3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbnB1dC1ncmF5O1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG5cbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQuYm90dG9tIHtcbiAgICAgICAgdHIgdGQgYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluc3RydWN0aW9ucyB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGdyYXlzLCA2MDApO1xuICAgIH1cblxuICAgICNjb3VudGVyQ29udGFpbmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLmhlbHAtYmxvY2suZXJyb3IsXG4gICAgbGFiZWwuY29udHJvbC1sYWJlbC5yZXF1aXJlZDpiZWZvcmUsXG4gICAgLmNybUVudGl0eUZvcm1WaWV3IC5jZWxsIGRpdi5pbmZvLnJlcXVpcmVkIGxhYmVsOmFmdGVyLFxuICAgIC5jcm1FbnRpdHlGb3JtVmlldyAuY2VsbCBkaXYuaW5mbyBkaXYudmFsaWRhdG9ycyxcbiAgICAuY3JtRW50aXR5Rm9ybVZpZXcgLnZhbGlkYXRvci10ZXh0LFxuICAgIC5jcm1FbnRpdHlGb3JtVmlldyAucmFuay1vcmRlci1jZWxsIC52YWxpZGF0b3ItdGV4dCxcbiAgICAuY3JtRW50aXR5Rm9ybVZpZXcgLmNvbnN0YW50LXN1bS1jZWxsIC52YWxpZGF0b3ItdGV4dCxcbiAgICAuY3JtRW50aXR5Rm9ybVZpZXcgLnN0YWNrLXJhbmstY2VsbCAudmFsaWRhdG9yLXRleHQge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZ3JheXMsIDgwMCk7XG4gICAgfVxuXG4gICAgLmRpdi1sZWZ0IC5wcm9ncmVzcy5sZWZ0IHtcbiAgICAgICAgLy8gUHJvZ3Jlc3MgQWR2YW5jZWQgRm9ybVxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCBtYXAtZ2V0KCRncmF5cywgNDAwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yM3B4O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubGlzdC1ncm91cC1pdGVtOjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udDogdmFyKC0tZmEtZm9udC1zb2xpZCk7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjExMVwiO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGdyYXlzLCA0MDApO1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1mYS1mb250LXNvbGlkKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmdseXBoaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvKiBMaXN0ICovXG4gICAgLnZpZXctZ3JpZCB7XG4gICAgICAgIHRhYmxlIHRoIGEge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSBjYXBpdGFsaXplO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vIGVuZCBib2R5XG5cbi8qIEZvcm1zLnNjc3MgZW5kICovIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGhlYWRlciBvZiB0aGUgc2l0ZS9hcHBsaWNhdGlvbi5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiBTSUdOSU4uU0NTUyBTdGFydHMgKi9cbmJvZHkge1xuICAgIC8vIFxuICAgICNjb250ZW50LWNvbnRhaW5lci5zaWduaW5wYWdlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICNjb250ZW50IHtcbiAgICAgICAgICAgICNtYWluQ29udGVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogMTAwcHg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAvLyBERVNLVE9QXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wYWdlLWNvcHkge1xuICAgICAgICAgICAgICAgICAgICAuaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBvbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIC5jb2wtbWQtNiB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qIFNJR05JTiBlbmQgKi8iLCIjbGlxdWlkX2Zvcm0ge1xuXHRmbGV4OiAxO1xuXHQuY3JtRW50aXR5Rm9ybVZpZXcge1xuXHRcdC5hY3Rpb25zIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXHRcdFxuXHRcdHRyW2RhdGEtaGlkZGVuXSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHRcblx0XHRkaXYuaW5mby5yZXF1aXJlZCB7XG5cdFx0XHRsYWJlbDo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRzcGFuLnBpY2tsaXN0Lmhvcml6b250YWwge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0Z2FwOiAwLjVyZW07XG5cdFx0XHRcblx0XHRcdD4qIHtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQ+bGFiZWwge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJib2R5IHtcbiAgICAucHJvZmlsZS1wYWdlIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgXG4gICAgLnByb2ZpbGUtY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgICAgcGFkZGluZzogMTZweDtcbiAgXG4gICAgICAuY3JtRW50aXR5Rm9ybVZpZXcge1xuICAgICAgICAmIHRhYmxlLnNlY3Rpb24gdHIgdGQuY2VsbCB7XG4gICAgICAgICAgaW5wdXQjZmlyc3RuYW1lLmZvcm0tY29udHJvbCxcbiAgICAgICAgICBpbnB1dCNsYXN0bmFtZS5mb3JtLWNvbnRyb2wsXG4gICAgICAgICAgaW5wdXRbdHlwZT1lbWFpbF0uZm9ybS1jb250cm9sLFxuICAgICAgICAgIHNlbGVjdC5waWNrbGlzdC5mb3JtLWNvbnRyb2wsXG4gICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XS5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgd2lkdGg6IDI4OHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICAgICAgfVxuICBcbiAgICAgIC5wcm9maWxlLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgIl19 */