html {
  box-sizing: border-box;
}

*, *::after, *::before {
  box-sizing: inherit;
}

/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif; /* 1 */
  line-height: 1.15; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
}

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  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
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 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
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

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

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * 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 style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * 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
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

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

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

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 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;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

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

/**
 * 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 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
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] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-cancel-button,
[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 {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

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

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

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

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

img {
  max-width: 100%;
  height: auto;
}

iframe {
  width: 100%;
}

@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon/icomoon.eot?ymoonl");
  src: url("../fonts/icomoon/icomoon.eot?ymoonl#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.woff2?ymoonl") format("woff2"), url("../fonts/icomoon/icomoon.ttf?ymoonl") format("truetype"), url("../fonts/icomoon/icomoon.woff?ymoonl") format("woff"), url("../fonts/icomoon/icomoon.svg?ymoonl#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=icon-]::before,
[class*=" icon-"]::before {
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-plus::before, .button-action::before {
  content: "\e904";
}

.icon-view::before, ul.tabs li.is-view a::before, .button--view::before {
  content: "\e901";
}

.icon-edit::before, ul.tabs li.is-edit a::before, .button--edit::before {
  content: "\e902";
}

.icon-download::before, .button--download::before {
  content: "\e903";
}

.icon-login::before {
  content: "\e900";
}

.button {
  transition: all 150ms linear;
  appearance: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #4a4a4a;
  border-radius: 0;
  color: #fff;
  font-weight: 500;
  padding: 10px 25px;
  text-shadow: none;
  text-transform: uppercase;
  box-shadow: none;
  border: 0;
  text-decoration: none;
  font-size: 20px;
  text-align: center;
  line-height: 1.3;
}
.button:hover, .button:focus {
  background: #7fc600;
  color: #fff;
  outline: none;
}

.button--primary {
  background: #7fc600;
}
.button--primary:hover {
  background: #4a4a4a;
  color: #fff;
}

.button--secundary {
  background: #000;
  color: #fff;
}

.button--smaller {
  font-size: 14px;
}

.button--medium {
  font-size: 15px;
  padding-bottom: 11px;
}

.button--download,
.button--edit,
.button--view {
  display: block;
  font-size: 0;
  color: #5c5c5c;
}
.button--download:hover,
.button--edit:hover,
.button--view:hover {
  color: #7fc600;
  border: 0 !important;
  text-decoration: none !important;
}

.button--download::before {
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 22px;
}

.button--edit::before {
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 20px;
}

.button--view::before {
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
}

.button-action {
  font-weight: 500 !important;
  font-size: 15px;
  display: inline-block;
}
.button-action::before {
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  margin: 0 10px 0 0;
}
.button-action:hover {
  color: #fff;
}

@font-face {
  font-family: "gbl-icons";
  src: url("../fonts/gbl-icons/icomoon.eot?mkg8g7");
  src: url("../fonts/gbl-icons/icomoon.eot?mkg8g7#iefix") format("embedded-opentype"), url("../fonts/gbl-icons/icomoon.woff2?mkg8g7") format("woff2"), url("../fonts/gbl-icons/icomoon.ttf?mkg8g7") format("truetype"), url("../fonts/gbl-icons/icomoon.woff?mkg8g7") format("woff"), url("../fonts/gbl-icons/icomoon.svg?mkg8g7#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=gbl-icons-]::before,
[class*=gbl-icons-]::before {
  font-family: "gbl-icons" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.gbl-icons-google-plus::before {
  content: "\ea8b";
}

.gbl-icons-facebook::before {
  content: "\ea90";
}

.gbl-icons-instagram::before {
  content: "\ea92";
}

.gbl-icons-twitter::before {
  content: "\ea96";
}

.gbl-icons-youtube::before {
  content: "\ea9d";
}

.gbl-icons-linkedin::before {
  content: "\eaca";
}

.gbl-icons-pinterest::before {
  content: "\ead1";
}

.gbl-icons-cross::before {
  content: "\e904";
}

.gbl-logo {
  transition: all 100ms linear;
  position: relative;
  color: #7fc600;
  display: inline-block;
  width: 51px;
  margin-left: 10px;
  top: 5px;
}
.gbl-logo:focus, .gbl-logo:hover {
  width: 140px;
  color: #7fc600;
}
.gbl-logo:focus .gbl-logo__by, .gbl-logo:hover .gbl-logo__by {
  opacity: 1;
  right: 55px;
  visibility: visible;
}
.gbl-logo:focus .gbl-logo__logo::before, .gbl-logo:hover .gbl-logo__logo::before {
  opacity: 0;
}
.gbl-logo:focus .gbl-logo__logo::after, .gbl-logo:hover .gbl-logo__logo::after {
  opacity: 1;
}

.gbl-logo__by {
  transition: all 100ms linear;
  font-size: 0;
  position: absolute;
  right: 10px;
  visibility: hidden;
  width: 73px;
  top: 3px;
}
.gbl-logo__by::before {
  font-family: "gbl-icons" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e905";
  font-size: 14px;
}

.gbl-logo__logo {
  font-size: 0;
  position: relative;
  display: block;
}
.gbl-logo__logo::before, .gbl-logo__logo::after {
  font-family: "gbl-icons" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all 100ms linear;
  background: none;
  position: absolute;
  right: 0;
  display: inline-block;
  font-size: 18px;
}
.gbl-logo__logo::before {
  opacity: 1;
  content: "\e901";
}
.gbl-logo__logo::after {
  opacity: 0;
  content: "\e900";
}

@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon/icomoon.eot?ymoonl");
  src: url("../fonts/icomoon/icomoon.eot?ymoonl#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.woff2?ymoonl") format("woff2"), url("../fonts/icomoon/icomoon.ttf?ymoonl") format("truetype"), url("../fonts/icomoon/icomoon.woff?ymoonl") format("woff"), url("../fonts/icomoon/icomoon.svg?ymoonl#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=icon-]::before,
[class*=" icon-"]::before {
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-plus::before, .button-action::before {
  content: "\e904";
}

.icon-view::before, ul.tabs li.is-view a::before, .button--view::before {
  content: "\e901";
}

.icon-edit::before, ul.tabs li.is-edit a::before, .button--edit::before {
  content: "\e902";
}

.icon-download::before, .button--download::before {
  content: "\e903";
}

.icon-login::before {
  content: "\e900";
}

table {
  color: #000;
  overflow: scroll;
  display: block;
  width: 100%;
  border-collapse: collapse;
}
@media screen and (min-width: 880px) {
  table {
    display: table;
  }
}
table a {
  text-decoration: none !important;
  border: 0 !important;
}
table tr th:last-child,
table tr td:last-child {
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  table tr th:last-child,
  table tr td:last-child {
    padding-right: 30px;
  }
}
table td {
  padding: 5px;
}
@media screen and (min-width: 1100px) {
  table td {
    padding: 5px 10px;
  }
}
table td.views-field-field-order-deliveryweek {
  font-weight: 500;
}
table thead {
  text-align: left;
}
table thead th {
  font-size: 16px;
  font-weight: 500;
  padding: 30px 10px 10px;
  text-align: left;
}
@media screen and (min-width: 1100px) {
  table thead th:first-child {
    padding-left: 50px;
  }
}
table thead th a {
  font-weight: 500 !important;
  color: #000;
  text-decoration: none !important;
  border: 0 !important;
}
table thead th a:hover {
  text-decoration: none !important;
  border: 0 !important;
}
table tbody tr {
  background: #f7f7f7;
}
table tbody tr td {
  border-bottom: 15px solid #fff;
}
@media screen and (min-width: 1100px) {
  table tbody tr td:first-child {
    padding-left: 50px;
  }
}
table tbody tr.certified-partner {
  background: #e5f6cb;
}
table .tablesort {
  width: 11px;
  height: 7px;
  background: url("../img/angle.svg") no-repeat center center;
  margin: -2px 0 0 10px;
  position: relative;
  top: -1px;
}
table .tablesort--asc {
  -ms-transform: rotate(180deg);
      transform: rotate(180deg);
}

.views-field-field-order-status {
  width: 40px;
}

.view--table .view-content {
  border: 1px solid #4a4a4a;
  padding-bottom: 20px;
  margin-top: 40px;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #5c5c5c;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
}
html ::selection {
  background: rgb(219.5, 219.5, 219.5);
  color: #a3a3a3;
}
html ::-moz-selection {
  background: rgb(219.5, 219.5, 219.5);
  color: #a3a3a3;
}

body {
  line-height: 1.625;
  font-size: 16px;
  font-weight: 300;
}

a {
  transition: all 100ms linear;
  color: #7fc600;
  outline: 0 !important;
}
a:hover, a:focus {
  color: #7fc600;
}
.content a {
  text-decoration: none;
  font-weight: 700;
  border-bottom: 1px solid transparent;
}
.content a:hover {
  border-bottom: 1px solid #7fc600;
}

p {
  margin: 0 0 20px;
}

p.highlight {
  background: #7fc600;
  font-weight: 500;
  color: #fff;
  text-align: center;
  padding: 20px 0;
}

strong {
  font-weight: 700;
}

h1 {
  color: #7fc600;
  margin: 0;
  padding: 0;
  text-align: center;
  text-transform: uppercase;
  font-size: 35px;
  line-height: 1.3;
}
h1::after {
  content: "";
  display: block;
  width: 95px;
  margin: 30px auto 35px;
  border-bottom: 1px solid #979797;
}
.page-node-type-page h1::after {
  display: none;
}

h2 {
  font-weight: 300;
  font-size: 32px;
  text-align: center;
  margin: 0 0 10px;
  line-height: 1.3;
}

h2.highlighted {
  background: #7fc600;
  font-size: 21px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  text-transform: uppercase;
  padding: 11px 0;
  position: relative;
  margin: 0 0 55px;
}
h2.highlighted::after {
  clear: both;
  content: "";
  display: table;
}
h2.highlighted::after {
  content: "";
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #7fc600;
  position: absolute;
  left: 50%;
  margin-left: -20px;
  bottom: -20px;
}

h3 {
  margin: 0 0 10px;
}

h4 {
  margin: 0 0 10px;
}

h5 {
  margin: 0 0 10px;
}

h6 {
  margin: 0 0 10px;
}

ul {
  margin: 0 0 0 0;
  padding: 0 0 0 20px;
}
ul p {
  margin: 0;
}

img.align-left {
  margin: 0 60px 0 0;
}

img.align-right {
  margin: 0 0 0 60px;
}

.grid {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.grid::after {
  clear: both;
  content: "";
  display: table;
}

.grid__item {
  margin-bottom: 3.6544850498%;
}

@media screen and (min-width: 720px) {
  .grid__item--6 {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 48.1727574751%;
  }
  .grid__item--6:last-child {
    margin-right: 0;
  }
  .grid__item--6:nth-child(2n) {
    margin-right: 0;
  }
  .grid__item--6:nth-child(2n+1) {
    clear: left;
  }
}

.grid__item--4 {
  float: left;
  display: block;
  margin-right: 3.6544850498%;
  width: 100%;
}
@media screen and (min-width: 560px) {
  .grid__item--4 {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 48.1727574751%;
  }
  .grid__item--4:last-child {
    margin-right: 0;
  }
  .grid__item--4:nth-child(2n) {
    margin-right: 0;
  }
  .grid__item--4:nth-child(2n+1) {
    clear: left;
  }
}
@media screen and (min-width: 720px) {
  .grid__item--4 {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 30.8970099668%;
  }
  .grid__item--4:nth-child(2n) {
    margin-right: 3.6544850498%;
  }
  .grid__item--4:nth-child(2n+1) {
    clear: none;
  }
  .grid__item--4:last-child {
    margin-right: 0;
  }
  .grid__item--4:nth-child(3n) {
    margin-right: 0;
  }
  .grid__item--4:nth-child(3n+1) {
    clear: left;
  }
}
.grid__item--4:last-child {
  margin-right: 0;
}

@media screen and (min-width: 560px) {
  .grid__item--3 {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 48.1727574751%;
  }
  .grid__item--3:last-child {
    margin-right: 0;
  }
  .grid__item--3:nth-child(2n) {
    margin-right: 0;
  }
  .grid__item--3:nth-child(2n+1) {
    clear: left;
  }
}
@media screen and (min-width: 720px) {
  .grid__item--3 {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 22.2591362126%;
  }
  .grid__item--3:nth-child(2n) {
    margin-right: 3.6544850498%;
  }
  .grid__item--3:nth-child(2n+1) {
    clear: none;
  }
  .grid__item--3:last-child {
    margin-right: 0;
  }
  .grid__item--3:nth-child(4n) {
    margin-right: 0;
  }
  .grid__item--3:nth-child(4n+1) {
    clear: left;
  }
}

.grid__item--2 {
  float: left;
  display: block;
  margin-right: 3.6544850498%;
  width: 48.1727574751%;
}
@media screen and (min-width: 560px) {
  .grid__item--2 {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 30.8970099668%;
  }
  .grid__item--2:last-child {
    margin-right: 0;
  }
  .grid__item--2:nth-child(2n) {
    margin-right: 3.6544850498%;
  }
  .grid__item--2:nth-child(2n+1) {
    clear: none;
  }
  .grid__item--2:nth-child(3n) {
    margin-right: 0;
  }
  .grid__item--2:nth-child(3n+1) {
    clear: left;
  }
}
@media screen and (min-width: 880px) {
  .grid__item--2 {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 13.6212624585%;
  }
  .grid__item--2:last-child {
    margin-right: 0;
  }
  .grid__item--2:nth-child(3n) {
    margin-right: 3.6544850498%;
  }
  .grid__item--2:nth-child(3n+1) {
    clear: none;
  }
  .grid__item--2:nth-child(6n) {
    margin-right: 0;
  }
  .grid__item--2:nth-child(6n+1) {
    clear: left;
  }
}
.grid__item--2:last-child {
  margin-right: 0;
}
.grid__item--2:nth-child(2n) {
  margin-right: 0;
}
.grid__item--2:nth-child(2n+1) {
  clear: left;
}

.container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 30px;
  padding-right: 30px;
}
.container::after {
  clear: both;
  content: "";
  display: table;
}
@media screen and (min-width: 1260px) {
  .container {
    padding-left: 0;
    padding-right: 0;
  }
}

.lt-ie9 .container {
  width: 1200px;
}

@media screen and (min-width: 720px) {
  .layout-sidebar-first .main {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 74.0863787375%;
  }
  .layout-sidebar-first .main:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width: 720px) {
  .layout-sidebar-first .sidebar {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 22.2591362126%;
  }
  .layout-sidebar-first .sidebar:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width: 720px) {
  .layout-sidebar-second .main {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 65.4485049834%;
  }
  .layout-sidebar-second .main:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width: 720px) {
  .layout-sidebar-second .sidebar {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 30.8970099668%;
  }
  .layout-sidebar-second .sidebar:last-child {
    margin-right: 0;
  }
}

.col2-4-8::after {
  clear: both;
  content: "";
  display: table;
}
@media screen and (min-width: 960px) {
  .col2-4-8__left {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 30.8970099668%;
  }
  .col2-4-8__left:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width: 560px) {
  .col2-4-8__right {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 65.4485049834%;
    margin-right: 0;
  }
  .col2-4-8__right:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width: 880px) {
  .col2-50 {
    display: -ms-flexbox;
    display: flex;
  }
}
.col2-50::after {
  clear: both;
  content: "";
  display: table;
}
@media screen and (min-width: 880px) {
  .col2-50__right, .col2-50__left {
    width: 50%;
    float: left;
  }
}

.col2-8-4::after {
  clear: both;
  content: "";
  display: table;
}
@media screen and (min-width: 560px) {
  .col2-8-4__left {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 65.4485049834%;
  }
  .col2-8-4__left:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width: 960px) {
  .col2-8-4__right {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 30.8970099668%;
    margin-right: 0;
  }
  .col2-8-4__right:last-child {
    margin-right: 0;
  }
}

.col2-9-3::after {
  clear: both;
  content: "";
  display: table;
}
@media screen and (min-width: 960px) {
  .col2-9-3__left {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 74.0863787375%;
  }
  .col2-9-3__left:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width: 960px) {
  .col2-9-3__right {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 22.2591362126%;
    margin-right: 0;
  }
  .col2-9-3__right:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width: 720px) {
  .layout-2col__left {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 48.1727574751%;
  }
  .layout-2col__left:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width: 720px) {
  .layout-2col__right {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 48.1727574751%;
    margin-right: 0;
  }
  .layout-2col__right:last-child {
    margin-right: 0;
  }
}

footer {
  background: #f7f7f7;
  border-top: 5px solid #7fc600;
  font-size: 18px;
  padding: 40px 0 80px;
  margin: 100px 0 0 0;
}
footer a {
  color: #5c5c5c;
  text-decoration: none;
}
footer a:hover {
  text-decoration: underline;
}
footer p {
  margin: 0;
}
footer h2 {
  color: #131413;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (min-width: 1024px) {
  footer h2 {
    text-align: left;
  }
}
footer .container {
  text-align: center;
}
@media screen and (min-width: 1024px) {
  footer .container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: end;
        align-items: flex-end;
    text-align: left;
  }
}
footer .container::after {
  display: none;
}
footer .block {
  margin: 0 auto 30px;
}
@media screen and (min-width: 1024px) {
  footer .block {
    margin: 0 auto;
  }
}
footer .block:nth-child(3n) {
  margin-right: 4%;
}
@media screen and (min-width: 1024px) {
  footer .block:nth-child(3n) {
    margin-right: 0;
  }
}
footer .block:nth-child(3n), footer .block:nth-child(4n) {
  width: 48%;
  float: left;
}
@media screen and (min-width: 1024px) {
  footer .block:nth-child(3n), footer .block:nth-child(4n) {
    width: auto;
    float: none;
  }
}
footer .block svg {
  max-width: 100%;
  height: auto;
}

.mobile--open,
.page-overlay--open {
  overflow: hidden;
}

.page-overlay__open {
  text-decoration: none;
  font-size: 0;
  z-index: 1;
  position: absolute;
  left: 30px;
}
@media screen and (min-width: 760px) {
  .page-overlay__open {
    display: none;
  }
}

.page-overlay__close {
  text-decoration: none;
  font-size: 0;
  float: right;
  position: absolute;
  right: 46px;
  top: 30px;
}
.page-overlay__close::before {
  font-size: 21px;
}

.page-overlay {
  font-size: 20px;
  background: #fff;
  position: fixed;
  top: 91px;
  left: 0;
  bottom: 0;
  width: 100%;
  overflow: auto;
  opacity: 0;
  z-index: -1;
  visibility: hidden;
}
.mobile--open .page-overlay {
  opacity: 1;
  z-index: 15;
  visibility: visible;
}
.page-overlay ul.menu {
  text-align: center;
}
.page-overlay ul.menu li {
  display: block;
}
.page-overlay ul.menu a {
  display: block;
  color: #5c5c5c;
  font-size: 14px;
  font-weight: bold;
  padding: 6px 30px;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  border-bottom: 1px solid #979797;
}

.page-subcontent {
  margin: 40px 0 0 0;
}
.page-subcontent .block-views-blockrevisions-block-1 {
  margin-top: 40px;
}
@media screen and (min-width: 720px) {
  .page-subcontent .block-views-blockrevisions-block-1 {
    margin-top: 80px;
  }
}

.page-topbar {
  border-bottom: 1px solid #5c5c5c;
  text-align: right;
  padding: 25px 0 15px 0;
  background: #fff;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 20;
}
@media screen and (min-width: 760px) {
  .page-topbar {
    position: relative;
  }
}
.page-topbar .block {
  display: none;
}
@media screen and (min-width: 760px) {
  .page-topbar .block {
    display: inline-block;
  }
}
.page-topbar .block-system {
  display: block;
  text-align: center;
}
@media screen and (min-width: 760px) {
  .page-topbar .block-system {
    float: left;
  }
}
.page-topbar .site-logo img {
  max-width: 175px;
}
@media screen and (min-width: 760px) {
  .page-topbar .site-logo img {
    max-width: 100%;
  }
}
.page-topbar ul.menu {
  margin: 3px 0 0 0;
}
.page-topbar ul.menu li {
  margin: 0 0 0 30px;
}
.page-topbar ul.menu a {
  color: #5c5c5c;
  font-size: 14px;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: bold;
}
.page-topbar ul.menu a.is-active, .page-topbar ul.menu a:hover {
  color: #7fc600;
}
.page-topbar ul.menu .menu-item--active-trail a {
  color: #7fc600;
}
.page-topbar__login {
  position: absolute;
  right: 30px;
  top: 25px;
  text-decoration: none;
  font-size: 0;
  color: #5c5c5c;
}
@media screen and (min-width: 760px) {
  .page-topbar__login {
    display: none;
  }
}
.page-topbar__login::before {
  font-size: 20px;
}

.page {
  padding-top: 91px;
}
@media screen and (min-width: 760px) {
  .page {
    padding-top: 0;
  }
}

.content {
  padding: 80px 0 0 0;
  position: relative;
}
.content::before {
  content: "";
  display: block;
  position: absolute;
  width: 40px;
  height: 40px;
  left: 50%;
  margin-left: -20px;
  top: -20px;
  background: #7fc600;
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
}

.action-links {
  margin: 0 0 10px 0;
}
@media screen and (min-width: 560px) {
  .action-links {
    margin: 0;
  }
}
.action-links ul {
  margin: 0;
  padding: 0;
}
.action-links ul li {
  list-style: none;
}
.action-links ul li a {
  position: relative;
  z-index: 10;
}

.address .locality,
.address .address-line1 + br {
  display: none;
}

.details-description {
  color: #a94442;
}

.hamburger {
  width: 25px;
  height: 20px;
  position: relative;
  -ms-transform: rotate(0deg);
      transform: rotate(0deg);
  transition: 0.5s ease-in-out;
  cursor: pointer;
}

.hamburger__line {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #000;
  opacity: 1;
  left: 0;
  -ms-transform: rotate(0deg);
      transform: rotate(0deg);
  transition: 0.25s ease-in-out;
  border-radius: 2px;
}
.hamburger__line:nth-child(1) {
  top: 0;
}
.mobile--open .hamburger__line:nth-child(1) {
  top: 9px;
  width: 0;
  left: 50%;
}
.hamburger__line:nth-child(2) {
  top: 9px;
}
.mobile--open .hamburger__line:nth-child(2) {
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
}
.hamburger__line:nth-child(3) {
  top: 9px;
}
.mobile--open .hamburger__line:nth-child(3) {
  -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
}
.hamburger__line:nth-child(4) {
  top: 18px;
}
.mobile--open .hamburger__line:nth-child(4) {
  top: 9px;
  width: 0;
  left: 50%;
}

.onscroll {
  transition: all 1500ms linear;
  opacity: 0;
  visibility: hidden;
}
.onscroll::after {
  clear: both;
  content: "";
  display: table;
}
.onscroll.is-visible {
  opacity: 1;
  visibility: visible;
}

.onscroll--bottom {
  -ms-transform: translateY(50%);
      transform: translateY(50%);
  transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 700ms linear;
}
.onscroll--bottom.is-visible {
  -ms-transform: translateY(0);
      transform: translateY(0);
}

.onscroll--left {
  -ms-transform: translate(-200px);
      transform: translate(-200px);
  transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 700ms linear;
}
.onscroll--left.is-visible {
  -ms-transform: translate(0);
      transform: translate(0);
}

.onscroll--right {
  -ms-transform: translate(200px);
      transform: translate(200px);
  transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 700ms linear;
}
.onscroll--right.is-visible {
  -ms-transform: translate(0);
      transform: translate(0);
}

.pager {
  text-align: center;
  margin: 50px 0 0 0;
  text-transform: lowercase;
}
.pager ul li {
  display: inline-block;
  margin: 0 8px;
}
.pager ul li a {
  color: #000;
  font-weight: 300;
}
.pager ul li a:hover {
  border: 0;
  text-decoration: none;
}
.pager ul li.is-active a {
  font-weight: 500;
}

.status {
  width: 20px;
  height: 20px;
  margin-right: 10px;
}
.status--payment {
  background-color: #979797;
  border-radius: 50%;
}
.status--service-scheduled, .status--service-schedulec {
  background-color: #fbc100;
}
.status--change, .status--service-schedule, .status--red {
  background-color: #e5541a;
}
.status--needs-confirmation, .status--yellow {
  background-color: #fbc100;
}
.status--confirmation, .status--service-done, .status--green {
  background-color: #7fc600;
}
.status--delivered, .status--service-extra {
  background-color: #43aabc;
}

ul.tabs {
  margin: 25px 0;
  padding: 0;
  text-align: center;
}
@media screen and (min-width: 720px) {
  ul.tabs {
    margin: 25px 0 60px 0;
  }
}
ul.tabs li {
  display: block;
}
@media screen and (min-width: 720px) {
  ul.tabs li {
    display: inline-block;
  }
}
ul.tabs li a {
  transition: all 150ms linear;
  appearance: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #4a4a4a;
  border-radius: 0;
  color: #fff;
  font-weight: 500;
  padding: 10px 25px;
  text-shadow: none;
  text-transform: uppercase;
  box-shadow: none;
  border: 0;
  text-decoration: none;
  font-size: 20px;
  text-align: center;
  line-height: 1.3;
  background: #7fc600;
  font-size: 15px;
  padding-bottom: 11px;
  display: block;
  margin: 0 0 10px 0;
}
ul.tabs li a:hover, ul.tabs li a:focus {
  background: #7fc600;
  color: #fff;
  outline: none;
}
ul.tabs li a:hover {
  background: #4a4a4a;
  color: #fff;
}
@media screen and (min-width: 560px) {
  ul.tabs li a {
    display: inline-block;
  }
}
ul.tabs li a:hover {
  background: #7fc600;
  border: 0 !important;
}
ul.tabs li a:hover:hover {
  background: #4a4a4a;
  color: #fff;
}
ul.tabs li a.is-active {
  background: #4a4a4a;
  color: #fff;
}
ul.tabs li.is-active a {
  background: #4a4a4a;
  color: #fff;
}
ul.tabs li.is-view a {
  padding-left: 15px;
}
ul.tabs li.is-view a::before {
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  margin-right: 8px;
}
ul.tabs li.is-edit a {
  padding-left: 15px;
}
ul.tabs li.is-edit a::before {
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  margin-right: 8px;
}

.view-empty {
  border: 1px solid #4a4a4a;
  padding: 50px;
  text-align: center;
  margin-top: 40px;
}

.view-legend {
  padding: 20px 50px;
  font-size: 12px;
}
.view-legend .status {
  display: inline-block;
  position: relative;
  top: 3px;
  width: 15px;
  height: 15px;
}

.view table tbody tr.admegatec-services {
  background-color: rgba(127, 198, 0, 0.6);
}

.block-banner img {
  display: block;
}

.block-gbl-glue-account-link-block {
  margin-left: 30px;
  position: relative;
}
.block-gbl-glue-account-link-block .toggler {
  cursor: pointer;
  padding-right: 20px;
  background: url("../img/arrow-down.svg") no-repeat right top 8px;
}
.block-gbl-glue-account-link-block .toggler em {
  color: #7fc600;
  text-decoration: none;
  font-style: normal;
}
.block-gbl-glue-account-link-block .item-list {
  position: absolute;
  right: 0;
  width: 150px;
  opacity: 0;
  transition: 200ms all ease-out;
  background: #4a4a4a;
}
.block-gbl-glue-account-link-block .item-list ul {
  margin: 0;
  padding: 0;
  text-align: left;
}
.block-gbl-glue-account-link-block .item-list ul li {
  list-style: none;
}
.block-gbl-glue-account-link-block .item-list ul li a {
  padding: 5px 20px;
  display: block;
  text-decoration: none;
  color: #fff;
  border-bottom: 1px solid #979797;
  text-align: right;
}
.block-gbl-glue-account-link-block .item-list ul li a:hover {
  background: #7fc600;
}
.block-gbl-glue-account-link-block:hover .item-list {
  opacity: 1;
}

.block-help .certificaat-aanmaken-info {
  font-weight: 500;
}

@media screen and (min-width: 1355px) {
  .block-language {
    margin-right: -55px;
  }
}
.block-language ul.links {
  margin: 0;
  padding: 0;
}
.block-language ul.links .is-active {
  display: none;
}
.block-language ul.links li {
  display: inline-block;
  margin: 0 0 0 30px;
}
.block-language ul.links li a {
  font-size: 14px;
  text-decoration: none;
  color: #5c5c5c;
  text-transform: uppercase;
}

.masquerade-block-form {
  background-color: #f7f7f7;
  padding: 20px;
}
.masquerade-block-form h2 {
  font-size: 20px;
  font-weight: 500;
  text-align: left;
  margin-bottom: 20px;
}
.masquerade-block-form form .container-inline {
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -ms-flex-align: center;
      align-items: center;
}
.masquerade-block-form form .container-inline * {
  margin: 0;
}
.masquerade-block-form form .container-inline .form-type-entity-autocomplete {
  -ms-flex: 1;
      flex: 1;
}

.messages {
  margin: 20px 0;
}

.page .field--name-body {
  padding: 0 0 75px 0;
  font-size: 18px;
  text-align: center;
  max-width: 956px;
  margin: 0 auto;
}

@media screen and (min-width: 880px) {
  .field--name-field-company-employees {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.field--name-field-company-employees > .field__item {
  margin-bottom: 40px;
}
@media screen and (min-width: 880px) {
  .field--name-field-company-employees > .field__item {
    width: 47%;
    margin-right: 3%;
  }
}
@media screen and (min-width: 1024px) {
  .field--name-field-company-employees > .field__item {
    width: 30%;
    margin-right: 3%;
  }
}

.field--name-field-cta {
  margin: 0 0 30px 0;
}
.field--name-field-cta a {
  transition: all 150ms linear;
  appearance: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #4a4a4a;
  border-radius: 0;
  color: #fff;
  font-weight: 500;
  padding: 10px 25px;
  text-shadow: none;
  text-transform: uppercase;
  box-shadow: none;
  border: 0;
  text-decoration: none;
  font-size: 20px;
  text-align: center;
  line-height: 1.3;
  display: block;
  max-width: 490px;
  margin: 0 auto;
}
.field--name-field-cta a:hover, .field--name-field-cta a:focus {
  background: #7fc600;
  color: #fff;
  outline: none;
}

.node-full .field--name-field-service-interventions > .field__item:not(:first-child) {
  padding-top: 15px;
  border-top: 1px solid rgb(219.5, 219.5, 219.5);
}
.node-full .field--name-field-service-interventions > .field__item:not(:last-child) {
  padding-bottom: 15px;
}

.field--name-field-service-interventions .submit-button-intervention {
  display: none;
}
.field--name-field-service-interventions .field-multiple-table + .clearfix .submit-button-intervention {
  display: block;
  width: calc(100% - 250px);
  margin-bottom: 20px;
  cursor: pointer;
}

.field--name-field-subtitle::after {
  content: "";
  display: block;
  width: 95px;
  margin: 30px auto 35px;
  border-bottom: 1px solid #979797;
}

.field--label-inline {
  margin: 0 0 10px 0;
}
.field--label-inline .field__label {
  font-weight: 700;
  display: inline;
}
.field--label-inline .field__item {
  display: inline;
}

fieldset + .field {
  margin-top: -50px;
}

.field--type-address {
  box-sizing: border-box;
}
.field--type-address summary,
.field--type-address legend {
  display: none;
}
.field--type-address > .form-item {
  margin: 0;
}
.field--type-address fieldset {
  margin: 0 !important;
}
.field--type-address .fieldset-wrapper {
  width: 100% !important;
}
.field--type-address .details-wrapper {
  box-sizing: border-box;
}
.field--type-address .address-container-inline > .form-item {
  display: block;
  margin-right: 0;
}
.field--type-address.field--name-field-address-installation legend {
  margin-top: 20px;
  display: block;
  font-weight: 700;
  text-transform: uppercase;
  text-align: left;
  margin-bottom: 15px;
}
@media screen and (min-width: 560px) {
  .field--type-address.field--name-field-address-installation legend {
    margin-left: 250px;
  }
}

.field--type-datetime {
  margin: 0 0 15px 0;
}
.field--type-datetime::after {
  clear: both;
  content: "";
  display: table;
}
.field--type-datetime .label {
  font-size: 16px;
  font-weight: 500;
  text-transform: none;
  color: #000;
  border: 0;
  margin: 0;
  padding: 7px 35px 4px 0;
}
@media screen and (min-width: 560px) {
  .field--type-datetime .label {
    width: 250px;
    float: left;
    text-align: right;
  }
}
@media screen and (min-width: 560px) {
  .field--type-datetime .container-inline {
    width: calc(100% - 250px);
    float: right;
  }
}
.field--type-datetime table {
  display: table !important;
}

.field--type-file thead,
.field--type-file .tabledrag-handle,
.field--type-file .field-multiple-drag,
.field--type-file .tabledrag-toggle-weight-wrapper {
  display: none;
}
.field--type-file table tr {
  background: none;
}
.field--type-file table td {
  padding: 0;
}
.field--type-file .form-submit {
  font-size: 14px;
  width: auto;
}
.field--type-file .formgroup .form-item.form-type-managed-file label {
  text-align: left;
  width: 100%;
}
.field--type-file .formgroup .form-item.form-type-managed-file .description {
  width: 100%;
}

.field-multiple-table thead,
.field-multiple-table .field-multiple-drag {
  display: none;
}
.field-multiple-table tr {
  background: none;
}
.field-multiple-table td {
  border: 0;
  padding: 0;
}
.field-multiple-table td fieldset {
  margin: 0 0 15px 0 !important;
}
.field-multiple-table td legend {
  display: none;
}
.field-multiple-table td .fieldset-wrapper {
  width: 100%;
}
.field-multiple-table .container-inline .form-item {
  display: block;
  margin: 0 0 15px 0;
}
@media screen and (min-width: 720px) {
  .field-multiple-table .container-inline .form-item {
    width: calc(50% - 7px);
    float: left;
    margin: 0;
  }
}
@media screen and (min-width: 720px) {
  .field-multiple-table .container-inline .form-item:first-child {
    margin-right: 14px;
  }
}
@media screen and (min-width: 720px) {
  .field-multiple-table .field--name-field-intervention-date {
    margin-bottom: 15px;
  }
}
.field--name-field-service-interventions .field-multiple-table tbody tr:not(:first-child) td {
  padding-top: 30px;
  border-top: 2px solid rgba(127, 198, 0, 0.4);
}
.field--name-field-service-interventions .field-multiple-table tbody tr:not(:last-child) td {
  padding-bottom: 30px;
}
.field-multiple-table .form-submit {
  width: auto;
}

.tabledrag-toggle-weight-wrapper {
  display: none;
}

.paragraph-type-title {
  font-size: 16px;
  font-weight: 500;
  text-transform: none;
  color: #000;
  border: 0;
  margin: 0;
  padding: 7px 35px 4px 0;
  font-weight: 700;
  -ms-flex-preferred-size: auto !important;
      flex-basis: auto !important;
}
@media screen and (min-width: 560px) {
  .paragraph-type-title {
    width: 250px;
    float: left;
    text-align: right;
  }
}

@media screen and (min-width: 560px) {
  .paragraphs-dropbutton-wrapper {
    margin-left: 250px;
  }
}

fieldset.fieldset-arrow > legend {
  cursor: pointer;
}
fieldset.fieldset-arrow > legend .fieldset-legend::after {
  content: "";
  background: url("../img/arrow-down--primary.svg") no-repeat center center;
  background-size: contain;
  width: 20px;
  height: 20px;
  float: right;
  position: relative;
  top: 10px;
}
fieldset.fieldset-arrow--closed > legend .fieldset-legend::after {
  -ms-transform: rotate(180deg);
      transform: rotate(180deg);
}
fieldset.fieldset-arrow--closed .fieldset-wrapper {
  display: none;
}

.fieldset-collapsible > legend {
  background: #7fc600;
  font-size: 21px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  text-transform: uppercase;
  padding: 11px 0;
  position: relative;
  margin: 0 0 55px;
  cursor: pointer;
  transition: 100ms all linear;
  margin: 0;
  padding: 1px 0 1px 20px;
  text-align: left;
  border: 0;
}
.fieldset-collapsible > legend::after {
  clear: both;
  content: "";
  display: table;
}
.fieldset-collapsible > legend::after {
  content: "";
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #7fc600;
  position: absolute;
  left: 50%;
  margin-left: -20px;
  bottom: -20px;
}
.fieldset-collapsible > .fieldset-wrapper {
  margin: 50px 0 0 0;
}
.fieldset-collapsible--closed > legend {
  background: #979797;
}
.fieldset-collapsible--closed > legend::after {
  display: none;
}
.fieldset-collapsible--closed .fieldset-wrapper {
  display: none;
}

.fieldset-hide-legend legend,
.entity-content-form-revision-information legend {
  display: none;
}
.fieldset-hide-legend .fieldset-wrapper,
.entity-content-form-revision-information .fieldset-wrapper {
  width: 100% !important;
}

fieldset.fieldset-small {
  margin-top: 20px;
}
fieldset.fieldset-small legend {
  display: block;
  font-weight: 700;
  text-transform: uppercase;
  text-align: left;
  margin-bottom: 15px;
}
@media screen and (min-width: 560px) {
  fieldset.fieldset-small legend {
    margin-left: 250px;
  }
}

.form-date {
  padding-left: 65px !important;
  position: relative;
  background: url("../img/icon--date.svg") no-repeat left 20px center;
}

.form-date::-webkit-calendar-picker-indicator {
  color: transparent;
  opacity: 1;
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 20px;
}
.form-date::-webkit-calendar-picker-indicator:hover {
  background: none;
}

.formgroup {
  margin: 0 0 15px 0 !important;
}
.formgroup legend {
  font-size: 16px;
  font-weight: 500;
  text-transform: none;
  color: #000;
  border: 0;
  margin: 0;
  padding: 7px 35px 4px 0;
}
@media screen and (min-width: 560px) {
  .formgroup legend {
    width: 250px;
    float: left;
    text-align: right;
  }
}
.formgroup .fieldset-wrapper {
  overflow: hidden;
}
@media screen and (min-width: 560px) {
  .formgroup .fieldset-wrapper {
    width: calc(100% - 250px);
  }
}
.formgroup .fieldset-wrapper::after {
  clear: both;
  content: "";
  display: table;
}
@media screen and (min-width: 720px) {
  .formgroup--2col .form-item {
    width: calc(50% - 7px);
    margin: 0;
    float: left;
  }
}
@media screen and (min-width: 720px) {
  .formgroup--2col .form-item:first-child {
    margin-right: 14px;
  }
}
@media screen and (min-width: 720px) {
  .formgroup--2col-btm .form-item {
    width: calc(50% - 7px);
    margin: 0;
    float: left;
  }
}
.formgroup--2col-btm .form-item:first-child {
  width: 100%;
  margin: 0 0 15px 0;
}
@media screen and (min-width: 720px) {
  .formgroup--2col-btm .form-item:nth-child(2) {
    margin-right: 14px;
  }
}
.formgroup--2col-fields label, .formgroup--2col-btm-fields label {
  display: none;
}
.formgroup--2col-fields input, .formgroup--2col-btm-fields input {
  width: 100% !important;
}
@media screen and (min-width: 720px) {
  .formgroup--2col-fields .form-item, .formgroup--2col-btm-fields .form-item {
    margin: 0;
  }
}
.formgroup--2col-fields .form-wrapper .description, .formgroup--2col-btm-fields .form-wrapper .description {
  width: 100%;
}
@media screen and (min-width: 720px) {
  .formgroup--2col-fields .form-wrapper {
    width: calc(50% - 7px);
    float: left;
  }
}
@media screen and (min-width: 720px) {
  .formgroup--2col-fields .form-wrapper:first-child {
    margin-right: 14px;
  }
}
@media screen and (min-width: 720px) {
  .formgroup--2col-btm-fields .form-wrapper {
    width: calc(50% - 7px);
    margin: 0;
    float: left;
  }
  .formgroup--2col-btm-fields .form-wrapper.field--name-field-mobile-1:first-child {
    width: calc(50% - 7px);
    margin-right: 14px;
  }
  .formgroup--2col-btm-fields .form-wrapper.field--name-field-mobile-2:nth-child(2) {
    margin-right: 0;
  }
}
.formgroup--2col-btm-fields .form-wrapper:first-child {
  width: 100%;
  margin: 0 0 15px 0;
}
@media screen and (min-width: 720px) {
  .formgroup--2col-btm-fields .form-wrapper:nth-child(2) {
    margin-right: 14px;
  }
}
.formgroup .form-item-field-email-1-0-value .description {
  color: #e5541a;
  font-weight: 700;
}

button,
input,
select,
textarea {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
}

.form-actions {
  text-align: center;
  margin: 55px 0 0 0;
}

.form-item {
  margin: 0 0 15px 0;
}
.form-item::after {
  clear: both;
  content: "";
  display: table;
}
.form-item label {
  font-size: 16px;
  font-weight: 500;
  text-transform: none;
  color: #000;
  border: 0;
  margin: 0;
  padding: 7px 35px 4px 0;
}
@media screen and (min-width: 560px) {
  .form-item label {
    width: 250px;
    float: left;
    text-align: right;
  }
}
.form-item label.form-required::after {
  content: " *";
}
@media screen and (min-width: 560px) {
  .form-item select,
  .form-item textarea,
  .form-item input {
    width: calc(100% - 250px);
  }
}
.form-item .description {
  font-size: 12px;
}
@media screen and (min-width: 560px) {
  .form-item .description {
    width: calc(100% - 250px);
    float: right;
  }
}
.form-item.form-no-label > input {
  width: 100%;
}
.form-item.form-item-address {
  margin: 0;
}

.captcha {
  margin-left: 250px;
}

select,
textarea,
.form-time,
.form-date,
.form-number,
.form-url,
.form-email,
.form-tel,
.form-text {
  transition: all 100ms linear;
  appearance: none;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  box-shadow: none;
  padding: 10px;
  border: 1px solid #979797;
  max-width: 100%;
  width: 100%;
  border-radius: 0;
}
select.error,
textarea.error,
.form-time.error,
.form-date.error,
.form-number.error,
.form-url.error,
.form-email.error,
.form-tel.error,
.form-text.error {
  border: 1px solid #a94442;
}
select:focus,
textarea:focus,
.form-time:focus,
.form-date:focus,
.form-number:focus,
.form-url:focus,
.form-email:focus,
.form-tel:focus,
.form-text:focus {
  outline: none;
  border: 1px solid #5c5c5c;
}

select {
  background: url("../img/select.svg") no-repeat right 10px center;
  padding-right: 40px;
}

select::-ms-expand {
  display: none;
}

.form-type-checkbox,
.form-type-radio {
  margin: 0 0 5px 0;
  position: relative;
}
.form-type-checkbox input,
.form-type-radio input {
  opacity: 0;
  position: absolute;
}
.form-type-checkbox label,
.form-type-radio label {
  position: relative;
  padding-top: 0;
  padding-bottom: 0;
}
.form-type-checkbox label::before,
.form-type-radio label::before {
  transition: all 200ms ease;
  position: absolute;
  right: -16px;
  content: "";
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  top: 5px;
}
.form-type-checkbox input:checked + label::before,
.form-type-radio input:checked + label::before {
  background: #000;
  box-shadow: inset 0 0 0 2px #fff;
}

.form-type-radio label::before {
  border-radius: 50%;
}

.form-text:-ms-input-placeholder {
  font-size: 16px;
}

.form-text::-moz-placeholder {
  font-size: 16px;
}

.form-text:-moz-placeholder {
  font-size: 16px;
}

.form-text::-webkit-input-placeholder {
  font-size: 16px;
}

textarea:-ms-input-placeholder {
  font-size: 16px;
}

textarea::-moz-placeholder {
  font-size: 16px;
}

textarea:-moz-placeholder {
  font-size: 16px;
}

textarea::-webkit-input-placeholder {
  font-size: 16px;
}

.grippie {
  display: none;
}

fieldset {
  min-width: 0 !important;
  display: block;
  border: 0;
  margin: 0 0 50px 0 !important;
  padding: 0;
}
fieldset legend {
  display: block;
  font-weight: 700;
  font-size: 23px;
  color: #7fc600;
  text-transform: uppercase;
  border-bottom: 2px solid #7fc600;
  width: 100%;
  margin: 0 0 40px 0;
  text-align: left;
}

.gbl-glue-revision-log-form {
  margin-bottom: 50px;
}

@media screen and (min-width: 560px) {
  div.password-confirm,
  div.password-strength {
    padding-left: 250px;
    width: 100%;
  }
}

@media screen and (min-width: 560px) {
  .password-suggestions {
    margin-left: 250px;
    float: left !important;
  }
}

.confirm-parent,
.password-parent {
  max-width: 600px;
}

.placeholder--red:-ms-input-placeholder {
  color: #f00;
}

.placeholder--red::placeholder {
  color: #f00;
}

.view-filters::after {
  clear: both;
  content: "";
  display: table;
}

.views-exposed-form {
  float: right;
}
.views-exposed-form .form-actions,
.views-exposed-form .form-item {
  margin: 0 0 10px 0;
}
@media screen and (min-width: 560px) {
  .views-exposed-form .form-actions,
  .views-exposed-form .form-item {
    display: inline-block;
    max-width: 250px;
    margin: 0;
  }
}
.views-exposed-form label {
  display: none;
}
.views-exposed-form .form-actions {
  margin: 0;
}
.views-exposed-form select,
.views-exposed-form input {
  width: 100%;
}
.views-exposed-form .form-submit {
  font-size: 15px;
  padding-bottom: 11px;
}

@media screen and (min-width: 880px) {
  .block-local-actions-block + .block-system .view-filters {
    margin-top: -40px;
  }
}

.menu--social-media ul.menu li {
  display: inline-block;
}
.menu--social-media ul.menu a {
  background: #7fc600;
  color: #fff;
  display: block;
  width: 33px;
  height: 33px;
  border-radius: 50%;
  text-align: center;
  font-size: 0;
}
.menu--social-media ul.menu a::before {
  font-size: 20px;
  position: relative;
  top: 6px;
}
.menu--social-media ul.menu a:focus, .menu--social-media ul.menu a:hover {
  background: #000;
}

ul.menu {
  margin: 0;
  padding: 0;
}
ul.menu li {
  display: inline-block;
}

@media screen and (min-width: 880px) {
  .node-webform .node__content .field:nth-last-child(2).field--name-webform {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 65.4485049834%;
  }
  .node-webform .node__content .field:nth-last-child(2).field--name-webform:last-child {
    margin-right: 0;
  }
}
.node-webform .node__content .field--name-field-sidebar {
  text-align: center;
  margin: 20px 0 0 0;
}
@media screen and (min-width: 880px) {
  .node-webform .node__content .field--name-field-sidebar {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 30.8970099668%;
    margin-right: 0;
    text-align: left;
    margin-top: 0;
  }
  .node-webform .node__content .field--name-field-sidebar:last-child {
    margin-right: 0;
  }
}

.node-certificate-form .field--name-field-klant-bedrijf {
  width: 100%;
}

.node-full .field::after {
  clear: both;
  content: "";
  display: table;
}
.node-full .field__label {
  font-size: 16px;
  font-weight: 500;
  text-transform: none;
  color: #000;
  border: 0;
  margin: 0;
  padding: 7px 35px 4px 0;
}
@media screen and (min-width: 560px) {
  .node-full .field__label {
    width: 250px;
    float: left;
    text-align: right;
  }
}
@media screen and (min-width: 560px) {
  .node-full .field__label + .field__items,
  .node-full .field__label + .field__item + .field__item ~ .field__item {
    padding-left: 250px;
  }
}
.node-full .field__item {
  padding-top: 7px;
  overflow: hidden;
}
.node-full .field__item p {
  margin: 0;
}

.node-service-request-edit-form [name=field_service_interventions_intervention_add_more] {
  position: absolute;
  left: -99999px;
  opacity: 0;
}

.paragraph--visit-tool {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: baseline;
      align-items: baseline;
}
.paragraph--visit-tool .multiplier {
  padding: 0 5px;
}

.paragraph::after {
  clear: both;
  content: "";
  display: table;
}
.paragraph .field--name-field-cta {
  float: left;
  display: block;
  margin-right: 3.6544850498%;
  width: 100%;
  margin-right: 0;
}
.paragraph .field--name-field-cta:last-child {
  margin-right: 0;
}
@media screen and (min-width: 560px) {
  .paragraph__content {
    float: left;
    display: block;
    margin-right: 3.6544850498%;
    width: 82.7242524917%;
    margin-left: 8.6378737542%;
  }
  .paragraph__content:last-child {
    margin-right: 0;
  }
}
.paragraph--highlighted {
  margin: 5px 0 75px 0 !important;
}
.paragraph--highlighted .paragraph__content {
  background: #f2fae5;
  padding: 40px 45px;
}
.paragraph--framed .paragraph__content {
  border: 1px solid #979797;
  padding: 20px;
}
@media screen and (min-width: 880px) {
  .paragraph--framed .paragraph__content {
    padding: 45px;
  }
}
.paragraph--collapsible .paragraph__title {
  cursor: pointer;
  transition: 100ms all linear;
  margin: 0;
}
.paragraph--collapsible .paragraph__title::before {
  content: "";
  width: 30px;
  height: 22px;
  background: url("../img/check.svg") no-repeat center center;
  display: inline-block;
  margin: 0 30px 0 0;
}
.paragraph--collapsible .paragraph__content {
  background: #f2fae5;
  padding: 40px 45px;
  margin-top: 65px;
  margin-bottom: 65px;
}
.paragraph--collapsible .highlight {
  margin: 0 -45px -40px -45px;
}
.paragraph--closed .paragraph__title {
  background: #979797;
}
.paragraph--closed .paragraph__title::after, .paragraph--closed .paragraph__title::before {
  display: none;
}
.paragraph--closed .field--name-field-cta,
.paragraph--closed .paragraph__content {
  display: none;
}

.paragraph + .paragraph {
  margin-top: 45px;
}

.js .paragraph-type-top {
  max-width: 1200px;
}

.view-ad-orders .view-header,
.view-ad-customers .view-header,
.view-ad-services .view-header,
.view-ad-certificates .view-header,
.view-visits .view-header,
.view-quotations .view-header {
  float: right;
  margin: 10px 0;
}
.view-ad-orders .view-filters,
.view-ad-customers .view-filters,
.view-ad-services .view-filters,
.view-ad-certificates .view-filters,
.view-visits .view-filters,
.view-quotations .view-filters {
  clear: both;
}

.feed-icons {
  display: none;
}

.sidebar {
  display: none;
}

.container {
  width: 1200px;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19ib3gtc2l6aW5nLnNjc3MiLCJoZWxwZXJzL19ub3JtYWxpemUuc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsImJhc2UvX2ljb25zLnNjc3MiLCJiYXNlL19idXR0b24uc2NzcyIsIl9zaXRlLXNldHRpbmdzLnNjc3MiLCJiYXNlL19nYmwtaWNvbnMuc2NzcyIsImJhc2UvX3RhYmxlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fbWVkaWEuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImhlbHBlcnMvX2hlbHBlcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19jbGVhcmZpeC5zY3NzIiwibGF5b3V0L19ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fc3Bhbi1jb2x1bW5zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fb21lZ2Euc2NzcyIsImxheW91dC9fbGF5b3V0LnNjc3MiLCJsYXlvdXQvY29sMi9fY29sMi00LTguc2NzcyIsImxheW91dC9jb2wyL19jb2wyLTUwLnNjc3MiLCJsYXlvdXQvY29sMi9fY29sMi04LTQuc2NzcyIsImxheW91dC9jb2wyL19jb2wyLTktMy5zY3NzIiwibGF5b3V0L2NvbDIvX2NvbDIuc2NzcyIsImxheW91dC9wYWdlL19mb290ZXIuc2NzcyIsImxheW91dC9wYWdlL19wYWdlLW92ZXJsYXkuc2NzcyIsImxheW91dC9wYWdlL19wYWdlLXN1YmNvbnRlbnQuc2NzcyIsImxheW91dC9wYWdlL19wYWdlLXRvcGJhci5zY3NzIiwibGF5b3V0L3BhZ2UvX3BhZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2FjdGlvbi1saW5rcy5zY3NzIiwiY29tcG9uZW50cy9fYWRkcmVzcy5zY3NzIiwiY29tcG9uZW50cy9fZGV0YWlscy1kZXNjcmlwdGlvbi5zY3NzIiwiY29tcG9uZW50cy9faGFtYnVyZ2VyLnNjc3MiLCJjb21wb25lbnRzL19vbnNjcm9sbC5zY3NzIiwiY29tcG9uZW50cy9fcGFnZXIuc2NzcyIsImNvbXBvbmVudHMvX3N0YXR1cy5zY3NzIiwiY29tcG9uZW50cy9fdGFicy5zY3NzIiwiY29tcG9uZW50cy9fdmlldy5zY3NzIiwiY29tcG9uZW50cy9ibG9jay9fYmxvY2stYmFubmVyLnNjc3MiLCJjb21wb25lbnRzL2Jsb2NrL19ibG9jay1nYmwtZ2x1ZS1hY2NvdW50LWxpbmstYmxvY2suc2NzcyIsImNvbXBvbmVudHMvYmxvY2svX2Jsb2NrLWhlbHAuc2NzcyIsImNvbXBvbmVudHMvYmxvY2svX2Jsb2NrLWxhbmd1YWdlLnNjc3MiLCJjb21wb25lbnRzL2Jsb2NrL19ibG9jay1tYXNxdWVyYWRlLnNjc3MiLCJjb21wb25lbnRzL2Jsb2NrL19tZXNzYWdlcy5zY3NzIiwiY29tcG9uZW50cy9maWVsZC9fZmllbGQtLW5hbWUtYm9keS5zY3NzIiwiY29tcG9uZW50cy9maWVsZC9fZmllbGQtLW5hbWUtZmllbGQtY29tcGFueS1lbXBsb3llZXMuc2NzcyIsImNvbXBvbmVudHMvZmllbGQvX2ZpZWxkLS1uYW1lLWZpZWxkLWN0YS5zY3NzIiwiY29tcG9uZW50cy9maWVsZC9fZmllbGQtLW5hbWUtZmllbGQtc2VydmljZS1pbnRlcnZlbnRpb25zLnNjc3MiLCJjb21wb25lbnRzL2ZpZWxkL19maWVsZC5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fZmllbGQtLXR5cGUtYWRkcmVzcy5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fZmllbGQtLXR5cGUtZGF0ZXRpbWUuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX2ZpZWxkLS10eXBlLWZpbGUuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX2ZpZWxkLW11bHRpcGxlLXRhYmxlLnNjc3MiLCJjb21wb25lbnRzL2Zvcm1zL19maWVsZHNldC1hcnJvdy5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fZmllbGRzZXQtY29sbGFwc2libGUuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX2ZpZWxkc2V0LWhpZGUtbGVnZW5kLnNjc3MiLCJjb21wb25lbnRzL2Zvcm1zL19maWVsZHNldC1zbWFsbC5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fZm9ybS1kYXRlJTIwLnNjc3MiLCJjb21wb25lbnRzL2Zvcm1zL19mb3JtZ3JvdXAuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX2Zvcm1zLnNjc3MiLCJjb21wb25lbnRzL2Zvcm1zL19nYmwtZ2x1ZS1yZXZpc2lvbi1sb2ctZm9ybS5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fcGFzc3dvcmQuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX3BsYWNlaG9sZGVycy5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fdmlld3MtZXhwb3NlZC1mb3JtLnNjc3MiLCJjb21wb25lbnRzL21lbnUvX21lbnUtLXNvY2lhbC1tZWRpYS5zY3NzIiwiY29tcG9uZW50cy9tZW51L19tZW51LnNjc3MiLCJjb21wb25lbnRzL25vZGUvX25vZGUtLXdlYmZvcm0uc2NzcyIsImNvbXBvbmVudHMvbm9kZS9fbm9kZS1jZXJ0aWZpY2F0ZS1mb3JtLnNjc3MiLCJjb21wb25lbnRzL25vZGUvX25vZGUtZnVsbC5zY3NzIiwiY29tcG9uZW50cy9ub2RlL19ub2RlLXNlcnZpY2UtcmVxdWVzdC5zY3NzIiwiY29tcG9uZW50cy9wYXJhZ3JhcGgvX3BhcmFncmFwaC0tdmlzaXQtdG9vbC5zY3NzIiwiY29tcG9uZW50cy9wYXJhZ3JhcGgvX3BhcmFncmFwaC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3NoaWZ0LnNjc3MiLCJjb21wb25lbnRzL3ZpZXdzL19hZF92aWV3cy5zY3NzIiwiY29tcG9uZW50cy92aWV3cy9fdmlld3Muc2NzcyIsInByaW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0U7RUFDRTs7O0FBSUE7RUFHRTs7O0FDWE47QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1FOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBLE9BRU87RUFDTDs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsUUFDUTtFQUNOOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsU0FDUztFQUNQOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFJRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FDamNGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FDTkY7RUFDRTtFQUNBO0VBQ0EsS0FDRTtFQUtGO0VBQ0E7O0FBa0JBO0FBQUE7RUFiQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQ0xGO0VBekJFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUNWVTtFRFdWO0VBQ0EsT0NSTTtFRFNOLGFDc0JPO0VEckJQO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVFLFlDcEJJO0VEcUJKLE9DdkJJO0VEd0JKOzs7QUFlSjtFQVBFLFlDOUJNOztBRCtCTjtFQUNFLFlDdENRO0VEdUNSLE9DbkNJOzs7QUQrQ1I7RUFIRSxZQ3JDVTtFRHNDVixPQzdDTTs7O0FEc0RSO0VBRkU7OztBQVNGO0VBSEU7RUFDQTs7O0FBTUY7QUFBQTtBQUFBO0VBR0U7RUFDQTtFQUNBLE9DOUVNOztBRCtFTjtBQUFBO0FBQUE7RUFDRSxPQ3RFSTtFRHVFSjtFQUNBOzs7QUFLRjtFQXpGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFvRkU7OztBQUtGO0VBakdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQTRGRTs7O0FBS0Y7RUF6R0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBb0dFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFDQTtFQXBIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUErR0U7RUFDQTs7QUFFRjtFQUNFLE9DakhJOzs7QUNaUjtFQUNFO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7O0FBbUJBO0FBQUE7RUFkQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUtGO0VBQ0U7RUFDQTtFQUNBLE9EaERNO0VDaUROO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBRUU7RUFDQSxPRHhESTs7QUN5REo7RUFDRTtFQUNBO0VBQ0E7O0FBR0E7RUFDRTs7QUFFRjtFQUNFOzs7QUFLUjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBaEZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQTBFRTtFQUNBOzs7QUFHSjtFQUNFO0VBQ0E7RUFDQTs7QUFDQTtFQTFGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFxRkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7OztBSDFISjtFQUNFO0VBQ0E7RUFDQSxLQUNFO0VBS0Y7RUFDQTs7QUFrQkE7QUFBQTtFQWJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FJOUNGO0VBQ0UsT0ZPTTtFRU5OO0VBQ0E7RUFDQTtFQUNBOztBQ3FERTtFRDFESjtJQVFJOzs7QUFHRjtFQUNFO0VBQ0E7O0FBR0E7QUFBQTtFQUVFOztBQ3dDRjtFRDFDQTtBQUFBO0lBS0k7OztBQUlOO0VBQ0U7O0FDZ0NBO0VEakNGO0lBSUk7OztBQUdGO0VBQ0UsYUZZRzs7QUVUUDtFQUNFOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FDZ0JGO0VEZkU7SUFFSTs7O0FBR0o7RUFDRTtFQUNBLE9GMUNBO0VFMkNBO0VB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QTtFQUNFOzs7QUNaSjtFQUNFOzs7QUNnRkY7RUFDRTs7O0FBR0Y7RUFDRSxPcEVWVSIsImZpbGUiOiJwcmludC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gdHJ1ZSB7XG4gIGh0bWwgeyAvLyBodHRwOi8vYml0Lmx5LzFxazJ0VlJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgKiB7XG4gICAgJixcbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY1LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuIiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImljb21vb25cIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29tb29uL2ljb21vb24uZW90P3ltb29ubFwiKTtcbiAgc3JjOlxuICAgIHVybChcIi4uL2ZvbnRzL2ljb21vb24vaWNvbW9vbi5lb3Q/eW1vb25sI2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHVybChcIi4uL2ZvbnRzL2ljb21vb24vaWNvbW9vbi53b2ZmMj95bW9vbmxcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgdXJsKFwiLi4vZm9udHMvaWNvbW9vbi9pY29tb29uLnR0Zj95bW9vbmxcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgdXJsKFwiLi4vZm9udHMvaWNvbW9vbi9pY29tb29uLndvZmY/eW1vb25sXCIpIGZvcm1hdChcIndvZmZcIiksXG4gICAgdXJsKFwiLi4vZm9udHMvaWNvbW9vbi9pY29tb29uLnN2Zz95bW9vbmwjaWNvbW9vblwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQG1peGluIGljb25zIHtcbiAgLy8gdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHNcbiAgZm9udC1mYW1pbHk6IFwiaWNvbW9vblwiICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5bY2xhc3NePVwiaWNvbi1cIl0sXG5bY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBpY29ucztcbiAgfVxufVxuXG4uaWNvbi1wbHVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuLmljb24tdmlldzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cbi5pY29uLWVkaXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG4uaWNvbi1kb3dubG9hZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cbi5pY29uLWxvZ2luOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuIiwiQHVzZSBcImljb25zXCI7XG5cbkBtaXhpbiBpY29ucyB7XG4gIC8vIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzLlxuICBmb250LWZhbWlseTogXCJpY29tb29uXCIgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBtaXhpbiBidXR0b24ge1xuICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgYmFja2dyb3VuZDogJGdyZXktZGFyaztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6ICRtZWRpdW07XG4gIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cbi5idXR0b24ge1xuICBAaW5jbHVkZSBidXR0b247XG59XG5cbkBtaXhpbiBidXR0b24tLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGdyZXktZGFyaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi5idXR0b24tLXByaW1hcnkge1xuICBAaW5jbHVkZSBidXR0b24tLXByaW1hcnk7XG59XG5cbkBtaXhpbiBidXR0b24tLXNlY3VuZGFyeSB7XG4gIGJhY2tncm91bmQ6ICRzZWN1bmRhcnk7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG4uYnV0dG9uLS1zZWN1bmRhcnkge1xuICBAaW5jbHVkZSBidXR0b24tLXNlY3VuZGFyeTtcbn1cblxuQG1peGluIGJ1dHRvbi0tc21hbGxlciB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5idXR0b24tLXNtYWxsZXIge1xuICBAaW5jbHVkZSBidXR0b24tLXNtYWxsZXI7XG59XG5AbWl4aW4gYnV0dG9uLS1tZWRpdW0ge1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMXB4O1xufVxuLmJ1dHRvbi0tbWVkaXVtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLS1tZWRpdW07XG59XG5cbi5idXR0b24tLWRvd25sb2FkLFxuLmJ1dHRvbi0tZWRpdCxcbi5idXR0b24tLXZpZXcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICBjb2xvcjogJGNvbG9yO1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJ1dHRvbi0tZG93bmxvYWQge1xuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGljb25zO1xuICAgIEBleHRlbmQgLmljb24tZG93bmxvYWQ7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICB9XG59XG5cbi5idXR0b24tLWVkaXQge1xuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGljb25zO1xuICAgIEBleHRlbmQgLmljb24tZWRpdDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cblxuLmJ1dHRvbi0tdmlldyB7XG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgaWNvbnM7XG4gICAgQGV4dGVuZCAuaWNvbi12aWV3O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuXG4uYnV0dG9uLWFjdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiAkbWVkaXVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGljb25zO1xuICAgIEBleHRlbmQgLmljb24tcGx1cztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cbiIsIi8vIEFkZCB5b3VyIHNpdGUtdmFyaWFibGVzLCBzdWNoIGFzIGNvbG91cnMgYW5kIGZvbnQgc2l6ZXMgaW4gdGhpcyBmaWxlLlxuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTogZmFsc2U7XG4kbm9ybWFsaXplLWhlYWRpbmdzOiB0cnVlO1xuXG4vLyBDb2xvcnNcbiRiYWNrZ3JvdW5kOiAjZmZmO1xuJGNvbG9yOiAjNWM1YzVjO1xuXG4kYmxhY2s6ICMwMDA7XG4kZ3JleS1ibGFjazogIzEzMTQxMztcbiRncmV5LWRhcms6ICM0YTRhNGE7XG4kZ3JleTogIzVjNWM1YztcbiRncmV5LWxpZ2h0OiAjOTc5Nzk3O1xuJGdyZXktd2hpdGU6ICNmN2Y3Zjc7XG4kd2hpdGU6ICNmZmY7XG4kcmVkLWRhcms6ICM5NjE2MTY7XG4kZ3JlZW46ICM3ZmM2MDA7XG5cbiRwcmltYXJ5OiAkZ3JlZW47XG4kcHJpbWFyeS0tbWlkZGxlOiAjZTVmNmNiO1xuJHByaW1hcnktbGlnaHQ6ICNmMmZhZTU7XG4kc2VjdW5kYXJ5OiAjMDAwO1xuXG4kYmx1ZTogIzQzYWFiYztcbiR5ZWxsb3c6ICNmYmMxMDA7XG4kcmVkOiAjZTU1NDFhO1xuXG4kZXJyb3I6ICNhOTQ0NDI7XG5cbiRiYXNlLXRleHQtY29sb3I6ICRjb2xvcjtcbiRiYXNlLXNlbGVjdGVkLXRleHQtY29sb3I6IGludmVydCgkYmFzZS10ZXh0LWNvbG9yKTtcbiRiYXNlLXNlbGVjdGVkLXRleHQtYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYmFzZS10ZXh0LWNvbG9yLCA1MCUpO1xuJGJhc2UtbGluay1jb2xvcjogJHByaW1hcnk7XG4kYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAkcHJpbWFyeTtcblxuLy8gRm9udHNcblxuJGJhc2UtZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4kYmFzZS1mb250LXNpemU6IDE2cHg7XG4kYmFzZS1saW5lLWhlaWdodDogMS42MjU7XG5cbiR0aGluOiAxMDA7XG4kbGlnaHQ6IDMwMDtcbiRyZWd1bGFyOiA0MDA7XG4kbWVkaXVtOiA1MDA7XG4kc2VtaWJvbGQ6IDYwMDtcbiRib2xkOiA3MDA7XG5cbi8vIEJyZWFrcG9pbnRzXG4kYnJlYWtwb2ludC0xOiA1NjBweDtcbiRicmVha3BvaW50LTI6IDcyMHB4O1xuJGJyZWFrcG9pbnQtMzogODgwcHg7XG4kYnJlYWtwb2ludC00OiA5NjBweDtcbiRicmVha3BvaW50LTU6IDEwMjRweDtcbiRicmVha3BvaW50LTY6IDExMDBweDtcbiRicmVha3BvaW50LTc6IDEzNTVweDtcblxuJG1lbnUtc3dpdGNoOiA3NjBweDtcblxuJG1lbnUtbW9iaWxlLWhlaWdodDogOTFweDtcblxuJGZvcm0tbGFiZWw6IDI1MHB4O1xuLy8gR3JpZCBzZXR0aW5ncyAoUG93ZXJlZCBieSBCb3VyYm9uIE5lYXQpLlxuLy8gU291cmNlOiBodHRwOi8vdGhvdWdodGJvdC5naXRodWIuaW8vbmVhdC1kb2NzL2xhdGVzdC8jdmFyaWFibGVcblxuLy8gU2V0cyB0aGUgcmVsYXRpdmUgd2lkdGggb2YgYSBzaW5nbGUgZ3JpZCBjb2x1bW4uIFRoZSB1bml0IHVzZWQgc2hvdWxkIGJlIHRoZSBzYW1lIG9uZSB1c2VkIHRvIGRlZmluZSBgJGd1dHRlcmAuXG4kY29sdW1uOiA2MDtcblxuLy8gU2V0cyB0aGUgcmVsYXRpdmUgd2lkdGggb2YgYSBzaW5nbGUgZ3JpZCBndXR0ZXIuIFRoZSB1bml0IHVzZWQgc2hvdWxkIGJlIHRoZSBzYW1lIG9uZSB1c2VkIHRvIGRlZmluZSBgJGNvbHVtbmAuXG4kZ3V0dGVyOiA0NDtcblxuLy8gU2V0cyB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuIEl0cyB2YWx1ZSBjYW4gYmUgb3ZlcnJpZGRlbiBpbnNpZGUgYSBtZWRpYSBxdWVyeSB1c2luZyB0aGUgYG1lZGlhKClgIG1peGluLlxuJGdyaWQtY29sdW1uczogMTI7XG5cbi8vIFNldHMgdGhlIG1heC13aWR0aCBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCB0aGF0IGluY2x1ZGVzIGBvdXRlci1jb250YWluZXIoKWAuXG4kbWF4LXdpZHRoOiAxMjAwcHg7XG5cbi8vIFdoZW4gc2V0IHRvIHRydWUsIGl0IHNldHMgdGhlIGJveC1zaXppbmcgcHJvcGVydHkgb2YgYWxsIGVsZW1lbnRzIHRvIGBib3JkZXItYm94YC5cbiRib3JkZXItYm94LXNpemluZzogdHJ1ZTtcblxuLy8gU2V0cyB0aGUgZGVmYXVsdCBsYXlvdXQgZGlyZWN0aW9uIG9mIHRoZSBncmlkLiBDYW4gYmUgYExUUmAgb3IgYFJUTGAuXG4kZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uOiBMVFI7XG5cbi8vIERpc3BsYXlzIHRoZSB2aXN1YWwgZ3JpZCB3aGVuIHNldCB0byB0cnVlLlxuLy8gVGhlIG92ZXJsYWlkIGdyaWQgbWF5IGJlIGZldyBwaXhlbHMgb2ZmIGRlcGVuZGluZyBvbiB0aGUgYnJvd3NlcidzIHJlbmRlcmluZyBlbmdpbmUgYW5kIHBpeGVsIHJvdW5kaW5nIGFsZ29yaXRobS5cbiR2aXN1YWwtZ3JpZDogZmFsc2U7XG5cbi8vIFNldHMgdGhlIHZpc3VhbCBncmlkIGNvbG9yLlxuJHZpc3VhbC1ncmlkLWNvbG9yOiAjZWVlO1xuXG4vLyBTZXRzIHRoZSAnei1pbmRleCcgcHJvcGVydHkgb2YgdGhlIHZpc3VhbCBncmlkLiBDYW4gYmUgYGJhY2tgIChiZWhpbmQgY29udGVudCkgb3IgYGZyb250YCAoaW4gZnJvbnQgb2YgY29udGVudCkuXG4kdmlzdWFsLWdyaWQtaW5kZXg6IGJhY2s7XG5cbi8vIFNldHMgdGhlIG9wYWNpdHkgcHJvcGVydHkgb2YgdGhlIHZpc3VhbCBncmlkLlxuJHZpc3VhbC1ncmlkLW9wYWNpdHk6IDAuNDtcbiIsIiRnYmwtbG9nby1jb2xvcjogJHByaW1hcnk7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2dibC1pY29ucyc7XG4gIHNyYzogIHVybCgnLi4vZm9udHMvZ2JsLWljb25zL2ljb21vb24uZW90P21rZzhnNycpO1xuICBzcmM6ICB1cmwoJy4uL2ZvbnRzL2dibC1pY29ucy9pY29tb29uLmVvdD9ta2c4ZzcjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnLi4vZm9udHMvZ2JsLWljb25zL2ljb21vb24ud29mZjI/bWtnOGc3JykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uL2ZvbnRzL2dibC1pY29ucy9pY29tb29uLnR0Zj9ta2c4ZzcnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnLi4vZm9udHMvZ2JsLWljb25zL2ljb21vb24ud29mZj9ta2c4ZzcnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcuLi9mb250cy9nYmwtaWNvbnMvaWNvbW9vbi5zdmc/bWtnOGc3I2ljb21vb24nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBtaXhpbiBnYmwtaWNvbnMge1xuICAvLyB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250c1xuICBmb250LWZhbWlseTogJ2dibC1pY29ucycgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIFNvY2lhbCBtZWRpYSBpY29ucy5cbltjbGFzc149XCJnYmwtaWNvbnMtXCJdLFxuW2NsYXNzKj1cImdibC1pY29ucy1cIl0ge1xuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGdibC1pY29ucztcbiAgfVxufVxuLmdibC1pY29ucy1nb29nbGUtcGx1czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOGJcIjtcbn1cbi5nYmwtaWNvbnMtZmFjZWJvb2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTkwXCI7XG59XG4uZ2JsLWljb25zLWluc3RhZ3JhbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTJcIjtcbn1cbi5nYmwtaWNvbnMtdHdpdHRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTZcIjtcbn1cbi5nYmwtaWNvbnMteW91dHViZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOWRcIjtcbn1cbi5nYmwtaWNvbnMtbGlua2VkaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWNhXCI7XG59XG4uZ2JsLWljb25zLXBpbnRlcmVzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZDFcIjtcbn1cbi5nYmwtaWNvbnMtY3Jvc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG5cblxuLy8gR0JMIGxvZ28gKGZvb3Rlcilcbi5nYmwtbG9nbyB7XG4gIHRyYW5zaXRpb246IGFsbCAxMDBtcyBsaW5lYXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICRnYmwtbG9nby1jb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNTFweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIHRvcDogNXB4O1xuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgY29sb3I6ICRnYmwtbG9nby1jb2xvcjtcbiAgICAuZ2JsLWxvZ29fX2J5IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICByaWdodDogNTVweDtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuICAgIC5nYmwtbG9nb19fbG9nbyB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmdibC1sb2dvX19ieSB7XG4gIHRyYW5zaXRpb246IGFsbCAxMDBtcyBsaW5lYXI7XG4gIGZvbnQtc2l6ZTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogNzNweDtcbiAgdG9wOiAzcHg7XG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZ2JsLWljb25zO1xuICAgIGNvbnRlbnQ6ICdcXGU5MDUnO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuLmdibC1sb2dvX19sb2dvIHtcbiAgZm9udC1zaXplOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBnYmwtaWNvbnM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDEwMG1zIGxpbmVhcjtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjb250ZW50OiAnXFxlOTAxJztcbiAgfVxuICAmOjphZnRlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjb250ZW50OiAnXFxlOTAwJztcbiAgfVxufVxuIiwidGFibGUge1xuICBjb2xvcjogJGJsYWNrO1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMykge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdHIge1xuICAgIHRoOmxhc3QtY2hpbGQsXG4gICAgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC02KSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHRkIHtcbiAgICBwYWRkaW5nOiA1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC02KSB7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICB9XG5cbiAgICAmLnZpZXdzLWZpZWxkLWZpZWxkLW9yZGVyLWRlbGl2ZXJ5d2VlayB7XG4gICAgICBmb250LXdlaWdodDogJG1lZGl1bTtcbiAgICB9XG4gIH1cbiAgdGhlYWQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGgge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHBhZGRpbmc6IDMwcHggMTBweCAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC02KSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHRib2R5IHtcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JleS13aGl0ZTtcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMTVweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTYpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuY2VydGlmaWVkLXBhcnRuZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS0tbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudGFibGVzb3J0IHtcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYW5nbGUuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIG1hcmdpbjogLTJweCAwIDAgMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICAgICYtLWFzYyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTcGVjaWZpYyB0YWJsZSBmaWVsZCB3aWR0aHMuXG4udmlld3MtZmllbGQtZmllbGQtb3JkZXItc3RhdHVzIHtcbiAgd2lkdGg6IDQwcHg7XG59XG5cbi8vIFZpZXdzIHdpdGggdGFibGUgaGF2ZSBhIGJvcmRlci5cbi52aWV3LS10YWJsZSB7XG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWRhcms7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gT3V0cHV0cyBhIG1lZGlhLXF1ZXJ5IGJsb2NrIHdpdGggYW4gb3B0aW9uYWwgZ3JpZCBjb250ZXh0ICh0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZCkuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxuLy8vICAgQSBsaXN0IG9mIG1lZGlhIHF1ZXJ5IGZlYXR1cmVzIGFuZCB2YWx1ZXMsIHdoZXJlIGVhY2ggYCRmZWF0dXJlYCBzaG91bGQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYCR2YWx1ZWAuXG4vLy8gICBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIGAkdmFsdWVgIGluIGAkcXVlcnlgLCBgJGRlZmF1bHQtZmVhdHVyZWAgaXMgZ29pbmcgdG8gYmUgdXNlZC5cbi8vL1xuLy8vICAgVGhlIG51bWJlciBvZiB0b3RhbCBjb2x1bW5zIGluIHRoZSBncmlkIGNhbiBiZSBzZXQgYnkgcGFzc2luZyBgJGNvbHVtbnNgIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKG92ZXJyaWRlcyBgJHRvdGFsLWNvbHVtbnNgKS5cbi8vL1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKDc2OXB4KSB7XG4vLy8gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbWVkaWEobWluLXdpZHRoIDMyMHB4IG1heC13aWR0aCA0ODBweCwgNikge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG5cbkBtaXhpbiBtZWRpYSgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkbG9vcC10bzogbGVuZ3RoKCRxdWVyeSk7XG4gICAgJG1lZGlhLXF1ZXJ5OiBcInNjcmVlbiBhbmQgXCI7XG4gICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG5cbiAgICBAaWYgaXMtbm90KGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpKSB7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAkbG9vcC10bykgIWdsb2JhbDtcbiAgICAgICRsb29wLXRvOiAkbG9vcC10byAtIDE7XG4gICAgfVxuXG4gICAgJGk6IDE7XG4gICAgQHdoaWxlICRpIDw9ICRsb29wLXRvIHtcbiAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCIoXCIgKyBudGgoJHF1ZXJ5LCAkaSkgKyBcIjogXCIgKyBudGgoJHF1ZXJ5LCAkaSArIDEpICsgXCIpIFwiO1xuXG4gICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xuICAgICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiYW5kIFwiO1xuICAgICAgfVxuXG4gICAgICAkaTogJGkgKyAyO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpYS1xdWVyeX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn1cbiIsImh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgY29sb3I6ICRiYXNlLXRleHQtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcblxuICA6OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGJhc2Utc2VsZWN0ZWQtdGV4dC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiAkYmFzZS1zZWxlY3RlZC10ZXh0LWNvbG9yO1xuICB9XG4gIDo6LW1vei1zZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXNlbGVjdGVkLXRleHQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJGJhc2Utc2VsZWN0ZWQtdGV4dC1jb2xvcjtcbiAgfVxufVxuXG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0O1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRsaWdodDtcbn1cblxuLy8gQmFzZSBsaW5rIHNldHRpbmdzXG5hIHtcbiAgdHJhbnNpdGlvbjogYWxsIDEwMG1zIGxpbmVhcjtcbiAgY29sb3I6ICRiYXNlLWxpbmstY29sb3I7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRiYXNlLWxpbmstaG92ZXItY29sb3I7XG4gIH1cbiAgLmNvbnRlbnQgJiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJhc2UtbGluay1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGV4dFxucCB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG59XG5cbnAuaGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gIGZvbnQtd2VpZ2h0OiAkbWVkaXVtO1xuICBjb2xvcjogJHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMDtcbn1cblxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRib2xkO1xufVxuXG4vLyBIZWFkZXJzXG5oMSB7XG4gIEBpbmNsdWRlIHRpdGxlLWJvcmRlcjtcbiAgY29sb3I6ICRwcmltYXJ5O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAzNXB4O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICAvLyBQYWdlcyB3aXRoIGEgc3VidGl0bGUgZG8gbm90IGhhdmUgYSBib3JkZXIuXG4gIC5wYWdlLW5vZGUtdHlwZS1wYWdlICYge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbmgyIHtcbiAgZm9udC13ZWlnaHQ6ICRsaWdodDtcbiAgZm9udC1zaXplOiAzMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbmgyLmhpZ2hsaWdodGVkIHtcbiAgQGluY2x1ZGUgaGlnaGxpZ2h0ZWQtdGl0bGU7XG59XG5cbmgzIHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbn1cblxuaDQge1xuICBtYXJnaW46IDAgMCAxMHB4O1xufVxuXG5oNSB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG59XG5cbmg2IHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbn1cblxudWwge1xuICBtYXJnaW46IDAgMCAwIDA7XG4gIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5pbWcuYWxpZ24tbGVmdCB7XG4gIG1hcmdpbjogMCA2MHB4IDAgMDtcbn1cbmltZy5hbGlnbi1yaWdodCB7XG4gIG1hcmdpbjogMCAwIDAgNjBweDtcbn1cbiIsIi8vLyBAZ3JvdXAgaGVscGVyc1xuQG1peGluIG9tZWdhLXJlc2V0KCRudGgsICRjb250ZXh0OiBudWxsKSB7XG4gIEBpZiAkY29udGV4dCA9PSBudWxsIHtcbiAgICAmOm50aC1jaGlsZCgjeyRudGh9bikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBmbGV4LWd1dHRlcigpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJjpudGgtY2hpbGQoI3skbnRofW4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogZmxleC1ndXR0ZXIoJGNvbnRleHQpO1xuICAgIH1cbiAgfVxuICAmOm50aC1jaGlsZCgjeyRudGh9biArIDEpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxufVxuXG4vLy8gRGVmYXVsdCBjb250YWluZXIgaGVscGVyIG1peGluLCBiYXNlZCBvbiBncmlkIHNpemVcbi8vLyBAZ3JvdXAgaGVscGVyc1xuQG1peGluIGNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcjtcbiAgQGluY2x1ZGUgbWVkaWEoJG1heC13aWR0aCArIDYwcHgsIHRydWUpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG59XG5cbi8vLyBIZWxwZXIgbWl4aW4gdG8gcGxhY2UgYSBkaXYgaW4gdGhlIG1pZGRsZVxuLy8vIHdpdGggcG9zaXRpb24gYWJzb2x1dGUuXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vL1xuLy8vIEBwYXJhbSB7TGVuZ3RofSAkd2lkdGggLSBFbGVtZW50J3Mgd2lkdGhcbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGhlaWdodCBbJHdpZHRoXSAtIEVsZW1lbnQncyBoZWlnaHRcbi8vLyBAb3V0cHV0IGB3aWR0aGAgYW5kIGBoZWlnaHRgXG4vLy9cbkBtaXhpbiBjZW50ZXItZGl2KCR3aWR0aCwgJGhlaWdodCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luLWxlZnQ6IC0kd2lkdGggLyAyO1xuICBtYXJnaW4tdG9wOiAtJGhlaWdodCAvIDI7XG59XG5cbkBtaXhpbiB0aXRsZS1ib3JkZXIge1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogOTVweDtcbiAgICBtYXJnaW46IDMwcHggYXV0byAzNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1saWdodDtcbiAgfVxufVxuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICB3aWR0aDogJGZvcm0tbGFiZWw7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gIC8vIGZvbnQtd2VpZ2h0OiAkbGlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiAkbWVkaXVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgLy8gY29sb3I6ICRjb2xvcjtcbiAgY29sb3I6ICRibGFjaztcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDdweCAzNXB4IDRweCAwO1xufVxuXG5AbWl4aW4gaGlnaGxpZ2h0ZWQtdGl0bGUge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6ICRtZWRpdW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMTFweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDU1cHg7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogMjBweCBzb2xpZCAkcHJpbWFyeTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBib3R0b206IC0yMHB4O1xuICB9XG59XG5cbkBtaXhpbiBmb3JtLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgZm9udC1zaXplOiAyM3B4O1xuICBjb2xvcjogJHByaW1hcnk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcHJpbWFyeTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCAwIDQwcHggMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vY3NzbW9qby5jb20vbGF0ZXN0X25ld19jbGVhcmZpeF9zb19mYXIvXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG4iLCIuZ3JpZCB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xufVxuXG4uZ3JpZF9faXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IGZsZXgtZ3V0dGVyKCRncmlkLWNvbHVtbnMpO1xufVxuXG4uZ3JpZF9faXRlbS0tNiB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNiBvZiAxMik7XG4gICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICB9XG59XG5cbi5ncmlkX19pdGVtLS00IHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yKSB7XG4gICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoMik7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xuICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgfVxuICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIgb2YgMTIpO1xufVxuXG4uZ3JpZF9faXRlbS0tMyB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNiBvZiAxMik7XG4gICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDIpO1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDEyKTtcbiAgICBAaW5jbHVkZSBvbWVnYSg0bik7XG4gIH1cbn1cblxuLmdyaWRfX2l0ZW0tLTIge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xuICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDIpO1xuICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMiBvZiAxMik7XG4gICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoMyk7XG4gICAgQGluY2x1ZGUgb21lZ2EoNm4pO1xuICB9XG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgQGluY2x1ZGUgb21lZ2EoMm4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCBhIG91dGVyIGNvbnRhaW5lciBieSBjZW50cmluZyBpdCBpbiB0aGUgdmlld3BvcnQsIGNsZWFyaW5nIGl0cyBmbG9hdHMsIGFuZCBzZXR0aW5nIGl0cyBgbWF4LXdpZHRoYC5cbi8vLyBBbHRob3VnaCBvcHRpb25hbCwgdXNpbmcgYG91dGVyLWNvbnRhaW5lcmAgaXMgcmVjb21tZW5kZWQuIFRoZSBtaXhpbiBjYW4gYmUgY2FsbGVkIG9uIG1vcmUgdGhhbiBvbmUgZWxlbWVudCBwZXIgcGFnZSwgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgbmVzdGVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgW3VuaXRdfSAkbG9jYWwtbWF4LXdpZHRoIFskbWF4LXdpZHRoXVxuLy8vICAgTWF4IHdpZHRoIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQuIENhbiBiZSBhIHBlcmNlbnRhZ2Ugb3IgYSBtZWFzdXJlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgKnpvb206IDE7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4vLy8gICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YmVmb3JlLCAuZWxlbWVudDphZnRlciB7XG4vLy8gICAgIGNvbnRlbnQ6IFwiIFwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgIH1cblxuQG1peGluIG91dGVyLWNvbnRhaW5lcigkbG9jYWwtbWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRsb2NhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW4gZWxlbWVudCBzaG91bGQgc3Bhbi4gSWYgdGhlIHNlbGVjdG9yIGlzIG5lc3RlZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgaXRzIHBhcmVudCBlbGVtZW50IHNob3VsZCBiZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQgYXMgd2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNwYW5cbi8vLyAgIEEgbGlzdCBjb250YWluaW5nIGAkY29sdW1uc2AsIHRoZSB1bml0bGVzcyBudW1iZXIgb2YgY29sdW1ucyB0aGUgZWxlbWVudCBzcGFucyAocmVxdWlyZWQpLCBhbmQgYCRjb250YWluZXItY29sdW1uc2AsIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGUgcGFyZW50IGVsZW1lbnQgc3BhbnMgKG9wdGlvbmFsKS5cbi8vL1xuLy8vICAgSWYgb25seSBvbmUgdmFsdWUgaXMgcGFzc2VkLCBpdCBpcyBhc3N1bWVkIHRoYXQgaXQncyBgJGNvbHVtbnNgIGFuZCB0aGF0IHRoYXQgYCRjb250YWluZXItY29sdW1uc2AgaXMgZXF1YWwgdG8gYCRncmlkLWNvbHVtbnNgLCB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4vLy9cbi8vLyAgIFRoZSB2YWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCB3aXRoIGFueSBzdHJpbmcgc3VjaCBhcyBgb2ZgLCBgL2AsIGV0Yy5cbi8vL1xuLy8vICAgYCRjb2x1bW5zYCBhbHNvIGFjY2VwdHMgZGVjaW1hbHMgZm9yIHdoZW4gaXQncyBuZWNlc3NhcnkgdG8gYnJlYWsgb3V0IG9mIHRoZSBzdGFuZGFyZCBncmlkLiBFLmcuIFBhc3NpbmcgYDIuNGAgaW4gYSBzdGFuZGFyZCAxMiBjb2x1bW4gZ3JpZCB3aWxsIGRpdmlkZSB0aGUgcm93IGludG8gNSBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtibG9ja11cbi8vLyAgIFNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuIEJ5IGRlZmF1bHQgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0IG9mIHRoZSBlbGVtZW50IHRvIGBibG9ja2AuXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgYmxvY2stY29sbGFwc2VgLCBpdCBhbHNvIHJlbW92ZXMgdGhlIG1hcmdpbiBndXR0ZXIgYnkgYWRkaW5nIGl0IHRvIHRoZSBlbGVtZW50IHdpZHRoLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYHRhYmxlYCwgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSB0byBgdGFibGUtY2VsbGAgYW5kIGNhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIHRoZSBlbGVtZW50IHdpdGhvdXQgdGFraW5nIGd1dHRlcnMgaW50byBjb25zaWRlcmF0aW9uLiBUaGUgcmVzdWx0IGRvZXMgbm90IGFsaWduIHdpdGggdGhlIGJsb2NrLWJhc2VkIGdyaWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vXG4vLy8gICAgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyIG9mIDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgd2lkdGg6IDMwLjExMzg5JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG5cbkBtaXhpbiBzcGFuLWNvbHVtbnMoJHNwYW46ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucywgJGRpc3BsYXk6IGJsb2NrKSB7XG4gICRjb2x1bW5zOiBudGgoJHNwYW4sIDEpO1xuICAkY29udGFpbmVyLWNvbHVtbnM6IGNvbnRhaW5lci1zcGFuKCRzcGFuKTtcblxuICAkcGFyZW50LWNvbHVtbnM6IGdldC1wYXJlbnQtY29sdW1ucygkY29udGFpbmVyLWNvbHVtbnMpICFnbG9iYWw7XG5cbiAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJGRpc3BsYXktdGFibGU6IGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSk7XG5cbiAgQGlmICRkaXNwbGF5LXRhYmxlICB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRjb250YWluZXItY29sdW1ucyk7XG4gIH0gQGVsc2Uge1xuICAgIGZsb2F0OiAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259O1xuXG4gICAgQGlmICRkaXNwbGF5ICE9IG5vLWRpc3BsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJ2NvbGxhcHNlJyBhcmd1bWVudCB3aWxsIGJlIGRlcHJlY2F0ZWQuIFVzZSAnYmxvY2stY29sbGFwc2UnIGluc3RlYWQuXCIpO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSBvciAkZGlzcGxheSA9PSBibG9jay1jb2xsYXBzZSB7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpICsgZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIH1cblxuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFJlbW92ZXMgdGhlIGVsZW1lbnQncyBndXR0ZXIgbWFyZ2luLCByZWdhcmRsZXNzIG9mIGl0cyBwb3NpdGlvbiBpbiB0aGUgZ3JpZCBoaWVyYXJjaHkgb3IgZGlzcGxheSBwcm9wZXJ0eS4gSXQgY2FuIHRhcmdldCBhIHNwZWNpZmljIGVsZW1lbnQsIG9yIGV2ZXJ5IGBudGgtY2hpbGRgIG9jY3VycmVuY2UuIFdvcmtzIG9ubHkgd2l0aCBgYmxvY2tgIGxheW91dHMuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeSBbYmxvY2tdXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50cy4gU3VwcG9ydGVkIGFyZ3VtZW50cyBhcmUgYG50aC1jaGlsZGAgc2VsZWN0b3JzICh0YXJnZXRzIGEgc3BlY2lmaWMgcHNldWRvIGVsZW1lbnQpIGFuZCBgYXV0b2AgKHRhcmdldHMgYGxhc3QtY2hpbGRgKS5cbi8vL1xuLy8vICAgV2hlbiBwYXNzZWQgYW4gYG50aC1jaGlsZGAgYXJndW1lbnQgb2YgdHlwZSBgKm5gIHdpdGggYGJsb2NrYCBkaXNwbGF5LCB0aGUgb21lZ2EgbWl4aW4gYXV0b21hdGljYWxseSBhZGRzIGEgY2xlYXIgdG8gdGhlIGAqbisxYCB0aCBlbGVtZW50LiBOb3RlIHRoYXQgY29tcG9zaXRlIGFyZ3VtZW50cyBzdWNoIGFzIGAybisxYCBkbyBub3Qgc3VwcG9ydCB0aGlzIGZlYXR1cmUuXG4vLy9cbi8vLyAgICoqRGVwcmVjYXRpb24gd2FybmluZyoqOiBUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhIGAkZGlyZWN0aW9uYCBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgYHJvdygkZGlyZWN0aW9uKWAgb3Igc2V0IGAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uYCBpbnN0ZWFkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYSg0bik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bikge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4rMSkge1xuLy8vICAgICBjbGVhcjogbGVmdDtcbi8vLyAgIH1cblxuQG1peGluIG9tZWdhKCRxdWVyeTogYmxvY2ssICRkaXJlY3Rpb246IGRlZmF1bHQpIHtcbiAgJHRhYmxlOiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpO1xuICAkYXV0bzogYmVsb25ncy10byhhdXRvLCAkcXVlcnkpO1xuXG4gIEBpZiAkZGlyZWN0aW9uICE9IGRlZmF1bHQge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhICRkaXJlY3Rpb24gYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIHRoZSBkaXJlY3Rpb24oKXsuLi59IG1peGluLlwiKTtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gIH1cblxuICBAaWYgJHRhYmxlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIG5vIGxvbmdlciByZW1vdmVzIHBhZGRpbmcgaW4gdGFibGUgbGF5b3V0cy5cIik7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQGlmICRhdXRvIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmIGNvbnRhaW5zLWRpc3BsYXktdmFsdWUoJHF1ZXJ5KSBhbmQgJHRhYmxlID09IGZhbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAyIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQobnRoKCRxdWVyeSwgMSksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRvbyBtYW55IGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIG9tZWdhKCkgbWl4aW4uXCIpO1xuICB9XG59XG5cbkBtaXhpbiBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKSB7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJjpudGgtY2hpbGQoI3skcXVlcnl9KSB7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkcXVlcnkpID09IG51bWJlciBhbmQgdW5pdCgkcXVlcnkpID09IFwiblwiIHtcbiAgICAmOm50aC1jaGlsZCgjeyRxdWVyeX0rMSkge1xuICAgICAgY2xlYXI6ICRvcHBvc2l0ZS1kaXJlY3Rpb247XG4gICAgfVxuICB9XG59XG4iLCIuY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyO1xufVxuXG4ubHQtaWU5IC5jb250YWluZXIge1xuICB3aWR0aDogJG1heC13aWR0aDtcbn1cblxuLmxheW91dC1zaWRlYmFyLWZpcnN0IHtcbiAgLm1haW4ge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5IG9mIDEyKTtcbiAgICB9XG4gIH1cbiAgLnNpZGViYXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDEyKTtcbiAgICB9XG4gIH1cbn1cblxuLmxheW91dC1zaWRlYmFyLXNlY29uZCB7XG4gIC5tYWluIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yKSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCBvZiAxMik7XG4gICAgfVxuICB9XG4gIC5zaWRlYmFyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yKSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCBvZiAxMik7XG4gICAgfVxuICB9XG59XG4iLCIuY29sMi00LTgge1xuICAkdGhpczogJjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICZfX2xlZnQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTQpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0IG9mIDEyKTtcbiAgICB9XG4gIH1cbiAgJl9fcmlnaHQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4IG9mIDEyKTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cbiAgfVxufVxuXG4iLCIuY29sMi01MCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAmX19yaWdodCxcbiAgJl9fbGVmdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMykge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuIiwiLmNvbDItOC00IHtcbiAgJHRoaXM6ICY7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAmX19sZWZ0IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCBvZiAxMik7XG4gICAgfVxuICB9XG4gICZfX3JpZ2h0IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC00KSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCBvZiAxMik7XG4gICAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICB9XG4gIH1cbn1cblxuIiwiLmNvbDItOS0zIHtcbiAgJHRoaXM6ICY7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAmX19sZWZ0IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC00KSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOSBvZiAxMik7XG4gICAgfVxuICB9XG4gICZfX3JpZ2h0IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC00KSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiAxMik7XG4gICAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICB9XG4gIH1cbn1cbiIsIi5sYXlvdXQtMmNvbCB7XG4gICZfX2xlZnQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgICB9XG4gIH1cbiAgJl9fcmlnaHQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cbiAgfVxufVxuIiwiZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogJGdyZXktd2hpdGU7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCAkcHJpbWFyeTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwYWRkaW5nOiA0MHB4IDAgODBweDtcbiAgbWFyZ2luOiAxMDBweCAwIDAgMDtcbiAgYSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIGgyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC01KSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICBjb2xvcjogJGdyZXktYmxhY2s7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgfVxuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC01KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAuYmxvY2sge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTUpIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC01KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgIG1hcmdpbi1yaWdodDogNCU7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDNuKSxcbiAgICAmOm50aC1jaGlsZCg0bikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtNSkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG4gICAgICB3aWR0aDogNDglO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIubW9iaWxlLS1vcGVuLFxuLnBhZ2Utb3ZlcmxheS0tb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wYWdlLW92ZXJsYXlfX29wZW4ge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVudS1zd2l0Y2gpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAwO1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDMwcHg7XG59XG5cbi5wYWdlLW92ZXJsYXlfX2Nsb3NlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDA7XG4gIGZsb2F0OiByaWdodDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNDZweDtcbiAgdG9wOiAzMHB4O1xuICAmOjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxufVxuXG4ucGFnZS1vdmVybGF5IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAkbWVudS1tb2JpbGUtaGVpZ2h0O1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTE7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLm1vYmlsZS0tb3BlbiAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDE1O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgdWwubWVudSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcGFkZGluZzogNnB4IDMwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LWxpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2Utc3ViY29udGVudCB7XG4gIG1hcmdpbjogNDBweCAwIDAgMDtcblxuICAuYmxvY2stdmlld3MtYmxvY2tyZXZpc2lvbnMtYmxvY2stMSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yKSB7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2UtdG9wYmFyIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lbnUtc3dpdGNoKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmc6IDI1cHggMCAxNXB4IDA7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAyMDtcbiAgLmJsb2NrIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbWVudS1zd2l0Y2gpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYmxvY2stc3lzdGVtIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbWVudS1zd2l0Y2gpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnNpdGUtbG9nbyB7XG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtZW51LXN3aXRjaCkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBtYXgtd2lkdGg6IDE3NXB4O1xuICAgIH1cbiAgfVxuICB1bC5tZW51IHtcbiAgICBtYXJnaW46IDNweCAwIDAgMDtcbiAgICBsaSB7XG4gICAgICBtYXJnaW46IDAgMCAwIDMwcHg7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgJi5pcy1hY3RpdmUsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgICAubWVudS1pdGVtLS1hY3RpdmUtdHJhaWwge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fbG9naW4ge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtZW51LXN3aXRjaCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAzMHB4O1xuICAgIHRvcDogMjVweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lbnUtc3dpdGNoKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgcGFkZGluZy10b3A6ICRtZW51LW1vYmlsZS1oZWlnaHQ7XG59XG5cbi5jb250ZW50IHtcbiAgcGFkZGluZzogODBweCAwIDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICB0b3A6IC0yMHB4O1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxufVxuIiwiLmFjdGlvbi1saW5rcyB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFkZHJlc3Mge1xyXG4gIC5sb2NhbGl0eSxcclxuICAuYWRkcmVzcy1saW5lMSArIGJyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIi5kZXRhaWxzLWRlc2NyaXB0aW9uIHtcbiAgY29sb3I6ICRlcnJvcjtcbn1cbiIsIiRoYW1idXJnZXItY29sb3I6ICMwMDA7XG4kaGFtYnVyZ2VyLXdpZHRoOiAyNXB4O1xuJGhhbWJ1cmdlci1oZWlnaHQ6IDIwcHg7XG4kaGFtYnVyZ2VyLWxpbmUtaGVpZ2h0OiAycHg7XG4kaGFtYnVyZ2VyLWxpbmUtYm9yZGVyLXJhZGl1czogMnB4O1xuXG4uaGFtYnVyZ2VyIHtcbiAgd2lkdGg6ICRoYW1idXJnZXItd2lkdGg7XG4gIGhlaWdodDogJGhhbWJ1cmdlci1oZWlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIHRyYW5zaXRpb246IC41cyBlYXNlLWluLW91dDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmhhbWJ1cmdlcl9fbGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogJGhhbWJ1cmdlci1saW5lLWhlaWdodDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICRoYW1idXJnZXItY29sb3I7XG4gIG9wYWNpdHk6IDE7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB0cmFuc2l0aW9uOiAuMjVzIGVhc2UtaW4tb3V0O1xuICBib3JkZXItcmFkaXVzOiAkaGFtYnVyZ2VyLWxpbmUtYm9yZGVyLXJhZGl1cztcbiAgJjpudGgtY2hpbGQoMSkge1xuICAgIHRvcDogMDtcbiAgICAubW9iaWxlLS1vcGVuICYge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWhlaWdodCAvIDIgLSAoJGhhbWJ1cmdlci1saW5lLWhlaWdodCAvIDIpO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgfVxuICB9XG4gICY6bnRoLWNoaWxkKDIpIHtcbiAgICB0b3A6ICRoYW1idXJnZXItaGVpZ2h0IC8gMiAtICgkaGFtYnVyZ2VyLWxpbmUtaGVpZ2h0IC8gMik7XG4gICAgLm1vYmlsZS0tb3BlbiAmIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gIH1cbiAgJjpudGgtY2hpbGQoMykge1xuICAgIHRvcDogJGhhbWJ1cmdlci1oZWlnaHQgLyAyIC0gKCRoYW1idXJnZXItbGluZS1oZWlnaHQgLyAyKTtcbiAgICAubW9iaWxlLS1vcGVuICYge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gIH1cbiAgJjpudGgtY2hpbGQoNCkge1xuICAgIHRvcDogJGhhbWJ1cmdlci1oZWlnaHQgLSAkaGFtYnVyZ2VyLWxpbmUtaGVpZ2h0O1xuICAgIC5tb2JpbGUtLW9wZW4gJiB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItaGVpZ2h0IC8gMiAtICgkaGFtYnVyZ2VyLWxpbmUtaGVpZ2h0IC8gMik7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2ljIGZhZGUgaW4uXG4ub25zY3JvbGwge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgdHJhbnNpdGlvbjogYWxsIDE1MDBtcyBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgJi5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuXG4vLyBGYWRlIGluIGZyb20gYm90dG9tIHRvIHRvcC5cbi5vbnNjcm9sbC0tYm90dG9tIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxLjVzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSksIG9wYWNpdHkgNzAwbXMgbGluZWFyO1xuICAmLmlzLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4vLyBGYWRlIGluIGZyb20gbGVmdCB0byByaWdodC5cbi5vbnNjcm9sbC0tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMDBweCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxLjVzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSksIG9wYWNpdHkgNzAwbXMgbGluZWFyO1xuICAmLmlzLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICB9XG59XG5cbi8vIEZhZGUgaW4gZnJvbSByaWdodCB0byBsZWZ0LlxuLm9uc2Nyb2xsLS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIwMHB4KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEuNXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKSwgb3BhY2l0eSA3MDBtcyBsaW5lYXI7XG4gICYuaXMtdmlzaWJsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gIH1cbn1cblxuIiwiLnBhZ2VyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDUwcHggMCAwIDA7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgOHB4O1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbiIsIi5zdGF0dXMge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICYtLXBheW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuICAmLS1zZXJ2aWNlLXNjaGVkdWxlZCxcbiAgJi0tc2VydmljZS1zY2hlZHVsZWMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG4gIH1cbiAgJi0tY2hhbmdlLFxuICAmLS1zZXJ2aWNlLXNjaGVkdWxlLFxuICAmLS1yZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gIH1cbiAgJi0tbmVlZHMtY29uZmlybWF0aW9uLFxuICAmLS15ZWxsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG4gIH1cbiAgJi0tY29uZmlybWF0aW9uLFxuICAmLS1zZXJ2aWNlLWRvbmUsXG4gICYtLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgfVxuICAmLS1kZWxpdmVyZWQsXG4gICYtLXNlcnZpY2UtZXh0cmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICB9XG59XG4iLCJAbWl4aW4gYWN0aXZlLXRhYiB7XG4gIGJhY2tncm91bmQ6ICRncmV5LWRhcms7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG51bC50YWJzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgIG1hcmdpbjogMjVweCAwIDYwcHggMDtcbiAgfVxuICBtYXJnaW46IDI1cHggMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbjtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi0tcHJpbWFyeTtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi0tbWVkaXVtO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tLXByaW1hcnk7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSBhY3RpdmUtdGFiO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgYWN0aXZlLXRhYjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLXZpZXcgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb25zO1xuICAgICAgICBAZXh0ZW5kIC5pY29uLXZpZXc7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1lZGl0IGEge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBpY29ucztcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1lZGl0O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnZpZXctZW1wdHkge1xuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1kYXJrO1xuICBwYWRkaW5nOiA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi52aWV3LWxlZ2VuZCB7XG4gIHBhZGRpbmc6IDIwcHggNTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICAuc3RhdHVzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogM3B4O1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgfVxufVxuXG4udmlldyB7XG4gIHRhYmxlIHRib2R5IHRyIHtcbiAgICAmLmFkbWVnYXRlYy1zZXJ2aWNlcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAwLjYpO1xuICAgIH1cbiAgfVxufVxuIiwiLmJsb2NrLWJhbm5lciB7XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi5ibG9jay1nYmwtZ2x1ZS1hY2NvdW50LWxpbmstYmxvY2sge1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAudG9nZ2xlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2Fycm93LWRvd24uc3ZnXCIpIG5vLXJlcGVhdCByaWdodCB0b3AgOHB4O1xuICAgIGVtIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG4gIH1cbiAgLml0ZW0tbGlzdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IDIwMG1zIGFsbCBlYXNlLW91dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JleS1kYXJrO1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMjBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktbGlnaHQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgLml0ZW0tbGlzdCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuIiwiLmJsb2NrLWhlbHAgLmNlcnRpZmljYWF0LWFhbm1ha2VuLWluZm8ge1xyXG4gIGZvbnQtd2VpZ2h0OiAkbWVkaXVtO1xyXG59XHJcbiIsIi5ibG9jay1sYW5ndWFnZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTcpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC01NXB4O1xuICB9XG4gIHVsLmxpbmtzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAuaXMtYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAwIDAgMzBweDtcbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYXNxdWVyYWRlLWJsb2NrLWZvcm0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBwYWRkaW5nOiAyMHB4O1xuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICBmb3JtIC5jb250YWluZXItaW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMjBweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgKiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmZvcm0tdHlwZS1lbnRpdHktYXV0b2NvbXBsZXRlIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgfVxuICB9XG59XG4iLCIubWVzc2FnZXMge1xuICBtYXJnaW46IDIwcHggMDtcbn1cbiIsIi5maWVsZC0tbmFtZS1ib2R5IHtcbiAgLnBhZ2UgJiB7XG4gICAgcGFkZGluZzogMCAwIDc1cHggMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogOTU2cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cbiIsIi5maWVsZC0tbmFtZS1maWVsZC1jb21wYW55LWVtcGxveWVlcyB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICA+IC5maWVsZF9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0zKSB7XG4gICAgICB3aWR0aDogNDclO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtNSkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMyU7XG4gICAgfVxuICB9XG59XG4iLCIuZmllbGQtLW5hbWUtZmllbGQtY3RhIHtcbiAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICBhIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA0OTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuIiwiLm5vZGUtZnVsbCAuZmllbGQtLW5hbWUtZmllbGQtc2VydmljZS1pbnRlcnZlbnRpb25zIHtcbiAgPiAuZmllbGRfX2l0ZW0ge1xuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRlbigkY29sb3IsIDUwJSk7XG4gICAgfVxuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgfVxufVxuXG4uZmllbGQtLW5hbWUtZmllbGQtc2VydmljZS1pbnRlcnZlbnRpb25zIHtcbiAgLnN1Ym1pdC1idXR0b24taW50ZXJ2ZW50aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmZpZWxkLW11bHRpcGxlLXRhYmxlICsgLmNsZWFyZml4IC5zdWJtaXQtYnV0dG9uLWludGVydmVudGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI1MHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuIiwiLmZpZWxkLS1sYWJlbC1pbmxpbmUge1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIC5maWVsZF9fbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbiAgLmZpZWxkX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cblxuZmllbGRzZXQgKyAuZmllbGQge1xuICBtYXJnaW4tdG9wOiAtNTBweDtcbn1cbiIsIi5maWVsZC0tdHlwZS1hZGRyZXNzIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgc3VtbWFyeSxcbiAgbGVnZW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmZvcm0taXRlbSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmllbGRzZXQtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAuZGV0YWlscy13cmFwcGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5hZGRyZXNzLWNvbnRhaW5lci1pbmxpbmUgPiAuZm9ybS1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICAvLyBFeGNlcHRpb25zIHdoZXJlIHdlIGRvIHNob3cgdGhlIHRpdGxlLlxuICAmLmZpZWxkLS1uYW1lLWZpZWxkLWFkZHJlc3MtaW5zdGFsbGF0aW9uIHtcbiAgICBsZWdlbmQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGZvcm0tbGFiZWw7XG4gICAgICB9XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogJGJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICB9XG59XG4iLCIuZmllbGQtLXR5cGUtZGF0ZXRpbWUge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xuXG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcbiAgfVxuXG4gIC5jb250YWluZXItaW5saW5lIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skZm9ybS1sYWJlbH0pO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG5cbn1cbiIsIi5maWVsZC0tdHlwZS1maWxlIHtcbiAgdGhlYWQsXG4gIC50YWJsZWRyYWctaGFuZGxlLFxuICAuZmllbGQtbXVsdGlwbGUtZHJhZyxcbiAgLnRhYmxlZHJhZy10b2dnbGUtd2VpZ2h0LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgdGFibGUge1xuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG4gIC5mb3JtLXN1Ym1pdCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLS1zbWFsbGVyO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLmZvcm1ncm91cCB7XG4gICAgLmZvcm0taXRlbS5mb3JtLXR5cGUtbWFuYWdlZC1maWxlIHtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5maWVsZC1tdWx0aXBsZS10YWJsZSB7XG4gIHRoZWFkLFxuICAuZmllbGQtbXVsdGlwbGUtZHJhZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG4gIHRkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmaWVsZHNldCB7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgbGVnZW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5maWVsZHNldC13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXItaW5saW5lIHtcbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gN3B4KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtaW50ZXJ2ZW50aW9uLWRhdGUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLXNlcnZpY2UtaW50ZXJ2ZW50aW9ucyAmIHRib2R5IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHRkIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgcmdiYSgkcHJpbWFyeSwgMC40KTtcbiAgfVxuXG4gIC5maWVsZC0tbmFtZS1maWVsZC1zZXJ2aWNlLWludGVydmVudGlvbnMgJiB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC5mb3JtLXN1Ym1pdCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLnRhYmxlZHJhZy10b2dnbGUtd2VpZ2h0LXdyYXBwZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFyYWdyYXBoLXR5cGUtdGl0bGUge1xuICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuICBmb250LXdlaWdodDogJGJvbGQ7XG4gIGZsZXgtYmFzaXM6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnBhcmFncmFwaHMtZHJvcGJ1dHRvbi13cmFwcGVyIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSkge1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1sYWJlbDtcbiAgfVxufVxuIiwiZmllbGRzZXQuZmllbGRzZXQtYXJyb3cge1xuICA+IGxlZ2VuZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5maWVsZHNldC1sZWdlbmQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3ctZG93bi0tcHJpbWFyeS5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tY2xvc2VkIHtcbiAgICA+IGxlZ2VuZCB7XG4gICAgICAuZmllbGRzZXQtbGVnZW5kOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICAgIC5maWVsZHNldC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBMYXJnZSBjb2xsYXBzaWJsZSBiYXIuXG4uZmllbGRzZXQtY29sbGFwc2libGUge1xuICA+IGxlZ2VuZCB7XG4gICAgQGluY2x1ZGUgaGlnaGxpZ2h0ZWQtdGl0bGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IDEwMG1zIGFsbCBsaW5lYXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDFweCAwIDFweCAyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG4gID4gLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgIG1hcmdpbjogNTBweCAwIDAgMDtcbiAgfVxuICAmLS1jbG9zZWQge1xuICAgID4gbGVnZW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmV5LWxpZ2h0O1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAuZmllbGRzZXQtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLmZpZWxkc2V0LWhpZGUtbGVnZW5kLFxuLmVudGl0eS1jb250ZW50LWZvcm0tcmV2aXNpb24taW5mb3JtYXRpb24ge1xuICBsZWdlbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsImZpZWxkc2V0LmZpZWxkc2V0LXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbGVnZW5kIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgICBtYXJnaW4tbGVmdDogJGZvcm0tbGFiZWw7XG4gICAgfVxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuIiwiLmZvcm0tZGF0ZSB7XG4gIHBhZGRpbmctbGVmdDogNjVweCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29uLS1kYXRlLnN2Z1wiKSBuby1yZXBlYXQgbGVmdCAyMHB4IGNlbnRlcjtcbn1cblxuLmZvcm0tZGF0ZTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyMHB4O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG59XG4iLCIuZm9ybWdyb3VwIHtcbiAgbWFyZ2luOiAwIDAgMTVweCAwICFpbXBvcnRhbnQ7XG4gIGxlZ2VuZCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcbiAgfVxuICAuZmllbGRzZXQtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGZvcm0tbGFiZWx9KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFVzZWQgaW4gd2ViZm9ybXMuXG4gICYtLTJjb2wge1xuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA3cHgpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tMmNvbC1idG0ge1xuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA3cHgpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBVc2VkIGluIG5vZGUgZm9ybXMuXG4gICYtLTJjb2wtZmllbGRzLFxuICAmLS0yY29sLWJ0bS1maWVsZHMge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5mb3JtLXdyYXBwZXIge1xuICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tMmNvbC1maWVsZHMge1xuICAgIC5mb3JtLXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA3cHgpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tMmNvbC1idG0tZmllbGRzIHtcbiAgICAuZm9ybS13cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gN3B4KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgJi5maWVsZC0tbmFtZS1maWVsZC1tb2JpbGUtMTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gN3B4KTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5maWVsZC0tbmFtZS1maWVsZC1tb2JpbGUtMjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1pdGVtLWZpZWxkLWVtYWlsLTEtMC12YWx1ZSAuZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAkcmVkO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgfVxufVxuIiwiYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbn1cblxuLmZvcm0tYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiA1NXB4IDAgMCAwO1xufVxuXG4uZm9ybS1pdGVtIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG4gICAgLy8gQWRkcyBhc3Rlcml4IGZvciByZXF1aXJlZCBmb3JtIGZpZWxkcy5cbiAgICAmLmZvcm0tcmVxdWlyZWQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAqXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEsXG4gIGlucHV0IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skZm9ybS1sYWJlbH0pO1xuICAgIH1cbiAgfVxuICAuZGVzY3JpcHRpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRmb3JtLWxhYmVsfSk7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuXG4gICYuZm9ybS1uby1sYWJlbCB7XG4gICAgPiBpbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgJi5mb3JtLWl0ZW0tYWRkcmVzcyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5jYXB0Y2hhIHtcbiAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xufVxuXG5zZWxlY3QsXG50ZXh0YXJlYSxcbi5mb3JtLXRpbWUsXG4uZm9ybS1kYXRlLFxuLmZvcm0tbnVtYmVyLFxuLmZvcm0tdXJsLFxuLmZvcm0tZW1haWwsXG4uZm9ybS10ZWwsXG4uZm9ybS10ZXh0IHtcbiAgdHJhbnNpdGlvbjogYWxsIDEwMG1zIGxpbmVhcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICBib3gtc2hhZG93OiBub25lO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1saWdodDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgJi5lcnJvciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGVycm9yO1xuICB9XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXk7XG4gIH1cbn1cblxuc2VsZWN0IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3NlbGVjdC5zdmdcIikgbm8tcmVwZWF0IHJpZ2h0IDEwcHggY2VudGVyO1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xufVxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvcm0tdHlwZS1jaGVja2JveCxcbi5mb3JtLXR5cGUtcmFkaW8ge1xuICBtYXJnaW46IDAgMCA1cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbnB1dCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTE2cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2VjdW5kYXJ5O1xuICAgICAgdG9wOiA1cHg7XG4gICAgfVxuICB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdW5kYXJ5O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAkd2hpdGU7XG4gIH1cbn1cbi5mb3JtLXR5cGUtcmFkaW8gbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgbGF5b3V0XG5AbWl4aW4gcGxhY2Vob2xkZXItbGF5b3V0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuLmZvcm0tdGV4dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBAaW5jbHVkZSBwbGFjZWhvbGRlci1sYXlvdXQ7XG59XG4uZm9ybS10ZXh0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXItbGF5b3V0O1xufVxuLmZvcm0tdGV4dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXItbGF5b3V0O1xufVxuLmZvcm0tdGV4dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIEBpbmNsdWRlIHBsYWNlaG9sZGVyLWxheW91dDtcbn1cbnRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIEBpbmNsdWRlIHBsYWNlaG9sZGVyLWxheW91dDtcbn1cbnRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXItbGF5b3V0O1xufVxudGV4dGFyZWE6LW1vei1wbGFjZWhvbGRlciB7XG4gIEBpbmNsdWRlIHBsYWNlaG9sZGVyLWxheW91dDtcbn1cbnRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXItbGF5b3V0O1xufVxuXG4vLyBIaWRlIHVnbHkgZ3JpcHBpZSBmdW5jdGlvbmFsaXR5LlxuLmdyaXBwaWUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDAgMCA1MHB4IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDtcbiAgbGVnZW5kIHtcbiAgICBAaW5jbHVkZSBmb3JtLXRpdGxlO1xuICB9XG59XG4iLCIuZ2JsLWdsdWUtcmV2aXNpb24tbG9nLWZvcm0ge1xyXG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbn1cclxuIiwiZGl2LnBhc3N3b3JkLWNvbmZpcm0sXG5kaXYucGFzc3dvcmQtc3RyZW5ndGgge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucGFzc3dvcmQtc3VnZ2VzdGlvbnMge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmNvbmZpcm0tcGFyZW50LFxuLnBhc3N3b3JkLXBhcmVudCB7XG4gIG1heC13aWR0aDogNjAwcHg7XG59XG4iLCIucGxhY2Vob2xkZXItLXJlZDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2YwMDtcbn1cbiIsIi52aWV3LWZpbHRlcnMge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cbi52aWV3cy1leHBvc2VkLWZvcm0ge1xuICBmbG9hdDogcmlnaHQ7XG4gIC5mb3JtLWFjdGlvbnMsXG4gIC5mb3JtLWl0ZW0ge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgfVxuICBsYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgc2VsZWN0LFxuICBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmZvcm0tc3VibWl0IHtcbiAgICBAaW5jbHVkZSBidXR0b24tLW1lZGl1bTtcbiAgfVxufVxuXG4vLyBPbmx5IHdoZW4gd2UgaGF2ZSBsb2NhbCBhY3Rpb25zLlxuLmJsb2NrLWxvY2FsLWFjdGlvbnMtYmxvY2sgKyAuYmxvY2stc3lzdGVtIC52aWV3LWZpbHRlcnMge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0zKSB7XG4gICAgbWFyZ2luLXRvcDogLTQwcHg7XG4gIH1cbn1cbiIsIi5tZW51LS1zb2NpYWwtbWVkaWEge1xuICB1bC5tZW51IHtcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMzNweDtcbiAgICAgIGhlaWdodDogMzNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDZweDtcbiAgICAgIH1cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY3VuZGFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4iLCJ1bC5tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4iLCIubm9kZS13ZWJmb3JtIHtcbiAgLm5vZGVfX2NvbnRlbnQge1xuICAgIC8vIElmIHdlYmZvcm0gaXMgbm90IHRoZSBsYXN0IGZpZWxkLCB3ZSBrbm93IHRoZXJlIGlzIGEgc2lkZWJhci5cbiAgICAuZmllbGQ6bnRoLWxhc3QtY2hpbGQoMikuZmllbGQtLW5hbWUtd2ViZm9ybSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0zKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4IG9mIDEyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLXNpZGViYXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMykge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCBvZiAxMik7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMCAwO1xuICAgIH1cbiAgfVxufVxuIiwiLm5vZGUtY2VydGlmaWNhdGUtZm9ybSB7XHJcbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWtsYW50LWJlZHJpamYge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcbiIsIi5ub2RlLWZ1bGwge1xuICAuZmllbGQge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG4gIC5maWVsZF9fbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICArIC5maWVsZF9faXRlbXMsXG4gICAgKyAuZmllbGRfX2l0ZW0gKyAuZmllbGRfX2l0ZW0gfiAuZmllbGRfX2l0ZW0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWxhYmVsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZmllbGRfX2l0ZW0ge1xuICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5ub2RlLXNlcnZpY2UtcmVxdWVzdC1lZGl0LWZvcm0ge1xyXG4gIFtuYW1lPVwiZmllbGRfc2VydmljZV9pbnRlcnZlbnRpb25zX2ludGVydmVudGlvbl9hZGRfbW9yZVwiXSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvLyB0b3A6IC05OTk5OXB4O1xyXG4gICAgbGVmdDogLTk5OTk5cHg7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG4iLCIucGFyYWdyYXBoLS12aXNpdC10b29sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gIC5tdWx0aXBsaWVyIHtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgfVxufVxuIiwiLnBhcmFncmFwaCB7XG4gICR0aGlzOiAmO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyIG9mIDEyKTtcbiAgICBAaW5jbHVkZSBvbWVnYTtcbiAgfVxuICAmX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTAgb2YgMTIpO1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMSk7XG4gICAgfVxuICB9XG4gICYtLWhpZ2hsaWdodGVkIHtcbiAgICBtYXJnaW46IDVweCAwIDc1cHggMCAhaW1wb3J0YW50O1xuICAgICN7JHRoaXN9X19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWxpZ2h0O1xuICAgICAgcGFkZGluZzogNDBweCA0NXB4O1xuICAgIH1cbiAgfVxuICAmLS1mcmFtZWQge1xuICAgICN7JHRoaXN9X19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMpIHtcbiAgICAgICAgcGFkZGluZzogNDVweDtcbiAgICAgIH1cbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWxpZ2h0O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2xsYXBzaWJsZSBsb2dpYy5cbiAgJi0tY29sbGFwc2libGUge1xuICAgICN7JHRoaXN9X190aXRsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiAxMDBtcyBhbGwgbGluZWFyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2NoZWNrLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMzBweCAwIDA7XG4gICAgICB9XG4gICAgfVxuICAgICN7JHRoaXN9X19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWxpZ2h0O1xuICAgICAgcGFkZGluZzogNDBweCA0NXB4O1xuICAgICAgbWFyZ2luLXRvcDogNjVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDY1cHg7XG4gICAgfVxuICAgIC5oaWdobGlnaHQge1xuICAgICAgbWFyZ2luOiAwIC00NXB4IC00MHB4IC00NXB4O1xuICAgIH1cbiAgfVxuICAmLS1jbG9zZWQge1xuICAgICN7JHRoaXN9X190aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1saWdodDtcbiAgICAgICY6OmFmdGVyLFxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YSxcbiAgICAjeyR0aGlzfV9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ucGFyYWdyYXBoICsgLnBhcmFncmFwaCB7XG4gIG1hcmdpbi10b3A6IDQ1cHg7XG59XG5cbi8vIElFMTEgZml4IHdoZXJlIHRhYmxlcyBpZ25vcmUgKG1heC0pd2lkdGg6IDEwMCU7IC4uLlxuLmpzIC5wYXJhZ3JhcGgtdHlwZS10b3Age1xuICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBUcmFuc2xhdGVzIGFuIGVsZW1lbnQgaG9yaXpvbnRhbGx5IGJ5IGEgbnVtYmVyIG9mIGNvbHVtbnMuIFBvc2l0aXZlIGFyZ3VtZW50cyBzaGlmdCB0aGUgZWxlbWVudCB0byB0aGUgYWN0aXZlIGxheW91dCBkaXJlY3Rpb24sIHdoaWxlIG5lZ2F0aXZlIG9uZXMgc2hpZnQgaXQgdG8gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICRuLWNvbHVtbnMgWzFdXG4vLy8gICBOdW1iZXIgb2YgY29sdW1ucyBieSB3aGljaCB0aGUgZWxlbWVudCBzaGlmdHMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2hpZnQoLTMpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIG91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tbGVmdDogLTI1LjU4OTQxJTtcbi8vLyAgIH1cblxuQG1peGluIHNoaWZ0KCRuLWNvbHVtbnM6IDEpIHtcbiAgQGluY2x1ZGUgc2hpZnQtaW4tY29udGV4dCgkbi1jb2x1bW5zKTtcbn1cblxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucywgaW4gYSBzcGVjaWZpYyBuZXN0aW5nIGNvbnRleHQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGlmdFxuLy8vICAgQSBsaXN0IGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBjb2x1bW5zIHRvIHNoaWZ0IChgJGNvbHVtbnNgKSBhbmQgdGhlIG51bWJlciBvZiBjb2x1bW5zIG9mIHRoZSBwYXJlbnQgZWxlbWVudCAoYCRjb250YWluZXItY29sdW1uc2ApLlxuLy8vXG4vLy8gICBUaGUgdHdvIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNoaWZ0KC0zIG9mIDYpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIG91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tbGVmdDogLTUyLjQxNDU4JTtcbi8vLyAgIH1cblxuQG1peGluIHNoaWZ0LWluLWNvbnRleHQoJHNoaWZ0OiAkY29sdW1ucyBvZiAkY29udGFpbmVyLWNvbHVtbnMpIHtcbiAgJG4tY29sdW1uczogbnRoKCRzaGlmdCwgMSk7XG4gICRwYXJlbnQtY29sdW1uczogY29udGFpbmVyLXNoaWZ0KCRzaGlmdCkgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJG4tY29sdW1ucyAqIGZsZXgtZ3JpZCgxLCAkcGFyZW50LWNvbHVtbnMpICsgJG4tY29sdW1ucyAqIGZsZXgtZ3V0dGVyKCRwYXJlbnQtY29sdW1ucyk7XG5cbiAgLy8gUmVzZXQgbmVzdGluZyBjb250ZXh0XG4gICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZ2xvYmFsO1xufVxuIiwiLnZpZXctYWQtb3JkZXJzLFxuLnZpZXctYWQtY3VzdG9tZXJzLFxuLnZpZXctYWQtc2VydmljZXMsXG4udmlldy1hZC1jZXJ0aWZpY2F0ZXMsXG4udmlldy12aXNpdHMsXG4udmlldy1xdW90YXRpb25zIHtcbiAgLnZpZXctaGVhZGVyIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gIH1cblxuICAudmlldy1maWx0ZXJzIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLmZlZWQtaWNvbnMge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBUaGlzIGZpbGUgaXMgY29tcGlsZWQgaW50byBwcmludC5jc3NcblxuQGltcG9ydCBcInNpdGUtc2V0dGluZ3NcIjtcblxuQGltcG9ydCBcImJvdXJib25cIjtcbkBpbXBvcnQgXCJuZWF0XCI7XG5cbkBpbXBvcnQgXCJoZWxwZXJzL19oZWxwZXJzLnNjc3NcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL19ub3JtYWxpemUuc2Nzc1wiO1xuQGltcG9ydCBcImJhc2UvX2Jhc2Uuc2Nzc1wiO1xuQGltcG9ydCBcImJhc2UvX2J1dHRvbi5zY3NzXCI7XG5AaW1wb3J0IFwiYmFzZS9fZ2JsLWljb25zLnNjc3NcIjtcbkBpbXBvcnQgXCJiYXNlL19pY29ucy5zY3NzXCI7XG5AaW1wb3J0IFwiYmFzZS9fdGFibGUuc2Nzc1wiO1xuQGltcG9ydCBcImJhc2UvX3R5cG9ncmFwaHkuc2Nzc1wiO1xuXG5AaW1wb3J0IFwibGF5b3V0L19ncmlkLnNjc3NcIjtcbkBpbXBvcnQgXCJsYXlvdXQvX2xheW91dC5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0L2NvbDIvX2NvbDItNC04LnNjc3NcIjtcbkBpbXBvcnQgXCJsYXlvdXQvY29sMi9fY29sMi01MC5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0L2NvbDIvX2NvbDItOC00LnNjc3NcIjtcbkBpbXBvcnQgXCJsYXlvdXQvY29sMi9fY29sMi05LTMuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9jb2wyL19jb2wyLnNjc3NcIjtcbkBpbXBvcnQgXCJsYXlvdXQvcGFnZS9fZm9vdGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJsYXlvdXQvcGFnZS9fcGFnZS1vdmVybGF5LnNjc3NcIjtcbkBpbXBvcnQgXCJsYXlvdXQvcGFnZS9fcGFnZS1zdWJjb250ZW50LnNjc3NcIjtcbkBpbXBvcnQgXCJsYXlvdXQvcGFnZS9fcGFnZS10b3BiYXIuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9wYWdlL19wYWdlLnNjc3NcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvX2FjdGlvbi1saW5rcy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYWRkcmVzcy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZGV0YWlscy1kZXNjcmlwdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9faGFtYnVyZ2VyLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19vbnNjcm9sbC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcGFnZXIuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3N0YXR1cy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdGFicy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdmlldy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ibG9jay9fYmxvY2stYmFubmVyLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Jsb2NrL19ibG9jay1nYmwtZ2x1ZS1hY2NvdW50LWxpbmstYmxvY2suc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmxvY2svX2Jsb2NrLWhlbHAuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmxvY2svX2Jsb2NrLWxhbmd1YWdlLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Jsb2NrL19ibG9jay1tYXNxdWVyYWRlLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Jsb2NrL19tZXNzYWdlcy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9maWVsZC9fZmllbGQtLW5hbWUtYm9keS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9maWVsZC9fZmllbGQtLW5hbWUtZmllbGQtY29tcGFueS1lbXBsb3llZXMuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZmllbGQvX2ZpZWxkLS1uYW1lLWZpZWxkLWN0YS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9maWVsZC9fZmllbGQtLW5hbWUtZmllbGQtc2VydmljZS1pbnRlcnZlbnRpb25zLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ZpZWxkL19maWVsZC0tbmFtZS1maWVsZC1zdWJ0aXRsZS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9maWVsZC9fZmllbGQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybXMvX2VudGl0eS1jb250ZW50LWZvcm0tcmV2aXNpb24taW5mb3JtYXRpb24gLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1zL19maWVsZC0tdHlwZS1hZGRyZXNzLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1zL19maWVsZC0tdHlwZS1kYXRldGltZS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3Jtcy9fZmllbGQtLXR5cGUtZmlsZS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3Jtcy9fZmllbGQtbXVsdGlwbGUtdGFibGUuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybXMvX2ZpZWxkc2V0LWFycm93LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1zL19maWVsZHNldC1jb2xsYXBzaWJsZS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3Jtcy9fZmllbGRzZXQtaGlkZS1sZWdlbmQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybXMvX2ZpZWxkc2V0LXNtYWxsLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1zL19mb3JtLWRhdGUgLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1zL19mb3JtZ3JvdXAuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybXMvX2Zvcm1zLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1zL19nYmwtZ2x1ZS1yZXZpc2lvbi1sb2ctZm9ybS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3Jtcy9fcGFzc3dvcmQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybXMvX3BsYWNlaG9sZGVycy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3Jtcy9fdmlld3MtZXhwb3NlZC1mb3JtLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21lbnUvX21lbnUtLXNvY2lhbC1tZWRpYS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tZW51L19tZW51LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25vZGUvX25vZGUtLXZpc2l0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25vZGUvX25vZGUtLXdlYmZvcm0uc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbm9kZS9fbm9kZS1jZXJ0aWZpY2F0ZS1mb3JtLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25vZGUvX25vZGUtZnVsbC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ub2RlL19ub2RlLXNlcnZpY2UtcmVxdWVzdC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wYXJhZ3JhcGgvX3BhcmFncmFwaC0taW50ZXJ2ZW50aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhcmFncmFwaC9fcGFyYWdyYXBoLS12aXNpdC10b29sLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhcmFncmFwaC9fcGFyYWdyYXBoLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3ZpZXdzL19hZF92aWV3cy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy92aWV3cy9fdmlld3Muc2Nzc1wiO1xuXG4uc2lkZWJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb250YWluZXIge1xuICB3aWR0aDogJG1heC13aWR0aDtcbn1cbiJdfQ== */
