.col {
  flex: 1;
}

/* Color Variables */
/* Font Variables */
/* Media Queries Breakpoints */
/* Media Queries Breakpoints */
/* Layout sizes */
/* Mixin origin: https://marc-ed-raffalli.github.io/2017/10/14/sass-font-face.html */
@font-face {
  font-family: "notoSans";
  font-weight: 400;
  font-style: "italic";
  font-display: swap;
  src: url("../../fonts/noto-sans/noto-sans-v11-latin-italic.woff") format("woff"), url("../../fonts/noto-sans/noto-sans-v11-latin-italic.woff2") format("woff2");
}

@font-face {
  font-family: "notoSans";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/noto-sans/noto-sans-v11-latin-regular.woff") format("woff"), url("../../fonts/noto-sans/noto-sans-v11-latin-regular.woff2") format("woff2");
}

@font-face {
  font-family: "notoSans";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/noto-sans/noto-sans-v11-latin-700.woff") format("woff"), url("../../fonts/noto-sans/noto-sans-v11-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "notoSerif";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/noto-serif/noto-serif-v9-latin-regular.woff") format("woff"), url("../../fonts/noto-serif/noto-serif-v9-latin-regular.woff2") format("woff2");
}

@font-face {
  font-family: "notoSerif";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/noto-serif/noto-serif-v9-latin-700.woff") format("woff"), url("../../fonts/noto-serif/noto-serif-v9-latin-700.woff2") format("woff2");
}

.arrow-right-orange {
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25.809' height='20.49'%3E%3Cpath data-name='Path 3341' d='M0 5.703h15.564v-5.7l10.244 10.244-10.244 10.246v-6.117H0z' fill='%23e55b2b'/%3E%3C/svg%3E");
}

.arrow-right-green {
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25.809' height='20.49'%3E%3Cpath data-name='Path 3341' d='M0 5.703h15.564v-5.7l10.244 10.244-10.244 10.246v-6.117H0z' fill='%23e55b2b'/%3E%3C/svg%3E");
}

.arrow-right-white {
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='26.263'%3E%3Cpath data-name='Path 1' d='M13.752 12.53L1.469.248A.83.83 0 00.869 0a.845.845 0 00-.6.248L.251.263a.862.862 0 00-.251.6v5.965a.837.837 0 00.251.6l5.7 5.7-5.7 5.7a.849.849 0 00-.251.6v5.957a.84.84 0 00.251.6l.017.013a.85.85 0 001.205 0l12.279-12.264a.854.854 0 000-1.204z' fill='%23fff'/%3E%3C/svg%3E");
}

.btn-core, .btn, .btn-primary, .btn-secondary, .btn-transparent, .btn-arrow, .btn-icon-right {
  display: inline-block;
  position: relative;
  backface-visibility: hidden;
  border: none;
  overflow: hidden;
  transition: transform .3s, border .3s, background .3s;
  text-align: center;
  white-space: nowrap;
}

.btn-core, .btn, .btn-primary, .btn-secondary, .btn-transparent, .btn-arrow, .btn-icon-right, .btn-core:focus, .btn:focus, .btn-primary:focus, .btn-secondary:focus, .btn-transparent:focus, .btn-arrow:focus, .btn-icon-right:focus {
  outline: none;
}

.btn, .btn-primary, .btn-secondary, .btn-transparent {
  text-transform: uppercase;
  padding: 0 5rem;
  color: #fff;
  height: 50px;
  line-height: 50px;
  font-size: 18px;
  letter-spacing: 0.1rem;
}

@media (max-width: 1279px) {
  .btn, .btn-primary, .btn-secondary, .btn-transparent {
    font-size: 16px;
  }
}

.btn-extend:hover .icon.--first, .btn-primary:hover .icon.--first, .btn-secondary:hover .icon.--first {
  transform: translateX(100%);
}

.btn-extend:hover .icon.--second, .btn-primary:hover .icon.--second, .btn-secondary:hover .icon.--second {
  transform: translateX(100%);
}

.btn-extend:hover .icon.--third, .btn-primary:hover .icon.--third, .btn-secondary:hover .icon.--third {
  transform: translateX(50%);
}

.btn-extend .icon, .btn-primary .icon, .btn-secondary .icon {
  height: 100%;
  width: 74px;
  position: absolute;
  top: 0;
  right: 0;
  transition: transform .3s ease-in-out;
}

.btn-extend span, .btn-primary span, .btn-secondary span {
  position: relative;
  z-index: 2;
}

.btn-primary {
  color: #055B94;
  font-weight: 700;
  background-color: #FFD64F;
  height: 60px;
  line-height: 60px;
  letter-spacing: .1rem;
  transition: background-color .4s ease-in-out;
}

.btn-primary .icon.--first {
  transform: translateX(40%);
}

.btn-primary .icon.--second {
  transform: translateX(-20%);
}

.btn-primary .icon.--third {
  transform: translateX(-80%);
}

.btn-primary:hover {
  background-color: #FEE96A;
}

@media (max-width: 1279px) {
  .btn-primary {
    height: 50px;
    line-height: 50px;
  }
}

.btn-secondary {
  background-color: #00998E;
  text-transform: capitalize;
  transition: background-color .4s ease-in-out;
}

.btn-secondary .icon.--first {
  transform: translateX(50%);
}

.btn-secondary .icon.--second {
  transform: translateX(0);
}

.btn-secondary .icon.--third {
  transform: translateX(-50%);
}

.btn-secondary:hover {
  background-color: #00cab1;
}

.btn-transparent {
  padding: 0 2rem;
  border: 1px solid #00998E;
  color: #00998E;
  height: 60px;
  line-height: 60px;
}

.btn-transparent .icon {
  width: 16px;
  height: 19px;
  margin: 0 4px 4px 0;
  transition: all .3s;
}

.btn-transparent:hover {
  background-color: #00998E;
}

.btn-transparent:hover {
  color: #fff;
}

.btn-arrow {
  border: none;
  background: transparent;
  outline: none;
}

.btn-arrow .icon {
  width: 18px;
  height: 12px;
  color: #00998E;
}

.btn-arrow.--hover {
  padding: 10px;
  padding-left: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  color: #055B94;
  text-transform: uppercase;
}

.btn-arrow.--hover .icon {
  color: #055B94;
  margin: 3px 0px 0px 8px;
  opacity: 0;
  transform: translateX(-150%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.btn-arrow.--hover:hover .icon {
  transform: translateX(0px);
  opacity: 1;
}

.btn-arrow.--border {
  border: 1px solid #055B94;
  height: 50px;
  width: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-arrow.--border:first-child {
  border-right: none;
}

@media (max-width: 767px) {
  .btn-arrow.--border {
    border: none;
    border-radius: 50%;
    background-color: #FFD64F;
    height: 40px;
    width: 40px;
  }
}

.btn-icon-right {
  height: 60px;
  line-height: 60px;
  width: 100%;
  padding: 0 20px;
  text-align: left;
  text-transform: uppercase;
  background-color: #FFD64F;
  color: #055B94;
}

.btn-icon-right .icon {
  width: 26px;
  height: 100%;
  color: #055B94;
  margin-right: 10px;
}

.btn-icon-right:hover {
  background-color: #055B94;
  color: #fff;
}

.btn-icon-right:hover .icon {
  color: #fff;
}

.btn-icon-right.--secondary {
  background-color: #055B94;
  color: #fff;
}

.btn-icon-right.--secondary .icon {
  color: #fff;
  width: 15px;
  margin-left: 7px;
  margin-right: 15px;
}

.btn-icon-right.--secondary:hover {
  background-color: #FFD64F;
  color: #055B94;
}

.btn-icon-right.--secondary:hover .icon {
  color: #055B94;
}

.btn-text {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .1rem;
  transition: text-shadow .3s ease-in-out, letter-spacing .2s ease-in-out;
}

.btn-text:hover {
  text-shadow: 0 0 0.8px #fff, 0 0 0.8px #fff;
  letter-spacing: .15rem;
}

.btn-link-icon {
  margin-left: 5px;
}

.btn-link-icon .icon {
  margin-top: 3px;
  width: 20px;
  height: 20px;
}

.dark-on .btn-arrow .icon {
  color: #fff;
}

.dark-on .btn-arrow.--border {
  border: 1px solid #fff;
}

@media (max-width: 767px) {
  .dark-on .btn-arrow.--border {
    background-color: #fff;
  }
}

/*
 * Modified Bootstrap Reboot v5.0.0-alpha1 (https://getbootstrap.com/) (removed colors and links underlining)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  margin: 1rem 0;
  color: inherit;
  background-color: currentColor;
  border: 0;
  opacity: 0.25;
}

hr:not([size]) {
  height: 1px;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
}

h1 {
  font-size: calc(1.375rem + 1.5vw);
}

@media (min-width: 1200px) {
  h1 {
    font-size: 2.5rem;
  }
}

h2 {
  font-size: calc(1.325rem + 0.9vw);
}

@media (min-width: 1200px) {
  h2 {
    font-size: 2rem;
  }
}

h3 {
  font-size: calc(1.3rem + 0.6vw);
}

@media (min-width: 1200px) {
  h3 {
    font-size: 1.75rem;
  }
}

h4 {
  font-size: calc(1.275rem + 0.3vw);
}

@media (min-width: 1200px) {
  h4 {
    font-size: 1.5rem;
  }
}

h5 {
  font-size: 1.25rem;
}

h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  list-style: none;
}

ol,
ul,
dl {
  margin: 0;
  padding: 0;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: .5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 0.875em;
}

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

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

a {
  text-decoration: none;
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
  -ms-overflow-style: scrollbar;
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: #d63384;
  word-wrap: break-word;
}

a > code {
  color: inherit;
}

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 0.875em;
  color: #fff;
  background-color: #212529;
  border-radius: 0.2rem;
}

kbd kbd {
  padding: 0;
  font-size: 1em;
  font-weight: 700;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #6c757d;
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role="button"] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

[list]::-webkit-calendar-picker-indicator {
  display: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
  white-space: normal;
}

@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}

legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: textfield;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

html {
  font-size: 42%;
  background-color: #fff;
  scroll-behavior: smooth;
}

@media (min-width: 769px) {
  html {
    font-size: 50.5%;
  }
}

@media (min-width: 1281px) {
  html {
    font-size: 62.5%;
  }
}

body, html {
  min-height: 100%;
}

body {
  color: #474847;
  font-family: "notoSans", Verdana, sans-serif;
  line-height: 1.6;
  font-size: 1.8rem;
}

@media (max-width: 1279px) {
  body {
    font-size: 16px;
  }
}

body:not(.page-template-home-template) .site-content {
  padding-top: 250px;
}

@media (max-width: 1024px) {
  body:not(.page-template-home-template) .site-content {
    padding-top: 105px;
  }
}

body.error404 {
  background-color: #FAFCFE;
}

body.page-template-home-template .members-section, body.single-post .members-section, body.post-type-archive-events .members-section {
  margin-top: 4rem;
}

body.dark-on {
  background-color: #171B22;
  color: #AEAFB0;
}

body.dark-on, body.dark-on > * {
  transition: all .4s ease-in-out;
}

ul {
  padding: 0;
  list-style: none;
}

a {
  color: #055B94;
}

button {
  background-color: transparent;
  border: none;
  outline: none;
}

.wrapper {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

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

.site-header, .site-content, .site-footer {
  flex-shrink: 0;
}

.inner-frame,
.container,
.banner-hero__content-wrap {
  width: 100%;
  max-width: calc(1360px + 40px);
  margin: 0 auto;
  padding: 0 20px;
  transition: max-width .3s;
}

.site-content {
  min-height: 400px;
  padding-bottom: 5rem;
}

.dark-on .site-content {
  padding-bottom: 0;
}

.container-row {
  display: flex;
  justify-content: center;
  width: 100%;
}

@media (max-width: 1024px) {
  .container-row.--products {
    flex-direction: column;
  }
}

.image {
  width: auto;
  max-width: 100%;
  height: auto;
}

.image-caption {
  font-size: 16px;
  color: #898989;
}

.icon {
  width: 0;
  height: 0;
}

.article-width {
  max-width: 785px;
  width: 100%;
  margin: 0 auto;
}

.article-width h1,
.article-width h2,
.article-width h3,
.article-width h4 {
  margin-bottom: 4rem;
}

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

.article-width img.aligncenter {
  display: block;
  margin: 20px auto;
}

.article-width p {
  margin-bottom: 3.5rem;
}

.article-width.privacy h1 {
  font-size: 36px;
  padding: 0 20px;
}

@media (max-width: 1024px) {
  .article-width.privacy h1 {
    text-align: center;
  }
}

.article-width.privacy h2, .article-width.privacy h3 {
  background-image: linear-gradient(to right, #00998E 0%, #055B94 100%);
  background-repeat: repeat-x;
  padding: 18px;
  text-align: center;
  color: #fff;
  font-size: 24px;
}

.article-width.privacy ul, .article-width.privacy ol {
  padding-inline-start: 40px;
  margin-bottom: 3.5rem;
}

@media (max-width: 1024px) {
  .article-width.privacy ul, .article-width.privacy ol {
    padding-inline-start: 20px;
  }
}

.article-width.privacy ul li, .article-width.privacy ol li {
  margin-bottom: 15px;
}

.article-width.privacy ul > li:not([class]) {
  display: flex;
}

.article-width.privacy ul > li:not([class]):before {
  content: " ";
  color: currentColor;
  background-image: url("data:image/svg+xml,%3Csvg width='25' height='32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.072 16L0 0h14.928L25 16 14.928 32H0l10.072-16z' fill='%23FFD64F'/%3E%3C/svg%3E");
  font-size: inherit;
  font-family: inherit;
  padding: 0 10px;
}

.article-width.privacy ul > li:not([class]):before {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-position-y: top;
  background-size: contain;
  padding: 0 6px;
  margin: 7px 10px 0 0;
  display: block;
}

.article-width.privacy ol {
  counter-reset: section;
}

.article-width.privacy ol > li:not([class]):before {
  counter-increment: section;
  content: counters(section, ".") ". ";
  font-weight: bold;
  color: #055B94;
}

.article-width.privacy .alignleft {
  float: left;
  margin-right: 15px;
}

.article-width.privacy .alignright {
  float: right;
  margin-left: 15px;
}

.article-width.privacy .aligncenter {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

.navbar-top {
  width: 100%;
  background-color: #fff;
}

@media (min-width: 1025px) {
  .navbar-top {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  .navbar-top__links {
    display: flex;
  }
  .navbar-top li {
    margin-left: 30px;
  }
}

@media (max-width: 1024px) {
  .navbar-top {
    display: none;
  }
}

.navbar-top .menu-item > a {
  background-repeat: no-repeat;
  background-position: 0 50%;
  font-size: 16px;
}

.wpml-ls {
  display: flex;
  align-items: center;
  padding: 0 2.5rem;
  height: 35px;
  width: auto;
}

@media (min-width: 1025px) {
  .wpml-ls {
    border-left: 1px solid #0F3D5F;
    color: #0F3D5F;
  }
}

@media (max-width: 1024px) {
  .wpml-ls {
    position: relative;
    z-index: 3;
  }
}

.wpml-ls-item {
  position: relative;
  display: flex;
  align-items: center;
}

.wpml-ls-item a.wpml-ls-item-toggle {
  border: none;
  color: #0F3D5F;
  background: transparent;
}

.wpml-ls-item a.wpml-ls-item-toggle:after {
  content: " ";
  color: currentColor;
  background-image: url("../images/svg-icons/thin-arrow-bottom.svg");
  font-size: inherit;
  font-family: inherit;
  padding: 0 10px;
}

.wpml-ls-item a.wpml-ls-item-toggle:after {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 0;
  width: 8px;
  height: 5px;
  margin-top: 2px;
  border: none;
}

.wpml-ls-item a.wpml-ls-item-toggle:hover, .wpml-ls-item a.wpml-ls-item-toggle:focus {
  background: transparent;
}

.wpml-ls-sub-menu .wpml-ls-item:last-child {
  box-shadow: 0 3px 5px -4px rgba(142, 142, 142, 0.5);
}

.wpml-ls .wpml-ls-link {
  color: #0F3D5F;
  padding: 5px 0 5px 11px;
  border: none;
  width: 100%;
}

.wpml-ls .wpml-ls-link:last-child {
  padding-bottom: 9px;
}

.navbar-main__wrap {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #fff;
  transition: background-color .3s;
  padding: 0 2rem 0 5rem;
}

@media (min-width: 1025px) {
  .navbar-main__wrap .wpml-ls {
    display: none;
  }
}

.navbar-main {
  text-transform: uppercase;
  font-weight: 700;
  height: 80px;
}

@media (min-width: 1025px) {
  .navbar-main__links {
    display: flex;
    justify-content: flex-end;
    height: 100%;
  }
}

.navbar-main .menu-item {
  padding: 0 1.7vw;
  position: relative;
  height: 100%;
}

.navbar-main .current-menu-item a:after {
  height: 5px;
  opacity: 1;
  -webkit-transform: translateY(-5px);
  -moz-transform: translateY(-5px);
  transform: translateY(-5px);
}

.navbar-main a {
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  font-size: 15px;
  color: #fff;
  transition: color .3s, font-size .3s;
}

@media (min-width: 1025px) {
  .navbar-main a {
    height: 100%;
    position: relative;
  }
  .navbar-main a:after {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 1px;
    background: #FFD64F;
    content: '';
    opacity: 0;
    -webkit-transition: height 0.3s, opacity 0.3s, transform 0.3s;
    -moz-transition: height 0.3s, opacity 0.3s, transform 0.3s;
    transition: height 0.3s, opacity 0.3s, transform 0.3s;
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    transform: translateY(-10px);
  }
  .navbar-main a:hover:after, .navbar-main a:focus:after {
    height: 5px;
    opacity: 1;
    -webkit-transform: translateY(-5px);
    -moz-transform: translateY(-5px);
    transform: translateY(-5px);
  }
}

@media (min-width: 1281px) {
  .navbar-main a {
    font-size: 16px;
  }
}

.menu a {
  color: #f00;
}

@media (max-width: 1024px) {
  .navbar-main__wrap {
    position: relative;
    height: 100%;
    padding: 15px 16px;
  }
  .navbar-main__wrap .navbar-main {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
    height: calc(100vh + 50px);
    position: absolute;
    right: 0;
    top: 0;
    padding: 90px 10px 110px;
    background-image: url(../images/svg-icons/arrow-background-small.svg), linear-gradient(20deg, #00998E 0, #055B94 55%);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-position-x: center;
    background-position-y: -50px;
    transition: all .3s;
    opacity: 0;
    transform: translateY(-100%);
    pointer-events: none;
  }
  .navbar-main__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background-color: #055B94;
    border-radius: 50%;
    cursor: pointer;
    text-align: center;
    position: relative;
    transition: all .3s;
    z-index: 10;
  }
  .navbar-main__btn .burger-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .navbar-main__btn .burger-icon-line {
    background-color: #fff;
    width: 13px;
    height: 2px;
    flex-shrink: 0;
    margin: 2px 0;
    display: block;
    transition: all .4s ease;
    transform-origin: 0 0;
  }
  .navbar-main__btn.is-active .burger-icon-line.line-1 {
    transform: rotate(45deg) translate(3px, 0px);
  }
  .navbar-main__btn.is-active .burger-icon-line.line-2 {
    transform: scaleX(0);
  }
  .navbar-main__btn.is-active .burger-icon-line.line-3 {
    transform: rotate(-45deg) translate(1px, 0px);
  }
  .navbar-main__btn.is-active + .navbar-main {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
  .navbar-main__links {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
  }
  .navbar-main__links .menu-item {
    margin-bottom: 20px;
  }
  .navbar-main__links .menu-item.current-menu-item {
    display: inline-block;
  }
  .navbar-main__links .menu-item.current-menu-item:after {
    content: '';
    height: 2px;
    width: 80%;
    display: block;
    margin: 5px auto;
    background-color: #FFD64F;
  }
  .navbar-main__links .menu-item:not(.current-menu-item) {
    padding-bottom: 7px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .navbar-main__wrap .navbar-main {
    padding-top: 20vh;
    background-position-y: -100px;
    height: calc(100vh + 100px);
  }
  .navbar-main__wrap .navbar-main__socials {
    margin-top: 40px;
  }
}

@media (min-width: 540px) and (max-width: 1023px) and (orientation: landscape) {
  .navbar-main__wrap .navbar-main {
    padding-top: 75px;
    padding-bottom: 60px;
  }
  .navbar-main__wrap .navbar-main__links {
    align-items: flex-end;
  }
  .navbar-main__wrap .navbar-main__cta {
    margin: 0;
    position: absolute;
    top: 75px;
    left: 15px;
  }
  .navbar-main__wrap .navbar-main__search {
    position: absolute;
    top: 130px;
    left: 15px;
  }
  .navbar-main__wrap .navbar-main__socials {
    width: 100%;
    max-width: 300px;
    position: absolute;
    top: 220px;
    left: 15px;
  }
}

@media (min-width: 540px) and (max-width: 1023px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) and (-webkit-min-device-pixel-ratio: 3), (min-width: 540px) and (max-width: 1023px) and (orientation: landscape) and (min-resolution: 192dpi) and (-webkit-min-device-pixel-ratio: 3), (min-width: 540px) and (max-width: 1023px) and (orientation: landscape) and (min-resolution: 2dppx) and (-webkit-min-device-pixel-ratio: 3), (min-width: 540px) and (max-width: 1023px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) and (min-resolution: 350dpi), (min-width: 540px) and (max-width: 1023px) and (orientation: landscape) and (min-resolution: 192dpi) and (min-resolution: 350dpi), (min-width: 540px) and (max-width: 1023px) and (orientation: landscape) and (min-resolution: 2dppx) and (min-resolution: 350dpi), (min-width: 540px) and (max-width: 1023px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) and (min-resolution: 3dppx), (min-width: 540px) and (max-width: 1023px) and (orientation: landscape) and (min-resolution: 192dpi) and (min-resolution: 3dppx), (min-width: 540px) and (max-width: 1023px) and (orientation: landscape) and (min-resolution: 2dppx) and (min-resolution: 3dppx) {
  .navbar-main__wrap .navbar-main {
    padding-bottom: 80px 10px 60px;
  }
  .navbar-main__wrap .navbar-main__links {
    align-items: flex-end;
  }
  .navbar-main__wrap .navbar-main__links .menu-item {
    margin-bottom: 15px;
  }
  .navbar-main__wrap .navbar-main__cta {
    margin: 0;
    position: absolute;
    top: 80px;
    left: 15px;
  }
  .navbar-main__wrap .navbar-main__search {
    position: absolute;
    top: 140px;
    left: 15px;
  }
  .navbar-main__wrap .navbar-main__socials {
    width: 100%;
    max-width: 300px;
    position: absolute;
    top: 240px;
    left: 15px;
  }
}

@media (max-width: 375px) {
  .navbar-main__wrap .navbar-main {
    padding: 60px 10px 70px;
  }
}

.navbar-main__cta {
  max-width: 300px;
  width: 100%;
  margin: 0 auto 50px;
  font-weight: 400;
}

.navbar-main__search {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row-reverse;
  max-width: 300px;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  height: 50px;
  margin: 20px auto;
}

.navbar-main__search .search-submit, .navbar-main__search .search-field {
  border: 0;
  text-transform: uppercase;
  background-color: transparent;
}

.navbar-main__search .search-field {
  border-right: 1px solid #fff;
  -webkit-appearance: none;
  color: #fff;
  border-radius: 0;
}

.navbar-main__search .search-field::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.navbar-main__search .search-field:-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.navbar-main__search .search-field::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.navbar-main__search .search-field:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.navbar-main__search .search-submit {
  color: #fff;
  font-weight: 700;
}

.navbar-main__socials {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  width: 100%;
}

.navbar-main__socials .social-title {
  color: #fff;
  font-weight: 400;
  text-align: center;
}

.navbar-main__socials .social-title:after {
  content: '';
  height: 1px;
  width: 30px;
  display: block;
  margin: 12px auto 20px;
  background-color: #fff;
}

.navbar-main__socials .social-icons {
  display: flex;
  align-items: center;
  justify-content: center;
}

.navbar-main__socials .social-icon {
  margin: 0 10px;
  width: 33px;
  height: 33px;
  border-radius: 50%;
  overflow: hidden;
  display: inline-block;
}

.navbar-main__socials .social-icon img {
  filter: brightness(0) invert(1);
}

@media (min-width: 1025px) {
  .navbar-main .navbar-main__btn, .navbar-main .navbar-main__cta, .navbar-main .navbar-main__search, .navbar-main .navbar-main__socials {
    display: none;
  }
}

@media (max-width: 1024px) {
  .navbar-main .navbar-main__btn, .navbar-main .navbar-main__cta, .navbar-main .navbar-main__search, .navbar-main .navbar-main__socials {
    flex-shrink: 0;
  }
}

.site-search {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  padding-left: 9px;
  position: relative;
  margin-right: 3rem;
}

@media (max-width: 1023px) {
  .site-search {
    margin-right: 16px;
    padding-right: 6px;
  }
}

.site-search:before {
  content: '';
  height: 16px;
  width: 1px;
  background: rgba(255, 255, 255, 0.4);
  top: 50%;
  position: absolute;
  margin-top: -8px;
}

@media (max-width: 1023px) {
  .site-search:before {
    right: 0;
  }
}

@media (min-width: 1025px) {
  .site-search:before {
    left: 0;
  }
}

.site-search__toggle {
  display: inline-block;
  height: 30px;
  width: 30px;
  background-color: transparent;
  padding: 5px;
  border: none;
  color: #0F3D5F;
  outline-color: transparent !important;
}

.site-search__toggle:hover {
  color: #00998E;
}

.site-search__toggle.is-active + .search-form {
  max-width: 280px;
  opacity: 1;
}

.site-search__icon {
  height: 25px;
  width: 25px;
  vertical-align: top;
  fill: currentColor;
}

.site-search .search-form {
  position: relative;
  transition: all .3s;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
}

.site-search .search-field {
  padding: 0 45px 0 10px;
  height: 34px;
}

.site-search .search-field, .site-search .search-field:focus {
  border: none;
  outline: none;
  border-bottom: 1px solid #0F3D5F;
}

.site-search .search-submit {
  position: absolute;
  right: 5px;
  height: 20px;
  width: 30px;
  top: 50%;
  margin-top: -10px;
  border: none;
  background-color: #00998E;
  font-size: 10px;
  color: #fff;
  letter-spacing: 1px;
}

@media (min-width: 1025px) {
  .page-template-home-template .site-header {
    height: auto;
    background-image: none;
    background: transparent;
  }
}

.site-header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  transition: transform .3s, height .3s, box-shadow .3s, background-position .3s;
  z-index: 99;
}

@media (min-width: 1025px) {
  .site-header {
    height: 246px;
    background-image: url(../images/svg-icons/header-bg.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-position: bottom left;
  }
}

@media (max-width: 1024px) {
  .site-header {
    background-color: #F2F2F2;
  }
}

@media (max-width: 1024px) {
  .site-header.is-active .wpml-ls-item:after, .site-header.is-active .wpml-ls a.wpml-ls-item-toggle:after {
    filter: brightness(0) invert(1);
  }
}

.site-header.is-active .wpml-ls a.wpml-ls-item-toggle {
  color: #fff;
}

.admin-bar .site-header {
  top: 25px;
}

.site-header__inner {
  display: flex;
  justify-content: space-between;
}

.site-header__nav {
  display: flex;
  align-items: flex-end;
}

@media (max-width: 1023px) {
  .site-header__nav {
    align-items: center;
  }
}

@media (min-width: 1025px) {
  .site-header__nav {
    flex-direction: column;
  }
}

.site-header__logo {
  display: flex;
  align-items: center;
}

@media (max-width: 1024px) {
  .site-header__logo {
    flex: 1 1;
    position: relative;
    z-index: 3;
  }
}

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

@media (max-width: 1024px) {
  .site-header__logo img {
    width: 144px;
  }
}

@media (min-width: 1025px) {
  .site-header.is-sticky {
    transform: translateY(-50px);
    height: 130px;
    background-position: 0 200%;
    box-shadow: 0 0 5px #171B22;
  }
  .site-header.is-sticky .navbar-main a {
    color: #00998E;
  }
  .site-header.is-sticky .navbar-main__wrap {
    background-color: #fff;
  }
}

@media (min-width: 1025px) {
  .page-template-contact-template .site-header, .page-template-membership-application .site-header,
  .page-template-thank-you .site-header {
    height: 130px;
    box-shadow: 0 0 5px #171B22;
  }
}

@media (min-width: 1025px) {
  .page-template-contact-template .navbar-main__wrap, .page-template-membership-application .navbar-main__wrap,
  .page-template-thank-you .navbar-main__wrap {
    background-color: #fff;
  }
}

@media (min-width: 1025px) {
  .page-template-contact-template .navbar-main a, .page-template-membership-application .navbar-main a,
  .page-template-thank-you .navbar-main a {
    color: #00998E;
  }
}

.page-template-contact-template .navbar-top, .page-template-membership-application .navbar-top,
.page-template-thank-you .navbar-top {
  background-color: #f1f1f1;
}

:root {
  --scrolly: 0;
}

.banner-hero {
  overflow: hidden;
  height: 100%;
  min-height: 400px;
  position: relative;
  color: #fff;
  font-size: 0;
}

@media (min-width: 1025px) {
  .banner-hero {
    max-height: 950px;
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 81%, 0% 100%);
    clip-path: polygon(0 0, 100% 0%, 100% 81%, 0% 100%);
  }
}

@media (min-width: 1281px) {
  .banner-hero {
    max-height: 1050px;
  }
}

@media (min-width: 1481px) {
  .banner-hero {
    max-height: 1220px;
  }
}

@media (max-width: 1024px) {
  .banner-hero__media {
    background-image: url("../images/hero-img.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }
}

.banner-hero__video {
  width: 100%;
  max-width: 100%;
  object-fit: cover;
  height: 200vh;
}

@media (min-width: 1025px) {
  .banner-hero__video {
    max-height: 1220px;
  }
}

@media (min-width: 321px) and (max-width: 1024px) {
  .banner-hero__video {
    min-height: 400px;
    height: 100vh;
  }
}

@media (min-width: 1281px) {
  .banner-hero__video {
    min-height: 800px;
  }
}

@media (min-width: 1481px) {
  .banner-hero__video {
    min-height: 940px;
  }
}

.banner-hero__content {
  position: absolute;
  height: 100%;
  left: 0;
  right: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  align-items: flex-start;
  background-color: rgba(6, 15, 29, 0.5);
}

@media (max-width: 1024px) {
  .banner-hero__content {
    text-align: center;
  }
}

@media (min-width: 1025px) {
  .banner-hero__content-wrap {
    margin-bottom: 7%;
  }
}

@media (max-width: 1024px) {
  .banner-hero__content-wrap {
    height: 100%;
    max-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    justify-content: space-around;
  }
}

@media (max-width: 767px) {
  .banner-hero__content-wrap {
    max-height: 400px;
  }
}

@media (max-width: 767px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) and (-webkit-min-device-pixel-ratio: 3), (max-width: 767px) and (orientation: landscape) and (min-resolution: 192dpi) and (-webkit-min-device-pixel-ratio: 3), (max-width: 767px) and (orientation: landscape) and (min-resolution: 2dppx) and (-webkit-min-device-pixel-ratio: 3), (max-width: 767px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) and (min-resolution: 350dpi), (max-width: 767px) and (orientation: landscape) and (min-resolution: 192dpi) and (min-resolution: 350dpi), (max-width: 767px) and (orientation: landscape) and (min-resolution: 2dppx) and (min-resolution: 350dpi), (max-width: 767px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) and (min-resolution: 3dppx), (max-width: 767px) and (orientation: landscape) and (min-resolution: 192dpi) and (min-resolution: 3dppx), (max-width: 767px) and (orientation: landscape) and (min-resolution: 2dppx) and (min-resolution: 3dppx) {
  .banner-hero__content-wrap {
    max-height: 280px;
    margin-top: 30px;
  }
}

.banner-hero .section-title {
  max-width: 745px;
  transition: font-size .3s;
  margin-bottom: 4.5rem;
}

@media (max-width: 1024px) {
  .banner-hero .section-title {
    max-width: 480px;
    margin: 0 auto auto;
  }
  .banner-hero .section-title.--big {
    font-size: 46px;
    line-height: 1.5;
  }
}

@media (max-width: 767px) {
  .banner-hero .section-title {
    max-width: 310px;
  }
  .banner-hero .section-title.--big {
    font-size: 30px;
  }
}

@media (max-width: 1024px) {
  .banner-hero .section-subtitle {
    font-size: 40px;
  }
}

@media (max-width: 767px) {
  .banner-hero .section-subtitle {
    font-size: 24px;
  }
}

.banner-text {
  margin-bottom: 6.7rem;
}

@media (max-width: 1024px) {
  .banner-text {
    max-width: 310px;
    margin-bottom: 30px;
  }
}

/* Scroll Effect */
@media (min-width: 1025px) {
  .pr-scroll .banner-hero__media {
    transform: translate3d(0, calc(var(--scrolly) * 1px / 1.5), 0);
  }
  .pr-scroll .banner-hero__content {
    opacity: calc(1 - (var(--scrolly) * 0.0018));
    transform: translate3d(0, calc(var(--scrolly) * 1px / 1.8), 0);
  }
}

.breadcrumbs {
  border-top: 1px solid #00998E;
  border-bottom: 1px solid #00998E;
  padding: 2.5rem 0;
  margin-bottom: 6rem;
}

@media (max-width: 1024px) {
  .breadcrumbs {
    display: none;
  }
}

.breadcrumbs * {
  text-transform: uppercase;
  font-size: 16px;
}

.breadcrumbs a, .breadcrumbs a:active, .breadcrumbs a:visited {
  color: #055B94;
}

.breadcrumbs__link {
  color: #055B94;
}

.breadcrumbs__link.--active {
  color: #00998E;
}

.breadcrumbs .icon {
  color: #055B94;
  width: 14px;
  height: 10px;
}

.products-template-default .breadcrumbs, .post-type-archive-products .breadcrumbs {
  border-bottom: none;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGljYWwuY3NzIiwic291cmNlcyI6WyJjcml0aWNhbC5zY3NzIiwiY29yZS9fY29yZS5zY3NzIiwiY29yZS9taXhpbnMvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImNvcmUvbWl4aW5zL19mbGV4Ym94LXRvb2xraXQuc2NzcyIsImNvcmUvbWl4aW5zL19taW5pLW1peGlucy5zY3NzIiwiY29yZS92YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwiY29yZS92YXJpYWJsZXMvX2ZvbnQuc2NzcyIsImNvcmUvdmFyaWFibGVzL19icmVha3BvaW50cy5zY3NzIiwiY29yZS92YXJpYWJsZXMvX3BhZ2Utc2l6ZXMuc2NzcyIsImNvcmUvX2ZvbnQtZmFjZS5zY3NzIiwiY29yZS9taXhpbnMvX2ZvbnQtZmFjZS5zY3NzIiwiZWxlbWVudHMvX2ljb25zLnNjc3MiLCJlbGVtZW50cy9fYnV0dG9ucy5zY3NzIiwiaGVscGVycy9fcmVib290LnNjc3MiLCJsYXlvdXQvX2Jhc2Uuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvaGVhZGVyL19uYXZiYXJfdG9wLnNjc3MiLCJsYXlvdXQvaGVhZGVyL19uYXZiYXJfbWFpbi5zY3NzIiwibGF5b3V0L2hlYWRlci9fbmF2YmFyX21vYmlsZS5zY3NzIiwibGF5b3V0L2hlYWRlci9fc2l0ZV9zZWFyY2guc2NzcyIsImxheW91dC9iYW5uZXIvX2hlcm9fYmFubmVyLnNjc3MiLCJ3aWRnZXRzL2JyZWFkY3J1bWJzL19icmVhZGNydW1icy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEJhc2Ugc3R5bGVzIGZvciB0aGUgZmlyc3Qgdmlld3BvcnRcclxuXHJcbi8vIENvcmUgc2V0dGluZ3NcclxuQGltcG9ydCAnY29yZS9jb3JlJyxcclxuICAgICAgICAnY29yZS9mb250LWZhY2UnO1xyXG5cclxuLy8gR2VuZXJhbCBjb21wb25lbnRzXHJcbkBpbXBvcnQgJ2VsZW1lbnRzL2ljb25zJyxcclxuICAgICAgICAnZWxlbWVudHMvYnV0dG9ucyc7XHJcblxyXG4vLyBIZWxwZXJzIGFuZCB1dGlsaXRpZXNcclxuQGltcG9ydCAnaGVscGVycy9yZWJvb3QnO1xyXG5cclxuLy8gU2l0ZSBTdHJ1Y3R1cmVcclxuQGltcG9ydCAnbGF5b3V0L2Jhc2UnLFxyXG4gICAgICAgICdsYXlvdXQvaGVhZGVyJyxcclxuICAgICAgICAnbGF5b3V0L2Jhbm5lci9oZXJvX2Jhbm5lcic7XHJcblxyXG4vLyBXaWRnZXRzXHJcbkBpbXBvcnQgJ3dpZGdldHMvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMnO1xyXG5cclxuIiwiQGltcG9ydCAnbWl4aW5zL2luY2x1ZGUtbWVkaWEnLFxyXG5cdFx0J21peGlucy9mbGV4Ym94LXRvb2xraXQnLFxyXG5cdFx0J21peGlucy9taW5pLW1peGlucyc7XHJcblxyXG5AaW1wb3J0ICd2YXJpYWJsZXMvY29sb3JzJyxcclxuXHRcdCd2YXJpYWJsZXMvZm9udCcsXHJcblx0XHQndmFyaWFibGVzL2JyZWFrcG9pbnRzJyxcclxuXHRcdCd2YXJpYWJsZXMvcGFnZS1zaXplcyc7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXHJcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xyXG4vLy9cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgJ3Bob25lJzogMzIwcHgsXHJcbiAgJ3RhYmxldCc6IDc2OHB4LFxyXG4gICdkZXNrdG9wJzogMTAyNHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxyXG4gICdwcmludCc6ICdwcmludCcsXHJcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XHJcbi8vL1xyXG4kdW5pdC1pbnRlcnZhbHM6IChcclxuICAncHgnOiAxLFxyXG4gICdlbSc6IDAuMDEsXHJcbiAgJ3JlbSc6IDAuMSxcclxuICAnJzogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcclxuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXHJcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xyXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAgLmZvbyB7XHJcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xyXG5cclxuLy8vL1xyXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxyXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcclxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcclxuICAgIEBlcnJvciAkbWVzc2FnZTtcclxuICB9IEBlbHNlIHtcclxuICAgIEB3YXJuICRtZXNzYWdlO1xyXG4gICAgJF86IG5vb3AoKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG1lc3NhZ2U7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcclxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxyXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxyXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQG1peGluIGxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcclxuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXHJcbi8vL1xyXG5AZnVuY3Rpb24gbm9vcCgpIHt9XHJcblxyXG4vLy9cclxuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xyXG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xyXG5cclxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcclxuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxyXG4gIH1cclxuXHJcbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XHJcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xyXG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXHJcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcclxuICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gUGFyc2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuICB9IEBlbHNlIHtcclxuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuICBAaWYgbm90ICRpbnRlcnZhbCB7XHJcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2VcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcclxuLy8vXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuICB9XHJcblxyXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcclxuICAgIEByZXR1cm4gKCk7XHJcbiAgfVxyXG5cclxuICAkcmVzdWx0OiAoKTtcclxuXHJcbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcbiAgfVxyXG5cclxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuICAkcmVzdWx0OiAwO1xyXG4gICRkaWdpdHM6IDA7XHJcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcclxuXHJcbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcclxuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xyXG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XHJcbiAgICAgICRkaWdpdHM6IDE7XHJcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcclxuLy8vXHJcbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xyXG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XHJcblxyXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcclxuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxyXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxyXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXHJcbi8vLyBmb3IgaW5zdGFuY2UuXHJcbi8vL1xyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XHJcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcclxuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XHJcblxyXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xyXG5cclxuICBAY29udGVudDtcclxuXHJcbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XHJcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxyXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XHJcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XHJcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBmbGV4LWNvbHVtbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jZW50ZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY2VudGVyLWNvbHVtbiB7XHJcblx0QGluY2x1ZGUgZmxleC1jZW50ZXI7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY2VudGVyLXZlcnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY2VudGVyLWhvcml6IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1iZXR3ZWVuLWNlbnRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYmV0d2Vlbi1ob3JpeiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWVuZC1ob3JpeiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1lbmQtY29sdW1uLWhvcml6IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uY29sIHtcclxuXHRmbGV4OiAxO1xyXG59XHJcbiIsIi8vIGNsZWFyZml4XHJcbkBtaXhpbiBjbGVhcmZpeCgpIHtcclxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY292ZXItYmFja2dyb3VuZCB7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxufVxyXG5cclxuLy8gSW1hZ2UgcmF0aW9cclxuQG1peGluIGltZy13cmFwKCRtYXgtdywgJHBiLCAkbWFyZ2luLCAkb2YpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIG1heC13aWR0aDogJG1heC13O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBiO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIG1hcmdpbjogJG1hcmdpbjtcclxuXHJcbiAgICAmLi0tY2lyY2xlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLCAudmlkZW8ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAtby1vYmplY3QtZml0OiAkb2Y7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogJG9mO1xyXG4gICAgfVxyXG59XHJcblxyXG4vL292ZXJsYXkgXHJcbkBtaXhpbiBiZy1vdmVybGF5KCRjb2xvcjogIzA2MEYxRCwgJG9wYWNpdHk6LjUpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkb3BhY2l0eSk7XHJcbn1cclxuXHJcbi8vIGJlZm9yZSBlbGVtZW50XHJcbkBtaXhpbiBiZWZvcmUtZWxlbWVudCgkY29udGVudCwgJGltYWdlKSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJGNvbnRlbnQ7XHJcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlKTtcclxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBhZnRlciBlbGVtZW50XHJcbkBtaXhpbiBhZnRlci1lbGVtZW50KCRjb250ZW50LCAkaW1hZ2UpIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICRjb250ZW50O1xyXG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZSk7XHJcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gYm9yZGVyXHJcbkBtaXhpbiBib3JkZXItYm90dG9tKCR3aWR0aDogMXB4LCAkY29sb3I6ICRjLWJvcmRlci1ncmF5KSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGNvbG9yO1xyXG59XHJcblxyXG4vL2RpdmlkZXJcclxuQG1peGluIGRpdmlkZXIoJGNvbG9yLCAkd2lkdGgsICRtYXJnaW4sICRoZWlnaHQ6IDRweCkge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDonJztcclxuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46ICRtYXJnaW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyByb3RhdGVcclxuQG1peGluIHJvdGF0ZSgkZGVnKSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKCN7JGRlZ31kZWcpKTtcclxuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gc2NhbGVcclxuQG1peGluIHNjYWxlKCR4LCR5KSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoJHgsICR5KSk7XHJcbn1cclxuXHJcbi8vIHRyYW5zbGF0ZVxyXG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgkeCwgJHkpKTtcclxufVxyXG5cclxuLy8gc2tld1xyXG5AbWl4aW4gc2tldygkeCwgJHkpIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShza2V3KCN7JHh9ZGVnLCAjeyR5fWRlZykpO1xyXG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyBoaWRlIHNsaWRlciBidXR0b25cclxuQG1peGluIGhpZGVTbGlkZUJ1dHRvbigpIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dDtcclxuICAgICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBAY29udGVudFxyXG4gICAgfVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBAY29udGVudFxyXG4gICAgfVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgQGNvbnRlbnRcclxuICAgIH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBAY29udGVudFxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cclxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsLWZvdXItY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJG1pZC1lbmQtY29sb3I6ICNjMzMyNWYsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwkc3RhcnQtY29sb3IsICRtaWQtY29sb3IsICRtaWQtZW5kLWNvbG9yLCAkZW5kLWNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuXHJcbi8vIHNpbXBsZSBsaW5rIHdpdGggYXJycm93XHJcbkBtaXhpbiBidG4tbGluay1pY29uLXByaW1hcnkoJGljOiAkYy1icmFuZC1wcmltYXJ5MSwgJGl3OjE0cHgsICRpaDo4cHgsICRmdzogYm9sZCkge1xyXG5cdEBpbmNsdWRlIGZsZXgtY2VudGVyLXZlcnQ7XHJcblx0dHJhbnNpdGlvbjogZm9udC13ZWlnaHQgLjNzO1xyXG5cclxuXHQuaWNvbiB7XHJcblx0XHRjb2xvcjogJGljO1xyXG5cdFx0d2lkdGg6IDE4cHg7XHJcblx0XHRoZWlnaHQ6IDEycHg7XHJcblx0XHRtYXJnaW4tbGVmdDogOHB4O1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUwJSk7XHJcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzLCBvcGFjaXR5IC4zcztcclxuXHR9XHJcblxyXG5cdCYuYWN0aXZlLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiAkZnc7XHJcblxyXG5cdFx0Lmljb24ge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qIENvbG9yIFZhcmlhYmxlcyAqL1xyXG5cclxuJGMtYnJhbmQtcHJpbWFyeTE6ICAjMDA5OThFO1xyXG4kYy1icmFuZC1wcmltYXJ5MjogICMwNTVCOTQ7XHJcbiRjLWJyYW5kLXByaW1hcnkzOiAgI0ZGRDY0RjtcclxuJGMtYnJhbmQtcHJpbWFyeTMtbGlnaHQ6ICNGRUU5NkE7XHJcbiRjLWJyYW5kLXByaW1hcnkxLWxpZ2h0OiAjMDBjYWIxO1xyXG5cclxuJGJnLWJyYW5kLXByaW1hcnk6ICAkYy1icmFuZC1wcmltYXJ5MTtcclxuXHJcbiRjLXRleHQtcHJpbWFyeTogICAgIzQ3NDg0NztcclxuJGMtdGV4dC1saWdodDogICAgICAjODk4OTg5O1xyXG4kYy10ZXh0LWJsdWU6ICAgICAgICMwRjNENUY7XHJcbiRjLXRleHQtZ3JheTogICAgICAgIzhFOEU4RTtcclxuJGMtdGV4dC1ncmF5LTI6ICAgICAjOUU5RDlEO1xyXG4kYy10ZXh0LWRhcmstb246ICAgICNBRUFGQjA7XHJcbiRjLXRleHQtd2hpdGU6ICAgICAgI2ZmZjtcclxuXHJcbiRjLWJvcmRlci1ncmF5OiAgICAgI0M0QzRDNDtcclxuXHJcbiRiZy1ib2R5OiAgICAgICAgICAgJGMtdGV4dC13aGl0ZTtcclxuJGJnLWJsYWNrOiAgICAgICAgICAjMTcxQjIyO1xyXG4kYmctZGFyazogICAgICAgICAgICM0NzQ4NDc7XHJcbiRiZy1saWdodC1ncmF5OiAgICAgI0Y1RjVGNTtcclxuXHJcbiIsIi8qIEZvbnQgVmFyaWFibGVzICovXHJcblxyXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogVmVyZGFuYSwgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LXNlcmlmOiBzYW5zLXNlcmlmO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xyXG5cclxuJGYtcHJpbWFyeTogJ25vdG9TYW5zJywgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XHJcbiRmLXNlY29uZGFyeTogJ25vdG9TZXJpZicsICRmb250LWZhbWlseS1zZXJpZjsgXHJcblxyXG4kZnctbm9ybWFsOlx0NDAwO1xyXG4kZnctbWVkaXVtOlx0NTAwO1xyXG4kZnctc2VtaTpcdDYwMDtcclxuJGZ3LWJvbGQ6XHQ3MDA7XHJcbiRmdy1ibGFjazpcdDkwMDtcclxuXHJcbiRsaC1iYXNlOiAxLjY7IiwiLyogTWVkaWEgUXVlcmllcyBCcmVha3BvaW50cyAqL1xyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgICAncGhvbmUnOiAzMjBweCxcclxuICAgICd0YWJsZXQnOiA3NjhweCxcclxuICAgICdkZXNrdG9wJzogMTAyNHB4LFxyXG4gICAgJ2Rlc2t0b3AtbSc6IDEyODBweCxcclxuICAgICdkZXNrdG9wLWwnOiAxNDQwcHhcclxuKTtcclxuIiwiLyogTWVkaWEgUXVlcmllcyBCcmVha3BvaW50cyAqL1xyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgICAncGhvbmUnOiAzMjBweCxcclxuICAgICdwaG9uZS1zJzogMzc1cHgsXHJcbiAgICAncGhvbmUtbSc6IDU0MHB4LFxyXG4gICAgJ3Bob25lLWwnOiA1NzZweCxcclxuICAgICd0YWJsZXQnOiA3NjhweCxcclxuICAgICdkZXNrdG9wJzogMTAyNHB4LFxyXG4gICAgJ2Rlc2t0b3Atcyc6IDExNjBweCxcclxuICAgICdkZXNrdG9wLW0nOiAxMjgwcHgsXHJcbiAgICAnZGVza3RvcC1sJzogMTQ4MHB4XHJcbik7XHJcblxyXG4vKiBMYXlvdXQgc2l6ZXMgKi9cclxuXHJcbiRjb250ZW50LXdpZHRoOiAxMzYwcHg7XHJcbiRjb250ZW50LXdpZHRoLWw6IDEyODBweDtcclxuJGNvbnRlbnQtd2lkdGgtbTogNzg1cHg7XHJcbiRjb250ZW50LXdpZHRoLXM6IDc2OHB4O1xyXG4kY29udGVudC13aWR0aC14czogNTc2cHg7XHJcblxyXG4kc2VjdGlvbi12ZXJ0aWNhbC1nYXA6IDh2bWluXHJcbiIsIkBpbXBvcnQgJ21peGlucy9mb250LWZhY2UnO1xyXG5cclxuQGluY2x1ZGUgYWRkRm9udEZhY2Uobm90b1NhbnMsICcuLi8uLi9mb250cy9ub3RvLXNhbnMnLCAoJ3dvZmYnLCAnd29mZjInKSwgKFxyXG4gICAgICAgIGNyZWF0ZUZvbnRNYXAoJ25vdG8tc2Fucy12MTEtbGF0aW4taXRhbGljJywgNDAwLCAnaXRhbGljJyksXHJcbiAgICAgICAgY3JlYXRlRm9udE1hcCgnbm90by1zYW5zLXYxMS1sYXRpbi1yZWd1bGFyJywgNDAwKSxcclxuICAgICAgICBjcmVhdGVGb250TWFwKCdub3RvLXNhbnMtdjExLWxhdGluLTcwMCcsIDcwMClcclxuKSk7XHJcblxyXG5AaW5jbHVkZSBhZGRGb250RmFjZShub3RvU2VyaWYsICcuLi8uLi9mb250cy9ub3RvLXNlcmlmJywgKCd3b2ZmJywgJ3dvZmYyJyksIChcclxuICAgICAgICBjcmVhdGVGb250TWFwKCdub3RvLXNlcmlmLXY5LWxhdGluLXJlZ3VsYXInLCA0MDApLFxyXG4gICAgICAgIGNyZWF0ZUZvbnRNYXAoJ25vdG8tc2VyaWYtdjktbGF0aW4tNzAwJywgNzAwKVxyXG4pKTtcclxuXHJcbiIsIkBmdW5jdGlvbiBjcmVhdGVGb250TWFwKCRmaWxlLCAkd2VpZ2h0Om5vcm1hbCwgJHN0eWxlOm5vcm1hbCkge1xyXG5cdCRkZWY6IChcclxuXHRcdFx0ZmlsZTogJGZpbGUsXHJcblx0XHRcdHdlaWdodDogJHdlaWdodCxcclxuXHRcdFx0c3R5bGU6ICRzdHlsZVxyXG5cdCk7XHJcblx0QHJldHVybiAkZGVmO1xyXG59XHJcblxyXG5AbWl4aW4gYWRkRm9udEZhY2UoJGZvbnRGYW1pbHksICRiYXNlUGF0aCwgJGZvcm1hdHMsICRkZWZMaXN0KSB7XHJcblx0QGVhY2ggJGRlZiBpbiAkZGVmTGlzdCB7XHJcblx0XHQkc3JjOiAoKTtcclxuXHRcdEBlYWNoICRmb3JtYXQgaW4gJGZvcm1hdHMge1xyXG5cdFx0XHQkZXh0OiAkZm9ybWF0O1xyXG5cclxuXHRcdFx0QGlmICgkZm9ybWF0ID09ICd0cnVldHlwZScpIHtcclxuXHRcdFx0XHQkZXh0OiAndHRmJztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JHVybDogdXJsKCcjeyRiYXNlUGF0aH0vI3ttYXBfZ2V0KCRkZWYsICdmaWxlJyl9LiN7JGV4dH0nKSBmb3JtYXQocXVvdGUoJGZvcm1hdCkpO1xyXG5cdFx0XHQkc3JjOiBhcHBlbmQoJHNyYywgJHVybCwgY29tbWEpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBmb250LWZhY2Uge1xyXG5cdFx0XHRmb250LWZhbWlseTogcXVvdGUoJGZvbnRGYW1pbHkpO1xyXG5cdFx0XHRmb250LXdlaWdodDogbWFwX2dldCgkZGVmLCAnd2VpZ2h0Jyk7XHJcblx0XHRcdGZvbnQtc3R5bGU6IG1hcF9nZXQoJGRlZiwgJ3N0eWxlJyk7XHJcblx0XHRcdGZvbnQtZGlzcGxheTogc3dhcDtcclxuXHRcdFx0c3JjOiAkc3JjO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyogTWl4aW4gb3JpZ2luOiBodHRwczovL21hcmMtZWQtcmFmZmFsbGkuZ2l0aHViLmlvLzIwMTcvMTAvMTQvc2Fzcy1mb250LWZhY2UuaHRtbCAqLyIsIiRhcnJvd1ByaW1hcnkzOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzI1JyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMTAuMDcyIDE2TDAgMGgxNC45MjhMMjUgMTYgMTQuOTI4IDMySDBsMTAuMDcyLTE2eicgZmlsbD0nJTIzRkZENjRGJy8lM0UlM0Mvc3ZnJTNFXCI7XHJcblxyXG4uYXJyb3ctcmlnaHQtb3JhbmdlIHtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjUuODA5JyBoZWlnaHQ9JzIwLjQ5JyUzRSUzQ3BhdGggZGF0YS1uYW1lPSdQYXRoIDMzNDEnIGQ9J00wIDUuNzAzaDE1LjU2NHYtNS43bDEwLjI0NCAxMC4yNDQtMTAuMjQ0IDEwLjI0NnYtNi4xMTdIMHonIGZpbGw9JyUyM2U1NWIyYicvJTNFJTNDL3N2ZyUzRVwiKTtcclxufVxyXG5cclxuLmFycm93LXJpZ2h0LWdyZWVuIHtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjUuODA5JyBoZWlnaHQ9JzIwLjQ5JyUzRSUzQ3BhdGggZGF0YS1uYW1lPSdQYXRoIDMzNDEnIGQ9J00wIDUuNzAzaDE1LjU2NHYtNS43bDEwLjI0NCAxMC4yNDQtMTAuMjQ0IDEwLjI0NnYtNi4xMTdIMHonIGZpbGw9JyUyM2U1NWIyYicvJTNFJTNDL3N2ZyUzRVwiKTtcclxufVxyXG5cclxuLmFycm93LXJpZ2h0LXdoaXRlIHtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTQnIGhlaWdodD0nMjYuMjYzJyUzRSUzQ3BhdGggZGF0YS1uYW1lPSdQYXRoIDEnIGQ9J00xMy43NTIgMTIuNTNMMS40NjkuMjQ4QS44My44MyAwIDAwLjg2OSAwYS44NDUuODQ1IDAgMDAtLjYuMjQ4TC4yNTEuMjYzYS44NjIuODYyIDAgMDAtLjI1MS42djUuOTY1YS44MzcuODM3IDAgMDAuMjUxLjZsNS43IDUuNy01LjcgNS43YS44NDkuODQ5IDAgMDAtLjI1MS42djUuOTU3YS44NC44NCAwIDAwLjI1MS42bC4wMTcuMDEzYS44NS44NSAwIDAwMS4yMDUgMGwxMi4yNzktMTIuMjY0YS44NTQuODU0IDAgMDAwLTEuMjA0eicgZmlsbD0nJTIzZmZmJy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG59IiwiLmJ0bi1jb3JlIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzLCBib3JkZXIgLjNzLCBiYWNrZ3JvdW5kIC4zcztcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcblx0JiwgJjpmb2N1cyB7XHJcblx0XHRvdXRsaW5lOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLmJ0biB7XHJcblx0QGV4dGVuZCAuYnRuLWNvcmU7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRwYWRkaW5nOiAwIDVyZW07XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0aGVpZ2h0OiA1MHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiA1MHB4O1xyXG5cdGZvbnQtc2l6ZTogMThweDtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wLW1cIikge1xyXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdH1cclxuXHJcblx0Ji1leHRlbmQgeyBcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHQuaWNvbiB7XHJcblx0XHRcdFx0Ji4tLWZpcnN0IHtcclxuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ji4tLXNlY29uZCB7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYuLS10aGlyZCB7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuaWNvbiB7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0d2lkdGg6IDc0cHg7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLWluLW91dDtcclxuXHRcdH1cclxuXHJcblx0XHRzcGFuIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHR6LWluZGV4OiAyO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmJ0bi1wcmltYXJ5IHtcclxuXHRAZXh0ZW5kIC5idG47XHJcblx0QGV4dGVuZCAuYnRuLWV4dGVuZDtcclxuXHRjb2xvcjogJGMtYnJhbmQtcHJpbWFyeTI7XHJcblx0Zm9udC13ZWlnaHQ6ICRmdy1ib2xkO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjLWJyYW5kLXByaW1hcnkzO1xyXG5cdGhlaWdodDogNjBweDtcclxuXHRsaW5lLWhlaWdodDogNjBweDtcclxuXHRsZXR0ZXItc3BhY2luZzogLjFyZW07XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHMgZWFzZS1pbi1vdXQ7XHJcblxyXG5cdC5pY29uIHtcclxuXHRcdCYuLS1maXJzdCB7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MCUpO1xyXG5cdFx0fVxyXG5cdFx0Ji4tLXNlY29uZCB7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKTtcclxuXHRcdH1cclxuXHRcdCYuLS10aGlyZCB7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtODAlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGMtYnJhbmQtcHJpbWFyeTMtbGlnaHQ7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wLW1cIikge1xyXG5cdFx0aGVpZ2h0OiA1MHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDUwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uYnRuLXNlY29uZGFyeSB7XHJcblx0QGV4dGVuZCAuYnRuO1xyXG5cdEBleHRlbmQgLmJ0bi1leHRlbmQ7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGMtYnJhbmQtcHJpbWFyeTE7XHJcblx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHMgZWFzZS1pbi1vdXQ7XHJcblxyXG5cdC5pY29uIHtcclxuXHRcdCYuLS1maXJzdCB7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xyXG5cdFx0fVxyXG5cdFx0Ji4tLXNlY29uZCB7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuXHRcdH1cclxuXHRcdCYuLS10aGlyZCB7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGMtYnJhbmQtcHJpbWFyeTEtbGlnaHQ7XHJcblx0fVxyXG59XHJcblxyXG4uYnRuLXRyYW5zcGFyZW50IHtcclxuXHRAZXh0ZW5kIC5idG4tY29yZTtcclxuXHRAZXh0ZW5kIC5idG47XHJcblx0cGFkZGluZzogMCAycmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRjLWJyYW5kLXByaW1hcnkxO1xyXG5cdGNvbG9yOiAkYy1icmFuZC1wcmltYXJ5MTtcclxuXHRoZWlnaHQ6IDYwcHg7XHJcblx0bGluZS1oZWlnaHQ6IDYwcHg7XHJcblxyXG5cdC5pY29uIHtcclxuXHRcdHdpZHRoOiAxNnB4O1xyXG5cdFx0aGVpZ2h0OiAxOXB4O1xyXG5cdFx0bWFyZ2luOiAwIDRweCA0cHggMDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjLWJyYW5kLXByaW1hcnkxO1xyXG5cdFx0JiB7XHJcblx0XHRcdGNvbG9yOiAkYy10ZXh0LXdoaXRlO1x0XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYnRuLWFycm93IHtcclxuXHRAZXh0ZW5kIC5idG4tY29yZTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHJcblx0Lmljb24ge1xyXG5cdFx0d2lkdGg6IDE4cHg7XHJcblx0XHRoZWlnaHQ6IDEycHg7XHJcblx0XHRjb2xvcjogJGMtYnJhbmQtcHJpbWFyeTE7XHJcblx0fVxyXG5cclxuXHQmLi0taG92ZXIge1xyXG5cdFx0cGFkZGluZzogMTBweDtcclxuXHRcdHBhZGRpbmctbGVmdDogMzVweDtcclxuXHRcdEBpbmNsdWRlIGZsZXgtY2VudGVyO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRjb2xvcjogJGMtYnJhbmQtcHJpbWFyeTI7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHJcblx0XHQuaWNvbiB7XHJcblx0XHRcdGNvbG9yOiAkYy1icmFuZC1wcmltYXJ5MjtcclxuXHRcdFx0bWFyZ2luOiAzcHggMHB4IDBweCA4cHg7XHJcblx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUwJSk7XHJcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIG9wYWNpdHkgMC4zcyBlYXNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHQuaWNvbiB7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XHJcblx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji4tLWJvcmRlciB7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkYy1icmFuZC1wcmltYXJ5MjtcclxuXHRcdGhlaWdodDogNTBweDtcclxuXHRcdHdpZHRoOiA1MHB4O1xyXG5cdFx0QGluY2x1ZGUgZmxleC1jZW50ZXI7XHJcblxyXG5cdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xyXG5cdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGMtYnJhbmQtcHJpbWFyeTM7XHJcblx0XHRcdGhlaWdodDogNDBweDtcclxuXHRcdFx0d2lkdGg6IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cdH1cclxufVxyXG5cclxuLmJ0bi1pY29uLXJpZ2h0IHtcclxuXHRAZXh0ZW5kIC5idG4tY29yZTtcclxuXHRoZWlnaHQ6IDYwcHg7XHJcblx0bGluZS1oZWlnaHQ6IDYwcHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMCAyMHB4O1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYy1icmFuZC1wcmltYXJ5MztcclxuXHRjb2xvcjogJGMtYnJhbmQtcHJpbWFyeTI7XHJcblxyXG5cdC5pY29uIHtcclxuXHRcdHdpZHRoOiAyNnB4O1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0Y29sb3I6ICRjLWJyYW5kLXByaW1hcnkyO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYy1icmFuZC1wcmltYXJ5MjtcclxuXHRcdGNvbG9yOiAkYy10ZXh0LXdoaXRlO1xyXG5cclxuXHRcdC5pY29uIHtcclxuXHRcdFx0Y29sb3I6ICRjLXRleHQtd2hpdGU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLi0tc2Vjb25kYXJ5IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjLWJyYW5kLXByaW1hcnkyO1xyXG5cdFx0Y29sb3I6ICRjLXRleHQtd2hpdGU7XHJcblxyXG5cdFx0Lmljb24ge1xyXG5cdFx0XHRjb2xvcjogJGMtdGV4dC13aGl0ZTtcclxuXHRcdFx0d2lkdGg6IDE1cHg7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiA3cHg7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTVweDtcclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGMtYnJhbmQtcHJpbWFyeTM7XHJcblx0XHRcdGNvbG9yOiAkYy1icmFuZC1wcmltYXJ5MjtcclxuXHJcblx0XHRcdC5pY29uIHtcclxuXHRcdFx0XHRjb2xvcjogJGMtYnJhbmQtcHJpbWFyeTI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5idG4tdGV4dCB7XHJcblx0Y29sb3I6ICRjLXRleHQtd2hpdGU7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogLjFyZW07XHJcblx0dHJhbnNpdGlvbjogdGV4dC1zaGFkb3cgLjNzIGVhc2UtaW4tb3V0LCBsZXR0ZXItc3BhY2luZyAuMnMgZWFzZS1pbi1vdXQ7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0dGV4dC1zaGFkb3c6IDAgMCAuOHB4ICRjLXRleHQtd2hpdGUsIDAgMCAuOHB4ICRjLXRleHQtd2hpdGU7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLjE1cmVtO1xyXG5cdH1cclxufVxyXG5cclxuLmJ0bi1saW5rLWljb24ge1xyXG5cdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblxyXG5cdC5pY29uIHtcclxuXHRcdG1hcmdpbi10b3A6IDNweDtcclxuXHRcdHdpZHRoOiAyMHB4O1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmRhcmstb24ge1xyXG5cdC5idG4tYXJyb3cge1xyXG5cdFx0Lmljb24ge1xyXG5cdFx0XHRjb2xvcjogJGJnLWJvZHk7XHJcblx0XHR9XHJcblx0XHJcblx0XHQmLi0tYm9yZGVyIHtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJnLWJvZHk7XHJcblx0XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWJvZHk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHRcclxufVxyXG4iLCIvKlxyXG4gKiBNb2RpZmllZCBCb290c3RyYXAgUmVib290IHY1LjAuMC1hbHBoYTEgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pIChyZW1vdmVkIGNvbG9ycyBhbmQgbGlua3MgdW5kZXJsaW5pbmcpXHJcbiAqIENvcHlyaWdodCAyMDExLTIwMjAgVGhlIEJvb3RzdHJhcCBBdXRob3JzXHJcbiAqIENvcHlyaWdodCAyMDExLTIwMjAgVHdpdHRlciwgSW5jLlxyXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcclxuICogRm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcywgbGljZW5zZWQgTUlUIChodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQpXHJcbiAqL1xyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1mYW1pbHk6IHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xyXG59XHJcblxyXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcclxuICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuaHIge1xyXG4gICAgbWFyZ2luOiAxcmVtIDA7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIG9wYWNpdHk6IDAuMjU7XHJcbn1cclxuXHJcbmhyOm5vdChbc2l6ZV0pIHtcclxuICAgIGhlaWdodDogMXB4O1xyXG59XHJcblxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcclxufVxyXG5cclxuaDEge1xyXG4gICAgZm9udC1zaXplOiBjYWxjKDEuMzc1cmVtICsgMS41dncpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbmgyIHtcclxuICAgIGZvbnQtc2l6ZTogY2FsYygxLjMyNXJlbSArIDAuOXZ3KTtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIH1cclxufVxyXG5cclxuaDMge1xyXG4gICAgZm9udC1zaXplOiBjYWxjKDEuM3JlbSArIDAuNnZ3KTtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuaDQge1xyXG4gICAgZm9udC1zaXplOiBjYWxjKDEuMjc1cmVtICsgMC4zdncpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgICBoNCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbmg1IHtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxufVxyXG5cclxuaDYge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG59XHJcblxyXG5wIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG59XHJcblxyXG5hYmJyW3RpdGxlXSxcclxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xyXG4gICAgY3Vyc29yOiBoZWxwO1xyXG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XHJcbn1cclxuXHJcbmFkZHJlc3Mge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5vbCxcclxudWwge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxub2wsXHJcbnVsLFxyXG5kbCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5vbCBvbCxcclxudWwgdWwsXHJcbm9sIHVsLFxyXG51bCBvbCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG5kdCB7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5kZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG5ibG9ja3F1b3RlIHtcclxuICAgIG1hcmdpbjogMCAwIDFyZW07XHJcbn1cclxuXHJcbmIsXHJcbnN0cm9uZyB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG59XHJcblxyXG5zbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDAuODc1ZW07XHJcbn1cclxuXHJcbm1hcmsge1xyXG4gICAgcGFkZGluZzogMC4yZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzO1xyXG59XHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmb250LXNpemU6IDAuNzVlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG5zdWIge1xyXG4gICAgYm90dG9tOiAtLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcbiAgICB0b3A6IC0uNWVtO1xyXG59XHJcblxyXG5hIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuYTpob3ZlciB7XHJcblxyXG59XHJcblxyXG5hOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKSwgYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSk6aG92ZXIge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbnByZSxcclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuICAgIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbn1cclxuXHJcbnByZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBmb250LXNpemU6IDAuODc1ZW07XHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcclxufVxyXG5cclxucHJlIGNvZGUge1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XHJcbn1cclxuXHJcbmNvZGUge1xyXG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xyXG4gICAgY29sb3I6ICNkNjMzODQ7XHJcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbn1cclxuXHJcbmEgPiBjb2RlIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG59XHJcblxyXG5rYmQge1xyXG4gICAgcGFkZGluZzogMC4ycmVtIDAuNHJlbTtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcclxufVxyXG5cclxua2JkIGtiZCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5maWd1cmUge1xyXG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcclxufVxyXG5cclxuaW1nLFxyXG5zdmcge1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxudGFibGUge1xyXG4gICAgY2FwdGlvbi1zaWRlOiBib3R0b207XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG59XHJcblxyXG5jYXB0aW9uIHtcclxuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xyXG4gICAgY29sb3I6ICM2Yzc1N2Q7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG50aCB7XHJcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xyXG4gICAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7XHJcbn1cclxuXHJcbnRoZWFkLFxyXG50Ym9keSxcclxudGZvb3QsXHJcbnRyLFxyXG50ZCxcclxudGgge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogMDtcclxufVxyXG5cclxubGFiZWwge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG5idXR0b24ge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxufVxyXG5cclxuYnV0dG9uOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQ7XHJcbiAgICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XHJcbn1cclxuXHJcbmlucHV0LFxyXG5idXR0b24sXHJcbnNlbGVjdCxcclxub3B0Z3JvdXAsXHJcbnRleHRhcmVhIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG5bcm9sZT1cImJ1dHRvblwiXSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcbiAgICB3b3JkLXdyYXA6IG5vcm1hbDtcclxufVxyXG5cclxuW2xpc3RdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuYnV0dG9uLFxyXG5bdHlwZT1cImJ1dHRvblwiXSxcclxuW3R5cGU9XCJyZXNldFwiXSxcclxuW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbn1cclxuXHJcbmJ1dHRvbjpub3QoOmRpc2FibGVkKSxcclxuW3R5cGU9XCJidXR0b25cIl06bm90KDpkaXNhYmxlZCksXHJcblt0eXBlPVwicmVzZXRcIl06bm90KDpkaXNhYmxlZCksXHJcblt0eXBlPVwic3VibWl0XCJdOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuOjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbnRleHRhcmVhIHtcclxuICAgIHJlc2l6ZTogdmVydGljYWw7XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuICAgIG1pbi13aWR0aDogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbmxlZ2VuZCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuICAgIGZvbnQtc2l6ZTogY2FsYygxLjI3NXJlbSArIDAuM3Z3KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgbGVnZW5kIHtcclxuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgIH1cclxufVxyXG5cclxubGVnZW5kICsgKiB7XHJcbiAgICBjbGVhcjogbGVmdDtcclxufVxyXG5cclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIsXHJcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQsXHJcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZSxcclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCxcclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLFxyXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCxcclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG59XHJcblxyXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG46Oi13ZWJraXQtY29sb3Itc3dhdGNoLXdyYXBwZXIge1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgICBmb250OiBpbmhlcml0O1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbn1cclxuXHJcbm91dHB1dCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbmlmcmFtZSB7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbnN1bW1hcnkge1xyXG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5wcm9ncmVzcyB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbltoaWRkZW5dIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufSIsImh0bWwge1xyXG4gICAgZm9udC1zaXplOiA0MiU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctYm9keTtcclxuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+dGFibGV0XCIpIHtcclxuICAgICAgICBmb250LXNpemU6IDUwLjUlO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcC1tXCIpIHtcclxuICAgICAgICBmb250LXNpemU6IDYyLjUlO1xyXG4gICAgfVxyXG59XHJcblxyXG5ib2R5LCBodG1sIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgY29sb3I6ICRjLXRleHQtcHJpbWFyeTtcclxuICAgIGZvbnQtZmFtaWx5OiAkZi1wcmltYXJ5O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaC1iYXNlO1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcC1tXCIpIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoLnBhZ2UtdGVtcGxhdGUtaG9tZS10ZW1wbGF0ZSkge1xyXG4gICAgICAgIC5zaXRlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjUwcHg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDVweFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZXJyb3I0MDQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUZDRkU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5wYWdlLXRlbXBsYXRlLWhvbWUtdGVtcGxhdGUsICYuc2luZ2xlLXBvc3QsICYucG9zdC10eXBlLWFyY2hpdmUtZXZlbnRzIHtcclxuICAgICAgICAubWVtYmVycy1zZWN0aW9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5kYXJrLW9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctYmxhY2s7XHJcbiAgICAgICAgY29sb3I6ICRjLXRleHQtZGFyay1vbjtcclxuICAgICAgICAmLCAmID4gKntcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLWluLW91dDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG51bCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuYSB7XHJcbiAgICBjb2xvcjogJGMtYnJhbmQtcHJpbWFyeTI7XHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi53cmFwcGVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG59XHJcblxyXG4uc2l0ZS1jb250ZW50IHtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxufVxyXG5cclxuLnNpdGUtaGVhZGVyLCAuc2l0ZS1jb250ZW50LCAuc2l0ZS1mb290ZXIge1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5pbm5lci1mcmFtZSwgIC8vIGlubmVyLWZyYW1lIGlzIHRoZSBwcmltYXJ5IGNsYXNzIGZvciBjb250ZW50IGFsaWduXHJcbi5jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoI3skY29udGVudC13aWR0aH0gKyA0MHB4KTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIC4zcztcclxufVxyXG5cclxuLnNpdGUtY29udGVudCB7XHJcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xyXG59XHJcblxyXG4uZGFyay1vbiB7XHJcbiAgICAuc2l0ZS1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRhaW5lci1yb3cge1xyXG4gICAgQGluY2x1ZGUgZmxleC1jZW50ZXItaG9yaXo7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAmLi0tcHJvZHVjdHMge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbWFnZSB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxufVxyXG4uaW1hZ2UtY2FwdGlvbiB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogIzg5ODk4OTtcclxufVxyXG4uaWNvbiB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxufVxyXG5cclxuLy8gQmxvZyBwb3N0cyBhbmQgc2ltcGxlIHBhZ2VzXHJcbi5hcnRpY2xlLXdpZHRoIHtcclxuICAgIG1heC13aWR0aDogJGNvbnRlbnQtd2lkdGgtbTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgaDEsXHJcbiAgICBoMixcclxuICAgIGgzLFxyXG4gICAgaDQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICYuYWxpZ25jZW50ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAmLnByaXZhY3kge1xyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMiwgaDMge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1ob3Jpem9udGFsKCRjLWJyYW5kLXByaW1hcnkxLCAkYy1icmFuZC1wcmltYXJ5Mik7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE4cHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQtd2hpdGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsLCBvbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiA0MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjVyZW07XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICYgPiBsaTpub3QoW2NsYXNzXSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJlZm9yZS1lbGVtZW50KCcgJywgJGFycm93UHJpbWFyeTMpO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY292ZXItYmFja2dyb3VuZDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IHRvcDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA3cHggMTBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgb2wge1xyXG4gICAgICAgICAgICBjb3VudGVyLXJlc2V0OiBzZWN0aW9uO1xyXG4gICAgICAgICAgICAmID4gbGk6bm90KFtjbGFzc10pIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogc2VjdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBjb3VudGVycyhzZWN0aW9uLFwiLlwiKSBcIi4gXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJyYW5kLXByaW1hcnkyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hbGlnbmxlZnQge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWxpZ25yaWdodCB7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hbGlnbmNlbnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAaW1wb3J0IFwiaGVhZGVyL25hdmJhcl90b3BcIjtcclxuQGltcG9ydCBcImhlYWRlci9uYXZiYXJfbWFpblwiO1xyXG5AaW1wb3J0IFwiaGVhZGVyL25hdmJhcl9tb2JpbGVcIjtcclxuQGltcG9ydCBcImhlYWRlci9zaXRlX3NlYXJjaFwiO1xyXG5cclxuLnBhZ2UtdGVtcGxhdGUtaG9tZS10ZW1wbGF0ZSB7XHJcbiAgICAuc2l0ZS1oZWFkZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNpdGUtaGVhZGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MsIGhlaWdodCAuM3MsIGJveC1zaGFkb3cgLjNzLCBiYWNrZ3JvdW5kLXBvc2l0aW9uIC4zcztcclxuICAgIHotaW5kZXg6IDk5O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgIGhlaWdodDogMjQ2cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zdmctaWNvbnMvaGVhZGVyLWJnLnN2Zyk7XHJcbiAgICAgICAgQGluY2x1ZGUgY292ZXItYmFja2dyb3VuZDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gbGVmdDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAud3BtbC1scyB7XHJcbiAgICAgICAgICAgICYtaXRlbSwgYS53cG1sLWxzLWl0ZW0tdG9nZ2xlICB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICYgYS53cG1sLWxzLWl0ZW0tdG9nZ2xle1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQtd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFkbWluLWJhciAmIHtcclxuICAgICAgICB0b3A6IDI1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgfVxyXG5cclxuICAgICZfX25hdiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19sb2dvIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWNlbnRlci12ZXJ0O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgZmxleDogMSAxO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0NHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaXMtc3RpY2t5IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMzBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAyMDAlO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4ICRiZy1ibGFjaztcclxuXHJcbiAgICAgICAgICAgIC5uYXZiYXItbWFpbiBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1icmFuZC1wcmltYXJ5MTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm5hdmJhci1tYWluX193cmFwIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1ib2R5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZS10ZW1wbGF0ZS1jb250YWN0LXRlbXBsYXRlLCAucGFnZS10ZW1wbGF0ZS1tZW1iZXJzaGlwLWFwcGxpY2F0aW9uLFxyXG4ucGFnZS10ZW1wbGF0ZS10aGFuay15b3Uge1xyXG4gICAgLnNpdGUtaGVhZGVyIHsgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTMwcHg7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggJGJnLWJsYWNrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5uYXZiYXItbWFpbl9fd3JhcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1ib2R5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW1haW4gYSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYy1icmFuZC1wcmltYXJ5MTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmF2YmFyLXRvcCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcclxuICAgIH1cclxufVxyXG4iLCIubmF2YmFyLXRvcCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1ib2R5O1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgJl9fbGlua3Mge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubWVudS1pdGVtIHtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLm5hdmJhci10b3BfX2xpbmtzIHtcclxuLy8gICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4vLyAgICAgICAgICYuLW1vYmlsZSB7XHJcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfVxyXG4vLyAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XHJcbi8vICAgICAgICAgJi4tZGVza3RvcCB7XHJcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfVxyXG4vLyB9XHJcblxyXG4vLyB3cG1sIHN0eWxlc1xyXG4ud3BtbC1scyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgMi41cmVtO1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYy10ZXh0LWJsdWU7XHJcbiAgICAgICAgY29sb3I6ICRjLXRleHQtYmx1ZTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMztcclxuICAgIH1cclxuXHJcbiAgICAmLWl0ZW0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWNlbnRlci12ZXJ0O1xyXG5cclxuICAgICAgICBhLndwbWwtbHMtaXRlbS10b2dnbGUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhZnRlci1lbGVtZW50KCcgJywgJy4uL2ltYWdlcy9zdmctaWNvbnMvdGhpbi1hcnJvdy1ib3R0b20uc3ZnJyk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsgXHJcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LWJsdWU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb3Zlci1iYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLXN1Yi1tZW51IHtcclxuICAgICAgICAud3BtbC1scy1pdGVtIHtcclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCAtNHB4IHJnYmEoJGMtdGV4dC1ncmF5LCAuNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJiAmLWxpbmt7XHJcbiAgICAgICAgY29sb3I6ICRjLXRleHQtYmx1ZTtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMCA1cHggMTFweDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiAxNnB4O1xyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5uYXZiYXItbWFpbl9fd3JhcCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBpbmNsdWRlIGZsZXgtYmV0d2Vlbi1ob3JpejtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtdGV4dC13aGl0ZTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzO1xyXG4gICAgcGFkZGluZzogMCAycmVtIDAgNXJlbTtcclxuXHJcbiAgICAud3BtbC1scyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKXtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9ICBcclxuICAgIH1cclxufVxyXG4ubmF2YmFyLW1haW4ge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZnctYm9sZDtcclxuICAgIGhlaWdodDogODBweDtcclxuXHJcbiAgICAmX19saW5rcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiBcclxuICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMS43dnc7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICAgIC5jdXJyZW50LW1lbnUtaXRlbSB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XHJcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LXdoaXRlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcywgZm9udC1zaXplIC4zcztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLWJyYW5kLXByaW1hcnkzO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMC4zcywgb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcclxuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MsIG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcywgb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xyXG4gICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcC1tXCIpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1lbnUgYSB7XHJcbiAgICBjb2xvcjogI2YwMDtcclxufSIsIkBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuXHJcbiAgICAubmF2YmFyLW1haW5fX3dyYXAge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAxNnB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5uYXZiYXItbWFpbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyLWNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgNTBweCk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogOTBweCAxMHB4IDExMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3N2Zy1pY29ucy9hcnJvdy1iYWNrZ3JvdW5kLXNtYWxsLnN2ZyksIGxpbmVhci1ncmFkaWVudCgyMGRlZywkYy1icmFuZC1wcmltYXJ5MSAwLCAkYy1icmFuZC1wcmltYXJ5MiA1NSUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb3Zlci1iYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtNTBweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbWFpbl9fYnRuIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMzZweDtcclxuICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYnJhbmQtcHJpbWFyeTI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcblxyXG4gICAgICAgIC5idXJnZXItaWNvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyLWNvbHVtbjtcclxuXHJcbiAgICAgICAgICAgICYtbGluZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy10ZXh0LXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6MnB4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46MnB4IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjowIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgLmJ1cmdlci1pY29uIHtcclxuICAgICAgICAgICAgICAgICYtbGluZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5saW5lLTEgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgzcHgsIDBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYubGluZS0yICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmxpbmUtMyAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgxcHgsIDBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICsgLm5hdmJhci1tYWluIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW1haW5fX2xpbmtzIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWNlbnRlci1jb2x1bW47XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLm1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRpdmlkZXIoJGMtYnJhbmQtcHJpbWFyeTMsIDgwJSwgNXB4IGF1dG8sIDJweCk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoLmN1cnJlbnQtbWVudS1pdGVtKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIsIFwiPD1kZXNrdG9wXCIsIFwicG9ydHJhaXRcIikge1xyXG4gICAgLm5hdmJhci1tYWluX193cmFwIHtcclxuICAgICAgICAubmF2YmFyLW1haW4ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjB2aDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtMTAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEwMHB4KTtcclxuXHJcbiAgICAgICAgICAgICZfX3NvY2lhbHMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLW1cIiwgXCI8ZGVza3RvcFwiLCBcImxhbmRzY2FwZVwiKSB7XHJcbiAgICAubmF2YmFyLW1haW5fX3dyYXAgeyBcclxuICAgICAgICAubmF2YmFyLW1haW4ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNzVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XHJcbiAgICAgICAgICAgICZfX2xpbmtzIHtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fY3RhIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogNzVweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJl9fc2VhcmNoIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMTMwcHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZfX3NvY2lhbHMge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAyMjBweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1tXCIsIFwiPGRlc2t0b3BcIiwgXCJsYW5kc2NhcGVcIiwgXCJyZXRpbmEyeFwiLCBcInJldGluYTN4XCIpIHtcclxuICAgIC5uYXZiYXItbWFpbl9fd3JhcCB7IFxyXG4gICAgICAgIC5uYXZiYXItbWFpbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4IDEwcHggNjBweDtcclxuICAgICAgICAgICAgJl9fbGlua3Mge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cclxuICAgICAgICAgICAgICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfX2N0YSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6ODBweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJl9fc2VhcmNoIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMTQwcHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZfX3NvY2lhbHMge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAyNDBweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKFwiPD1waG9uZS1zXCIpIHtcclxuICAgIC5uYXZiYXItbWFpbl9fd3JhcCB7XHJcbiAgICAgICAgLm5hdmJhci1tYWluIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNjBweCAxMHB4IDcwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubmF2YmFyLW1haW4ge1xyXG4gICAgJl9fY3RhIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmdy1ub3JtYWw7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc2VhcmNoIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWNlbnRlcjtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiZy1ib2R5LCAuNSk7XHJcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG5cclxuICAgICAgICAuc2VhcmNoLXN1Ym1pdCwgLnNlYXJjaC1maWVsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VhcmNoLWZpZWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGMtdGV4dC13aGl0ZTtcclxuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogJGMtdGV4dC13aGl0ZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJGMtdGV4dC13aGl0ZSwgLjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VhcmNoLXN1Ym1pdCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LXdoaXRlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZ3LWJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3NvY2lhbHMge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnNvY2lhbC10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LXdoaXRlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZ3LW5vcm1hbDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBkaXZpZGVyKCRjLXRleHQtd2hpdGUsIDMwcHgsIDEycHggYXV0byAyMHB4LCAxcHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc29jaWFsLWljb25zIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1jZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zb2NpYWwtaWNvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMzNweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzM3B4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJiAmX19idG4sICYgJl9fY3RhLCAmICZfX3NlYXJjaCwgJiAmX19zb2NpYWxzIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLnNpdGUtc2VhcmNoIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA5cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW07XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjQpO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtOHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RvZ2dsZSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAvLyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIC8vIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgLy8gYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRjLXRleHQtYmx1ZTtcclxuICAgICAgICBvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjLWJyYW5kLXByaW1hcnkxXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmlzLWFjdGl2ZSArIC5zZWFyY2gtZm9ybSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjgwcHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ljb24ge1xyXG4gICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICB3aWR0aDogMjVweDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAuc2VhcmNoLWZvcm0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgIG1heC13aWR0aDogMDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zZWFyY2gtZmllbGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgNDVweCAwIDEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgICYsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy10ZXh0LWJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZWFyY2gtc3VibWl0IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJyYW5kLXByaW1hcnkxO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICBjb2xvcjogJGMtdGV4dC13aGl0ZTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgfVxyXG59XHJcbiIsIjpyb290IHtcclxuICAgIC0tc2Nyb2xseTogMDtcclxufVxyXG5cclxuLmJhbm5lci1oZXJvIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDk1MHB4OyBcclxuICAgICAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCUsIDEwMCUgODElLCAwJSAxMDAlKTtcclxuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAlLCAxMDAlIDgxJSwgMCUgMTAwJSk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wLW1cIikge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwNTBweDsgXHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wLWxcIikge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEyMjBweDsgXHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgJl9fbWVkaWEge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZXJvLWltZy5qcGcnKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY292ZXItYmFja2dyb3VuZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdmlkZW8ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICBoZWlnaHQ6IDIwMHZoO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTIyMHB4OyBcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+cGhvbmVcIiwgXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcC1tXCIpIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogODAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcC1sJykge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA5NDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyLWNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBAaW5jbHVkZSBiZy1vdmVybGF5O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19jb250ZW50LXdyYXAge1xyXG4gICAgICAgIEBleHRlbmQgLmNvbnRhaW5lcjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDclO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyLWNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIiwgXCJsYW5kc2NhcGVcIiwgXCJyZXRpbmEyeFwiLCBcInJldGluYTN4XCIpIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMjgwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tdGl0bGUgIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDc0NXB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAuM3M7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cmVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDgwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIGF1dG87XHJcbiAgICAgICAgICAgICYuLS1iaWcge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0NnB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMxMHB4O1xyXG4gICAgICAgICAgICAmLi0tYmlnIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWN0aW9uLXN1YnRpdGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJhbm5lci10ZXh0IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDYuN3JlbTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzMTBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBTY3JvbGwgRWZmZWN0ICovXHJcblxyXG4ucHItc2Nyb2xsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgIC5iYW5uZXItaGVyb19fbWVkaWEge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIGNhbGModmFyKC0tc2Nyb2xseSkgKiAxcHggLyAxLjUpLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhbm5lci1oZXJvX19jb250ZW50IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogY2FsYygxIC0gKHZhcigtLXNjcm9sbHkpICogMC4wMDE4KSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgY2FsYyh2YXIoLS1zY3JvbGx5KSAqIDFweCAvIDEuOCksIDApOyAgICBcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG59XHJcbiIsIi5icmVhZGNydW1icyB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtYnJhbmQtcHJpbWFyeTE7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtYnJhbmQtcHJpbWFyeTE7XHJcbiAgICBwYWRkaW5nOiAyLjVyZW0gMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDZyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYgKiB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgJiwgJjphY3RpdmUsICY6dmlzaXRlZCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYy1icmFuZC1wcmltYXJ5MjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICZfX2xpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkYy1icmFuZC1wcmltYXJ5MjtcclxuXHJcbiAgICAgICAgJi4tLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYy1icmFuZC1wcmltYXJ5MTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICAgIGNvbG9yOiAkYy1icmFuZC1wcmltYXJ5MjtcclxuICAgICAgICB3aWR0aDogMTRweDtcclxuICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0cy10ZW1wbGF0ZS1kZWZhdWx0LCAucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdHMge1xyXG4gICAgLmJyZWFkY3J1bWJzIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgfSBcclxufVxyXG5cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBR2dEQSxBQUFBLElBQUksQ0FBQztFQUNKLElBQUksRUFBRSxDQUFDO0NBQ1A7O0FFbERELHFCQUFxQjtBQ0FyQixvQkFBb0I7QUNBcEIsK0JBQStCO0FDQS9CLCtCQUErQjtBQWMvQixrQkFBa0I7QUVtQmxCLHFGQUFxRjtBQVZuRixVQUFVO0VBQ1QsV0FBVyxFQUFFLFVBQWtCO0VB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 */
