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

.is-darkred {
  color: #961616;
}

.is-green {
  color: #7fc600;
}

.is-red {
  color: #e5541a;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19ib3gtc2l6aW5nLnNjc3MiLCJoZWxwZXJzL19ub3JtYWxpemUuc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsImJhc2UvX2ljb25zLnNjc3MiLCJiYXNlL19idXR0b24uc2NzcyIsIl9zaXRlLXNldHRpbmdzLnNjc3MiLCJiYXNlL19nYmwtaWNvbnMuc2NzcyIsImJhc2UvX3RhYmxlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fbWVkaWEuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImhlbHBlcnMvX2hlbHBlcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19jbGVhcmZpeC5zY3NzIiwibGF5b3V0L19ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fc3Bhbi1jb2x1bW5zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fb21lZ2Euc2NzcyIsImxheW91dC9fbGF5b3V0LnNjc3MiLCJsYXlvdXQvY29sMi9fY29sMi00LTguc2NzcyIsImxheW91dC9jb2wyL19jb2wyLTUwLnNjc3MiLCJsYXlvdXQvY29sMi9fY29sMi04LTQuc2NzcyIsImxheW91dC9jb2wyL19jb2wyLTktMy5zY3NzIiwibGF5b3V0L2NvbDIvX2NvbDIuc2NzcyIsImxheW91dC9wYWdlL19mb290ZXIuc2NzcyIsImxheW91dC9wYWdlL19wYWdlLW92ZXJsYXkuc2NzcyIsImxheW91dC9wYWdlL19wYWdlLXN1YmNvbnRlbnQuc2NzcyIsImxheW91dC9wYWdlL19wYWdlLXRvcGJhci5zY3NzIiwibGF5b3V0L3BhZ2UvX3BhZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2FjdGlvbi1saW5rcy5zY3NzIiwiY29tcG9uZW50cy9fYWRkcmVzcy5zY3NzIiwiY29tcG9uZW50cy9fZGV0YWlscy1kZXNjcmlwdGlvbi5zY3NzIiwiY29tcG9uZW50cy9faGFtYnVyZ2VyLnNjc3MiLCJjb21wb25lbnRzL19vbnNjcm9sbC5zY3NzIiwiY29tcG9uZW50cy9fcGFnZXIuc2NzcyIsImNvbXBvbmVudHMvX3N0YXR1cy5zY3NzIiwiY29tcG9uZW50cy9fdGFicy5zY3NzIiwiY29tcG9uZW50cy9fdmlldy5zY3NzIiwiY29tcG9uZW50cy9ibG9jay9fYmxvY2stYmFubmVyLnNjc3MiLCJjb21wb25lbnRzL2Jsb2NrL19ibG9jay1nYmwtZ2x1ZS1hY2NvdW50LWxpbmstYmxvY2suc2NzcyIsImNvbXBvbmVudHMvYmxvY2svX2Jsb2NrLWhlbHAuc2NzcyIsImNvbXBvbmVudHMvYmxvY2svX2Jsb2NrLWxhbmd1YWdlLnNjc3MiLCJjb21wb25lbnRzL2Jsb2NrL19ibG9jay1tYXNxdWVyYWRlLnNjc3MiLCJjb21wb25lbnRzL2Jsb2NrL19tZXNzYWdlcy5zY3NzIiwiY29tcG9uZW50cy9maWVsZC9fZmllbGQtLW5hbWUtYm9keS5zY3NzIiwiY29tcG9uZW50cy9maWVsZC9fZmllbGQtLW5hbWUtZmllbGQtY29tcGFueS1lbXBsb3llZXMuc2NzcyIsImNvbXBvbmVudHMvZmllbGQvX2ZpZWxkLS1uYW1lLWZpZWxkLWN0YS5zY3NzIiwiY29tcG9uZW50cy9maWVsZC9fZmllbGQtLW5hbWUtZmllbGQtc2VydmljZS1pbnRlcnZlbnRpb25zLnNjc3MiLCJjb21wb25lbnRzL2ZpZWxkL19maWVsZC5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fZmllbGQtLXR5cGUtYWRkcmVzcy5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fZmllbGQtLXR5cGUtZGF0ZXRpbWUuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX2ZpZWxkLS10eXBlLWZpbGUuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX2ZpZWxkLW11bHRpcGxlLXRhYmxlLnNjc3MiLCJjb21wb25lbnRzL2Zvcm1zL19maWVsZHNldC1hcnJvdy5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fZmllbGRzZXQtY29sbGFwc2libGUuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX2ZpZWxkc2V0LWhpZGUtbGVnZW5kLnNjc3MiLCJjb21wb25lbnRzL2Zvcm1zL19maWVsZHNldC1zbWFsbC5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fZm9ybS1kYXRlJTIwLnNjc3MiLCJjb21wb25lbnRzL2Zvcm1zL19mb3JtZ3JvdXAuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX2Zvcm1zLnNjc3MiLCJjb21wb25lbnRzL2Zvcm1zL19nYmwtZ2x1ZS1yZXZpc2lvbi1sb2ctZm9ybS5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fcGFzc3dvcmQuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX3BsYWNlaG9sZGVycy5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fdmlld3MtZXhwb3NlZC1mb3JtLnNjc3MiLCJjb21wb25lbnRzL21lbnUvX21lbnUtLXNvY2lhbC1tZWRpYS5zY3NzIiwiY29tcG9uZW50cy9tZW51L19tZW51LnNjc3MiLCJjb21wb25lbnRzL25vZGUvX25vZGUtLXdlYmZvcm0uc2NzcyIsImNvbXBvbmVudHMvbm9kZS9fbm9kZS1jZXJ0aWZpY2F0ZS1mb3JtLnNjc3MiLCJjb21wb25lbnRzL25vZGUvX25vZGUtZnVsbC5zY3NzIiwiY29tcG9uZW50cy9ub2RlL19ub2RlLXNlcnZpY2UtcmVxdWVzdC5zY3NzIiwiY29tcG9uZW50cy9wYXJhZ3JhcGgvX3BhcmFncmFwaC0tdmlzaXQtdG9vbC5zY3NzIiwiY29tcG9uZW50cy9wYXJhZ3JhcGgvX3BhcmFncmFwaC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3NoaWZ0LnNjc3MiLCJjb21wb25lbnRzL3ZpZXdzL19hZF92aWV3cy5zY3NzIiwiY29tcG9uZW50cy92aWV3cy9fdmlld3Muc2NzcyIsInN0YXRlcy9fc3RhdGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0U7RUFDRTs7O0FBSUE7RUFHRTs7O0FDWE47QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1FOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBLE9BRU87RUFDTDs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsUUFDUTtFQUNOOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsU0FDUztFQUNQOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFJRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7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O0FBQUE7QUFBQTtFQUNFOzs7QUNaSjtFQUNFOzs7QUNERjtFQUNFLE9wRWNTOzs7QW9FWFg7RUFDRSxPcEVXTTs7O0FvRVRSO0VBQ0UsT3BFaUJJIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGlmICRib3JkZXItYm94LXNpemluZyA9PSB0cnVlIHtcbiAgaHRtbCB7IC8vIGh0dHA6Ly9iaXQubHkvMXFrMnRWUlxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAqIHtcbiAgICAmLFxuICAgICY6OmFmdGVyLFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjUuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7IC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCJpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiaWNvbW9vblwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ljb21vb24vaWNvbW9vbi5lb3Q/eW1vb25sXCIpO1xuICBzcmM6XG4gICAgdXJsKFwiLi4vZm9udHMvaWNvbW9vbi9pY29tb29uLmVvdD95bW9vbmwjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgdXJsKFwiLi4vZm9udHMvaWNvbW9vbi9pY29tb29uLndvZmYyP3ltb29ubFwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB1cmwoXCIuLi9mb250cy9pY29tb29uL2ljb21vb24udHRmP3ltb29ubFwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICB1cmwoXCIuLi9mb250cy9pY29tb29uL2ljb21vb24ud29mZj95bW9vbmxcIikgZm9ybWF0KFwid29mZlwiKSxcbiAgICB1cmwoXCIuLi9mb250cy9pY29tb29uL2ljb21vb24uc3ZnP3ltb29ubCNpY29tb29uXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AbWl4aW4gaWNvbnMge1xuICAvLyB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250c1xuICBmb250LWZhbWlseTogXCJpY29tb29uXCIgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbltjbGFzc149XCJpY29uLVwiXSxcbltjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGljb25zO1xuICB9XG59XG5cbi5pY29uLXBsdXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG4uaWNvbi12aWV3OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuLmljb24tZWRpdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cbi5pY29uLWRvd25sb2FkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuLmljb24tbG9naW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG4iLCJAdXNlIFwiaWNvbnNcIjtcblxuQG1peGluIGljb25zIHtcbiAgLy8gdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMuXG4gIGZvbnQtZmFtaWx5OiBcImljb21vb25cIiAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIGJ1dHRvbiB7XG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBiYWNrZ3JvdW5kOiAkZ3JleS1kYXJrO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXdlaWdodDogJG1lZGl1bTtcbiAgcGFkZGluZzogMTBweCAyNXB4O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuLmJ1dHRvbiB7XG4gIEBpbmNsdWRlIGJ1dHRvbjtcbn1cblxuQG1peGluIGJ1dHRvbi0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JleS1kYXJrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuLmJ1dHRvbi0tcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi0tcHJpbWFyeTtcbn1cblxuQG1peGluIGJ1dHRvbi0tc2VjdW5kYXJ5IHtcbiAgYmFja2dyb3VuZDogJHNlY3VuZGFyeTtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cbi5idXR0b24tLXNlY3VuZGFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi0tc2VjdW5kYXJ5O1xufVxuXG5AbWl4aW4gYnV0dG9uLS1zbWFsbGVyIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLmJ1dHRvbi0tc21hbGxlciB7XG4gIEBpbmNsdWRlIGJ1dHRvbi0tc21hbGxlcjtcbn1cbkBtaXhpbiBidXR0b24tLW1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDExcHg7XG59XG4uYnV0dG9uLS1tZWRpdW0ge1xuICBAaW5jbHVkZSBidXR0b24tLW1lZGl1bTtcbn1cblxuLmJ1dHRvbi0tZG93bmxvYWQsXG4uYnV0dG9uLS1lZGl0LFxuLmJ1dHRvbi0tdmlldyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDA7XG4gIGNvbG9yOiAkY29sb3I7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYnV0dG9uLS1kb3dubG9hZCB7XG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgaWNvbnM7XG4gICAgQGV4dGVuZCAuaWNvbi1kb3dubG9hZDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cbn1cblxuLmJ1dHRvbi0tZWRpdCB7XG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgaWNvbnM7XG4gICAgQGV4dGVuZCAuaWNvbi1lZGl0O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuXG4uYnV0dG9uLS12aWV3IHtcbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBpY29ucztcbiAgICBAZXh0ZW5kIC5pY29uLXZpZXc7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5cbi5idXR0b24tYWN0aW9uIHtcbiAgZm9udC13ZWlnaHQ6ICRtZWRpdW0gIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgaWNvbnM7XG4gICAgQGV4dGVuZCAuaWNvbi1wbHVzO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuIiwiLy8gQWRkIHlvdXIgc2l0ZS12YXJpYWJsZXMsIHN1Y2ggYXMgY29sb3VycyBhbmQgZm9udCBzaXplcyBpbiB0aGlzIGZpbGUuXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllOiBmYWxzZTtcbiRub3JtYWxpemUtaGVhZGluZ3M6IHRydWU7XG5cbi8vIENvbG9yc1xuJGJhY2tncm91bmQ6ICNmZmY7XG4kY29sb3I6ICM1YzVjNWM7XG5cbiRibGFjazogIzAwMDtcbiRncmV5LWJsYWNrOiAjMTMxNDEzO1xuJGdyZXktZGFyazogIzRhNGE0YTtcbiRncmV5OiAjNWM1YzVjO1xuJGdyZXktbGlnaHQ6ICM5Nzk3OTc7XG4kZ3JleS13aGl0ZTogI2Y3ZjdmNztcbiR3aGl0ZTogI2ZmZjtcbiRyZWQtZGFyazogIzk2MTYxNjtcbiRncmVlbjogIzdmYzYwMDtcblxuJHByaW1hcnk6ICRncmVlbjtcbiRwcmltYXJ5LS1taWRkbGU6ICNlNWY2Y2I7XG4kcHJpbWFyeS1saWdodDogI2YyZmFlNTtcbiRzZWN1bmRhcnk6ICMwMDA7XG5cbiRibHVlOiAjNDNhYWJjO1xuJHllbGxvdzogI2ZiYzEwMDtcbiRyZWQ6ICNlNTU0MWE7XG5cbiRlcnJvcjogI2E5NDQ0MjtcblxuJGJhc2UtdGV4dC1jb2xvcjogJGNvbG9yO1xuJGJhc2Utc2VsZWN0ZWQtdGV4dC1jb2xvcjogaW52ZXJ0KCRiYXNlLXRleHQtY29sb3IpO1xuJGJhc2Utc2VsZWN0ZWQtdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRiYXNlLXRleHQtY29sb3IsIDUwJSk7XG4kYmFzZS1saW5rLWNvbG9yOiAkcHJpbWFyeTtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICRwcmltYXJ5O1xuXG4vLyBGb250c1xuXG4kYmFzZS1mb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweDtcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjYyNTtcblxuJHRoaW46IDEwMDtcbiRsaWdodDogMzAwO1xuJHJlZ3VsYXI6IDQwMDtcbiRtZWRpdW06IDUwMDtcbiRzZW1pYm9sZDogNjAwO1xuJGJvbGQ6IDcwMDtcblxuLy8gQnJlYWtwb2ludHNcbiRicmVha3BvaW50LTE6IDU2MHB4O1xuJGJyZWFrcG9pbnQtMjogNzIwcHg7XG4kYnJlYWtwb2ludC0zOiA4ODBweDtcbiRicmVha3BvaW50LTQ6IDk2MHB4O1xuJGJyZWFrcG9pbnQtNTogMTAyNHB4O1xuJGJyZWFrcG9pbnQtNjogMTEwMHB4O1xuJGJyZWFrcG9pbnQtNzogMTM1NXB4O1xuXG4kbWVudS1zd2l0Y2g6IDc2MHB4O1xuXG4kbWVudS1tb2JpbGUtaGVpZ2h0OiA5MXB4O1xuXG4kZm9ybS1sYWJlbDogMjUwcHg7XG4vLyBHcmlkIHNldHRpbmdzIChQb3dlcmVkIGJ5IEJvdXJib24gTmVhdCkuXG4vLyBTb3VyY2U6IGh0dHA6Ly90aG91Z2h0Ym90LmdpdGh1Yi5pby9uZWF0LWRvY3MvbGF0ZXN0LyN2YXJpYWJsZVxuXG4vLyBTZXRzIHRoZSByZWxhdGl2ZSB3aWR0aCBvZiBhIHNpbmdsZSBncmlkIGNvbHVtbi4gVGhlIHVuaXQgdXNlZCBzaG91bGQgYmUgdGhlIHNhbWUgb25lIHVzZWQgdG8gZGVmaW5lIGAkZ3V0dGVyYC5cbiRjb2x1bW46IDYwO1xuXG4vLyBTZXRzIHRoZSByZWxhdGl2ZSB3aWR0aCBvZiBhIHNpbmdsZSBncmlkIGd1dHRlci4gVGhlIHVuaXQgdXNlZCBzaG91bGQgYmUgdGhlIHNhbWUgb25lIHVzZWQgdG8gZGVmaW5lIGAkY29sdW1uYC5cbiRndXR0ZXI6IDQ0O1xuXG4vLyBTZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC4gSXRzIHZhbHVlIGNhbiBiZSBvdmVycmlkZGVuIGluc2lkZSBhIG1lZGlhIHF1ZXJ5IHVzaW5nIHRoZSBgbWVkaWEoKWAgbWl4aW4uXG4kZ3JpZC1jb2x1bW5zOiAxMjtcblxuLy8gU2V0cyB0aGUgbWF4LXdpZHRoIHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IHRoYXQgaW5jbHVkZXMgYG91dGVyLWNvbnRhaW5lcigpYC5cbiRtYXgtd2lkdGg6IDEyMDBweDtcblxuLy8gV2hlbiBzZXQgdG8gdHJ1ZSwgaXQgc2V0cyB0aGUgYm94LXNpemluZyBwcm9wZXJ0eSBvZiBhbGwgZWxlbWVudHMgdG8gYGJvcmRlci1ib3hgLlxuJGJvcmRlci1ib3gtc2l6aW5nOiB0cnVlO1xuXG4vLyBTZXRzIHRoZSBkZWZhdWx0IGxheW91dCBkaXJlY3Rpb24gb2YgdGhlIGdyaWQuIENhbiBiZSBgTFRSYCBvciBgUlRMYC5cbiRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb246IExUUjtcblxuLy8gRGlzcGxheXMgdGhlIHZpc3VhbCBncmlkIHdoZW4gc2V0IHRvIHRydWUuXG4vLyBUaGUgb3ZlcmxhaWQgZ3JpZCBtYXkgYmUgZmV3IHBpeGVscyBvZmYgZGVwZW5kaW5nIG9uIHRoZSBicm93c2VyJ3MgcmVuZGVyaW5nIGVuZ2luZSBhbmQgcGl4ZWwgcm91bmRpbmcgYWxnb3JpdGhtLlxuJHZpc3VhbC1ncmlkOiBmYWxzZTtcblxuLy8gU2V0cyB0aGUgdmlzdWFsIGdyaWQgY29sb3IuXG4kdmlzdWFsLWdyaWQtY29sb3I6ICNlZWU7XG5cbi8vIFNldHMgdGhlICd6LWluZGV4JyBwcm9wZXJ0eSBvZiB0aGUgdmlzdWFsIGdyaWQuIENhbiBiZSBgYmFja2AgKGJlaGluZCBjb250ZW50KSBvciBgZnJvbnRgIChpbiBmcm9udCBvZiBjb250ZW50KS5cbiR2aXN1YWwtZ3JpZC1pbmRleDogYmFjaztcblxuLy8gU2V0cyB0aGUgb3BhY2l0eSBwcm9wZXJ0eSBvZiB0aGUgdmlzdWFsIGdyaWQuXG4kdmlzdWFsLWdyaWQtb3BhY2l0eTogMC40O1xuIiwiJGdibC1sb2dvLWNvbG9yOiAkcHJpbWFyeTtcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZ2JsLWljb25zJztcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9nYmwtaWNvbnMvaWNvbW9vbi5lb3Q/bWtnOGc3Jyk7XG4gIHNyYzogIHVybCgnLi4vZm9udHMvZ2JsLWljb25zL2ljb21vb24uZW90P21rZzhnNyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcuLi9mb250cy9nYmwtaWNvbnMvaWNvbW9vbi53b2ZmMj9ta2c4ZzcnKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvZ2JsLWljb25zL2ljb21vb24udHRmP21rZzhnNycpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCcuLi9mb250cy9nYmwtaWNvbnMvaWNvbW9vbi53b2ZmP21rZzhnNycpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJy4uL2ZvbnRzL2dibC1pY29ucy9pY29tb29uLnN2Zz9ta2c4ZzcjaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQG1peGluIGdibC1pY29ucyB7XG4gIC8vIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzXG4gIGZvbnQtZmFtaWx5OiAnZ2JsLWljb25zJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8gU29jaWFsIG1lZGlhIGljb25zLlxuW2NsYXNzXj1cImdibC1pY29ucy1cIl0sXG5bY2xhc3MqPVwiZ2JsLWljb25zLVwiXSB7XG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZ2JsLWljb25zO1xuICB9XG59XG4uZ2JsLWljb25zLWdvb2dsZS1wbHVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE4YlwiO1xufVxuLmdibC1pY29ucy1mYWNlYm9vazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTBcIjtcbn1cbi5nYmwtaWNvbnMtaW5zdGFncmFtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5MlwiO1xufVxuLmdibC1pY29ucy10d2l0dGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5NlwiO1xufVxuLmdibC1pY29ucy15b3V0dWJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5ZFwiO1xufVxuLmdibC1pY29ucy1saW5rZWRpbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhY2FcIjtcbn1cbi5nYmwtaWNvbnMtcGludGVyZXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkMVwiO1xufVxuLmdibC1pY29ucy1jcm9zczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDRcIjtcbn1cblxuXG4vLyBHQkwgbG9nbyAoZm9vdGVyKVxuLmdibC1sb2dvIHtcbiAgdHJhbnNpdGlvbjogYWxsIDEwMG1zIGxpbmVhcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogJGdibC1sb2dvLWNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA1MXB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgdG9wOiA1cHg7XG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICBjb2xvcjogJGdibC1sb2dvLWNvbG9yO1xuICAgIC5nYmwtbG9nb19fYnkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHJpZ2h0OiA1NXB4O1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gICAgLmdibC1sb2dvX19sb2dvIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uZ2JsLWxvZ29fX2J5IHtcbiAgdHJhbnNpdGlvbjogYWxsIDEwMG1zIGxpbmVhcjtcbiAgZm9udC1zaXplOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxMHB4O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiA3M3B4O1xuICB0b3A6IDNweDtcbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBnYmwtaWNvbnM7XG4gICAgY29udGVudDogJ1xcZTkwNSc7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG4uZ2JsLWxvZ29fX2xvZ28ge1xuICBmb250LXNpemU6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGdibC1pY29ucztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgbGluZWFyO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbiAgJjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbnRlbnQ6ICdcXGU5MDEnO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGNvbnRlbnQ6ICdcXGU5MDAnO1xuICB9XG59XG4iLCJ0YWJsZSB7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblxuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0zKSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgfVxuICB0ciB7XG4gICAgdGg6bGFzdC1jaGlsZCxcbiAgICB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTYpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdGQge1xuICAgIHBhZGRpbmc6IDVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTYpIHtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIH1cblxuICAgICYudmlld3MtZmllbGQtZmllbGQtb3JkZXItZGVsaXZlcnl3ZWVrIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkbWVkaXVtO1xuICAgIH1cbiAgfVxuICB0aGVhZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0aCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMzBweCAxMHB4IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTYpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdGJvZHkge1xuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmV5LXdoaXRlO1xuICAgICAgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxNXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtNikge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5jZXJ0aWZpZWQtcGFydG5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LS1taWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50YWJsZXNvcnQge1xuICAgIHdpZHRoOiAxMXB4O1xuICAgIGhlaWdodDogN3B4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hbmdsZS5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgbWFyZ2luOiAtMnB4IDAgMCAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgJi0tYXNjIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIFNwZWNpZmljIHRhYmxlIGZpZWxkIHdpZHRocy5cbi52aWV3cy1maWVsZC1maWVsZC1vcmRlci1zdGF0dXMge1xuICB3aWR0aDogNDBweDtcbn1cblxuLy8gVmlld3Mgd2l0aCB0YWJsZSBoYXZlIGEgYm9yZGVyLlxuLnZpZXctLXRhYmxlIHtcbiAgLnZpZXctY29udGVudCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktZGFyaztcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBPdXRwdXRzIGEgbWVkaWEtcXVlcnkgYmxvY2sgd2l0aCBhbiBvcHRpb25hbCBncmlkIGNvbnRleHQgKHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyB1c2VkIGluIHRoZSBncmlkKS5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5XG4vLy8gICBBIGxpc3Qgb2YgbWVkaWEgcXVlcnkgZmVhdHVyZXMgYW5kIHZhbHVlcywgd2hlcmUgZWFjaCBgJGZlYXR1cmVgIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyBgJHZhbHVlYC5cbi8vLyAgIEZvciBhIGxpc3Qgb2YgdmFsaWQgdmFsdWVzIGZvciBgJGZlYXR1cmVgLCBjbGljayBbaGVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhMSkuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgYCR2YWx1ZWAgaW4gYCRxdWVyeWAsIGAkZGVmYXVsdC1mZWF0dXJlYCBpcyBnb2luZyB0byBiZSB1c2VkLlxuLy8vXG4vLy8gICBUaGUgbnVtYmVyIG9mIHRvdGFsIGNvbHVtbnMgaW4gdGhlIGdyaWQgY2FuIGJlIHNldCBieSBwYXNzaW5nIGAkY29sdW1uc2AgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCAob3ZlcnJpZGVzIGAkdG90YWwtY29sdW1uc2ApLlxuLy8vXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkdG90YWwtY29sdW1ucyBbJGdyaWQtY29sdW1uc11cbi8vLyAgIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGluIHRoZSBuZXcgZ3JpZCBjb250ZXh0LiBDYW4gYmUgc2V0IGFzIGEgc2hvcnRoYW5kIGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoNzY5cHgpIHtcbi8vLyAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtZWRpYShtaW4td2lkdGggMzIwcHggbWF4LXdpZHRoIDQ4MHB4LCA2KSB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cblxuQG1peGluIG1lZGlhKCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCRkZWZhdWx0LWZlYXR1cmU6IG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICRsb29wLXRvOiBsZW5ndGgoJHF1ZXJ5KTtcbiAgICAkbWVkaWEtcXVlcnk6IFwic2NyZWVuIGFuZCBcIjtcbiAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcblxuICAgIEBpZiBpcy1ub3QoaXMtZXZlbihsZW5ndGgoJHF1ZXJ5KSkpIHtcbiAgICAgICRncmlkLWNvbHVtbnM6IG50aCgkcXVlcnksICRsb29wLXRvKSAhZ2xvYmFsO1xuICAgICAgJGxvb3AtdG86ICRsb29wLXRvIC0gMTtcbiAgICB9XG5cbiAgICAkaTogMTtcbiAgICBAd2hpbGUgJGkgPD0gJGxvb3AtdG8ge1xuICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcIihcIiArIG50aCgkcXVlcnksICRpKSArIFwiOiBcIiArIG50aCgkcXVlcnksICRpICsgMSkgKyBcIikgXCI7XG5cbiAgICAgIEBpZiAoJGkgKyAxKSAhPSAkbG9vcC10byB7XG4gICAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCJhbmQgXCI7XG4gICAgICB9XG5cbiAgICAgICRpOiAkaSArIDI7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGlhLXF1ZXJ5fSB7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfVxufVxuIiwiaHRtbCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuXG4gIDo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1zZWxlY3RlZC10ZXh0LWJhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6ICRiYXNlLXNlbGVjdGVkLXRleHQtY29sb3I7XG4gIH1cbiAgOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGJhc2Utc2VsZWN0ZWQtdGV4dC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiAkYmFzZS1zZWxlY3RlZC10ZXh0LWNvbG9yO1xuICB9XG59XG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGxpZ2h0O1xufVxuXG4vLyBCYXNlIGxpbmsgc2V0dGluZ3NcbmEge1xuICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgbGluZWFyO1xuICBjb2xvcjogJGJhc2UtbGluay1jb2xvcjtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGJhc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgfVxuICAuY29udGVudCAmIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6ICRib2xkO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmFzZS1saW5rLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUZXh0XG5wIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbn1cblxucC5oaWdobGlnaHQge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgZm9udC13ZWlnaHQ6ICRtZWRpdW07XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAwO1xufVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGJvbGQ7XG59XG5cbi8vIEhlYWRlcnNcbmgxIHtcbiAgQGluY2x1ZGUgdGl0bGUtYm9yZGVyO1xuICBjb2xvcjogJHByaW1hcnk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDM1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIC8vIFBhZ2VzIHdpdGggYSBzdWJ0aXRsZSBkbyBub3QgaGF2ZSBhIGJvcmRlci5cbiAgLnBhZ2Utbm9kZS10eXBlLXBhZ2UgJiB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuaDIge1xuICBmb250LXdlaWdodDogJGxpZ2h0O1xuICBmb250LXNpemU6IDMycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuaDIuaGlnaGxpZ2h0ZWQge1xuICBAaW5jbHVkZSBoaWdobGlnaHRlZC10aXRsZTtcbn1cblxuaDMge1xuICBtYXJnaW46IDAgMCAxMHB4O1xufVxuXG5oNCB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG59XG5cbmg1IHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbn1cblxuaDYge1xuICBtYXJnaW46IDAgMCAxMHB4O1xufVxuXG51bCB7XG4gIG1hcmdpbjogMCAwIDAgMDtcbiAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbmltZy5hbGlnbi1sZWZ0IHtcbiAgbWFyZ2luOiAwIDYwcHggMCAwO1xufVxuaW1nLmFsaWduLXJpZ2h0IHtcbiAgbWFyZ2luOiAwIDAgMCA2MHB4O1xufVxuIiwiLy8vIEBncm91cCBoZWxwZXJzXG5AbWl4aW4gb21lZ2EtcmVzZXQoJG50aCwgJGNvbnRleHQ6IG51bGwpIHtcbiAgQGlmICRjb250ZXh0ID09IG51bGwge1xuICAgICY6bnRoLWNoaWxkKCN7JG50aH1uKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGZsZXgtZ3V0dGVyKCk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOm50aC1jaGlsZCgjeyRudGh9bikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBmbGV4LWd1dHRlcigkY29udGV4dCk7XG4gICAgfVxuICB9XG4gICY6bnRoLWNoaWxkKCN7JG50aH1uICsgMSkge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG59XG5cbi8vLyBEZWZhdWx0IGNvbnRhaW5lciBoZWxwZXIgbWl4aW4sIGJhc2VkIG9uIGdyaWQgc2l6ZVxuLy8vIEBncm91cCBoZWxwZXJzXG5AbWl4aW4gY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xuICBAaW5jbHVkZSBtZWRpYSgkbWF4LXdpZHRoICsgNjBweCwgdHJ1ZSkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbn1cblxuLy8vIEhlbHBlciBtaXhpbiB0byBwbGFjZSBhIGRpdiBpbiB0aGUgbWlkZGxlXG4vLy8gd2l0aCBwb3NpdGlvbiBhYnNvbHV0ZS5cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICR3aWR0aCAtIEVsZW1lbnQncyB3aWR0aFxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkaGVpZ2h0IFskd2lkdGhdIC0gRWxlbWVudCdzIGhlaWdodFxuLy8vIEBvdXRwdXQgYHdpZHRoYCBhbmQgYGhlaWdodGBcbi8vL1xuQG1peGluIGNlbnRlci1kaXYoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW4tbGVmdDogLSR3aWR0aCAvIDI7XG4gIG1hcmdpbi10b3A6IC0kaGVpZ2h0IC8gMjtcbn1cblxuQG1peGluIHRpdGxlLWJvcmRlciB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA5NXB4O1xuICAgIG1hcmdpbjogMzBweCBhdXRvIDM1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LWxpZ2h0O1xuICB9XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSkge1xuICAgIHdpZHRoOiAkZm9ybS1sYWJlbDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgLy8gZm9udC13ZWlnaHQ6ICRsaWdodDtcbiAgZm9udC13ZWlnaHQ6ICRtZWRpdW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvLyBjb2xvcjogJGNvbG9yO1xuICBjb2xvcjogJGJsYWNrO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogN3B4IDM1cHggNHB4IDA7XG59XG5cbkBtaXhpbiBoaWdobGlnaHRlZC10aXRsZSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBmb250LXdlaWdodDogJG1lZGl1bTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogJHdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAxMXB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgNTVweDtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiAyMHB4IHNvbGlkICRwcmltYXJ5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgIGJvdHRvbTogLTIwcHg7XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6ICRib2xkO1xuICBmb250LXNpemU6IDIzcHg7XG4gIGNvbG9yOiAkcHJpbWFyeTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gaW5jbHVkZSBhIGNsZWFyZml4IGZvciBjb250YWluaW5nIGZsb2F0cy5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9jc3Ntb2pvLmNvbS9sYXRlc3RfbmV3X2NsZWFyZml4X3NvX2Zhci9cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cbiIsIi5ncmlkIHtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG59XG5cbi5ncmlkX19pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogZmxleC1ndXR0ZXIoJGdyaWQtY29sdW1ucyk7XG59XG5cbi5ncmlkX19pdGVtLS02IHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gIH1cbn1cblxuLmdyaWRfX2l0ZW0tLTQge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgMTIpO1xuICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgyKTtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCBvZiAxMik7XG4gICAgQGluY2x1ZGUgb21lZ2EoM24pO1xuICB9XG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMiBvZiAxMik7XG59XG5cbi5ncmlkX19pdGVtLS0zIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yKSB7XG4gICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoMik7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMgb2YgMTIpO1xuICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbiAgfVxufVxuXG4uZ3JpZF9faXRlbS0tMiB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCBvZiAxMik7XG4gICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoMik7XG4gICAgQGluY2x1ZGUgb21lZ2EoM24pO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMykge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyIG9mIDEyKTtcbiAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgzKTtcbiAgICBAaW5jbHVkZSBvbWVnYSg2bik7XG4gIH1cbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgMTIpO1xuICBAaW5jbHVkZSBvbWVnYSgybik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IGEgb3V0ZXIgY29udGFpbmVyIGJ5IGNlbnRyaW5nIGl0IGluIHRoZSB2aWV3cG9ydCwgY2xlYXJpbmcgaXRzIGZsb2F0cywgYW5kIHNldHRpbmcgaXRzIGBtYXgtd2lkdGhgLlxuLy8vIEFsdGhvdWdoIG9wdGlvbmFsLCB1c2luZyBgb3V0ZXItY29udGFpbmVyYCBpcyByZWNvbW1lbmRlZC4gVGhlIG1peGluIGNhbiBiZSBjYWxsZWQgb24gbW9yZSB0aGFuIG9uZSBlbGVtZW50IHBlciBwYWdlLCBhcyBsb25nIGFzIHRoZXkgYXJlIG5vdCBuZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciBbdW5pdF19ICRsb2NhbC1tYXgtd2lkdGggWyRtYXgtd2lkdGhdXG4vLy8gICBNYXggd2lkdGggdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudC4gQ2FuIGJlIGEgcGVyY2VudGFnZSBvciBhIG1lYXN1cmUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAqem9vbTogMTtcbi8vLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xuLy8vICAgICBtYXJnaW4tbGVmdDogYXV0bztcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDpiZWZvcmUsIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgICAgY29udGVudDogXCIgXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgfVxuXG5AbWl4aW4gb3V0ZXItY29udGFpbmVyKCRsb2NhbC1tYXgtd2lkdGg6ICRtYXgtd2lkdGgpIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1heC13aWR0aDogJGxvY2FsLW1heC13aWR0aDtcbiAgbWFyZ2luOiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbiBlbGVtZW50IHNob3VsZCBzcGFuLiBJZiB0aGUgc2VsZWN0b3IgaXMgbmVzdGVkIHRoZSBudW1iZXIgb2YgY29sdW1ucyBvZiBpdHMgcGFyZW50IGVsZW1lbnQgc2hvdWxkIGJlIHBhc3NlZCBhcyBhbiBhcmd1bWVudCBhcyB3ZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc3BhblxuLy8vICAgQSBsaXN0IGNvbnRhaW5pbmcgYCRjb2x1bW5zYCwgdGhlIHVuaXRsZXNzIG51bWJlciBvZiBjb2x1bW5zIHRoZSBlbGVtZW50IHNwYW5zIChyZXF1aXJlZCksIGFuZCBgJGNvbnRhaW5lci1jb2x1bW5zYCwgdGhlIG51bWJlciBvZiBjb2x1bW5zIHRoZSBwYXJlbnQgZWxlbWVudCBzcGFucyAob3B0aW9uYWwpLlxuLy8vXG4vLy8gICBJZiBvbmx5IG9uZSB2YWx1ZSBpcyBwYXNzZWQsIGl0IGlzIGFzc3VtZWQgdGhhdCBpdCdzIGAkY29sdW1uc2AgYW5kIHRoYXQgdGhhdCBgJGNvbnRhaW5lci1jb2x1bW5zYCBpcyBlcXVhbCB0byBgJGdyaWQtY29sdW1uc2AsIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbi8vL1xuLy8vICAgVGhlIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxuLy8vXG4vLy8gICBgJGNvbHVtbnNgIGFsc28gYWNjZXB0cyBkZWNpbWFscyBmb3Igd2hlbiBpdCdzIG5lY2Vzc2FyeSB0byBicmVhayBvdXQgb2YgdGhlIHN0YW5kYXJkIGdyaWQuIEUuZy4gUGFzc2luZyBgMi40YCBpbiBhIHN0YW5kYXJkIDEyIGNvbHVtbiBncmlkIHdpbGwgZGl2aWRlIHRoZSByb3cgaW50byA1IGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXVxuLy8vICAgU2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudC4gQnkgZGVmYXVsdCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnQgb2YgdGhlIGVsZW1lbnQgdG8gYGJsb2NrYC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGBibG9jay1jb2xsYXBzZWAsIGl0IGFsc28gcmVtb3ZlcyB0aGUgbWFyZ2luIGd1dHRlciBieSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQgd2lkdGguXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgdGFibGVgLCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IHRvIGB0YWJsZS1jZWxsYCBhbmQgY2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIGVsZW1lbnQgd2l0aG91dCB0YWtpbmcgZ3V0dGVycyBpbnRvIGNvbnNpZGVyYXRpb24uIFRoZSByZXN1bHQgZG9lcyBub3QgYWxpZ24gd2l0aCB0aGUgYmxvY2stYmFzZWQgZ3JpZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy9cbi8vLyAgICAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIgb2YgNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICB3aWR0aDogMzAuMTEzODklO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cblxuQG1peGluIHNwYW4tY29sdW1ucygkc3BhbjogJGNvbHVtbnMgb2YgJGNvbnRhaW5lci1jb2x1bW5zLCAkZGlzcGxheTogYmxvY2spIHtcbiAgJGNvbHVtbnM6IG50aCgkc3BhbiwgMSk7XG4gICRjb250YWluZXItY29sdW1uczogY29udGFpbmVyLXNwYW4oJHNwYW4pO1xuXG4gICRwYXJlbnQtY29sdW1uczogZ2V0LXBhcmVudC1jb2x1bW5zKCRjb250YWluZXItY29sdW1ucykgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAkZGlzcGxheS10YWJsZTogaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KTtcblxuICBAaWYgJGRpc3BsYXktdGFibGUgIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxvYXQ6ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn07XG5cbiAgICBAaWYgJGRpc3BsYXkgIT0gbm8tZGlzcGxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSAnY29sbGFwc2UnIGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZC4gVXNlICdibG9jay1jb2xsYXBzZScgaW5zdGVhZC5cIik7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIG9yICRkaXNwbGF5ID09IGJsb2NrLWNvbGxhcHNlIHtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucykgKyBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgfVxuXG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUmVtb3ZlcyB0aGUgZWxlbWVudCdzIGd1dHRlciBtYXJnaW4sIHJlZ2FyZGxlc3Mgb2YgaXRzIHBvc2l0aW9uIGluIHRoZSBncmlkIGhpZXJhcmNoeSBvciBkaXNwbGF5IHByb3BlcnR5LiBJdCBjYW4gdGFyZ2V0IGEgc3BlY2lmaWMgZWxlbWVudCwgb3IgZXZlcnkgYG50aC1jaGlsZGAgb2NjdXJyZW5jZS4gV29ya3Mgb25seSB3aXRoIGBibG9ja2AgbGF5b3V0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5IFtibG9ja11cbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzLiBTdXBwb3J0ZWQgYXJndW1lbnRzIGFyZSBgbnRoLWNoaWxkYCBzZWxlY3RvcnMgKHRhcmdldHMgYSBzcGVjaWZpYyBwc2V1ZG8gZWxlbWVudCkgYW5kIGBhdXRvYCAodGFyZ2V0cyBgbGFzdC1jaGlsZGApLlxuLy8vXG4vLy8gICBXaGVuIHBhc3NlZCBhbiBgbnRoLWNoaWxkYCBhcmd1bWVudCBvZiB0eXBlIGAqbmAgd2l0aCBgYmxvY2tgIGRpc3BsYXksIHRoZSBvbWVnYSBtaXhpbiBhdXRvbWF0aWNhbGx5IGFkZHMgYSBjbGVhciB0byB0aGUgYCpuKzFgIHRoIGVsZW1lbnQuIE5vdGUgdGhhdCBjb21wb3NpdGUgYXJndW1lbnRzIHN1Y2ggYXMgYDJuKzFgIGRvIG5vdCBzdXBwb3J0IHRoaXMgZmVhdHVyZS5cbi8vL1xuLy8vICAgKipEZXByZWNhdGlvbiB3YXJuaW5nKio6IFRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgYCRkaXJlY3Rpb25gIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSBgcm93KCRkaXJlY3Rpb24pYCBvciBzZXQgYCRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb25gIGluc3RlYWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2E7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKSB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bisxKSB7XG4vLy8gICAgIGNsZWFyOiBsZWZ0O1xuLy8vICAgfVxuXG5AbWl4aW4gb21lZ2EoJHF1ZXJ5OiBibG9jaywgJGRpcmVjdGlvbjogZGVmYXVsdCkge1xuICAkdGFibGU6IGJlbG9uZ3MtdG8odGFibGUsICRxdWVyeSk7XG4gICRhdXRvOiBiZWxvbmdzLXRvKGF1dG8sICRxdWVyeSk7XG5cbiAgQGlmICRkaXJlY3Rpb24gIT0gZGVmYXVsdCB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgJGRpcmVjdGlvbiBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgdGhlIGRpcmVjdGlvbigpey4uLn0gbWl4aW4uXCIpO1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgfVxuXG4gIEBpZiAkdGFibGUge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gbm8gbG9uZ2VyIHJlbW92ZXMgcGFkZGluZyBpbiB0YWJsZSBsYXlvdXRzLlwiKTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIGFuZCAkdGFibGUgPT0gZmFsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDIge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZChudGgoJHF1ZXJ5LCAxKSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVG9vIG1hbnkgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgb21lZ2EoKSBtaXhpbi5cIik7XG4gIH1cbn1cblxuQG1peGluIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pIHtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAmOm50aC1jaGlsZCgjeyRxdWVyeX0pIHtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbnVtYmVyIGFuZCB1bml0KCRxdWVyeSkgPT0gXCJuXCIge1xuICAgICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSsxKSB7XG4gICAgICBjbGVhcjogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb250YWluZXIge1xuICBAaW5jbHVkZSBjb250YWluZXI7XG59XG5cbi5sdC1pZTkgLmNvbnRhaW5lciB7XG4gIHdpZHRoOiAkbWF4LXdpZHRoO1xufVxuXG4ubGF5b3V0LXNpZGViYXItZmlyc3Qge1xuICAubWFpbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkgb2YgMTIpO1xuICAgIH1cbiAgfVxuICAuc2lkZWJhciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMgb2YgMTIpO1xuICAgIH1cbiAgfVxufVxuXG4ubGF5b3V0LXNpZGViYXItc2Vjb25kIHtcbiAgLm1haW4ge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4IG9mIDEyKTtcbiAgICB9XG4gIH1cbiAgLnNpZGViYXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0IG9mIDEyKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb2wyLTQtOCB7XG4gICR0aGlzOiAmO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgJl9fbGVmdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtNCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xuICAgIH1cbiAgfVxuICAmX19yaWdodCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDggb2YgMTIpO1xuICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgfVxuICB9XG59XG5cbiIsIi5jb2wyLTUwIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICZfX3JpZ2h0LFxuICAmX19sZWZ0IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0zKSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG59XG4iLCIuY29sMi04LTQge1xuICAkdGhpczogJjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICZfX2xlZnQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4IG9mIDEyKTtcbiAgICB9XG4gIH1cbiAgJl9fcmlnaHQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTQpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0IG9mIDEyKTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cbiAgfVxufVxuXG4iLCIuY29sMi05LTMge1xuICAkdGhpczogJjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICZfX2xlZnQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTQpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5IG9mIDEyKTtcbiAgICB9XG4gIH1cbiAgJl9fcmlnaHQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTQpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDEyKTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cbiAgfVxufVxuIiwiLmxheW91dC0yY29sIHtcbiAgJl9fbGVmdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgMTIpO1xuICAgIH1cbiAgfVxuICAmX19yaWdodCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgMTIpO1xuICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgfVxuICB9XG59XG4iLCJmb290ZXIge1xuICBiYWNrZ3JvdW5kOiAkZ3JleS13aGl0ZTtcbiAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRwcmltYXJ5O1xuICBmb250LXNpemU6IDE4cHg7XG4gIHBhZGRpbmc6IDQwcHggMCA4MHB4O1xuICBtYXJnaW46IDEwMHB4IDAgMCAwO1xuICBhIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgaDIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTUpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIGNvbG9yOiAkZ3JleS1ibGFjaztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6ICRib2xkO1xuICB9XG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTUpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5ibG9jayB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtNSkge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTUpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgbWFyZ2luLXJpZ2h0OiA0JTtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoM24pLFxuICAgICY6bnRoLWNoaWxkKDRuKSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC01KSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiA0OCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi5tb2JpbGUtLW9wZW4sXG4ucGFnZS1vdmVybGF5LS1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBhZ2Utb3ZlcmxheV9fb3BlbiB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZW51LXN3aXRjaCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMzBweDtcbn1cblxuLnBhZ2Utb3ZlcmxheV9fY2xvc2Uge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA0NnB4O1xuICB0b3A6IDMwcHg7XG4gICY6OmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG59XG5cbi5wYWdlLW92ZXJsYXkge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6ICRtZW51LW1vYmlsZS1oZWlnaHQ7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAubW9iaWxlLS1vcGVuICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogMTU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB1bC5tZW51IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBwYWRkaW5nOiA2cHggMzBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktbGlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS1zdWJjb250ZW50IHtcbiAgbWFyZ2luOiA0MHB4IDAgMCAwO1xuXG4gIC5ibG9jay12aWV3cy1ibG9ja3JldmlzaW9ucy1ibG9jay0xIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS10b3BiYXIge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVudS1zd2l0Y2gpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZzogMjVweCAwIDE1cHggMDtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDIwO1xuICAuYmxvY2sge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtZW51LXN3aXRjaCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5ibG9jay1zeXN0ZW0ge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtZW51LXN3aXRjaCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuc2l0ZS1sb2dvIHtcbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1lbnUtc3dpdGNoKSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIG1heC13aWR0aDogMTc1cHg7XG4gICAgfVxuICB9XG4gIHVsLm1lbnUge1xuICAgIG1hcmdpbjogM3B4IDAgMCAwO1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMzBweDtcbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGdyZXk7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAmLmlzLWFjdGl2ZSxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICAgIC5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19sb2dpbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lbnUtc3dpdGNoKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDMwcHg7XG4gICAgdG9wOiAyNXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2Uge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVudS1zd2l0Y2gpIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICBwYWRkaW5nLXRvcDogJG1lbnUtbW9iaWxlLWhlaWdodDtcbn1cblxuLmNvbnRlbnQge1xuICBwYWRkaW5nOiA4MHB4IDAgMCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgIHRvcDogLTIwcHg7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG59XG4iLCIuYWN0aW9uLWxpbmtzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYWRkcmVzcyB7XHJcbiAgLmxvY2FsaXR5LFxyXG4gIC5hZGRyZXNzLWxpbmUxICsgYnIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuIiwiLmRldGFpbHMtZGVzY3JpcHRpb24ge1xuICBjb2xvcjogJGVycm9yO1xufVxuIiwiJGhhbWJ1cmdlci1jb2xvcjogIzAwMDtcbiRoYW1idXJnZXItd2lkdGg6IDI1cHg7XG4kaGFtYnVyZ2VyLWhlaWdodDogMjBweDtcbiRoYW1idXJnZXItbGluZS1oZWlnaHQ6IDJweDtcbiRoYW1idXJnZXItbGluZS1ib3JkZXItcmFkaXVzOiAycHg7XG5cbi5oYW1idXJnZXIge1xuICB3aWR0aDogJGhhbWJ1cmdlci13aWR0aDtcbiAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWhlaWdodDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNpdGlvbjogLjVzIGVhc2UtaW4tb3V0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaGFtYnVyZ2VyX19saW5lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxpbmUtaGVpZ2h0O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogJGhhbWJ1cmdlci1jb2xvcjtcbiAgb3BhY2l0eTogMTtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIHRyYW5zaXRpb246IC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6ICRoYW1idXJnZXItbGluZS1ib3JkZXItcmFkaXVzO1xuICAmOm50aC1jaGlsZCgxKSB7XG4gICAgdG9wOiAwO1xuICAgIC5tb2JpbGUtLW9wZW4gJiB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItaGVpZ2h0IC8gMiAtICgkaGFtYnVyZ2VyLWxpbmUtaGVpZ2h0IC8gMik7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG4gIH1cbiAgJjpudGgtY2hpbGQoMikge1xuICAgIHRvcDogJGhhbWJ1cmdlci1oZWlnaHQgLyAyIC0gKCRoYW1idXJnZXItbGluZS1oZWlnaHQgLyAyKTtcbiAgICAubW9iaWxlLS1vcGVuICYge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgfVxuICAmOm50aC1jaGlsZCgzKSB7XG4gICAgdG9wOiAkaGFtYnVyZ2VyLWhlaWdodCAvIDIgLSAoJGhhbWJ1cmdlci1saW5lLWhlaWdodCAvIDIpO1xuICAgIC5tb2JpbGUtLW9wZW4gJiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgfVxuICAmOm50aC1jaGlsZCg0KSB7XG4gICAgdG9wOiAkaGFtYnVyZ2VyLWhlaWdodCAtICRoYW1idXJnZXItbGluZS1oZWlnaHQ7XG4gICAgLm1vYmlsZS0tb3BlbiAmIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1oZWlnaHQgLyAyIC0gKCRoYW1idXJnZXItbGluZS1oZWlnaHQgLyAyKTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzaWMgZmFkZSBpbi5cbi5vbnNjcm9sbCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICB0cmFuc2l0aW9uOiBhbGwgMTUwMG1zIGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAmLmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5cbi8vIEZhZGUgaW4gZnJvbSBib3R0b20gdG8gdG9wLlxuLm9uc2Nyb2xsLS1ib3R0b20ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEuNXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKSwgb3BhY2l0eSA3MDBtcyBsaW5lYXI7XG4gICYuaXMtdmlzaWJsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi8vIEZhZGUgaW4gZnJvbSBsZWZ0IHRvIHJpZ2h0LlxuLm9uc2Nyb2xsLS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwMHB4KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEuNXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKSwgb3BhY2l0eSA3MDBtcyBsaW5lYXI7XG4gICYuaXMtdmlzaWJsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gIH1cbn1cblxuLy8gRmFkZSBpbiBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4ub25zY3JvbGwtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjAwcHgpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMS41cyBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpLCBvcGFjaXR5IDcwMG1zIGxpbmVhcjtcbiAgJi5pcy12aXNpYmxlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgfVxufVxuXG4iLCIucGFnZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogNTBweCAwIDAgMDtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgdWwge1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCA4cHg7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuIiwiLnN0YXR1cyB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgJi0tcGF5bWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG4gICYtLXNlcnZpY2Utc2NoZWR1bGVkLFxuICAmLS1zZXJ2aWNlLXNjaGVkdWxlYyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdztcbiAgfVxuICAmLS1jaGFuZ2UsXG4gICYtLXNlcnZpY2Utc2NoZWR1bGUsXG4gICYtLXJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgfVxuICAmLS1uZWVkcy1jb25maXJtYXRpb24sXG4gICYtLXllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdztcbiAgfVxuICAmLS1jb25maXJtYXRpb24sXG4gICYtLXNlcnZpY2UtZG9uZSxcbiAgJi0tZ3JlZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICB9XG4gICYtLWRlbGl2ZXJlZCxcbiAgJi0tc2VydmljZS1leHRyYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gIH1cbn1cbiIsIkBtaXhpbiBhY3RpdmUtdGFiIHtcbiAgYmFja2dyb3VuZDogJGdyZXktZGFyaztcbiAgY29sb3I6ICR3aGl0ZTtcbn1cbnVsLnRhYnMge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yKSB7XG4gICAgbWFyZ2luOiAyNXB4IDAgNjBweCAwO1xuICB9XG4gIG1hcmdpbjogMjVweCAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGEge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uO1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLS1wcmltYXJ5O1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLS1tZWRpdW07XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi0tcHJpbWFyeTtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIGFjdGl2ZS10YWI7XG4gICAgICB9XG4gICAgfVxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBhY3RpdmUtdGFiO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtdmlldyBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbnM7XG4gICAgICAgIEBleHRlbmQgLmljb24tdmlldztcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWVkaXQgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb25zO1xuICAgICAgICBAZXh0ZW5kIC5pY29uLWVkaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIudmlldy1lbXB0eSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWRhcms7XG4gIHBhZGRpbmc6IDUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLnZpZXctbGVnZW5kIHtcbiAgcGFkZGluZzogMjBweCA1MHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIC5zdGF0dXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAzcHg7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICB9XG59XG5cbi52aWV3IHtcbiAgdGFibGUgdGJvZHkgdHIge1xuICAgICYuYWRtZWdhdGVjLXNlcnZpY2VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnksIDAuNik7XG4gICAgfVxuICB9XG59XG4iLCIuYmxvY2stYmFubmVyIHtcbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLmJsb2NrLWdibC1nbHVlLWFjY291bnQtbGluay1ibG9jayB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC50b2dnbGVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3ctZG93bi5zdmdcIikgbm8tcmVwZWF0IHJpZ2h0IHRvcCA4cHg7XG4gICAgZW0ge1xuICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbiAgfVxuICAuaXRlbS1saXN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogMjAwbXMgYWxsIGVhc2Utb3V0O1xuICAgIGJhY2tncm91bmQ6ICRncmV5LWRhcms7XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1saWdodDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICAuaXRlbS1saXN0IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG4iLCIuYmxvY2staGVscCAuY2VydGlmaWNhYXQtYWFubWFrZW4taW5mbyB7XHJcbiAgZm9udC13ZWlnaHQ6ICRtZWRpdW07XHJcbn1cclxuIiwiLmJsb2NrLWxhbmd1YWdlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtNykge1xuICAgIG1hcmdpbi1yaWdodDogLTU1cHg7XG4gIH1cbiAgdWwubGlua3Mge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC5pcy1hY3RpdmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMCAzMHB4O1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1hc3F1ZXJhZGUtYmxvY2stZm9ybSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIHBhZGRpbmc6IDIwcHg7XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIGZvcm0gLmNvbnRhaW5lci1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAyMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAqIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuZm9ybS10eXBlLWVudGl0eS1hdXRvY29tcGxldGUge1xuICAgICAgZmxleDogMTtcbiAgICB9XG4gIH1cbn1cbiIsIi5tZXNzYWdlcyB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuIiwiLmZpZWxkLS1uYW1lLWJvZHkge1xuICAucGFnZSAmIHtcbiAgICBwYWRkaW5nOiAwIDAgNzVweCAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiA5NTZweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuIiwiLmZpZWxkLS1uYW1lLWZpZWxkLWNvbXBhbnktZW1wbG95ZWVzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gID4gLmZpZWxkX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMpIHtcbiAgICAgIHdpZHRoOiA0NyU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC01KSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5maWVsZC0tbmFtZS1maWVsZC1jdGEge1xuICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gIGEge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDQ5MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG4iLCIubm9kZS1mdWxsIC5maWVsZC0tbmFtZS1maWVsZC1zZXJ2aWNlLWludGVydmVudGlvbnMge1xuICA+IC5maWVsZF9faXRlbSB7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKCRjb2xvciwgNTAlKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbi5maWVsZC0tbmFtZS1maWVsZC1zZXJ2aWNlLWludGVydmVudGlvbnMge1xuICAuc3VibWl0LWJ1dHRvbi1pbnRlcnZlbnRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZmllbGQtbXVsdGlwbGUtdGFibGUgKyAuY2xlYXJmaXggLnN1Ym1pdC1idXR0b24taW50ZXJ2ZW50aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjUwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4iLCIuZmllbGQtLWxhYmVsLWlubGluZSB7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgLmZpZWxkX19sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6ICRib2xkO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuICAuZmllbGRfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuXG5maWVsZHNldCArIC5maWVsZCB7XG4gIG1hcmdpbi10b3A6IC01MHB4O1xufVxuIiwiLmZpZWxkLS10eXBlLWFkZHJlc3Mge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBzdW1tYXJ5LFxuICBsZWdlbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuZm9ybS1pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5maWVsZHNldC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5kZXRhaWxzLXdyYXBwZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgLmFkZHJlc3MtY29udGFpbmVyLWlubGluZSA+IC5mb3JtLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIC8vIEV4Y2VwdGlvbnMgd2hlcmUgd2UgZG8gc2hvdyB0aGUgdGl0bGUuXG4gICYuZmllbGQtLW5hbWUtZmllbGQtYWRkcmVzcy1pbnN0YWxsYXRpb24ge1xuICAgIGxlZ2VuZCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1sYWJlbDtcbiAgICAgIH1cbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5maWVsZC0tdHlwZS1kYXRldGltZSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG5cbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuICB9XG5cbiAgLmNvbnRhaW5lci1pbmxpbmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRmb3JtLWxhYmVsfSk7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuIiwiLmZpZWxkLS10eXBlLWZpbGUge1xuICB0aGVhZCxcbiAgLnRhYmxlZHJhZy1oYW5kbGUsXG4gIC5maWVsZC1tdWx0aXBsZS1kcmFnLFxuICAudGFibGVkcmFnLXRvZ2dsZS13ZWlnaHQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICB0YWJsZSB7XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gICAgdGQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbiAgLmZvcm0tc3VibWl0IHtcbiAgICBAaW5jbHVkZSBidXR0b24tLXNtYWxsZXI7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAuZm9ybWdyb3VwIHtcbiAgICAuZm9ybS1pdGVtLmZvcm0tdHlwZS1tYW5hZ2VkLWZpbGUge1xuICAgICAgbGFiZWwge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmZpZWxkLW11bHRpcGxlLXRhYmxlIHtcbiAgdGhlYWQsXG4gIC5maWVsZC1tdWx0aXBsZS1kcmFnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbiAgdGQge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZpZWxkc2V0IHtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHggMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBsZWdlbmQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhaW5lci1pbmxpbmUge1xuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA3cHgpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5maWVsZC0tbmFtZS1maWVsZC1pbnRlcnZlbnRpb24tZGF0ZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtc2VydmljZS1pbnRlcnZlbnRpb25zICYgdGJvZHkgdHI6bm90KDpmaXJzdC1jaGlsZCkgdGQge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKCRwcmltYXJ5LCAwLjQpO1xuICB9XG5cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLXNlcnZpY2UtaW50ZXJ2ZW50aW9ucyAmIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLmZvcm0tc3VibWl0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4udGFibGVkcmFnLXRvZ2dsZS13ZWlnaHQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYXJhZ3JhcGgtdHlwZS10aXRsZSB7XG4gIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG4gIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgZmxleC1iYXNpczogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ucGFyYWdyYXBocy1kcm9wYnV0dG9uLXdyYXBwZXIge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWxhYmVsO1xuICB9XG59XG4iLCJmaWVsZHNldC5maWVsZHNldC1hcnJvdyB7XG4gID4gbGVnZW5kIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLmZpZWxkc2V0LWxlZ2VuZCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hcnJvdy1kb3duLS1wcmltYXJ5LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS1jbG9zZWQge1xuICAgID4gbGVnZW5kIHtcbiAgICAgIC5maWVsZHNldC1sZWdlbmQ6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIExhcmdlIGNvbGxhcHNpYmxlIGJhci5cbi5maWVsZHNldC1jb2xsYXBzaWJsZSB7XG4gID4gbGVnZW5kIHtcbiAgICBAaW5jbHVkZSBoaWdobGlnaHRlZC10aXRsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogMTAwbXMgYWxsIGxpbmVhcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMXB4IDAgMXB4IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXI6IDA7XG4gIH1cbiAgPiAuZmllbGRzZXQtd3JhcHBlciB7XG4gICAgbWFyZ2luOiA1MHB4IDAgMCAwO1xuICB9XG4gICYtLWNsb3NlZCB7XG4gICAgPiBsZWdlbmQge1xuICAgICAgYmFja2dyb3VuZDogJGdyZXktbGlnaHQ7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5maWVsZHNldC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIuZmllbGRzZXQtaGlkZS1sZWdlbmQsXG4uZW50aXR5LWNvbnRlbnQtZm9ybS1yZXZpc2lvbi1pbmZvcm1hdGlvbiB7XG4gIGxlZ2VuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZmllbGRzZXQtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiZmllbGRzZXQuZmllbGRzZXQtc21hbGwge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBsZWdlbmQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1sYWJlbDtcbiAgICB9XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6ICRib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG59XG4iLCIuZm9ybS1kYXRlIHtcbiAgcGFkZGluZy1sZWZ0OiA2NXB4ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb24tLWRhdGUuc3ZnXCIpIG5vLXJlcGVhdCBsZWZ0IDIwcHggY2VudGVyO1xufVxuXG4uZm9ybS1kYXRlOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDIwcHg7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbn1cbiIsIi5mb3JtZ3JvdXAge1xuICBtYXJnaW46IDAgMCAxNXB4IDAgIWltcG9ydGFudDtcbiAgbGVnZW5kIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuICB9XG4gIC5maWVsZHNldC13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skZm9ybS1sYWJlbH0pO1xuICAgIH1cbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gVXNlZCBpbiB3ZWJmb3Jtcy5cbiAgJi0tMmNvbCB7XG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDdweCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB9XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS0yY29sLWJ0bSB7XG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDdweCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB9XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFVzZWQgaW4gbm9kZSBmb3Jtcy5cbiAgJi0tMmNvbC1maWVsZHMsXG4gICYtLTJjb2wtYnRtLWZpZWxkcyB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZvcm0td3JhcHBlciB7XG4gICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS0yY29sLWZpZWxkcyB7XG4gICAgLmZvcm0td3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDdweCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS0yY29sLWJ0bS1maWVsZHMge1xuICAgIC5mb3JtLXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA3cHgpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAmLmZpZWxkLS1uYW1lLWZpZWxkLW1vYmlsZS0xOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA3cHgpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgICAgfVxuICAgICAgICAmLmZpZWxkLS1uYW1lLWZpZWxkLW1vYmlsZS0yOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWl0ZW0tZmllbGQtZW1haWwtMS0wLXZhbHVlIC5kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICRyZWQ7XG4gICAgZm9udC13ZWlnaHQ6ICRib2xkO1xuICB9XG59XG4iLCJidXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xufVxuXG4uZm9ybS1hY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDU1cHggMCAwIDA7XG59XG5cbi5mb3JtLWl0ZW0ge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcbiAgICAvLyBBZGRzIGFzdGVyaXggZm9yIHJlcXVpcmVkIGZvcm0gZmllbGRzLlxuICAgICYuZm9ybS1yZXF1aXJlZCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiICpcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSxcbiAgaW5wdXQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRmb3JtLWxhYmVsfSk7XG4gICAgfVxuICB9XG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGZvcm0tbGFiZWx9KTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG5cbiAgJi5mb3JtLW5vLWxhYmVsIHtcbiAgICA+IGlucHV0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAmLmZvcm0taXRlbS1hZGRyZXNzIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLmNhcHRjaGEge1xuICBtYXJnaW4tbGVmdDogMjUwcHg7XG59XG5cbnNlbGVjdCxcbnRleHRhcmVhLFxuLmZvcm0tdGltZSxcbi5mb3JtLWRhdGUsXG4uZm9ybS1udW1iZXIsXG4uZm9ybS11cmwsXG4uZm9ybS1lbWFpbCxcbi5mb3JtLXRlbCxcbi5mb3JtLXRleHQge1xuICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgbGluZWFyO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWxpZ2h0O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAmLmVycm9yIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZXJyb3I7XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgfVxufVxuXG5zZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvc2VsZWN0LnN2Z1wiKSBuby1yZXBlYXQgcmlnaHQgMTBweCBjZW50ZXI7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG59XG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZm9ybS10eXBlLWNoZWNrYm94LFxuLmZvcm0tdHlwZS1yYWRpbyB7XG4gIG1hcmdpbjogMCAwIDVweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGlucHV0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMTZweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWN1bmRhcnk7XG4gICAgICB0b3A6IDVweDtcbiAgICB9XG4gIH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRzZWN1bmRhcnk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICR3aGl0ZTtcbiAgfVxufVxuLmZvcm0tdHlwZS1yYWRpbyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vLyBQbGFjZWhvbGRlciBsYXlvdXRcbkBtaXhpbiBwbGFjZWhvbGRlci1sYXlvdXQge1xuICBmb250LXNpemU6IDE2cHg7XG59XG4uZm9ybS10ZXh0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIEBpbmNsdWRlIHBsYWNlaG9sZGVyLWxheW91dDtcbn1cbi5mb3JtLXRleHQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBAaW5jbHVkZSBwbGFjZWhvbGRlci1sYXlvdXQ7XG59XG4uZm9ybS10ZXh0Oi1tb3otcGxhY2Vob2xkZXIge1xuICBAaW5jbHVkZSBwbGFjZWhvbGRlci1sYXlvdXQ7XG59XG4uZm9ybS10ZXh0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXItbGF5b3V0O1xufVxudGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXItbGF5b3V0O1xufVxudGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBAaW5jbHVkZSBwbGFjZWhvbGRlci1sYXlvdXQ7XG59XG50ZXh0YXJlYTotbW96LXBsYWNlaG9sZGVyIHtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXItbGF5b3V0O1xufVxudGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBAaW5jbHVkZSBwbGFjZWhvbGRlci1sYXlvdXQ7XG59XG5cbi8vIEhpZGUgdWdseSBncmlwcGllIGZ1bmN0aW9uYWxpdHkuXG4uZ3JpcHBpZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMCAwIDUwcHggMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xuICBsZWdlbmQge1xuICAgIEBpbmNsdWRlIGZvcm0tdGl0bGU7XG4gIH1cbn1cbiIsIi5nYmwtZ2x1ZS1yZXZpc2lvbi1sb2ctZm9ybSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxufVxyXG4iLCJkaXYucGFzc3dvcmQtY29uZmlybSxcbmRpdi5wYXNzd29yZC1zdHJlbmd0aCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5wYXNzd29yZC1zdWdnZXN0aW9ucyB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY29uZmlybS1wYXJlbnQsXG4ucGFzc3dvcmQtcGFyZW50IHtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbn1cbiIsIi5wbGFjZWhvbGRlci0tcmVkOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZjAwO1xufVxuIiwiLnZpZXctZmlsdGVycyB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuLnZpZXdzLWV4cG9zZWQtZm9ybSB7XG4gIGZsb2F0OiByaWdodDtcbiAgLmZvcm0tYWN0aW9ucyxcbiAgLmZvcm0taXRlbSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICB9XG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5mb3JtLWFjdGlvbnMge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBzZWxlY3QsXG4gIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuZm9ybS1zdWJtaXQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi0tbWVkaXVtO1xuICB9XG59XG5cbi8vIE9ubHkgd2hlbiB3ZSBoYXZlIGxvY2FsIGFjdGlvbnMuXG4uYmxvY2stbG9jYWwtYWN0aW9ucy1ibG9jayArIC5ibG9jay1zeXN0ZW0gLnZpZXctZmlsdGVycyB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMpIHtcbiAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgfVxufVxuIiwiLm1lbnUtLXNvY2lhbC1tZWRpYSB7XG4gIHVsLm1lbnUge1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAzM3B4O1xuICAgICAgaGVpZ2h0OiAzM3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogNnB4O1xuICAgICAgfVxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2VjdW5kYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbiIsInVsLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiIsIi5ub2RlLXdlYmZvcm0ge1xuICAubm9kZV9fY29udGVudCB7XG4gICAgLy8gSWYgd2ViZm9ybSBpcyBub3QgdGhlIGxhc3QgZmllbGQsIHdlIGtub3cgdGhlcmUgaXMgYSBzaWRlYmFyLlxuICAgIC5maWVsZDpudGgtbGFzdC1jaGlsZCgyKS5maWVsZC0tbmFtZS13ZWJmb3JtIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDggb2YgMTIpO1xuICAgICAgfVxuICAgIH1cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtc2lkZWJhciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0zKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0IG9mIDEyKTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDIwcHggMCAwIDA7XG4gICAgfVxuICB9XG59XG4iLCIubm9kZS1jZXJ0aWZpY2F0ZS1mb3JtIHtcclxuICAuZmllbGQtLW5hbWUtZmllbGQta2xhbnQtYmVkcmlqZiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuIiwiLm5vZGUtZnVsbCB7XG4gIC5maWVsZCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbiAgLmZpZWxkX19sYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICsgLmZpZWxkX19pdGVtcyxcbiAgICArIC5maWVsZF9faXRlbSArIC5maWVsZF9faXRlbSB+IC5maWVsZF9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGZvcm0tbGFiZWw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5maWVsZF9faXRlbSB7XG4gICAgcGFkZGluZy10b3A6IDdweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLm5vZGUtc2VydmljZS1yZXF1ZXN0LWVkaXQtZm9ybSB7XHJcbiAgW25hbWU9XCJmaWVsZF9zZXJ2aWNlX2ludGVydmVudGlvbnNfaW50ZXJ2ZW50aW9uX2FkZF9tb3JlXCJdIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIC8vIHRvcDogLTk5OTk5cHg7XHJcbiAgICBsZWZ0OiAtOTk5OTlweDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcbiIsIi5wYXJhZ3JhcGgtLXZpc2l0LXRvb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgLm11bHRpcGxpZXIge1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICB9XG59XG4iLCIucGFyYWdyYXBoIHtcbiAgJHRoaXM6ICY7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAuZmllbGQtLW5hbWUtZmllbGQtY3RhIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIgb2YgMTIpO1xuICAgIEBpbmNsdWRlIG9tZWdhO1xuICB9XG4gICZfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMCBvZiAxMik7XG4gICAgICBAaW5jbHVkZSBzaGlmdCgxKTtcbiAgICB9XG4gIH1cbiAgJi0taGlnaGxpZ2h0ZWQge1xuICAgIG1hcmdpbjogNXB4IDAgNzVweCAwICFpbXBvcnRhbnQ7XG4gICAgI3skdGhpc31fX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktbGlnaHQ7XG4gICAgICBwYWRkaW5nOiA0MHB4IDQ1cHg7XG4gICAgfVxuICB9XG4gICYtLWZyYW1lZCB7XG4gICAgI3skdGhpc31fX2NvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMykge1xuICAgICAgICBwYWRkaW5nOiA0NXB4O1xuICAgICAgfVxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktbGlnaHQ7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbGxhcHNpYmxlIGxvZ2ljLlxuICAmLS1jb2xsYXBzaWJsZSB7XG4gICAgI3skdGhpc31fX3RpdGxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IDEwMG1zIGFsbCBsaW5lYXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvY2hlY2suc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAzMHB4IDAgMDtcbiAgICAgIH1cbiAgICB9XG4gICAgI3skdGhpc31fX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktbGlnaHQ7XG4gICAgICBwYWRkaW5nOiA0MHB4IDQ1cHg7XG4gICAgICBtYXJnaW4tdG9wOiA2NXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjVweDtcbiAgICB9XG4gICAgLmhpZ2hsaWdodCB7XG4gICAgICBtYXJnaW46IDAgLTQ1cHggLTQwcHggLTQ1cHg7XG4gICAgfVxuICB9XG4gICYtLWNsb3NlZCB7XG4gICAgI3skdGhpc31fX3RpdGxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmV5LWxpZ2h0O1xuICAgICAgJjo6YWZ0ZXIsXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtY3RhLFxuICAgICN7JHRoaXN9X19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5wYXJhZ3JhcGggKyAucGFyYWdyYXBoIHtcbiAgbWFyZ2luLXRvcDogNDVweDtcbn1cblxuLy8gSUUxMSBmaXggd2hlcmUgdGFibGVzIGlnbm9yZSAobWF4LSl3aWR0aDogMTAwJTsgLi4uXG4uanMgLnBhcmFncmFwaC10eXBlLXRvcCB7XG4gIG1heC13aWR0aDogJG1heC13aWR0aDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucy4gUG9zaXRpdmUgYXJndW1lbnRzIHNoaWZ0IHRoZSBlbGVtZW50IHRvIHRoZSBhY3RpdmUgbGF5b3V0IGRpcmVjdGlvbiwgd2hpbGUgbmVnYXRpdmUgb25lcyBzaGlmdCBpdCB0byB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJG4tY29sdW1ucyBbMV1cbi8vLyAgIE51bWJlciBvZiBjb2x1bW5zIGJ5IHdoaWNoIHRoZSBlbGVtZW50IHNoaWZ0cy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaGlmdCgtMyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtMjUuNTg5NDElO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQoJG4tY29sdW1uczogMSkge1xuICBAaW5jbHVkZSBzaGlmdC1pbi1jb250ZXh0KCRuLWNvbHVtbnMpO1xufVxuXG4vLy8gVHJhbnNsYXRlcyBhbiBlbGVtZW50IGhvcml6b250YWxseSBieSBhIG51bWJlciBvZiBjb2x1bW5zLCBpbiBhIHNwZWNpZmljIG5lc3RpbmcgY29udGV4dC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNoaWZ0XG4vLy8gICBBIGxpc3QgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdG8gc2hpZnQgKGAkY29sdW1uc2ApIGFuZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgdGhlIHBhcmVudCBlbGVtZW50IChgJGNvbnRhaW5lci1jb2x1bW5zYCkuXG4vLy9cbi8vLyAgIFRoZSB0d28gdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2hpZnQoLTMgb2YgNik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtNTIuNDE0NTglO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQtaW4tY29udGV4dCgkc2hpZnQ6ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucykge1xuICAkbi1jb2x1bW5zOiBudGgoJHNoaWZ0LCAxKTtcbiAgJHBhcmVudC1jb2x1bW5zOiBjb250YWluZXItc2hpZnQoJHNoaWZ0KSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkbi1jb2x1bW5zICogZmxleC1ncmlkKDEsICRwYXJlbnQtY29sdW1ucykgKyAkbi1jb2x1bW5zICogZmxleC1ndXR0ZXIoJHBhcmVudC1jb2x1bW5zKTtcblxuICAvLyBSZXNldCBuZXN0aW5nIGNvbnRleHRcbiAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG59XG4iLCIudmlldy1hZC1vcmRlcnMsXG4udmlldy1hZC1jdXN0b21lcnMsXG4udmlldy1hZC1zZXJ2aWNlcyxcbi52aWV3LWFkLWNlcnRpZmljYXRlcyxcbi52aWV3LXZpc2l0cyxcbi52aWV3LXF1b3RhdGlvbnMge1xuICAudmlldy1oZWFkZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxuXG4gIC52aWV3LWZpbHRlcnMge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIuZmVlZC1pY29ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIuaXMtZGFya3JlZCB7XHJcbiAgY29sb3I6ICRyZWQtZGFyaztcclxufVxyXG5cclxuLmlzLWdyZWVuIHtcclxuICBjb2xvcjogJGdyZWVuO1xyXG59XHJcbi5pcy1yZWQge1xyXG4gIGNvbG9yOiAkcmVkO1xyXG59XHJcbiJdfQ== */
