@charset "UTF-8";
.error-page__back-link {
  background-color: #F4C374;
  border-radius: 20px;
  padding: 0.5rem 1rem;
  color: #1F1B20;
  display: inline-block;
}

.error-page__back-link:hover {
  color: #1F1B20;
  text-decoration: none;
}

/*!
 * Bootstrap v4.6.2 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #007bff;
  --secondary: #6c757d;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

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

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

body {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

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

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

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

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

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

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

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: 80%;
}

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

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  color: #0056b3;
  text-decoration: underline;
}

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

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 {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

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

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

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

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

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

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0;
}

textarea {
  overflow: auto;
  resize: vertical;
}

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

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

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

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

output {
  display: inline-block;
}

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

template {
  display: none;
}

[hidden] {
  display: none !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

small,
.small {
  font-size: 0.875em;
  font-weight: 400;
}

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

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

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

.list-inline-item {
  display: inline-block;
}

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

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

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

.blockquote-footer {
  display: block;
  font-size: 0.875em;
  color: #6c757d;
}

.blockquote-footer::before {
  content: "\2014\00A0";
}

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

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 28px;
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}

.figure-caption {
  font-size: 90%;
  color: #6c757d;
}

code {
  font-size: 87.5%;
  color: #e83e8c;
  word-wrap: break-word;
}

a > code {
  color: inherit;
}

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

kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: 700;
}

pre {
  display: block;
  font-size: 87.5%;
  color: #212529;
}

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

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container, .container-sm {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container, .container-sm, .container-md {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1140px;
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

.row-cols-1 > * {
  flex: 0 0 100%;
  max-width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 50%;
  max-width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
}

.row-cols-4 > * {
  flex: 0 0 25%;
  max-width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 20%;
  max-width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 16.6667%;
  max-width: 16.6667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}

.col-1 {
  flex: 0 0 8.3333%;
  max-width: 8.3333%;
}

.col-2 {
  flex: 0 0 16.6667%;
  max-width: 16.6667%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
}

.col-5 {
  flex: 0 0 41.6667%;
  max-width: 41.6667%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  flex: 0 0 58.3333%;
  max-width: 58.3333%;
}

.col-8 {
  flex: 0 0 66.6667%;
  max-width: 66.6667%;
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  flex: 0 0 83.3333%;
  max-width: 83.3333%;
}

.col-11 {
  flex: 0 0 91.6667%;
  max-width: 91.6667%;
}

.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

.order-first {
  order: -1;
}

.order-last {
  order: 13;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

.offset-1 {
  margin-left: 8.3333%;
}

.offset-2 {
  margin-left: 16.6667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.3333%;
}

.offset-5 {
  margin-left: 41.6667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.3333%;
}

.offset-8 {
  margin-left: 66.6667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.3333%;
}

.offset-11 {
  margin-left: 91.6667%;
}

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sm-1 {
    flex: 0 0 8.3333%;
    max-width: 8.3333%;
  }
  .col-sm-2 {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-sm-5 {
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.3333%;
    max-width: 58.3333%;
  }
  .col-sm-8 {
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.3333%;
    max-width: 83.3333%;
  }
  .col-sm-11 {
    flex: 0 0 91.6667%;
    max-width: 91.6667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-sm-first {
    order: -1;
  }
  .order-sm-last {
    order: 13;
  }
  .order-sm-0 {
    order: 0;
  }
  .order-sm-1 {
    order: 1;
  }
  .order-sm-2 {
    order: 2;
  }
  .order-sm-3 {
    order: 3;
  }
  .order-sm-4 {
    order: 4;
  }
  .order-sm-5 {
    order: 5;
  }
  .order-sm-6 {
    order: 6;
  }
  .order-sm-7 {
    order: 7;
  }
  .order-sm-8 {
    order: 8;
  }
  .order-sm-9 {
    order: 9;
  }
  .order-sm-10 {
    order: 10;
  }
  .order-sm-11 {
    order: 11;
  }
  .order-sm-12 {
    order: 12;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.3333%;
  }
  .offset-sm-2 {
    margin-left: 16.6667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.3333%;
  }
  .offset-sm-5 {
    margin-left: 41.6667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.3333%;
  }
  .offset-sm-8 {
    margin-left: 66.6667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.3333%;
  }
  .offset-sm-11 {
    margin-left: 91.6667%;
  }
}

@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-md-1 {
    flex: 0 0 8.3333%;
    max-width: 8.3333%;
  }
  .col-md-2 {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-md-5 {
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.3333%;
    max-width: 58.3333%;
  }
  .col-md-8 {
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.3333%;
    max-width: 83.3333%;
  }
  .col-md-11 {
    flex: 0 0 91.6667%;
    max-width: 91.6667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-md-first {
    order: -1;
  }
  .order-md-last {
    order: 13;
  }
  .order-md-0 {
    order: 0;
  }
  .order-md-1 {
    order: 1;
  }
  .order-md-2 {
    order: 2;
  }
  .order-md-3 {
    order: 3;
  }
  .order-md-4 {
    order: 4;
  }
  .order-md-5 {
    order: 5;
  }
  .order-md-6 {
    order: 6;
  }
  .order-md-7 {
    order: 7;
  }
  .order-md-8 {
    order: 8;
  }
  .order-md-9 {
    order: 9;
  }
  .order-md-10 {
    order: 10;
  }
  .order-md-11 {
    order: 11;
  }
  .order-md-12 {
    order: 12;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.3333%;
  }
  .offset-md-2 {
    margin-left: 16.6667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.3333%;
  }
  .offset-md-5 {
    margin-left: 41.6667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.3333%;
  }
  .offset-md-8 {
    margin-left: 66.6667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.3333%;
  }
  .offset-md-11 {
    margin-left: 91.6667%;
  }
}

@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-lg-1 {
    flex: 0 0 8.3333%;
    max-width: 8.3333%;
  }
  .col-lg-2 {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-lg-5 {
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.3333%;
    max-width: 58.3333%;
  }
  .col-lg-8 {
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.3333%;
    max-width: 83.3333%;
  }
  .col-lg-11 {
    flex: 0 0 91.6667%;
    max-width: 91.6667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-lg-first {
    order: -1;
  }
  .order-lg-last {
    order: 13;
  }
  .order-lg-0 {
    order: 0;
  }
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
  .order-lg-3 {
    order: 3;
  }
  .order-lg-4 {
    order: 4;
  }
  .order-lg-5 {
    order: 5;
  }
  .order-lg-6 {
    order: 6;
  }
  .order-lg-7 {
    order: 7;
  }
  .order-lg-8 {
    order: 8;
  }
  .order-lg-9 {
    order: 9;
  }
  .order-lg-10 {
    order: 10;
  }
  .order-lg-11 {
    order: 11;
  }
  .order-lg-12 {
    order: 12;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.3333%;
  }
  .offset-lg-2 {
    margin-left: 16.6667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.3333%;
  }
  .offset-lg-5 {
    margin-left: 41.6667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.3333%;
  }
  .offset-lg-8 {
    margin-left: 66.6667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.3333%;
  }
  .offset-lg-11 {
    margin-left: 91.6667%;
  }
}

@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xl-1 {
    flex: 0 0 8.3333%;
    max-width: 8.3333%;
  }
  .col-xl-2 {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-xl-5 {
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.3333%;
    max-width: 58.3333%;
  }
  .col-xl-8 {
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.3333%;
    max-width: 83.3333%;
  }
  .col-xl-11 {
    flex: 0 0 91.6667%;
    max-width: 91.6667%;
  }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xl-first {
    order: -1;
  }
  .order-xl-last {
    order: 13;
  }
  .order-xl-0 {
    order: 0;
  }
  .order-xl-1 {
    order: 1;
  }
  .order-xl-2 {
    order: 2;
  }
  .order-xl-3 {
    order: 3;
  }
  .order-xl-4 {
    order: 4;
  }
  .order-xl-5 {
    order: 5;
  }
  .order-xl-6 {
    order: 6;
  }
  .order-xl-7 {
    order: 7;
  }
  .order-xl-8 {
    order: 8;
  }
  .order-xl-9 {
    order: 9;
  }
  .order-xl-10 {
    order: 10;
  }
  .order-xl-11 {
    order: 11;
  }
  .order-xl-12 {
    order: 12;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.3333%;
  }
  .offset-xl-2 {
    margin-left: 16.6667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.3333%;
  }
  .offset-xl-5 {
    margin-left: 41.6667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.3333%;
  }
  .offset-xl-8 {
    margin-left: 66.6667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.3333%;
  }
  .offset-xl-11 {
    margin-left: 91.6667%;
  }
}

.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
}

.table th,
.table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}

.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6;
}

.table tbody + tbody {
  border-top: 2px solid #dee2e6;
}

.table-sm th,
.table-sm td {
  padding: 0.3rem;
}

.table-bordered {
  border: 1px solid #dee2e6;
}

.table-bordered th,
.table-bordered td {
  border: 1px solid #dee2e6;
}

.table-bordered thead th,
.table-bordered thead td {
  border-bottom-width: 2px;
}

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
  color: #212529;
  background-color: rgba(0, 0, 0, 0.075);
}

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #b8daff;
}

.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: #7abaff;
}

.table-hover .table-primary:hover {
  background-color: #9fcdff;
}

.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
  background-color: #9fcdff;
}

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #d6d8db;
}

.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: #b3b7bb;
}

.table-hover .table-secondary:hover {
  background-color: #c8cbcf;
}

.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
  background-color: #c8cbcf;
}

.table-success,
.table-success > th,
.table-success > td {
  background-color: #c3e6cb;
}

.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
  border-color: #8fd19e;
}

.table-hover .table-success:hover {
  background-color: #b1dfbb;
}

.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
  background-color: #b1dfbb;
}

.table-info,
.table-info > th,
.table-info > td {
  background-color: #bee5eb;
}

.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: #86cfda;
}

.table-hover .table-info:hover {
  background-color: #abdde5;
}

.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
  background-color: #abdde5;
}

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #ffeeba;
}

.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
  border-color: #ffdf7e;
}

.table-hover .table-warning:hover {
  background-color: #ffe8a1;
}

.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
  background-color: #ffe8a1;
}

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #f5c6cb;
}

.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
  border-color: #ed969e;
}

.table-hover .table-danger:hover {
  background-color: #f1b0b7;
}

.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
  background-color: #f1b0b7;
}

.table-light,
.table-light > th,
.table-light > td {
  background-color: #fdfdfe;
}

.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: #fbfcfc;
}

.table-hover .table-light:hover {
  background-color: #ececf6;
}

.table-hover .table-light:hover > td,
.table-hover .table-light:hover > th {
  background-color: #ececf6;
}

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #c6c8ca;
}

.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: #95999c;
}

.table-hover .table-dark:hover {
  background-color: #b9bbbe;
}

.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
  background-color: #b9bbbe;
}

.table-active,
.table-active > th,
.table-active > td {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
  background-color: rgba(0, 0, 0, 0.075);
}

.table .thead-dark th {
  color: #fff;
  background-color: #343a40;
  border-color: #454d55;
}

.table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.table-dark {
  color: #fff;
  background-color: #343a40;
}

.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: #454d55;
}

.table-dark.table-bordered {
  border: 0;
}

.table-dark.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}

.table-dark.table-hover tbody tr:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.075);
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-sm > .table-bordered {
    border: 0;
  }
}

@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-md > .table-bordered {
    border: 0;
  }
}

@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-lg > .table-bordered {
    border: 0;
  }
}

@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-xl > .table-bordered {
    border: 0;
  }
}

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-responsive > .table-bordered {
  border: 0;
}

.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 1.5rem + 2px);
  padding: 0.75rem 2.5rem;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 28px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}

.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}

.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control {
  appearance: none;
}

select.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}

select.form-control:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

.form-control-file,
.form-control-range {
  display: block;
  width: 100%;
}

.col-form-label {
  padding-top: calc(0.75rem + 1px);
  padding-bottom: calc(0.75rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 0.7813rem;
  line-height: 1.5;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.5469rem;
  line-height: 1.5;
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.75rem 0;
  margin-bottom: 0;
  font-size: 0.625rem;
  line-height: 1.5;
  color: #212529;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}

.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.5469rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.form-control-lg {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 0.7813rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

select.form-control[size], select.form-control[multiple] {
  height: auto;
}

textarea.form-control {
  height: auto;
}

.form-group {
  margin-bottom: 1rem;
}

.form-text {
  display: block;
  margin-top: 0.25rem;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px;
}

.form-row > .col,
.form-row > [class*="col-"] {
  padding-right: 5px;
  padding-left: 5px;
}

.form-check {
  position: relative;
  display: block;
  padding-left: 1.25rem;
}

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}

.form-check-input[disabled] ~ .form-check-label,
.form-check-input:disabled ~ .form-check-label {
  color: #6c757d;
}

.form-check-label {
  margin-bottom: 0;
}

.form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem;
}

.form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.3125rem;
  margin-left: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #28a745;
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.25rem;
  margin-top: .1rem;
  font-size: 0.5469rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 28px;
}

.form-row > .col > .valid-tooltip,
.form-row > [class*="col-"] > .valid-tooltip {
  left: 5px;
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #28a745;
  padding-right: calc(1.5em + 1.5rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.375rem) center;
  background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem);
}

.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated select.form-control:valid, select.form-control.is-valid {
  padding-right: 10rem !important;
  background-position: right 5rem center;
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 1.5rem);
  background-position: top calc(0.375em + 0.375rem) right calc(0.375em + 0.375rem);
}

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745;
  padding-right: calc(0.75em + 4.625rem) !important;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 2.5rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 3.5rem/calc(0.75em + 0.75rem) calc(0.75em + 0.75rem) no-repeat;
}

.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #28a745;
}

.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #28a745;
}

.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
  border-color: #28a745;
}

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #34ce57;
  background-color: #34ce57;
}

.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #28a745;
}

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #28a745;
}

.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #dc3545;
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.25rem;
  margin-top: .1rem;
  font-size: 0.5469rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 28px;
}

.form-row > .col > .invalid-tooltip,
.form-row > [class*="col-"] > .invalid-tooltip {
  left: 5px;
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #dc3545;
  padding-right: calc(1.5em + 1.5rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.375rem) center;
  background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem);
}

.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated select.form-control:invalid, select.form-control.is-invalid {
  padding-right: 10rem !important;
  background-position: right 5rem center;
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 1.5rem);
  background-position: top calc(0.375em + 0.375rem) right calc(0.375em + 0.375rem);
}

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: calc(0.75em + 4.625rem) !important;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 2.5rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 3.5rem/calc(0.75em + 0.75rem) calc(0.75em + 0.75rem) no-repeat;
}

.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545;
}

.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #dc3545;
}

.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
  border-color: #dc3545;
}

.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #e4606d;
  background-color: #e4606d;
}

.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #dc3545;
}

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #dc3545;
}

.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.form-inline .form-check {
  width: 100%;
}

@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-plaintext {
    display: inline-block;
  }
  .form-inline .input-group,
  .form-inline .custom-select {
    width: auto;
  }
  .form-inline .form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-left: 0;
  }
  .form-inline .form-check-input {
    position: relative;
    flex-shrink: 0;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
  .form-inline .custom-control {
    align-items: center;
    justify-content: center;
  }
  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}

.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.75rem 2.5rem;
  font-size: 0.625rem;
  line-height: 1.5;
  border-radius: 28px;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}

.btn:hover {
  color: #212529;
  text-decoration: none;
}

.btn:focus, .btn.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.btn.disabled, .btn:disabled {
  opacity: 0.65;
}

.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}

a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none;
}

.btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-primary:hover {
  color: #fff;
  background-color: #0069d9;
  border-color: #0062cc;
}

.btn-primary:focus, .btn-primary.focus {
  color: #fff;
  background-color: #0069d9;
  border-color: #0062cc;
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}

.btn-primary.disabled, .btn-primary:disabled {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #0062cc;
  border-color: #005cbf;
}

.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:hover {
  color: #fff;
  background-color: #5a6268;
  border-color: #545b62;
}

.btn-secondary:focus, .btn-secondary.focus {
  color: #fff;
  background-color: #5a6268;
  border-color: #545b62;
  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}

.btn-secondary.disabled, .btn-secondary:disabled {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #545b62;
  border-color: #4e555b;
}

.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}

.btn-success {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-success:hover {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
}

.btn-success:focus, .btn-success.focus {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}

.btn-success.disabled, .btn-success:disabled {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #1e7e34;
  border-color: #1c7430;
}

.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:hover {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
}

.btn-info:focus, .btn-info.focus {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
}

.btn-info.disabled, .btn-info:disabled {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
.show > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #117a8b;
  border-color: #10707f;
}

.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
}

.btn-warning {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-warning:hover {
  color: #212529;
  background-color: #e0a800;
  border-color: #d39e00;
}

.btn-warning:focus, .btn-warning.focus {
  color: #212529;
  background-color: #e0a800;
  border-color: #d39e00;
  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
}

.btn-warning.disabled, .btn-warning:disabled {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
.show > .btn-warning.dropdown-toggle {
  color: #212529;
  background-color: #d39e00;
  border-color: #c69500;
}

.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
}

.btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-danger:hover {
  color: #fff;
  background-color: #c82333;
  border-color: #bd2130;
}

.btn-danger:focus, .btn-danger.focus {
  color: #fff;
  background-color: #c82333;
  border-color: #bd2130;
  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}

.btn-danger.disabled, .btn-danger:disabled {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
.show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #bd2130;
  border-color: #b21f2d;
}

.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}

.btn-light {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:hover {
  color: #212529;
  background-color: #e2e6ea;
  border-color: #dae0e5;
}

.btn-light:focus, .btn-light.focus {
  color: #212529;
  background-color: #e2e6ea;
  border-color: #dae0e5;
  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
}

.btn-light.disabled, .btn-light:disabled {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
.show > .btn-light.dropdown-toggle {
  color: #212529;
  background-color: #dae0e5;
  border-color: #d3d9df;
}

.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
}

.btn-dark {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-dark:hover {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
}

.btn-dark:focus, .btn-dark.focus {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
}

.btn-dark.disabled, .btn-dark:disabled {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
.show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #1d2124;
  border-color: #171a1d;
}

.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
}

.btn-outline-primary {
  color: #007bff;
  border-color: #007bff;
}

.btn-outline-primary:hover {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #007bff;
  background-color: transparent;
}

.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-outline-secondary {
  color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:hover {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:focus, .btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  color: #6c757d;
  background-color: transparent;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-outline-success {
  color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:hover {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:focus, .btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: #28a745;
  background-color: transparent;
}

.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
.show > .btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-info {
  color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:hover {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:focus, .btn-outline-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-info.disabled, .btn-outline-info:disabled {
  color: #17a2b8;
  background-color: transparent;
}

.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
.show > .btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-warning {
  color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:hover {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:focus, .btn-outline-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  color: #ffc107;
  background-color: transparent;
}

.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,
.show > .btn-outline-warning.dropdown-toggle {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-danger {
  color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:hover {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:focus, .btn-outline-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  color: #dc3545;
  background-color: transparent;
}

.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,
.show > .btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-light {
  color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:hover {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:focus, .btn-outline-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-outline-light.disabled, .btn-outline-light:disabled {
  color: #f8f9fa;
  background-color: transparent;
}

.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,
.show > .btn-outline-light.dropdown-toggle {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-outline-dark {
  color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:hover {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:focus, .btn-outline-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  color: #343a40;
  background-color: transparent;
}

.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
.show > .btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-link {
  font-weight: 400;
  color: #007bff;
  text-decoration: none;
}

.btn-link:hover {
  color: #0056b3;
  text-decoration: underline;
}

.btn-link:focus, .btn-link.focus {
  text-decoration: underline;
}

.btn-link:disabled, .btn-link.disabled {
  color: #6c757d;
  pointer-events: none;
}

.btn-lg, .btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 0.7813rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.5469rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.btn-block {
  display: block;
  width: 100%;
}

.btn-block + .btn-block {
  margin-top: 0.5rem;
}

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}

.fade {
  transition: opacity 0.15s linear;
}

@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}

.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}

.collapsing.width {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing.width {
    transition: none;
  }
}

.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}

.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}

.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 0.625rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 28px;
}

.dropdown-menu-left {
  right: auto;
  left: 0;
}

.dropdown-menu-right {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-right {
    right: 0;
    left: auto;
  }
}

.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}

.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}

.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}

.dropright .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}

.dropright .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropright .dropdown-toggle::after {
  vertical-align: 0;
}

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}

.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}

.dropleft .dropdown-toggle::after {
  display: none;
}

.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}

.dropleft .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
  right: auto;
  bottom: auto;
}

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}

.dropdown-item:hover, .dropdown-item:focus {
  color: #16181b;
  text-decoration: none;
  background-color: #e9ecef;
}

.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #007bff;
}

.dropdown-item.disabled, .dropdown-item:disabled {
  color: #adb5bd;
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: 0.5rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.5469rem;
  color: #6c757d;
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: 0.25rem 1.5rem;
  color: #212529;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}

.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}

.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover {
  z-index: 1;
}

.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.btn-toolbar .input-group {
  width: auto;
}

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
  margin-left: -1px;
}

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 1.875rem;
  padding-left: 1.875rem;
}

.dropdown-toggle-split::after,
.dropup .dropdown-toggle-split::after,
.dropright .dropdown-toggle-split::after {
  margin-left: 0;
}

.dropleft .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}

.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: -1px;
}

.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.btn-group-toggle > .btn,
.btn-group-toggle > .btn-group > .btn {
  margin-bottom: 0;
}

.btn-group-toggle > .btn input[type="radio"],
.btn-group-toggle > .btn input[type="checkbox"],
.btn-group-toggle > .btn-group > .btn input[type="radio"],
.btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}

.input-group > .form-control,
.input-group > .form-control-plaintext,
.input-group > .custom-select,
.input-group > .custom-file {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  margin-bottom: 0;
}

.input-group > .form-control + .form-control,
.input-group > .form-control + .custom-select,
.input-group > .form-control + .custom-file,
.input-group > .form-control-plaintext + .form-control,
.input-group > .form-control-plaintext + .custom-select,
.input-group > .form-control-plaintext + .custom-file,
.input-group > .custom-select + .form-control,
.input-group > .custom-select + .custom-select,
.input-group > .custom-select + .custom-file,
.input-group > .custom-file + .form-control,
.input-group > .custom-file + .custom-select,
.input-group > .custom-file + .custom-file {
  margin-left: -1px;
}

.input-group > .form-control:focus,
.input-group > .custom-select:focus,
.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
  z-index: 3;
}

.input-group > .custom-file .custom-file-input:focus {
  z-index: 4;
}

.input-group > .form-control:not(:first-child),
.input-group > .custom-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group > .custom-file {
  display: flex;
  align-items: center;
}

.input-group > .custom-file:not(:last-child) .custom-file-label,
.input-group > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .custom-file:not(:first-child) .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group:not(.has-validation) > .form-control:not(:last-child),
.input-group:not(.has-validation) > .custom-select:not(:last-child),
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label,
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group.has-validation > .form-control:nth-last-child(n + 3),
.input-group.has-validation > .custom-select:nth-last-child(n + 3),
.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label,
.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group-prepend,
.input-group-append {
  display: flex;
}

.input-group-prepend .btn,
.input-group-append .btn {
  position: relative;
  z-index: 2;
}

.input-group-prepend .btn:focus,
.input-group-append .btn:focus {
  z-index: 3;
}

.input-group-prepend .btn + .btn,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-append .btn + .btn,
.input-group-append .btn + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn {
  margin-left: -1px;
}

.input-group-prepend {
  margin-right: -1px;
}

.input-group-append {
  margin-left: -1px;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.75rem 2.5rem;
  margin-bottom: 0;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 28px;
}

.input-group-text input[type="radio"],
.input-group-text input[type="checkbox"] {
  margin-top: 0;
}

.input-group-lg > .form-control:not(textarea),
.input-group-lg > .custom-select {
  height: calc(1.5em + 1rem + 2px);
}

.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
  padding: 0.5rem 1rem;
  font-size: 0.7813rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
  height: calc(1.5em + 0.5rem + 2px);
}

.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.5469rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.input-group-lg > .custom-select,
.input-group-sm > .custom-select {
  padding-right: 3.5rem;
}

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.custom-control {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 0.9375rem;
  padding-left: 1.5rem;
  print-color-adjust: exact;
}

.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem;
}

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 0.9688rem;
  opacity: 0;
}

.custom-control-input:checked ~ .custom-control-label::before {
  color: #fff;
  border-color: #007bff;
  background-color: #007bff;
}

.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #80bdff;
}

.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  color: #fff;
  background-color: #b3d7ff;
  border-color: #b3d7ff;
}

.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
  color: #6c757d;
}

.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
  background-color: #e9ecef;
}

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}

.custom-control-label::before {
  position: absolute;
  top: -0.0312rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: #fff;
  border: 1px solid #adb5bd;
}

.custom-control-label::after {
  position: absolute;
  top: -0.0312rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background: 50% / 50% 50% no-repeat;
}

.custom-checkbox .custom-control-label::before {
  border-radius: 28px;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #007bff;
  background-color: #007bff;
}

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
}

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-radio .custom-control-label::before {
  border-radius: 50%;
}

.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-switch {
  padding-left: 2.25rem;
}

.custom-switch .custom-control-label::before {
  left: -2.25rem;
  width: 1.75rem;
  pointer-events: all;
  border-radius: 0.5rem;
}

.custom-switch .custom-control-label::after {
  top: calc(-0.0312rem + 2px);
  left: calc(-2.25rem + 2px);
  width: calc(1rem - 4px);
  height: calc(1rem - 4px);
  background-color: #adb5bd;
  border-radius: 0.5rem;
  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .custom-switch .custom-control-label::after {
    transition: none;
  }
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #fff;
  transform: translateX(0.75rem);
}

.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 1.5rem + 2px);
  padding: 0.75rem 3.5rem 0.75rem 2.5rem;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 2.5rem center/8px 10px no-repeat;
  border: 1px solid #ced4da;
  border-radius: 28px;
  appearance: none;
}

.custom-select:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-select:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

.custom-select[multiple], .custom-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 2.5rem;
  background-image: none;
}

.custom-select:disabled {
  color: #6c757d;
  background-color: #e9ecef;
}

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

.custom-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}

.custom-select-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.5469rem;
}

.custom-select-lg {
  height: calc(1.5em + 1rem + 2px);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 0.7813rem;
}

.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 1.5rem + 2px);
  margin-bottom: 0;
}

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 1.5rem + 2px);
  margin: 0;
  overflow: hidden;
  opacity: 0;
}

.custom-file-input:focus ~ .custom-file-label {
  border-color: #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-file-input[disabled] ~ .custom-file-label,
.custom-file-input:disabled ~ .custom-file-label {
  background-color: #e9ecef;
}

.custom-file-input:lang(en) ~ .custom-file-label::after {
  content: "Browse";
}

.custom-file-input ~ .custom-file-label[data-browse]::after {
  content: attr(data-browse);
}

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1.5em + 1.5rem + 2px);
  padding: 0.75rem 2.5rem;
  overflow: hidden;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 28px;
}

.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: calc(1.5em + 1.5rem);
  padding: 0.75rem 2.5rem;
  line-height: 1.5;
  color: #495057;
  content: "Browse";
  background-color: #e9ecef;
  border-left: inherit;
  border-radius: 0 28px 28px 0;
}

.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  appearance: none;
}

.custom-range:focus {
  outline: 0;
}

.custom-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-range:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-range::-moz-focus-outer {
  border: 0;
}

.custom-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-range::-webkit-slider-thumb {
    transition: none;
  }
}

.custom-range::-webkit-slider-thumb:active {
  background-color: #b3d7ff;
}

.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}

.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-range::-moz-range-thumb {
    transition: none;
  }
}

.custom-range::-moz-range-thumb:active {
  background-color: #b3d7ff;
}

.custom-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}

.custom-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: 0;
  margin-right: 0.2rem;
  margin-left: 0.2rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-range::-ms-thumb {
    transition: none;
  }
}

.custom-range::-ms-thumb:active {
  background-color: #b3d7ff;
}

.custom-range::-ms-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: 0.5rem;
}

.custom-range::-ms-fill-lower {
  background-color: #dee2e6;
  border-radius: 1rem;
}

.custom-range::-ms-fill-upper {
  margin-right: 15px;
  background-color: #dee2e6;
  border-radius: 1rem;
}

.custom-range:disabled::-webkit-slider-thumb {
  background-color: #adb5bd;
}

.custom-range:disabled::-webkit-slider-runnable-track {
  cursor: default;
}

.custom-range:disabled::-moz-range-thumb {
  background-color: #adb5bd;
}

.custom-range:disabled::-moz-range-track {
  cursor: default;
}

.custom-range:disabled::-ms-thumb {
  background-color: #adb5bd;
}

.custom-control-label::before,
.custom-file-label,
.custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .custom-control-label::before,
  .custom-file-label,
  .custom-select {
    transition: none;
  }
}

.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: 0.3rem 0.4rem;
}

.nav-link:hover, .nav-link:focus {
  text-decoration: none;
}

.nav-link.disabled {
  color: #6c757d;
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}

.nav-tabs .nav-link {
  margin-bottom: -1px;
  background-color: transparent;
  border: 1px solid transparent;
  border-top-left-radius: 28px;
  border-top-right-radius: 28px;
}

.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: #e9ecef #e9ecef #dee2e6;
}

.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills .nav-link {
  background: none;
  border: 0;
  border-radius: 28px;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #007bff;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.tab-content > .tab-pane {
  display: none;
}

.tab-content > .active {
  display: block;
}

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 15px 8%;
}

.navbar .container,
.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.navbar-brand {
  display: inline-block;
  padding-top: 0.1828rem;
  padding-bottom: 0.1828rem;
  margin-right: 8%;
  font-size: 0.7813rem;
  line-height: inherit;
  white-space: nowrap;
}

.navbar-brand:hover, .navbar-brand:focus {
  text-decoration: none;
}

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.navbar-nav .nav-link {
  padding-right: 0;
  padding-left: 0;
}

.navbar-nav .dropdown-menu {
  position: static;
  float: none;
}

.navbar-text {
  display: inline-block;
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
}

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 0.7813rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 28px;
}

.navbar-toggler:hover, .navbar-toggler:focus {
  text-decoration: none;
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: 50% / 100% 100% no-repeat;
}

.navbar-nav-scroll {
  max-height: 75vh;
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 768px) {
  .navbar-expand-md {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
}

@media (max-width: 991.98px) {
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}

@media (max-width: 1199.98px) {
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
}

.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start;
}

.navbar-expand > .container,
.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
  padding-right: 0;
  padding-left: 0;
}

.navbar-expand .navbar-nav {
  flex-direction: row;
}

.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}

.navbar-expand .navbar-nav .nav-link {
  padding-right: 1rem;
  padding-left: 1rem;
}

.navbar-expand > .container,
.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
  flex-wrap: nowrap;
}

.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}

.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}

.navbar-expand .navbar-toggler {
  display: none;
}

.navbar-light .navbar-brand {
  color: #1F1B20;
}

.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
  color: #1F1B20;
}

.navbar-light .navbar-nav .nav-link {
  color: white;
}

.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
}

.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(0, 0, 0, 0.3);
}

.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: #1F1B20;
}

.navbar-light .navbar-toggler {
  color: white;
  border-color: rgba(0, 0, 0, 0.1);
}

.navbar-light .navbar-toggler-icon {
  background-image: "none";
}

.navbar-light .navbar-text {
  color: white;
}

.navbar-light .navbar-text a {
  color: #1F1B20;
}

.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
  color: #1F1B20;
}

.navbar-dark .navbar-brand {
  color: #fff;
}

.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
  color: #fff;
}

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5);
}

.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 0.75);
}

.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.25);
}

.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff;
}

.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1);
}

.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5);
}

.navbar-dark .navbar-text a {
  color: #fff;
}

.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
  color: #fff;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 28px;
}

.card > hr {
  margin-right: 0;
  margin-left: 0;
}

.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}

.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: 27px;
  border-top-right-radius: 27px;
}

.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: 27px;
  border-bottom-left-radius: 27px;
}

.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  min-height: 1px;
  padding: 1.25rem;
}

.card-title {
  margin-bottom: 0.75rem;
}

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0;
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link:hover {
  text-decoration: none;
}

.card-link + .card-link {
  margin-left: 1.25rem;
}

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

.card-header:first-child {
  border-radius: 27px 27px 0 0;
}

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125);
}

.card-footer:last-child {
  border-radius: 0 0 27px 27px;
}

.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0;
}

.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
  border-radius: 27px;
}

.card-img,
.card-img-top,
.card-img-bottom {
  flex-shrink: 0;
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: 27px;
  border-top-right-radius: 27px;
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: 27px;
  border-bottom-left-radius: 27px;
}

.card-deck .card {
  margin-bottom: 15px;
}

@media (min-width: 576px) {
  .card-deck {
    display: flex;
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px;
  }
  .card-deck .card {
    flex: 1 0 0%;
    margin-right: 15px;
    margin-bottom: 0;
    margin-left: 15px;
  }
}

.card-group > .card {
  margin-bottom: 15px;
}

@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-top,
  .card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom,
  .card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-top,
  .card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom,
  .card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}

.card-columns .card {
  margin-bottom: 0.75rem;
}

@media (min-width: 576px) {
  .card-columns {
    column-count: 3;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }
  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}

.accordion {
  overflow-anchor: none;
}

.accordion > .card {
  overflow: hidden;
}

.accordion > .card:not(:last-of-type) {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.accordion > .card:not(:first-of-type) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.accordion > .card > .card-header {
  border-radius: 0;
  margin-bottom: -1px;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e9ecef;
  border-radius: 28px;
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}

.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: #6c757d;
  content: "/";
}

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline;
}

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none;
}

.breadcrumb-item.active {
  color: #6c757d;
}

.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 28px;
}

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #007bff;
  background-color: #fff;
  border: 1px solid #dee2e6;
}

.page-link:hover {
  z-index: 2;
  color: #0056b3;
  text-decoration: none;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.page-link:focus {
  z-index: 3;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 28px;
  border-bottom-left-radius: 28px;
}

.page-item:last-child .page-link {
  border-top-right-radius: 28px;
  border-bottom-right-radius: 28px;
}

.page-item.active .page-link {
  z-index: 3;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.page-item.disabled .page-link {
  color: #6c757d;
  pointer-events: none;
  cursor: auto;
  background-color: #fff;
  border-color: #dee2e6;
}

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 0.7813rem;
  line-height: 1.5;
}

.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
}

.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.5469rem;
  line-height: 1.5;
}

.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem;
}

.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.2rem;
  border-bottom-right-radius: 0.2rem;
}

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 28px;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .badge {
    transition: none;
  }
}

a.badge:hover, a.badge:focus {
  text-decoration: none;
}

.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
}

.badge-primary {
  color: #fff;
  background-color: #007bff;
}

a.badge-primary:hover, a.badge-primary:focus {
  color: #fff;
  background-color: #0062cc;
}

a.badge-primary:focus, a.badge-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.badge-secondary {
  color: #fff;
  background-color: #6c757d;
}

a.badge-secondary:hover, a.badge-secondary:focus {
  color: #fff;
  background-color: #545b62;
}

a.badge-secondary:focus, a.badge-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.badge-success {
  color: #fff;
  background-color: #28a745;
}

a.badge-success:hover, a.badge-success:focus {
  color: #fff;
  background-color: #1e7e34;
}

a.badge-success:focus, a.badge-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.badge-info {
  color: #fff;
  background-color: #17a2b8;
}

a.badge-info:hover, a.badge-info:focus {
  color: #fff;
  background-color: #117a8b;
}

a.badge-info:focus, a.badge-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.badge-warning {
  color: #212529;
  background-color: #ffc107;
}

a.badge-warning:hover, a.badge-warning:focus {
  color: #212529;
  background-color: #d39e00;
}

a.badge-warning:focus, a.badge-warning.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.badge-danger {
  color: #fff;
  background-color: #dc3545;
}

a.badge-danger:hover, a.badge-danger:focus {
  color: #fff;
  background-color: #bd2130;
}

a.badge-danger:focus, a.badge-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.badge-light {
  color: #212529;
  background-color: #f8f9fa;
}

a.badge-light:hover, a.badge-light:focus {
  color: #212529;
  background-color: #dae0e5;
}

a.badge-light:focus, a.badge-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.badge-dark {
  color: #fff;
  background-color: #343a40;
}

a.badge-dark:hover, a.badge-dark:focus {
  color: #fff;
  background-color: #1d2124;
}

a.badge-dark:focus, a.badge-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  border-radius: 0.3rem;
}

@media (min-width: 576px) {
  .jumbotron {
    padding: 4rem 2rem;
  }
}

.jumbotron-fluid {
  padding-right: 0;
  padding-left: 0;
  border-radius: 0;
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 28px;
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
}

.alert-dismissible {
  padding-right: 3.4375rem;
}

.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 0.75rem 1.25rem;
  color: inherit;
}

.alert-primary {
  color: #004085;
  background-color: #cce5ff;
  border-color: #b8daff;
}

.alert-primary hr {
  border-top-color: #9fcdff;
}

.alert-primary .alert-link {
  color: #002752;
}

.alert-secondary {
  color: #383d41;
  background-color: #e2e3e5;
  border-color: #d6d8db;
}

.alert-secondary hr {
  border-top-color: #c8cbcf;
}

.alert-secondary .alert-link {
  color: #202326;
}

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}

.alert-success hr {
  border-top-color: #b1dfbb;
}

.alert-success .alert-link {
  color: #0b2e13;
}

.alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb;
}

.alert-info hr {
  border-top-color: #abdde5;
}

.alert-info .alert-link {
  color: #062c33;
}

.alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba;
}

.alert-warning hr {
  border-top-color: #ffe8a1;
}

.alert-warning .alert-link {
  color: #533f03;
}

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.alert-danger hr {
  border-top-color: #f1b0b7;
}

.alert-danger .alert-link {
  color: #491217;
}

.alert-light {
  color: #818182;
  background-color: #fefefe;
  border-color: #fdfdfe;
}

.alert-light hr {
  border-top-color: #ececf6;
}

.alert-light .alert-link {
  color: #686868;
}

.alert-dark {
  color: #1b1e21;
  background-color: #d6d8d9;
  border-color: #c6c8ca;
}

.alert-dark hr {
  border-top-color: #b9bbbe;
}

.alert-dark .alert-link {
  color: #040505;
}

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }
  to {
    background-position: 0 0;
  }
}

.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  line-height: 0;
  font-size: 0.4688rem;
  background-color: #e9ecef;
  border-radius: 28px;
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #007bff;
  transition: width 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

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

.media-body {
  flex: 1;
}

.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 28px;
}

.list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit;
}

.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: #495057;
  text-decoration: none;
  background-color: #f8f9fa;
}

.list-group-item-action:active {
  color: #212529;
  background-color: #e9ecef;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}

.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}

.list-group-item.disabled, .list-group-item:disabled {
  color: #6c757d;
  pointer-events: none;
  background-color: #fff;
}

.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.list-group-item + .list-group-item {
  border-top-width: 0;
}

.list-group-item + .list-group-item.active {
  margin-top: -1px;
  border-top-width: 1px;
}

.list-group-horizontal {
  flex-direction: row;
}

.list-group-horizontal > .list-group-item:first-child {
  border-bottom-left-radius: 28px;
  border-top-right-radius: 0;
}

.list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: 28px;
  border-bottom-left-radius: 0;
}

.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}

.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: 1px;
  border-left-width: 0;
}

.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: -1px;
  border-left-width: 1px;
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child {
    border-bottom-left-radius: 28px;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child {
    border-top-right-radius: 28px;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child {
    border-bottom-left-radius: 28px;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child {
    border-top-right-radius: 28px;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child {
    border-bottom-left-radius: 28px;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child {
    border-top-right-radius: 28px;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child {
    border-bottom-left-radius: 28px;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child {
    border-top-right-radius: 28px;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

.list-group-flush {
  border-radius: 0;
}

.list-group-flush > .list-group-item {
  border-width: 0 0 1px;
}

.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  color: #004085;
  background-color: #b8daff;
}

.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: #004085;
  background-color: #9fcdff;
}

.list-group-item-primary.list-group-item-action.active {
  color: #fff;
  background-color: #004085;
  border-color: #004085;
}

.list-group-item-secondary {
  color: #383d41;
  background-color: #d6d8db;
}

.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
  color: #383d41;
  background-color: #c8cbcf;
}

.list-group-item-secondary.list-group-item-action.active {
  color: #fff;
  background-color: #383d41;
  border-color: #383d41;
}

.list-group-item-success {
  color: #155724;
  background-color: #c3e6cb;
}

.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
  color: #155724;
  background-color: #b1dfbb;
}

.list-group-item-success.list-group-item-action.active {
  color: #fff;
  background-color: #155724;
  border-color: #155724;
}

.list-group-item-info {
  color: #0c5460;
  background-color: #bee5eb;
}

.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
  color: #0c5460;
  background-color: #abdde5;
}

.list-group-item-info.list-group-item-action.active {
  color: #fff;
  background-color: #0c5460;
  border-color: #0c5460;
}

.list-group-item-warning {
  color: #856404;
  background-color: #ffeeba;
}

.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
  color: #856404;
  background-color: #ffe8a1;
}

.list-group-item-warning.list-group-item-action.active {
  color: #fff;
  background-color: #856404;
  border-color: #856404;
}

.list-group-item-danger {
  color: #721c24;
  background-color: #f5c6cb;
}

.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
  color: #721c24;
  background-color: #f1b0b7;
}

.list-group-item-danger.list-group-item-action.active {
  color: #fff;
  background-color: #721c24;
  border-color: #721c24;
}

.list-group-item-light {
  color: #818182;
  background-color: #fdfdfe;
}

.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
  color: #818182;
  background-color: #ececf6;
}

.list-group-item-light.list-group-item-action.active {
  color: #fff;
  background-color: #818182;
  border-color: #818182;
}

.list-group-item-dark {
  color: #1b1e21;
  background-color: #c6c8ca;
}

.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
  color: #1b1e21;
  background-color: #b9bbbe;
}

.list-group-item-dark.list-group-item-action.active {
  color: #fff;
  background-color: #1b1e21;
  border-color: #1b1e21;
}

.close {
  float: right;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5;
}

.close:hover {
  color: #000;
  text-decoration: none;
}

.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: .75;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
}

a.close.disabled {
  pointer-events: none;
}

.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  border-radius: 0.25rem;
}

.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}

.toast.showing {
  opacity: 1;
}

.toast.show {
  display: block;
  opacity: 1;
}

.toast.hide {
  display: none;
}

.toast-header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #6c757d;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.toast-body {
  padding: 0.75rem;
}

.modal-open {
  overflow: hidden;
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}

.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}

@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}

.modal.show .modal-dialog {
  transform: none;
}

.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem);
}

.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 1rem);
  overflow: hidden;
}

.modal-dialog-scrollable .modal-header,
.modal-dialog-scrollable .modal-footer {
  flex-shrink: 0;
}

.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}

.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 1rem);
  height: min-content;
  content: "";
}

.modal-dialog-centered.modal-dialog-scrollable {
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.modal-dialog-centered.modal-dialog-scrollable .modal-content {
  max-height: none;
}

.modal-dialog-centered.modal-dialog-scrollable::before {
  content: none;
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop.show {
  opacity: 0.5;
}

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}

.modal-header .close {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem;
}

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px);
}

.modal-footer > * {
  margin: 0.25rem;
}

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }
  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem);
  }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem);
  }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }
  .modal-dialog-centered::before {
    height: calc(100vh - 3.5rem);
    height: min-content;
  }
  .modal-sm {
    max-width: 300px;
  }
}

@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 800px;
  }
}

@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: 0.5469rem;
  word-wrap: break-word;
  opacity: 0;
}

.tooltip.show {
  opacity: 0.9;
}

.tooltip .arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}

.tooltip .arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
  padding: 0.4rem 0;
}

.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {
  bottom: 0;
}

.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
  top: 0;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #F4C374;
}

.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
  padding: 0 0.4rem;
}

.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}

.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
  right: 0;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #F4C374;
}

.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
  padding: 0.4rem 0;
}

.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {
  top: 0;
}

.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  bottom: 0;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #F4C374;
}

.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
  padding: 0 0.4rem;
}

.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}

.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
  left: 0;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #F4C374;
}

.tooltip-inner {
  max-width: 250px;
  padding: 0.25rem 0.25rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 28px;
}

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: "Poppins", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: 0.5469rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
}

.popover .arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
  margin: 0 0.3rem;
}

.popover .arrow::before, .popover .arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
  margin-bottom: 0.5rem;
}

.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow {
  bottom: calc(-0.5rem - 1px);
}

.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before {
  bottom: 0;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after {
  bottom: 1px;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: #fff;
}

.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
  margin-left: 0.5rem;
}

.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow {
  left: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}

.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before {
  left: 0;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after {
  left: 1px;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: #fff;
}

.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
  margin-top: 0.5rem;
}

.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow {
  top: calc(-0.5rem - 1px);
}

.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
  top: 0;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
  top: 1px;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: #fff;
}

.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1rem;
  margin-left: -0.5rem;
  content: "";
  border-bottom: 1px solid #f7f7f7;
}

.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
  margin-right: 0.5rem;
}

.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow {
  right: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}

.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before {
  right: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after {
  right: 1px;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #fff;
}

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 0.625rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}

.popover-header:empty {
  display: none;
}

.popover-body {
  padding: 0.5rem 0.75rem;
  color: #212529;
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1;
}

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-left,
  .carousel-fade .active.carousel-item-right {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}

.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: 50% / 100% 100% no-repeat;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}

.carousel-indicators li {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: .5;
  transition: opacity 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-indicators li {
    transition: none;
  }
}

.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentcolor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: .75s linear infinite spinner-border;
}

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}

.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  background-color: currentcolor;
  border-radius: 50%;
  opacity: 0;
  animation: .75s linear infinite spinner-grow;
}

.spinner-grow-sm {
  width: 1rem;
  height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    animation-duration: 1.5s;
  }
}

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

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

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

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

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

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

.bg-primary {
  background-color: #007bff !important;
}

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #0062cc !important;
}

.bg-secondary {
  background-color: #6c757d !important;
}

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #545b62 !important;
}

.bg-success {
  background-color: #28a745 !important;
}

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #1e7e34 !important;
}

.bg-info {
  background-color: #17a2b8 !important;
}

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #117a8b !important;
}

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

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #d39e00 !important;
}

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

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #bd2130 !important;
}

.bg-light {
  background-color: #f8f9fa !important;
}

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #dae0e5 !important;
}

.bg-dark {
  background-color: #343a40 !important;
}

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1d2124 !important;
}

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

.bg-transparent {
  background-color: transparent !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

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

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

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

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

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

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

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

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

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

.border-primary {
  border-color: #007bff !important;
}

.border-secondary {
  border-color: #6c757d !important;
}

.border-success {
  border-color: #28a745 !important;
}

.border-info {
  border-color: #17a2b8 !important;
}

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

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

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

.border-dark {
  border-color: #343a40 !important;
}

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

.rounded-sm {
  border-radius: 0.2rem !important;
}

.rounded {
  border-radius: 28px !important;
}

.rounded-top {
  border-top-left-radius: 28px !important;
  border-top-right-radius: 28px !important;
}

.rounded-right {
  border-top-right-radius: 28px !important;
  border-bottom-right-radius: 28px !important;
}

.rounded-bottom {
  border-bottom-right-radius: 28px !important;
  border-bottom-left-radius: 28px !important;
}

.rounded-left {
  border-top-left-radius: 28px !important;
  border-bottom-left-radius: 28px !important;
}

.rounded-lg {
  border-radius: 0.3rem !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: 50rem !important;
}

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

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}

@media print {
  .d-print-none {
    display: none !important;
  }
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
}

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

.embed-responsive::before {
  display: block;
  content: "";
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-21by9::before {
  padding-top: 42.8571%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

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

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

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

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

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

.justify-content-around {
  justify-content: space-around !important;
}

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

.align-items-end {
  align-items: flex-end !important;
}

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

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

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

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

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

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

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

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}

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

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

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

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }
  .float-sm-right {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
}

@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }
  .float-md-right {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
}

@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }
  .float-lg-right {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
}

@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }
  .float-xl-right {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
}

.user-select-all {
  user-select: all !important;
}

.user-select-auto {
  user-select: auto !important;
}

.user-select-none {
  user-select: none !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

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

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.vw-100 {
  width: 100vw !important;
}

.vh-100 {
  height: 100vh !important;
}

.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.mt-5,
.my-5 {
  margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.pt-5,
.py-5 {
  padding-top: 3rem !important;
}

.pr-5,
.px-5 {
  padding-right: 3rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
  padding-left: 3rem !important;
}

.m-n1 {
  margin: -0.25rem !important;
}

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important;
}

.mr-n1,
.mx-n1 {
  margin-right: -0.25rem !important;
}

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important;
}

.ml-n1,
.mx-n1 {
  margin-left: -0.25rem !important;
}

.m-n2 {
  margin: -0.5rem !important;
}

.mt-n2,
.my-n2 {
  margin-top: -0.5rem !important;
}

.mr-n2,
.mx-n2 {
  margin-right: -0.5rem !important;
}

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important;
}

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important;
}

.m-n3 {
  margin: -1rem !important;
}

.mt-n3,
.my-n3 {
  margin-top: -1rem !important;
}

.mr-n3,
.mx-n3 {
  margin-right: -1rem !important;
}

.mb-n3,
.my-n3 {
  margin-bottom: -1rem !important;
}

.ml-n3,
.mx-n3 {
  margin-left: -1rem !important;
}

.m-n4 {
  margin: -1.5rem !important;
}

.mt-n4,
.my-n4 {
  margin-top: -1.5rem !important;
}

.mr-n4,
.mx-n4 {
  margin-right: -1.5rem !important;
}

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important;
}

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important;
}

.m-n5 {
  margin: -3rem !important;
}

.mt-n5,
.my-n5 {
  margin-top: -3rem !important;
}

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important;
}

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important;
}

.ml-n5,
.mx-n5 {
  margin-left: -3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important;
  }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important;
  }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important;
  }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important;
  }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important;
  }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important;
  }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important;
  }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important;
  }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important;
  }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important;
  }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important;
  }
  .m-sm-n1 {
    margin: -0.25rem !important;
  }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important;
  }
  .m-sm-n2 {
    margin: -0.5rem !important;
  }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.5rem !important;
  }
  .m-sm-n3 {
    margin: -1rem !important;
  }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important;
  }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important;
  }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important;
  }
  .m-sm-n4 {
    margin: -1.5rem !important;
  }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1.5rem !important;
  }
  .m-sm-n5 {
    margin: -3rem !important;
  }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important;
  }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important;
  }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important;
  }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important;
  }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important;
  }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important;
  }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important;
  }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important;
  }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important;
  }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important;
  }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important;
  }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important;
  }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important;
  }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important;
  }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important;
  }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important;
  }
  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important;
  }
  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important;
  }
  .m-md-n1 {
    margin: -0.25rem !important;
  }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important;
  }
  .m-md-n2 {
    margin: -0.5rem !important;
  }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.5rem !important;
  }
  .m-md-n3 {
    margin: -1rem !important;
  }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important;
  }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important;
  }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important;
  }
  .m-md-n4 {
    margin: -1.5rem !important;
  }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1.5rem !important;
  }
  .m-md-n5 {
    margin: -3rem !important;
  }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important;
  }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important;
  }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important;
  }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important;
  }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important;
  }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important;
  }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important;
  }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important;
  }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important;
  }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important;
  }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important;
  }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important;
  }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important;
  }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important;
  }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important;
  }
  .m-lg-n1 {
    margin: -0.25rem !important;
  }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.25rem !important;
  }
  .m-lg-n2 {
    margin: -0.5rem !important;
  }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.5rem !important;
  }
  .m-lg-n3 {
    margin: -1rem !important;
  }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important;
  }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -1rem !important;
  }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -1rem !important;
  }
  .m-lg-n4 {
    margin: -1.5rem !important;
  }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1.5rem !important;
  }
  .m-lg-n5 {
    margin: -3rem !important;
  }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important;
  }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -3rem !important;
  }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important;
  }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important;
  }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important;
  }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important;
  }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important;
  }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important;
  }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important;
  }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important;
  }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important;
  }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important;
  }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important;
  }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important;
  }
  .m-xl-n1 {
    margin: -0.25rem !important;
  }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.25rem !important;
  }
  .m-xl-n2 {
    margin: -0.5rem !important;
  }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.5rem !important;
  }
  .m-xl-n3 {
    margin: -1rem !important;
  }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important;
  }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -1rem !important;
  }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -1rem !important;
  }
  .m-xl-n4 {
    margin: -1.5rem !important;
  }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1.5rem !important;
  }
  .m-xl-n5 {
    margin: -3rem !important;
  }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important;
  }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -3rem !important;
  }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important;
  }
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

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

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

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

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

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

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}

@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.font-weight-light {
  font-weight: 300 !important;
}

.font-weight-lighter {
  font-weight: lighter !important;
}

.font-weight-normal {
  font-weight: 400 !important;
}

.font-weight-bold {
  font-weight: 700 !important;
}

.font-weight-bolder {
  font-weight: bolder !important;
}

.font-italic {
  font-style: italic !important;
}

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

.text-primary {
  color: #007bff !important;
}

a.text-primary:hover, a.text-primary:focus {
  color: #0056b3 !important;
}

.text-secondary {
  color: #6c757d !important;
}

a.text-secondary:hover, a.text-secondary:focus {
  color: #494f54 !important;
}

.text-success {
  color: #28a745 !important;
}

a.text-success:hover, a.text-success:focus {
  color: #19692c !important;
}

.text-info {
  color: #17a2b8 !important;
}

a.text-info:hover, a.text-info:focus {
  color: #0f6674 !important;
}

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

a.text-warning:hover, a.text-warning:focus {
  color: #ba8b00 !important;
}

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

a.text-danger:hover, a.text-danger:focus {
  color: #a71d2a !important;
}

.text-light {
  color: #f8f9fa !important;
}

a.text-light:hover, a.text-light:focus {
  color: #cbd3da !important;
}

.text-dark {
  color: #343a40 !important;
}

a.text-dark:hover, a.text-dark:focus {
  color: #121416 !important;
}

.text-body {
  color: #212529 !important;
}

.text-muted {
  color: #6c757d !important;
}

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-break {
  word-break: break-word !important;
  word-wrap: break-word !important;
}

.text-reset {
  color: inherit !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }
  a:not(.btn) {
    text-decoration: underline;
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #adb5bd;
    page-break-inside: avoid;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  @page {
    size: a3;
  }
  body {
    min-width: 992px !important;
  }
  .container {
    min-width: 992px !important;
  }
  .navbar {
    display: none;
  }
  .badge {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #dee2e6 !important;
  }
  .table-dark {
    color: inherit;
  }
  .table-dark th,
  .table-dark td,
  .table-dark thead th,
  .table-dark tbody + tbody {
    border-color: #dee2e6;
  }
  .table .thead-dark th {
    color: inherit;
    border-color: #dee2e6;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}

.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}

.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px;
}

.slick-prev:before {
  content: "←";
}

[dir="rtl"] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}

[dir="rtl"] .slick-next {
  left: -25px;
  right: auto;
}

.slick-next:before {
  content: "→";
}

[dir="rtl"] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

button, .button {
  display: block;
  border: none;
  width: 100px;
  height: 40px;
  line-height: 38px;
  margin-top: 20px;
  margin-left: calc(50% - 50px);
  border-radius: 26px;
  background-color: #F4C374;
  color: #1F1B20;
  font-size: 14px;
}

button:focus, .button:focus, .searchButton:focus, .searchButtonMobile:focus, .nav-item.active:focus {
  background-color: #B8823E;
  outline: none;
}

.searchButton {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  margin-top: 20px;
  width: 100px;
  height: 44px;
  border-radius: 25px;
  border: none;
  background-color: #F4C374;
}

.searchButton i {
  color: #1F1B20;
  font-size: 14px;
}

.registerButton {
  margin-top: 0;
  width: 126px;
  margin-left: calc(50% - 63px);
}

.confirmButton {
  margin-top: 10px;
  margin-bottom: 10px;
}

.imagePin, .prolongPin, .expiredPin {
  display: block;
  height: 28px;
  width: auto;
  border-radius: 0px 0px 15px 15px;
  transform: rotate(0deg);
  background-color: #F4C374;
  margin-top: -1px;
}

.expiredPin {
  color: black !important;
}

.imagePin.pinned {
  visibility: visible;
}

@media (max-width: 576px) {
  img.imagePin {
    height: 20px;
  }
}

.bottomButton {
  bottom: 12px;
  position: absolute;
}

#advancedSearch button {
  margin-left: initial;
}

.slick-prev:before,
.slick-next:before {
  color: #B8823E !important;
}

.slick-slide {
  margin-right: 20px;
}

.slick-slide:focus {
  outline: none;
}

.itemDetail .itemDetailContainer .leftPanel .itemCarousel .slick-list {
  height: 100%;
  width: 100%;
}

.itemDetail .itemDetailContainer .leftPanel .itemCarousel .slick-list .slick-track .slick-slide {
  margin-right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
}

button.slick-next.slick-arrow, button.slick-prev.slick-arrow {
  position: absolute;
  bottom: 0;
  top: calc(50% - 5px);
  background-color: #1570a6;
  border: none;
  height: 20px;
  width: 20px;
  border-radius: 10px;
  color: white;
}

.recentlyAddedCarousel button.slick-next.slick-arrow, .recentlyAddedCarousel button.slick-prev.slick-arrow {
  margin-top: unset;
  margin-left: unset;
  background-color: #1F1B20;
}

.publicBoardsCarousel button.slick-next.slick-arrow, .publicBoardsCarousel button.slick-prev.slick-arrow {
  margin-top: unset;
  margin-left: unset;
  background-color: transparent;
}

button.slick-next.slick-arrow {
  right: 0;
}

.recentlyAddedCarousel button.slick-next.slick-arrow {
  margin-right: -30px;
  height: 100%;
  background-color: #EFF5F9 !important;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.publicBoardsCarousel button.slick-next.slick-arrow {
  margin-right: 20px;
}

button.slick-prev.slick-arrow {
  left: 0;
}

.recentlyAddedCarousel button.slick-prev.slick-arrow {
  margin-left: -30px;
  height: 100%;
  background-color: #EFF5F9 !important;
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.publicBoardsCarousel button.slick-prev.slick-arrow {
  margin-left: 20px;
}

.slick-prev:before,
.slick-next:before {
  color: #F4C374 !important;
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  display: block;
  width: 30px;
  padding-top: 3px;
  padding-bottom: 3px;
  border-radius: 50%;
  border: 2px solid transparent;
  position: relative;
}

.publicBoardsCarousel .slick-prev:before, .publicBoardsCarousel .slick-next:before {
  background-color: transparent;
}

.slick-prev:before {
  content: "\f053";
  left: -6px;
  padding-right: 2px;
}

.slick-next:before {
  content: "\f054";
  right: 4px;
  padding-left: 2px;
}

.slick-dots li button:before {
  font-size: 30px;
}

.slick-dots li.slick-active button:before {
  color: #F4C374;
  opacity: 1;
}

.itemDetail button.slick-next.slick-arrow, .payments button.slick-next.slick-arrow {
  right: 10px;
  background-color: transparent;
}

.itemDetail button.slick-prev.slick-arrow, .payments button.slick-prev.slick-arrow {
  color: #1F1B20;
  z-index: 1;
  background-color: transparent;
  margin-left: 10px;
}

.payments .paymentsCarousel {
  padding: 20px 40px 40px 40px;
}

.payments .paymentsCarousel .slick-list {
  padding: 10px 0;
}

@media (max-width: 576px) {
  button.slick-next.slick-arrow {
    right: 10px;
  }
  .payments .paymentsCarousel {
    padding: 20px 0;
  }
  .payments .paymentsCarousel .slick-prev {
    top: 320px;
    left: 35px;
  }
  .payments .paymentsCarousel .slick-next.slick-arrow {
    top: 320px;
    right: 45px;
  }
}

nav {
  padding: 0 8%;
  font-size: 12px;
  box-shadow: 0px 4px 6px #d4d4d41c;
  z-index: 10;
  height: 70px;
}

nav.navbar--fixed {
  position: fixed;
  background-color: #1F1B20;
  width: 100%;
  top: 0;
}

nav.navbar--fixed + * {
  margin-top: 70px;
}

@media (min-width: 576px) {
  nav.navbar--fixed + .loginRegister {
    margin-top: 130px;
  }
}

nav button {
  margin: 0;
}

nav .navbar-toggler {
  width: auto;
  border: none;
  width: auto;
  margin-right: 2px;
}

nav .navbar-toggler .navbar-toggler-icon {
  height: unset;
  color: #F4C374;
}

nav .navbar-toggler .navbar-toggler-icon img {
  height: 25px;
  color: #F4C374;
}

nav .navbar-toggler:focus {
  background-color: inherit;
  border: none;
  outline: none;
}

nav a.navbar-brand {
  padding: 0;
  height: 60px;
  line-height: 60px;
}

nav a.navbar-brand img {
  height: 60px;
  margin-bottom: 5px;
}

nav li.nav-item {
  color: white;
  height: 40px;
  line-height: 40px;
}

nav li.nav-item .nav-link {
  padding: 0 1rem;
}

nav li.nav-item .nav-link img {
  height: 25px;
}

nav li.nav-item.active {
  background-color: #F4C374;
  border-radius: 20px;
  margin-right: 10px;
}

nav li.nav-item.active a {
  color: #F4C374;
}

nav .form-group {
  display: none;
}

@media (min-width: 992px) {
  nav .form-group {
    display: block;
    height: auto;
    margin-left: 100px;
    min-width: 350px;
  }
  nav .form-group label i {
    height: 25px;
    position: absolute;
    left: 14px;
    top: 32px;
    z-index: 3;
  }
}

.navbar-light .navbar-nav .nav-link {
  padding-left: 1rem;
  padding-right: 0;
}

.navbar-light .navbar-nav .active .nav-link {
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (max-width: 576px) {
  .navbar {
    justify-content: space-between;
    height: 70px;
    align-items: center;
    padding: 0 4%;
  }
  .navbar .navbar-collapse {
    position: absolute;
    width: 100%;
    top: 59px;
    left: 0;
    padding: 20px 0;
    background-color: #1F1B20;
    z-index: 1;
    box-shadow: rgba(0, 0, 0, 0.47) 0px 7px 5px;
  }
  .navbar .navbar-collapse ul li {
    margin-bottom: 20px;
  }
  .navbar .navbar-collapse ul li.active {
    border-radius: 0px;
    padding: 30px 5px;
    margin-right: 0;
    line-height: 3px;
  }
}

.linksBlock {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 30px 8%;
}

.linkColumn {
  display: inline-block;
}

.linkColumn h6 {
  font-weight: 700;
}

.linkColumn .socialMediaIcons {
  width: 100%;
  display: flex;
  justify-content: flex-start;
}

.linkColumn .socialMediaIcons a {
  color: #F4C374;
  margin-right: 15px;
}

.linkColumn .socialMediaIcons a i {
  font-size: 25px;
}

.linkList {
  list-style: none;
  padding: 0;
}

.linkList li {
  margin-bottom: 10px;
}

.linkList li a {
  color: #F4C374;
}

footer {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: 10px 8%;
  background-color: #000000;
  align-items: center;
  text-align: center;
}

footer h5 {
  flex-basis: 80%;
  margin: 0;
}

footer .floatRight {
  width: 20%;
  display: flex;
  justify-content: flex-end;
}

footer .floatRight img {
  flex-basis: 20%;
  height: 30px;
}

footer span.strongText {
  font-weight: 700;
}

@media (max-width: 725px) {
  .linksBlock {
    margin: 0 4%;
    flex-direction: column;
  }
  .linksBlock .linkColumn h6 {
    font-size: 15px;
  }
  .linksBlock .linkColumn .linkList {
    font-size: 14px;
  }
  .linksBlock .socialMediaIcons {
    display: flex;
    flex-direction: row;
    width: 100%;
    float: none;
    padding: 20px 0;
    justify-content: space-evenly;
    font-size: 15px;
  }
}

@media (max-width: 576px) {
  footer {
    flex-direction: column;
    padding: 20px 8%;
  }
  footer h5 {
    flex-basis: 100%;
    padding-bottom: 20px;
    font-size: 14px;
  }
  footer .floatRight {
    width: 100%;
  }
  footer .floatRight img {
    flex-basis: 100%;
  }
}

.switch {
  position: relative;
  display: inline-block;
  width: 34px;
  height: 22px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 1px;
  bottom: 1px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #B8823E;
}

input:focus + .slider {
  box-shadow: 0 0 1px #F4C374;
}

input:checked + .slider:before {
  -webkit-transform: translateX(12px);
  -ms-transform: translateX(12px);
  transform: translateX(12px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

.dropdownSwitch {
  position: relative;
  display: inline-block;
  width: 34px;
  height: 22px;
  font-family: "Font Awesome 5 Pro";
}

.dropdownSwitch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.dropdownToggle {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.dropdownToggle:before {
  position: absolute;
  content: "\f078";
  height: 20px;
  width: 20px;
  left: 1px;
  bottom: 1px;
  -webkit-transition: .4s;
  transition: .4s;
  transform-origin: 5px;
}

input:checked + .dropdownToggle::before {
  color: #F4C374;
}

input:focus + .dropdownToggle:before {
  color: #F4C374;
}

input:checked + .dropdownToggle:before {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.jumbotron {
  position: relative;
  width: 100%;
  margin: 0;
  top: 0;
  left: 0;
  padding: 0;
  background-color: #eff5f91b;
}

.jumbotron .container {
  max-width: 100%;
  margin: 0;
  padding: 40px 8% 0 8%;
}

@media (max-width: 576px) {
  .jumbotron .container {
    padding: 40px 4% 0 4%;
  }
}

.jumbotron .container .containerMessage .jumbotronHeader {
  font-size: 32px;
  font-weight: 700;
  color: #F4C374;
  margin-bottom: 15px;
}

.jumbotron .container .containerMessage .jumbotronDetail {
  font-size: 12px;
  margin: 4px 0;
}

.jumbotron .container .containerMessage .mobileDetail {
  display: none;
}

.jumbotron .container .form-inline {
  padding: 30px 0 60px 0;
}

.jumbotron .container .form-inline .form-group {
  position: relative;
  margin-right: 20px;
  flex-basis: 20%;
}

.jumbotron .container .form-inline .form-group img {
  position: absolute;
  height: 30px;
  left: 8px;
  bottom: 8px;
}

.jumbotron .container .form-inline .form-group i {
  position: absolute;
  left: 14px;
  color: #000000;
  font-size: 14px;
  z-index: 3;
}

.jumbotron .container .form-inline .form-group i.iconRight {
  right: 18px;
}

.jumbotron .container .form-inline .form-group .iconRight {
  left: auto;
  right: 8px;
}

.jumbotron .container .form-inline .form-group.jumboInputs {
  flex-basis: 20%;
  /* Internet Explorer 10-11 */
  /* Microsoft Edge */
}

.jumbotron .container .form-inline .form-group.jumboInputs .form-control {
  width: 100%;
  font-size: 12px;
  color: #000000;
}

.jumbotron .container .form-inline .form-group.jumboInputs .form-control::placeholder {
  opacity: 1;
  color: #000000;
}

.jumbotron .container .form-inline .form-group.jumboInputs .form-control:-ms-input-placeholder {
  opacity: 1;
  color: #000000;
}

.jumbotron .container .form-inline .form-group.jumboInputs .form-control::-ms-input-placeholder {
  opacity: 1;
  color: #000000;
}

.jumbotron .container .form-inline .form-group.cost .costInputWrapper {
  width: 100%;
}

.jumbotron .container .form-inline .form-group.cost .costInputWrapper .costInputLeft {
  width: calc(50% - 0.5px);
  border-radius: 28px 0 0 28px;
  border-right: none;
  padding-right: 10px;
  text-align: center;
  margin-right: -1px;
}

.jumbotron .container .form-inline .form-group.cost .costInputWrapper .costInputRight {
  width: calc(50% - 0.5px);
  border-radius: 0 28px 28px 0;
  border-left: none;
  padding-left: 10px;
  text-align: center;
  margin-left: -1px;
}

.jumbotron .container .form-inline .form-group.cost .costInputWrapper .costInputRight img {
  bottom: 8px;
}

.jumbotron .container .form-inline .form-group.cost .costInputWrapper:focus-within {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
  border-radius: 28px;
}

.jumbotron .container .form-inline .form-group.cost .costInputLeft:focus {
  box-shadow: none;
  border: none;
}

.jumbotron .container .form-inline .form-group.cost .costInputRight:focus {
  box-shadow: none;
  border: none;
}

.jumbotron .container .form-inline .boxText {
  text-align: center;
  bottom: 1px;
  height: 42px;
  line-height: 42px;
}

.jumbotron .container .jumboBottom {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 22px;
}

.jumbotron .container .jumboBottom .socialMediaIcons {
  display: inline-block;
}

.jumbotron .container .jumboBottom .socialMediaIcons a {
  margin-right: 15px;
}

.jumbotron .container .jumboBottom .socialMediaIcons a .fab {
  color: #000000;
  font-size: 25px;
}

.jumbotron .container .jumboBottom #themeToggle {
  display: flex;
  align-items: center;
}

.jumbotron .container .jumboBottom #themeToggle label:not(.switch) {
  margin-right: 10px;
}

@media (max-width: 1160px) {
  .jumbotron .container {
    max-width: 100%;
  }
  .jumbotron .container .containerMessage .jumbotronHeader {
    font-size: 25px;
  }
  .jumbotron .container .form-inline {
    align-items: center;
    justify-content: space-between;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs {
    flex-basis: calc(50% - 20px);
    margin: 0;
    margin-bottom: 15px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs input {
    width: 100%;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs select {
    width: 100%;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs img.iconRight {
    left: auto;
    right: 4px;
  }
}

@media (max-width: 576px) {
  .jumbotron .container .form-inline {
    justify-content: center;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs {
    flex-basis: 100%;
    margin: 0 0 15px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs input {
    width: 100%;
    padding: 10px 15px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs select {
    width: 100%;
    padding-left: 10px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs .iconRightSearch {
    right: 15px;
    left: unset;
    top: 30px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs .iconRight {
    top: 22px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs i.iconRight {
    top: 30px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs .fa-caret-down {
    top: 15px;
    right: 15px;
  }
  .jumbotron .container .form-inline .form-group.cost {
    width: 100%;
  }
  .jumbotron .container .form-inline .form-group.cost label {
    margin-left: -4px;
  }
  .jumbotron .container .form-inline .form-group.cost .iconRight {
    bottom: 8px;
  }
  .jumbotron .container .form-inline .form-group.cost .costInputLeft {
    display: inline-block;
  }
  .jumbotron .container .form-inline .form-group.cost .costInputRight {
    display: inline-block;
  }
}

.recentlyAdded {
  position: relative;
  margin: 0 8% 40px;
  background-color: #1F1B20;
}

.recentlyAdded .topInfo {
  height: 126px;
}

.recentlyAdded .topInfo .allAds {
  float: right;
  line-height: 126px;
  font-size: 14px;
}

.recentlyAdded .recentlyAddedMarker,
.recentlyAdded .recentlyAddedLocation {
  display: inline-block;
}

.recentlyAdded .wrapper.slick-slider {
  position: relative;
  display: block;
  width: 100%;
}

.recentlyAdded .wrapper.slick-slider .slick-track {
  display: flex;
}

.recentlyAdded .wrapper.slick-slider .slick-prev:before, .recentlyAdded .wrapper.slick-slider .slick-next:before {
  color: #F4C374 !important;
}

.recentlyAdded a {
  font-size: 12px;
}

.recentlyAdded a img {
  height: 20px;
}

.recentlyAdded a.heading {
  font-size: 25px;
}

.recentlyAdded .listing .listingLocation {
  flex-basis: 50% !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 576px) {
  .recentlyAdded .listing .listingLocation {
    flex-basis: unset;
    overflow: unset;
    text-overflow: unset;
    white-space: unset;
  }
}

.recentlyAdded .listing .listingPrice {
  flex-basis: 50%;
}

@media (max-width: 576px) {
  .recentlyAdded .listing .listingPrice {
    flex-basis: unset;
  }
}

@media (max-width: 576px) {
  .recentlyAdded {
    margin: 0 4%;
  }
  .recentlyAdded .hideMobile {
    dispay: block;
  }
}

.recentlyOpenedListings {
  padding: 0 8%;
}

.recentlyOpenedListings .wrapper .listing {
  position: relative;
  margin-bottom: 30px;
  width: calc(33.3% - 20px);
  margin-right: 20px;
}

.recentlyOpenedListings .wrapper .listing .listingImage {
  display: inline-block;
  width: 100%;
  border-radius: 10px;
}

.recentlyOpenedListings .wrapper .listing a img {
  height: 25px;
  width: auto;
  margin-bottom: 7px;
  margin-right: -5px;
}

.recentlyOpenedListings .wrapper .imageWrapper .listingPrice {
  position: absolute;
  background-color: #1F1B20;
  padding: 2px 12px;
  border-radius: 12px 0 0 12px;
  right: 0;
  bottom: 6px;
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 850px) {
  .recentlyOpenedListings .wrapper .listing {
    width: calc(50% - 20px);
  }
}

@media (max-width: 576px) {
  .recentlyOpenedListings {
    padding: 0 4%;
  }
  .recentlyOpenedListings .wrapper {
    flex-direction: row;
  }
  .recentlyOpenedListings .wrapper .listing {
    height: 160px;
    flex-basis: 50%;
    width: 50%;
    margin-right: 0;
  }
  .recentlyOpenedListings .wrapper .listing .imageWrapper {
    width: calc(100% - 20px);
  }
  .recentlyOpenedListings .wrapper .listing .listingDetail {
    display: block;
    height: auto;
    width: 100%;
    margin: 0;
    position: absolute;
    top: 0;
    padding: 60% 5px 5px;
  }
  .recentlyOpenedListings .wrapper .listing .listingDetail .listingPrice {
    position: absolute;
    background-color: #F4C374;
    padding: 2px 12px;
    left: 0;
    border-radius: 0 12px 12px 0;
    text-align: right;
    top: 100px;
    font-size: 12px;
    font-weight: 700;
  }
}

@media (max-width: 576px) and (max-width: 420px) {
  .recentlyOpenedListings .wrapper .listing .listingDetail .listingPrice {
    top: 75px;
  }
}

@media (max-width: 576px) {
  .recentlyOpenedListings .wrapper .listing .listingDetail .listingInfo {
    font-size: 12px;
    margin-top: 5px;
  }
}

.payments {
  position: relative;
  margin: 10px 0 8% 0 8%;
}

.payments .paymentInfo {
  display: flex;
  flex-direction: column;
  padding: 40px 20px 0 20px;
  text-align: center;
}

.payments .paymentInfo h1 {
  font-size: 22px;
  font-weight: 700;
}

.payments .paymentInfo a {
  position: absolute;
  right: 40px;
}

.payments .paymentInfo a img {
  height: 25px;
}

.payments .paymentsCarousel .paymentOption {
  min-height: 350px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: 0 5px;
  text-align: center;
  padding: 5px;
  border-radius: 10px;
  box-shadow: 0px 0 8px #d4d4d41c;
  padding: 20px 10px;
}

.payments .paymentsCarousel .paymentOption h2 {
  font-weight: 700;
  color: #F4C374;
  height: 60px;
  line-height: 30px;
}

.payments .paymentsCarousel .paymentOption .optionInfo {
  height: 115px;
}

.payments .paymentsCarousel .paymentOption .optionPrice {
  font-size: 30px;
  font-weight: 700;
  color: #F4C374;
}

.payments .paymentsCarousel .paymentOption a {
  color: black;
}

.payments .paymentsCarousel .paymentOption a :hover {
  text-decoration: none;
}

.selectedOption {
  outline: auto 3px #F4C374;
}

@media (max-width: 1110px) {
  .payments .paymentInfo a {
    position: absolute;
    top: 10px;
    right: 10px;
  }
}

@media (max-width: 576px) {
  .payments a {
    font-size: 14px;
    text-align: center;
    margin-bottom: 30px;
  }
  .payments a img {
    height: 25px;
  }
  .payments .paymentsCarousel .paymentOption {
    min-height: 350px;
  }
  .payments .paymentsCarousel .paymentOption .optionHeading {
    height: auto;
  }
  .payments .paymentsCarousel .paymentOption .optionInfo {
    height: auto;
  }
  .payments .paymentsCarousel .paymentOption .optionPrice {
    height: auto;
  }
}

.summaryBlock {
  display: none;
  width: 50%;
  margin-left: 25%;
  margin-bottom: 20px;
  padding: 40px;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
  border-radius: 10px;
}

.summaryBlock .optionSummary {
  display: flex;
  flex-direction: column;
}

.summaryBlock .optionSummary h2 {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}

.summaryBlock .optionSummary h2 span {
  color: #F4C374;
  font-size: 18px;
}

.summaryBlock .optionSummary p {
  margin: 0 0 5px 0;
}

.summaryBlock .itemSummary {
  display: flex;
  flex-direction: row;
  margin-top: 50px;
  justify-content: space-between;
}

.summaryBlock .itemSummary .contactSummary {
  display: flex;
  flex-basis: 48%;
}

.summaryBlock .itemSummary .contactSummary .contactHeadings {
  flex-basis: 50%;
}

.summaryBlock .itemSummary .contactSummary .contactHeadings .itemHeading {
  font-weight: 700;
  margin-bottom: 5px;
}

.summaryBlock .itemSummary .contactSummary .contactDetails {
  flex-basis: 50%;
}

.summaryBlock .itemSummary .contactSummary .contactDetails .detail {
  margin-bottom: 5px;
}

.summaryBlock .itemSummary .contactSummary .contactDetails a {
  display: block;
}

.summaryBlock .itemSummary .listingSummary {
  flex-basis: 48%;
}

.summaryBlock .itemSummary .listingSummary .listing {
  position: relative;
  margin-bottom: 30px;
  margin-right: 0;
}

.summaryBlock .itemSummary .listingSummary .listing .listingImage {
  display: inline-block;
  width: 100%;
  border-radius: 10px;
}

.summaryBlock .itemSummary .listingSummary .listing .listingDetail {
  display: inline-flex;
  flex-direction: column;
  position: absolute;
  padding-left: 10px;
  height: 100%;
}

@media (max-width: 576px) {
  .summaryBlock .itemSummary .listingSummary .listing .listingDetail {
    width: 60%;
    margin-left: 10px;
  }
}

.summaryBlock .itemSummary .listingSummary .listing .listingDetail .listingLocation {
  font-size: 12px;
  order: 2;
  padding-top: 4px;
  margin-left: -5px;
}

.summaryBlock .itemSummary .listingSummary .listing .listingDetail .listingInfo {
  font-size: 12px;
  font-weight: 700;
  order: 1;
  margin: 0;
}

@media (min-width: 768px) {
  .summaryBlock .itemSummary .listingSummary .listing .listingDetail .listingInfo {
    margin-left: 10px;
  }
}

.summaryBlock .itemSummary .listingSummary .listing .listingDetail .listingPrice {
  position: absolute;
  background-color: #F4C374;
  padding: 2px 12px;
  border-radius: 12px 0 0 12px;
  left: -37%;
  bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  right: unset;
}

@media (max-width: 576px) {
  .summaryBlock .itemSummary .listingSummary .listing .listingDetail .listingPrice {
    left: 0px;
    right: auto;
    bottom: auto;
    top: 40px;
  }
}

@media (min-width: 768px) {
  .summaryBlock .itemSummary .listingSummary .listing .listingDetail .listingPrice {
    left: 10px;
  }
}

.summaryBlock .itemSummary .listingSummary .listing a img {
  height: 25px;
  width: auto;
  margin-bottom: 7px;
  margin-right: -5px;
}

.summaryBlock .itemSummary .listingSummary .imageWrapper {
  display: inline-block;
  width: 40%;
}

.summaryBlock .itemSummary .listingSummary .imageWrapper .listingPrice {
  position: absolute;
  background-color: #F4C374;
  padding: 2px 12px;
  border-radius: 12px 0 0 12px;
  right: 0;
  bottom: 6px;
  font-size: 12px;
  font-weight: 700;
}

.summaryBlock .optionDetails {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.summaryBlock .optionDetails p {
  padding: 10px 0;
  margin: 0;
}

.summaryBlock .optionDetails p span {
  font-weight: 700;
}

.summaryBlock .optionDetails .optionDetailPrice {
  font-weight: 700;
  font-size: 16px;
  min-width: 12%;
  text-align: end;
}

.summaryBlock .paymentMethod {
  display: flex;
}

.summaryBlock .paymentMethod .methodSMS, .summaryBlock .paymentMethod .methodCard {
  flex-basis: 50%;
}

.summaryBlock .paymentMethod .methodSMS input, .summaryBlock .paymentMethod .methodCard input {
  height: 20px;
  width: 20px;
}

.summaryBlock .paymentMethod .methodSMS label, .summaryBlock .paymentMethod .methodCard label {
  position: absolute;
  margin-left: 5px;
  margin-top: 3px;
  font-weight: 700;
}

.summaryBlock .paymentMethod .methodCard .cardInfo {
  margin: 5px 0 0 25px;
}

.summaryBlock .paymentMethod .methodCard .cardOptions {
  display: flex;
  flex-direction: row;
  margin: 10px 0 0 25px;
}

.summaryBlock .paymentMethod .methodCard .cardOptions i.cardOption {
  flex-basis: 20%;
  font-size: 20px;
}

.summaryBlock .paymentMethod .methodCard button {
  margin: 40px 0 0 0;
  width: 130px;
  height: 35px;
}

.summaryBlock [id=smsPayment] {
  display: none;
  text-align: center;
  margin-top: 1rem;
}

.summaryBlock [id=smsPayment] button {
  padding-left: 30px;
  padding-right: 30px;
  width: auto;
  margin: 0 auto;
}

.summaryBlock #ccPayment {
  display: none;
  margin-top: 2rem;
}

.summaryBlock #ccPayment button {
  width: 130px;
}

@media (max-width: 1250px) {
  .summaryBlock {
    width: 60%;
    margin-left: 20%;
  }
}

@media (max-width: 1100px) {
  .summaryBlock {
    width: 70%;
    margin-left: 15%;
  }
}

@media (max-width: 880px) {
  .summaryBlock {
    width: 80%;
    margin: 0 10%;
  }
}

@media (max-width: 780px) {
  .summaryBlock {
    width: 90%;
    margin: 0 5%;
  }
}

@media (max-width: 700px) {
  .summaryBlock {
    width: 92%;
    margin: 0 4%;
  }
}

@media (max-width: 610px) {
  .summaryBlock {
    width: 96%;
    margin: 0 2%;
  }
}

@media (max-width: 576px) {
  .summaryBlock {
    width: 88%;
    margin: 0 6% 20px;
    padding: 40px 20px;
  }
  .summaryBlock h2 {
    color: #F4C374;
    margin-bottom: 20px;
  }
  .summaryBlock .optionSummary {
    text-align: center;
  }
  .summaryBlock .optionSummary p a.hideMobile {
    display: contents;
  }
  .summaryBlock .itemSummary {
    margin-top: 30px;
  }
  .summaryBlock .itemSummary .contactSummary {
    display: none;
  }
  .summaryBlock .itemSummary .listingSummary {
    flex-basis: 100%;
  }
  .summaryBlock .optionDetails {
    flex-direction: column;
    text-align: center;
  }
  .summaryBlock .optionDetails .optionDetailPrice {
    font-size: 30px;
  }
  .summaryBlock .paymentMethod {
    flex-direction: column;
  }
  .summaryBlock .paymentMethod input {
    margin-bottom: 20px;
  }
  .summaryBlock .paymentMethod .cardInfo {
    display: none;
  }
  .summaryBlock .paymentMethod .methodSMS label {
    margin-top: 0;
  }
  .summaryBlock .paymentMethod .methodCard button {
    margin-left: calc(50% - 65px);
  }
}

.itemDetail {
  display: flex;
  flex-direction: column;
  padding: 0 8%;
  overflow: auto;
}

@media (max-width: 1125px) {
  .itemDetail {
    padding: 0 4%;
  }
}

.itemDetail .back {
  order: 1;
  margin-top: 40px;
  font-size: 13px;
}

.itemDetail .back a {
  display: flex;
  align-items: center;
}

.itemDetail .back a i {
  font-size: 18px;
  margin-right: 5px;
}

.itemDetail .itemDetailContainer {
  position: relative;
  display: flex;
  flex-direction: row;
  order: 2;
  padding: 4% 4% 2%;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
  margin-top: 20px;
  border-radius: 10px;
  margin-bottom: 5px;
}

.itemDetail .itemDetailContainer .itemPin {
  position: absolute;
  right: 4%;
  top: -2px;
  margin: 0;
  box-shadow: 0px 2px 2px #d4d4d41c;
  height: 35px;
  border-radius: 0 0 17px 17px;
  width: 35px;
}

.itemDetail .itemDetailContainer .itemPin img {
  width: 100%;
}

.itemDetail .itemDetailContainer .smallText {
  font-size: 10px;
}

.itemDetail .itemDetailContainer .leftPanel {
  width: calc(50% - 4%);
  flex-basis: 50%;
  flex-direction: column;
  padding-right: 4%;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery {
  align-items: center;
  border-radius: 10px;
  margin: 0px 12px 20px 12px;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarousel img {
  max-height: 320px;
  border-radius: 10px;
  cursor: pointer;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarousel .spinnerWrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 320px;
  position: absolute;
  top: 0;
  left: 0;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarousel .spinnerWrapper #spinner {
  position: relative;
  color: #F4C374;
  font-size: 16px;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarousel button.slick-next.slick-arrow, .itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarousel button.slick-prev.slick-arrow {
  width: 40px;
  height: 40px;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarousel button.slick-next.slick-arrow {
  text-align: right;
  right: -5px;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarouselNav .slick-dots {
  bottom: -45px;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarouselNav .slick-dots button:hover {
  background-color: initial;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarouselNav img {
  max-height: 120px;
  cursor: pointer;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarouselNav iframe {
  border-radius: 10px;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .topItemSticker {
  display: flex;
  justify-content: center;
  height: 28px;
  width: 30px;
  position: absolute;
  right: 15px;
  top: 0px;
  margin: 0;
  border-radius: 0px 0px 15px 15px;
  background: #F4C374;
  z-index: 2;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .topItemSticker img {
  height: 22px;
  margin-top: 2px;
}

.itemDetail .itemDetailContainer .leftPanel .itemCarousel {
  order: 1;
  justify-content: center;
  margin-bottom: 20px;
}

.itemDetail .itemDetailContainer .leftPanel .itemCarousel .slick-list .slick-track .responsiveContainer {
  position: relative;
  padding-top: 56.25%;
  width: 100%;
}

.itemDetail .itemDetailContainer .leftPanel .itemCarousel .slick-list .slick-track .video {
  width: 100%;
  height: 100%;
  border-radius: 10px;
  position: absolute;
  top: 0;
  left: 0;
}

.itemDetail .itemDetailContainer .leftPanel .itemCarousel .fa-angle-right, .itemDetail .itemDetailContainer .leftPanel .itemCarousel .fa-angle-left {
  font-size: 20px;
}

.itemDetail .itemDetailContainer .leftPanel img {
  max-width: 100%;
  max-height: 100%;
  border-radius: 10px;
}

.itemDetail .itemDetailContainer .leftPanel .locationInfo {
  order: 4;
  color: #B0BAC3;
}

.itemDetail .itemDetailContainer .leftPanel .googleMapLocations img {
  width: 25px;
  display: inline-block;
  margin-left: -5px;
  margin-right: -5px;
}

.itemDetail .itemDetailContainer .itemMobilePanel {
  display: none;
}

.itemDetail .itemDetailContainer .rightPanel {
  flex-basis: 50%;
}

.itemDetail .itemDetailContainer .rightPanel .itemTitle {
  justify-content: space-between;
}

.itemDetail .itemDetailContainer .rightPanel .itemTitle h1 {
  font-weight: 700;
}

.itemDetail .itemDetailContainer .rightPanel .googleMapLocations {
  margin-bottom: 0px;
}

.itemDetail .itemDetailContainer .rightPanel .googleMapLocations a {
  flex: initial;
}

.itemDetail .itemDetailContainer .rightPanel .googleMapLocations a:first-of-type {
  margin-right: 10px;
}

.itemDetail .itemDetailContainer .rightPanel .contactListings {
  text-align: center;
}

.itemDetail .itemDetailContainer .rightPanel .contactListings button {
  display: flex;
  align-items: center;
  width: auto;
  height: 30px;
  margin: 0;
}

.itemDetail .itemDetailContainer .rightPanel .contactListings button i {
  font-size: 15px;
  margin: 0 5px;
}

.itemDetail .itemDetailContainer .rightPanel .contactListings a.button {
  display: flex;
  align-items: center;
  min-width: 255px;
  height: 30px;
  margin: 0;
  margin-bottom: 10px;
  padding: 5px;
  text-decoration: none;
  text-align: center;
  justify-content: center;
}

.itemDetail .itemDetailContainer .rightPanel .contactListings a.button i {
  font-size: 15px;
  margin: 0 5px;
}

.itemDetail .sellerButtonRow a.button.thirdPartyLink,
.itemDetail .sellerButtonRowResponsive a.button.thirdPartyLink {
  background-color: #1570A6;
  max-width: 65%;
  color: #fff;
  margin: 0 auto;
}

.itemDetail .sellerButtonRow a.button.thirdPartyLink:hover,
.itemDetail .sellerButtonRowResponsive a.button.thirdPartyLink:hover {
  background-color: #2586BF;
  color: white;
}

.itemDetail .sellerButtonRowResponsive a.button.thirdPartyLink {
  max-width: 90%;
  width: 90%;
  text-align: center;
}

.itemDetail .sellerButtonRowResponsive a.button.thirdPartyLink i {
  margin-right: 5px;
}

.itemDetail .similarAds {
  order: 3;
  margin-top: 5px;
}

.itemDetail .similarAds .listing .listingPrice {
  font-size: 14px;
}

@media (max-width: 576px) {
  .itemDetail .similarAds {
    margin: 40px 10px 20px;
  }
}

.itemDetail .recentlyOpenedListings {
  order: 4;
  padding: 0;
}

.itemDetail .recommendedListings {
  order: 5;
}

.itemDetail .recommendedListings .recentlyAdded {
  margin: 0 0 40px;
}

.itemDetail .linksBlock {
  margin: 40px 0 0;
}

.itemDetail .linksBlock .linksBlockLink {
  max-width: 45%;
}

.itemDetail .linksBlock .linksBlockLink .reportItem {
  display: none;
}

.itemDetail .linksBlock .linksBlockLink i {
  font-size: 14px;
  font-weight: 400;
  margin-right: 5px;
}

@media (max-width: 725px) {
  .itemDetail .linksBlock {
    flex-direction: row;
  }
}

@media (max-width: 576px) {
  .itemDetail .linksBlock {
    margin: 40px 10px 20px;
  }
}

.itemDetail .banner {
  order: 2;
  align-self: center;
  padding-top: 44px;
}

@media (max-width: 768px) {
  .itemDetail .banner {
    padding-top: 20px;
  }
}

.itemDetail .itemInfo {
  word-break: break-word;
}

.subheading {
  color: #B0BAC3;
}

.priceDetail {
  font-size: 30px;
  font-weight: 700;
  margin: 5px 0;
  color: #F4C374;
}

.saleActive {
  font-size: 20px;
  font-weight: 300;
  color: #B0BAC3;
  text-decoration: line-through;
}

.saleIcon {
  height: 30px;
}

.itemDetailsWrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.itemDetailsWrapper .brandWrapper {
  display: flex;
  width: 50%;
}

.itemDetailsWrapper .brandWrapper .brandHeading {
  display: inline-block;
  font-weight: 700;
  margin-right: 5px;
}

.itemDetailsWrapper .brandWrapper .brand {
  display: inline-block;
}

.itemDetailsWrapper .conditionWrapper {
  display: flex;
  justify-content: space-evenly;
  width: 50%;
}

.itemDetailsWrapper .conditionWrapper .conditionHeading {
  display: inline-block;
  font-weight: 700;
  margin-right: 5px;
}

.itemDetailsWrapper .conditionWrapper .condition {
  display: inline-block;
}

.itemDetailsWrapper .sellerWrapper {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  background: #EFF5F9;
  color: black;
  border-radius: 10px;
  padding: 16px;
}

.itemDetailsWrapper .sellerWrapper a {
  color: #B8823E;
}

.itemDetailsWrapper .sellerWrapper a :hover {
  color: #F4C374;
}

.itemDetailsWrapper .sellerWrapper .sellerHeading {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-left: 4px;
  padding-right: 4px;
}

.itemDetailsWrapper .sellerWrapper .sellerHeading .sellerName {
  font-weight: 400;
  font-size: 12px;
  margin-right: 12px;
}

.itemDetailsWrapper .sellerWrapper .sellerHeading .sellerName .detail {
  display: inline-block;
}

.itemDetailsWrapper .sellerWrapper .sellerPhoneNumber {
  font-size: 30px;
  font-weight: 400;
  text-align: left;
  margin-left: 4px;
  margin-bottom: 8px;
  display: flex;
}

.itemDetailsWrapper .sellerWrapper .sellerPhoneNumber span {
  align-self: center;
  display: none;
  color: #11BB55;
  font-size: 20px;
  margin-left: 205px;
  position: absolute;
  margin-bottom: -60px;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow .button {
  flex: 1 1 0px;
  margin-left: 0;
  width: auto;
  min-width: 170px;
  font-size: 12px;
  margin: 4px;
  text-align: center;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow .button:not(:last-of-type) {
  margin-right: 10px;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow .button i {
  margin-right: 8px;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow a {
  color: #B8823E;
  border: 1px solid #B8823E;
  background-color: #EFF5F9;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow a:hover {
  color: #F4C374;
  border: 1px solid #F4C374;
  background-color: #dce9f2;
  text-decoration: none;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow a:hover i:hover {
  text-decoration: none;
}

.itemDetailsWrapper .sellerWrapper .detail {
  flex-basis: 100%;
  text-align: left;
}

.itemDetailsWrapper .sellerWrapper .detail img {
  width: 25px;
  margin-right: -5px;
}

.itemDetailsWrapper hr {
  width: 100%;
  margin-bottom: 1rem;
}

.itemDetailsWrapper > a {
  width: 100%;
  text-align: center;
}

.itemFlagged {
  font-weight: 900;
  color: #F4C374;
}

@media (max-width: 900px) {
  .itemDetail .itemDetailContainer .rightPanel .contactListings {
    flex-direction: column;
  }
  .itemDetail .itemDetailContainer .rightPanel .contactListings a.button {
    margin-bottom: 10px;
  }
}

@media (max-width: 576px) {
  .itemDetail {
    padding: 0;
  }
  .itemDetail .back {
    display: none;
  }
  .itemDetail .linksBlock {
    margin-top: 15px;
    margin-bottom: 0px;
  }
  .itemDetail .linksBlock .linksBlockLink .reportItem {
    display: initial;
  }
  .itemDetail .itemDetailContainer {
    flex-direction: column;
    padding: 0;
    margin-top: 0;
    box-shadow: none;
  }
  .itemDetail .itemDetailContainer .leftPanel, .itemDetail .itemDetailContainer .rightPanel {
    display: none;
  }
  .itemDetail .itemDetailContainer .leftPanel .itemCarousel, .itemDetail .itemDetailContainer .rightPanel .itemCarousel {
    margin: 0;
  }
  .itemDetail .itemDetailContainer .leftPanel .itemCarousel img, .itemDetail .itemDetailContainer .rightPanel .itemCarousel img {
    border-radius: 0;
  }
  .itemDetail .itemDetailContainer .leftPanel .itemCarouselNav, .itemDetail .itemDetailContainer .rightPanel .itemCarouselNav {
    margin-top: 15px;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper {
    background-color: #EFF5F9;
    color: #1F1B20;
    border-radius: 20px;
    margin-top: -18px;
    position: relative;
    padding: 6%;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper .pinButton, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper .pinButton {
    right: 0;
    position: absolute;
    background-color: #F4C374;
    width: 45px;
    visibility: visible;
    box-shadow: 0px 0px 6px 1px #d4d4d41c;
    border-radius: 28px 0 0 28px;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper .pinButton img, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper .pinButton img {
    width: auto;
    margin-left: 5px;
    height: 30px;
    background-color: transparent;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper h1, .itemDetail .itemDetailContainer .leftPanel .sellerWrapper h2, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper h1, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper h2 {
    font-weight: 700;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper hr, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper hr {
    width: 100%;
    margin-bottom: calc(16px + 4%);
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper ul, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper ul {
    padding: 4%;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper ul li, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper ul li {
    font-size: 16px;
    font-weight: 700;
    color: #F4C374;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper a .detail, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper a .detail {
    margin: 15px 0;
    font-size: 16px;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper a .detail img, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper a .detail img {
    width: 30px;
    margin-right: -5px;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper a.contactButton, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper a.contactButton {
    margin: 30px 0 0 0;
    width: 100%;
    font-size: 16px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper a.contactButton:hover, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper a.contactButton:hover {
    color: #1F1B20;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper #copyNumber, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper #copyNumber {
    margin-left: auto;
    width: 90%;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper #copyNumber i, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper #copyNumber i {
    margin-right: 4px;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper #openMail, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper #openMail {
    margin-left: auto;
    width: 90%;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper #openMail i, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper #openMail i {
    margin-right: 4px;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper #whatsappMessage, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper #whatsappMessage {
    text-align: center;
    margin-left: auto;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper #whatsappMessage i, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper #whatsappMessage i {
    margin-right: 4px;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel {
    display: block;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel .leftPanel {
    width: 100%;
    display: block;
    padding: 0;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel #googleMap2 {
    height: 324px;
    width: 100%;
    margin-top: -24px;
    padding-top: 24px;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel #googleMap2 > div {
    z-index: -1;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel .googleMapLocations {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 10px 15px;
    background-color: #1F1B20;
    border-radius: 24px;
    margin-top: -20px;
    font-size: 16px;
    box-shadow: 0px 0px 6px 1px #d4d4d41c;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel .googleMapLocations a img {
    width: 48px;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel .googleMapLocations p {
    font-size: 12px;
    margin: 0;
    color: #B0BAC3;
    width: 100%;
  }
  .itemDetail .similarAds {
    margin: 5px 6% 0;
  }
  .itemDetail .similarAds .heading {
    font-size: 24px;
  }
  .itemDetail .similarAds .wrapper .listing {
    margin-right: 0;
  }
  .itemDetail .similarAds .wrapper .listing .listingDetail {
    width: 60%;
    padding-left: 20px;
    flex-direction: row;
  }
  .itemDetail .similarAds .wrapper .listing .listingDetail .listingLocation {
    flex-basis: unset;
    order: 2;
  }
  .itemDetail .similarAds .wrapper .listing .listingDetail .listingPrice {
    right: unset;
    bottom: unset;
  }
  .itemDetail .similarAds .wrapper .listing .listingDetail .noLoc {
    flex-basis: unset;
    order: 2;
  }
  .itemDetail .recentlyOpenedListings {
    padding: 0 6% 20px;
  }
  .itemDetail .recentlyOpenedListings .heading {
    font-size: 24px;
    padding: 20px 0;
  }
  .itemDetail .recentlyOpenedListings .listing {
    flex-basis: 50%;
    margin: 0;
    padding-bottom: 60px;
    height: auto;
  }
  .itemDetail .recentlyOpenedListings .listing .imageWrapper {
    width: 100%;
    margin: 0 5%;
    display: block;
  }
  .itemDetail .recentlyOpenedListings .listing .imageWrapper .listingImage {
    width: 90%;
  }
  .itemDetail .recentlyOpenedListings .listing .listingDetail {
    display: block;
    width: 100%;
    height: 100px;
  }
  .itemDetail .recentlyOpenedListings .listing .listingDetail .listingPrice {
    left: revert;
    bottom: unset;
    right: 7px;
    font-size: 14px;
    padding: 2px 12px;
  }
  .itemDetail .recommendedListings {
    display: none;
  }
}

.tooltip > .tooltip-inner {
  border-radius: 8px;
  background-color: #F4C374;
  color: #000000;
  border: 1px solid #F4C374;
  font-size: 10px;
}

.tooltip.top > .tooltip-arrow {
  border-top: 5px solid #F4C374;
}

.recentlyAdded .tooltip > .tooltip-inner {
  border-radius: 8px;
  background-color: #F4C374;
  color: #000000;
  border: 1px solid #F4C374;
  font-size: 10px;
  margin-left: 220px;
}

.recentlyAdded .tooltip.top > .tooltip-arrow {
  border-top: 5px solid #F4C374;
  margin-left: 20px;
}

.kategories {
  padding: 0 8%;
}

.kategories .interestsSetup {
  text-decoration: none;
  font-size: 12px;
  align-self: center;
}

@media (max-width: 576px) {
  .kategories {
    padding: 0 4%;
  }
}

.similarAds .wrapper .listing {
  flex-basis: calc(25% - 20px);
  margin-right: 20px;
}

.similarAds .wrapper .listing .listingLocation {
  flex-basis: 50% !important;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 575px) {
  .similarAds .wrapper {
    flex-direction: column;
  }
  .similarAds .wrapper .listing {
    position: relative;
    margin-bottom: 30px;
  }
  .similarAds .wrapper .listing .listingImage {
    display: inline-block;
    width: 100%;
    border-radius: 10px;
  }
  .similarAds .wrapper .listing .listingDetail {
    display: inline-flex;
    flex-direction: column;
    position: absolute;
    padding-left: 20px;
    height: 100%;
    margin: 0;
  }
  .similarAds .wrapper .listing .listingDetail .listingLocation {
    font-size: 12px;
    order: 2;
    padding-top: 4px;
    margin-left: -5px;
  }
  .similarAds .wrapper .listing .listingDetail .listingInfo {
    font-size: 12px;
    font-weight: 700;
    order: 1;
    margin: 0;
  }
  .similarAds .wrapper .listing .listingDetail .listingPrice {
    position: absolute;
    background-color: #1F1B20;
    padding: 2px 12px;
    border-radius: 12px 0 0 12px;
    left: -44px;
    bottom: 6px;
    font-size: 12px;
    font-weight: 700;
  }
}

.listing {
  position: relative;
  overflow: hidden;
}

.listing:hover {
  cursor: pointer;
}

.listing .listingImage {
  width: 100%;
  border-radius: 10px;
  box-shadow: 2px 2px 5px #d4d4d41c;
}

.listing button:not(.topAdButton) {
  display: flex;
  justify-content: center;
  height: 28px;
  width: 30px;
  position: absolute;
  left: 15px;
  top: 0px;
  border-radius: 0px 0px 15px 15px;
  margin: 0;
  visibility: hidden;
}

.listing button:not(.topAdButton) img {
  margin-left: 2px;
}

.listing .listingDetail {
  display: flex;
  position: relative;
  margin-top: 10px;
  flex-wrap: wrap;
  font-size: 12px;
}

.listing .listingDetail .listingLocation {
  position: absolute;
  right: 0;
  white-space: nowrap;
}

.listing .listingDetail .listingLocation img {
  display: inline-block;
  height: 25px;
  width: auto;
  margin-right: -6px;
  margin-left: -6px;
}

.listing .listingDetail .listingInfo {
  width: 100%;
}

.listing .listingPrice {
  font-weight: 700;
  font-size: 14px;
}

.listing .imageWrapper {
  position: relative;
}

.listing .imageWrapper .adItemSticker {
  background: #F4C374;
  color: #1F1B20;
  position: absolute;
  height: 22px;
  top: 50%;
  right: 10px;
  transform: translateX(50%) translateY(-50%) rotate(-90deg);
  padding: 2px 16px 2px 16px;
  border-top-left-radius: 7px;
  border-top-right-radius: 7px;
  font-size: 12px;
}

.listing .imageWrapper .topItemSticker {
  display: flex;
  justify-content: center;
  height: 28px;
  width: 30px;
  position: absolute;
  right: 15px;
  top: 0px;
  margin: 0;
  border-radius: 0px 0px 15px 15px;
  background: #F4C374;
}

.listing .imageWrapper .topItemSticker img {
  height: 22px;
  margin-top: 2px;
}

.listing .imageWrapper .pinToBoard {
  z-index: 1;
}

.listing .itemDetailLink {
  text-decoration: none;
  color: inherit;
}

.addListing {
  height: 200px;
  width: 250px;
  background-color: #1F1B20;
  color: blue;
  font-size: 16px;
  box-shadow: 0 0 6px 0px #00000030;
  font-weight: 700;
  margin: 0;
  color: #F4C374;
}

.addListing:hover {
  color: #1F1B20;
}

.topItemRibbon {
  position: absolute;
  height: 27px;
  max-height: 100%;
  top: calc(100% - 27px);
  width: 100%;
  text-align: center;
  background-color: #003e6fbd;
  border-radius: 0 0 10px 10px;
  padding: 4px;
  overflow: hidden;
  color: #1F1B20;
}

.topItemRibbon h4 {
  margin-bottom: 0;
}

.topItemRibbon .topItemDetails {
  display: none;
}

.topItemRibbon .topItemDetails .topItemDetail p {
  margin: 0;
}

@media (max-width: 576px) {
  .topItemRibbon h4 {
    font-size: 12px;
    line-height: 20px;
  }
}

.status {
  display: flex;
  align-items: center;
  visibility: visible !important;
  padding: 0;
}

.status i {
  width: 100%;
  color: #F4C374;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 2px;
}

@media (max-width: 576px) {
  .listing:not(.ignoreBreakpoints) {
    position: relative;
    margin-bottom: 30px;
  }
  .listing:not(.ignoreBreakpoints) .listingImage {
    display: inline-block;
    width: 100%;
    border-radius: 10px;
  }
  .listing:not(.ignoreBreakpoints) .listingDetail {
    display: inline-flex;
    flex-direction: column;
    position: absolute;
    width: 100%;
    margin-left: -40%;
    padding-left: calc(40% + 15px);
    margin-top: 0;
  }
  .listing:not(.ignoreBreakpoints) .listingDetail .listingLocation {
    font-size: 10px;
    order: 2;
    padding-top: 4px;
    margin-left: -5px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .listing:not(.ignoreBreakpoints) .listingDetail .listingInfo {
    font-size: 12px;
    font-weight: 700;
    order: 1;
    margin: 0;
    height: 4.2em;
    overflow: hidden;
  }
  .listing:not(.ignoreBreakpoints) .listingDetail .listingPrice {
    position: absolute;
    background-color: #F4C374;
    color: black;
    padding: 2px 12px;
    left: 0;
    border-radius: 0 12px 12px 0;
    text-align: right;
    top: 69px;
    font-size: 12px;
    font-weight: 700;
  }
}

@media (max-width: 576px) and (max-width: 420px) {
  .listing:not(.ignoreBreakpoints) .listingDetail .listingPrice {
    top: 75px;
  }
}

@media (max-width: 576px) {
  .listing:not(.ignoreBreakpoints) .listingDetail a img {
    height: 25px;
    width: auto;
    margin-bottom: 7px;
    margin-right: -5px;
  }
  .listing:not(.ignoreBreakpoints) .imageWrapper {
    display: inline-block;
    width: 40%;
  }
  .listing:not(.ignoreBreakpoints) .imageWrapper .listingPrice {
    position: absolute;
    background-color: #F4C374;
    padding: 2px 12px;
    border-radius: 12px 0 0 12px;
    right: 0;
    bottom: 6px;
    font-size: 12px;
    font-weight: 700;
  }
  .listing:not(.ignoreBreakpoints) .imageWrapper .pinToBoard {
    display: none !important;
  }
  .listing:not(.ignoreBreakpoints) .imageWrapper .adItemSticker {
    font-size: 10px;
    height: 16px;
    right: 8px;
    padding: 0px 4px 0px 4px;
  }
}

@media (max-width: 460px) {
  .listing:not(.ignoreBreakpoints) .listingPrice {
    top: 70px;
  }
}

@media (max-width: 385px) {
  .listing:not(.ignoreBreakpoints) .listingDetail .listingPrice {
    top: 50px;
  }
}

@media (max-width: 340px) {
  .listing:not(.ignoreBreakpoints) .listingDetail .listingPrice {
    top: 45px;
  }
}

.topKategorie {
  padding: 0 8%;
}

.topKategorie .heading {
  padding: 44px 0 34px 0;
  font-weight: 700;
}

.topKategorie .heading a {
  color: #F4C374;
  font-size: 1.5625rem;
}

.topKategorie .wrapper .listing {
  width: calc(25% - 20px);
  margin-bottom: 30px;
}

.topKategorie .wrapper .listing .listingLocation {
  flex-basis: 50% !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 576px) {
  .topKategorie .wrapper .listing .listingLocation {
    flex-basis: unset;
    overflow: unset;
    text-overflow: unset;
    white-space: unset;
  }
}

.topKategorie .wrapper .listing .listingPrice {
  flex-basis: 50%;
}

@media (max-width: 576px) {
  .topKategorie .wrapper .listing .listingPrice {
    flex-basis: unset;
  }
}

.topKategorieHr {
  margin: 0 8%;
}

@media (max-width: 576px) {
  .topKategorie {
    padding: 0 4%;
  }
  .topKategorie .heading {
    font-weight: 700;
  }
  .topKategorie .heading a {
    font-size: 18px;
    color: #F4C374;
  }
  .topKategorie .wrapper .listing {
    width: calc(50% - 20px);
  }
  .topKategorie .wrapper .listing .listingImage {
    display: block;
    width: 100%;
  }
  .topKategorie .wrapper .listing .listingDetail {
    display: block;
    position: relative;
    top: 0;
    width: 100%;
    margin: 0;
    padding-left: 0;
  }
  .topKategorie .wrapper .listing .listingPrice {
    bottom: unset;
    font-size: 12px;
    padding: 8px 12px;
    left: 0;
    border-radius: 0 20px 20px 0;
    text-align: right;
    flex-basis: unset;
    top: 0;
    margin-top: -50px;
  }
  .topKategorie .wrapper .listing .listingLocation {
    flex-basis: unset;
    margin-left: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .topKategorie .wrapper .imageWrapper {
    width: 100%;
  }
}

.kategoriesOfInterest {
  padding: 0 8% 20px;
}

.kategoriesOfInterest .kategorieContainer {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

@media (max-width: 576px) {
  .kategoriesOfInterest {
    padding: 20px 4%;
  }
}

.kategorie {
  flex-basis: 19%;
  margin-bottom: 30px;
  margin-right: 5px;
  background-color: white;
}

.kategorie .kategorieImage {
  display: inline-block;
  width: 40%;
  position: relative;
}

@media (max-width: 576px) {
  .kategorie .kategorieImage {
    overflow: hidden;
    border-radius: 10px;
  }
}

.kategorie .kategorieImage img {
  width: 100%;
  border-radius: 10px;
}

.kategorie .kategorieImage .imgOverlay {
  display: none;
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: #0000008a;
  border-radius: 10px;
  z-index: 1;
}

.kategorie .kategorieImage .imgOverlay i {
  color: #1F1B20;
  font-size: 16px;
  position: absolute;
  bottom: 5px;
  right: 5px;
}

.kategorie .kategorieLabel {
  display: inline-block;
  position: relative;
  height: 100%;
  width: 58%;
  padding-left: 15px;
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 576px) {
  .kategorie .kategorieLabel > span {
    font-size: 12px;
  }
}

@media (max-width: 1100px) {
  .kategorie {
    flex-basis: calc(20% - 10px);
    margin-bottom: 30px;
    position: relative;
    margin-right: 10px;
    height: 120px;
  }
  .kategorie .kategorieImage {
    width: 100%;
  }
  .kategorie .kategorieImage img {
    position: relative;
    display: block;
    width: auto;
    height: 120px;
    left: 0;
  }
  .kategorie .kategorieLabel {
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 120px;
    color: white;
    background-color: #00000045;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
  }
  .kategorie .kategorieLabel span {
    position: absolute;
    bottom: 6px;
    left: 13px;
  }
}

.recommendedListings .wrapper .listing {
  width: calc(20% - 20px);
  margin: 0 10px;
}

.recommendedListings .wrapper .listing .listingLocation {
  flex-basis: 50% !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 852px) {
  .recommendedListings .wrapper .listing .listingLocation {
    flex-basis: unset;
    overflow: unset;
    text-overflow: unset;
  }
}

.recommendedListings .wrapper .listing .listingPrice {
  flex-basis: 50%;
}

@media (max-width: 852px) {
  .recommendedListings .wrapper .listing .listingPrice {
    flex-basis: unset;
  }
}

@media (max-width: 852px) {
  .recommendedListings .wrapper:not(.carousel) .listing {
    position: relative;
    margin-bottom: 30px;
    width: auto;
    flex-basis: calc(50% - 20px);
  }
  .recommendedListings .wrapper:not(.carousel) .listing .listingImage {
    display: inline-block;
    width: 100%;
    border-radius: 10px;
  }
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail {
    display: inline-flex;
    flex-direction: row;
    position: absolute;
    height: 100%;
    width: 100%;
    margin-left: -40%;
    padding-left: calc(40% + 15px);
  }
}

@media (max-width: 852px) and (max-width: 576px) {
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail {
    margin-top: 0;
  }
}

@media (max-width: 852px) {
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail .noLoc {
    order: 2;
  }
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail .listingLocation {
    font-size: 12px;
    order: 2;
    padding-top: 4px;
    margin-left: -5px;
  }
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail .listingInfo {
    font-size: 12px;
    font-weight: 700;
    order: 1;
    margin: 0;
  }
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail .listingPrice {
    position: absolute;
    background-color: #F4C374;
    color: black;
    padding: 2px 12px;
    border-radius: 12px 0 0 12px;
    left: unset;
    right: 60%;
    bottom: 6px;
    top: unset;
  }
}

@media (max-width: 852px) and (max-width: 576px) {
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail .listingPrice {
    bottom: 0px;
  }
}

@media (max-width: 852px) {
  .recommendedListings .wrapper:not(.carousel) .imageWrapper {
    display: inline-block;
    width: 40%;
  }
  .recommendedListings .wrapper:not(.carousel) .hideDesktop {
    display: none;
  }
}

@media (max-width: 715px) {
  .recentlyAdded {
    margin: 0 4%;
  }
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.searchResults {
  position: relative;
  padding-left: 8%;
  display: flex;
  flex-direction: row;
  min-height: 500px;
  background-color: #1F1B20;
}

.searchResults .filterPanel {
  position: relative;
  flex-basis: 20%;
  background-color: #2F3136;
  padding: 20px 0;
  text-align: center;
  box-shadow: 0 0 6px #d4d4d41c;
  min-width: 270px;
  max-width: 270px;
  overflow: hidden;
  overflow-y: auto;
}

.searchResults .filterPanel h1 {
  font-weight: 700;
  color: #F4C374;
}

.searchResults .filterPanel span p {
  color: #F4C374;
  font-size: 12px;
}

.searchResults .filterPanel .form-inline {
  display: flex;
  position: relative;
  flex-flow: column wrap;
  width: 100%;
  padding: 4%;
}

.searchResults .filterPanel .form-inline .form-group {
  width: 100%;
  position: relative;
  margin: 0;
  padding: 10px 0;
}

.searchResults .filterPanel .form-inline .form-group label {
  position: relative;
}

.searchResults .filterPanel .form-inline .form-group label img {
  height: 25px;
  position: absolute;
  left: 9px;
  bottom: -12px;
  z-index: 3;
}

.searchResults .filterPanel .form-inline .form-group label i {
  height: 25px;
  position: absolute;
  left: 14px;
  top: -7px;
  z-index: 3;
}

.searchResults .filterPanel .form-inline .form-group label i.iconRight {
  left: 221px;
  font-size: 15px;
}

.searchResults .filterPanel .form-inline .form-group label .iconRight {
  left: 212px;
}

.searchResults .filterPanel .form-inline .form-group .form-control {
  display: inline-block;
  width: 100%;
  margin: 0;
  font-size: 12px;
}

.searchResults .filterPanel .form-inline .form-group .form-control:not(select) {
  line-height: 41px;
}

.searchResults .filterPanel .form-inline .form-group.cost .costInputWrapper {
  position: relative;
  width: 100%;
  margin: 0;
  display: flex;
  z-index: 2;
  border-radius: 28px;
}

.searchResults .filterPanel .form-inline .form-group.cost .costInputWrapper:focus-within {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.searchResults .filterPanel .form-inline .form-group.cost .costInputLeft {
  border-right: none;
  border-radius: 28px 0 0 28px;
  padding: 5px 22px;
  text-align: center;
  width: 50%;
  margin: 0;
}

.searchResults .filterPanel .form-inline .form-group.cost .costInputRight {
  padding: 5px 22px;
  text-align: center;
  width: 50%;
  margin: 0;
  border-left: none;
  border-radius: 0 28px 28px 0;
}

.searchResults .filterPanel .form-inline .form-group.cost .costInputLeft:focus {
  box-shadow: none;
  border: 1px solid #ced4da;
  border-right: none;
}

.searchResults .filterPanel .form-inline .form-group.cost .costInputRight:focus {
  box-shadow: none;
  border: 1px solid #ced4da;
  border-left: none;
}

.searchResults .filterPanel .form-inline .boxText {
  position: absolute;
  width: 35px;
  height: 39px;
  bottom: 11px;
  left: calc((100% - 35px) / 2);
  background-color: white;
  color: black;
  line-height: 38px;
  z-index: 3;
}

.searchResults .filterPanel.hideMobile .sortBy {
  width: 100%;
}

.searchResults .filterPanel.hideMobile .sortBy label {
  width: 68%;
  padding: 0 8%;
  bottom: 5px;
}

.searchResults .filterPanel.hideMobile .sortBy label img {
  height: 25px;
  position: absolute;
  bottom: 8px;
  left: 28px;
}

.searchResults .filterPanel.hideMobile .sortBy select {
  width: 80%;
}

.searchResults .filterPanel.hideMobile .distanceInput {
  justify-content: center;
  padding: 20px 0;
}

.searchResults .filterPanel.hideMobile .distanceInput input {
  text-align: inherit;
  max-width: 24px;
  font-size: 12px;
}

.searchResults .publicBoards {
  padding: 15px 5%;
  margin-top: -10px;
  margin-bottom: 25px;
  background-color: #DCEBF2;
}

.searchResults .publicBoards .board {
  flex-basis: calc(33.33% - 30px);
  display: flex;
  flex-direction: column;
  margin: 15px 20px;
  padding: 10px 5px 0;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
  border-radius: 10px;
  background-color: #1F1B20;
}

.searchResults .publicBoards .board .imageWrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}

.searchResults .publicBoards .board .imageWrapper img {
  flex-basis: calc(50% - 8px);
  width: calc(50% - 8px);
  margin: 0 4px 5px;
  border-radius: 5px;
  height: 100%;
}

.searchResults .publicBoards .board .boardInfo {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0 5px;
  margin-top: auto;
}

.searchResults .publicBoards .board .boardInfo h4 {
  margin-top: 5px;
  flex-basis: 100%;
}

.searchResults .publicBoards .board .boardInfo p {
  flex-basis: 50%;
}

.results {
  background-color: #1F1B20;
  overflow: hidden;
}

.results .filterBar {
  display: flex;
  flex-direction: row;
  height: 70px;
  margin-bottom: 10px;
  box-shadow: 0 4px 6px #d4d4d41c;
  align-items: center;
  padding-left: 8%;
}

.results .sortBy {
  flex-basis: 33.3%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-right: 10px;
  margin-bottom: 0;
}

.results .sortBy h5 {
  display: inline-block;
  font-weight: 700;
  margin-bottom: 0;
  margin-right: 5%;
}

.results .sortBy select {
  display: inline-block;
  width: 68%;
  min-width: 130px;
  padding: 0.75rem 1.5rem;
}

.results .sortBy label {
  position: absolute;
  width: 68%;
  padding: 0 8%;
  bottom: 5px;
}

.results .sortBy label img {
  height: 25px;
  position: absolute;
  bottom: 8px;
  left: 28px;
}

.results .sortBy label i {
  position: absolute;
  right: 24px;
  bottom: 1px;
}

.results .distanceInput {
  flex-basis: 33.33%;
  display: flex;
  margin: 0;
  align-items: center;
  justify-content: space-between;
}

.results .distanceInput h5 {
  display: inline-block;
  font-weight: 700;
  margin: 0 0 0 5px;
  white-space: nowrap;
}

.results .distanceInput span {
  white-space: nowrap;
  order: 0;
}

.results .distanceInput button {
  display: block;
  width: 30px;
  min-width: 30px;
  height: 30px;
  line-height: 30px;
  margin: 0 10px;
  background-color: #F4C374;
  color: black;
  box-shadow: 0 0 6px 0 #0000002b;
  font-size: 16px;
  border-radius: 50%;
}

.results .distanceInput button[id=decrementBtn] {
  margin-left: 0;
  margin-right: 20px;
}

.results .distanceInput button[id=incrementBtn] {
  margin-right: 0;
  margin-left: 20px;
}

.results .distanceInput input {
  border: none;
  text-align: center;
  box-shadow: none;
  max-width: calc(100% - 122px);
}

.results .pagination {
  display: flex;
  list-style: none;
  border-radius: 28px;
  flex-basis: 33.33%;
  justify-content: flex-end;
  padding-left: 4%;
  align-items: baseline;
  padding-top: 4px;
}

.results .pagination h5 {
  font-weight: 700;
  margin-right: 5px;
}

.results .pagination a {
  color: #F4C374;
  padding: 4px 8px;
  text-decoration: none;
  margin: 0 2px;
  border-radius: 5px;
}

.results .pagination a.active {
  background-color: #F4C374;
  color: #1F1B20;
}

.results .pagination.hideMobile {
  flex-basis: 100%;
  justify-content: center;
  padding-top: 0;
}

.results .wrapper {
  padding: 0 8%;
  overflow: hidden;
  overflow-y: auto;
}

.results .wrapper .listing {
  margin: 0 10px;
  flex-basis: calc(33.33% - 20px);
}

.results .wrapper .wrapper {
  padding: 0;
}

.results .recentlyAdded {
  margin: 0 0 40px;
}

@media (max-width: 1130px) {
  .searchResults {
    padding-left: 4%;
  }
}

@media (max-width: 1040px) {
  .searchResults {
    padding-left: 0;
  }
  .results .filterBar, .results .wrapper {
    padding: 0 4%;
  }
}

@media (max-width: 950px) {
  .searchResults {
    width: 100%;
  }
  .searchResults .hideDesktop {
    display: none;
  }
  .searchResults .pagination.hideMobile {
    display: flex !important;
  }
  .searchResults .results {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
  }
  .searchResults .results .sortBy {
    flex-basis: 100%;
    margin: 10PX 0 0 0;
  }
  .searchResults .results .sortBy h5 {
    display: none;
  }
  .searchResults .results .sortBy label {
    top: 13px;
    width: 30%;
  }
  .searchResults .results .sortBy select {
    order: 4;
    width: 30%;
    min-width: 100px;
    flex-basis: 100%;
    margin: 0 35%;
    box-shadow: 0 0 3px 1px #00000040;
  }
  .searchResults .results .distanceInput {
    margin: 10px 0;
    width: 100%;
    justify-content: center;
    align-items: baseline;
  }
  .searchResults .results .distanceInput h5 {
    margin: 0;
  }
  .searchResults .results .distanceInput input {
    width: 40px;
    text-align: center;
    border: none;
    background-color: inherit;
  }
  .searchResults .results .filterBar {
    order: 5;
    box-shadow: none;
  }
  .searchResults .results .filterBar .distanceInput, .searchResults .results .filterBar .pagination {
    display: none;
  }
  .searchResults .results .costInput label img {
    top: 8px;
  }
  .searchResults .results span {
    text-align: center;
    height: 20px;
    line-height: 20px;
    margin-top: 20px;
    order: 3;
    font-size: 12px;
    color: #F4C374;
  }
  .searchResults .results .wrapper {
    order: 5;
  }
  .searchResults .publicBoards {
    background-color: initial;
  }
}

.advancedSearchMenu {
  display: flex;
  position: relative;
  flex-direction: column;
  background-color: #1F1B20;
}

.advancedSearchMenu .advancedSearchLink {
  width: 100%;
  margin: 0;
  border-radius: 0;
  background-color: inherit;
  color: black;
}

.advancedSearchMenu .advancedSearchLink h5 {
  margin: 0;
}

.advancedSearchMenu .advancedSearchLink h5 i {
  margin-left: 10px;
}

.advancedSearchMenu #advancedSearch {
  flex-direction: column;
  position: relative;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs {
  position: relative;
  width: 100%;
  padding: 10px 8%;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs label {
  position: relative;
  width: 100%;
  z-index: 0;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs input, .advancedSearchMenu #advancedSearch .form-group.jumboInputs select {
  width: 100%;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs select {
  margin: 10px 0;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs img {
  height: 25px;
  position: absolute;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs i {
  font-size: 12px;
  position: absolute;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs img.iconLeft {
  left: 6px;
  top: 18px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs img.iconLeft.locationIcon {
  top: 8px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs img.iconRight {
  right: 8px;
  top: 8px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs i.iconLeft {
  left: 12px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs i.iconRight {
  right: 12px;
  top: 26px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs i.iconLeft.iconLeftSearch {
  top: 14px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost {
  z-index: 0;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost label {
  z-index: 1;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost label img {
  top: 8px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputWrapper {
  position: relative;
  width: 100%;
  margin: 0;
  display: flex;
  border-radius: 28px;
  z-index: 0;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputWrapper:focus-within {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputLeft {
  width: 50%;
  border-radius: 28px 0 0 28px;
  border-right: none;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputRight {
  width: 50%;
  border-radius: 0 28px 28px 0;
  border-left: none;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputLeft:focus {
  box-shadow: none;
  border: 1px solid #ced4da;
  border-right: none;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputRight:focus {
  box-shadow: none;
  border: 1px solid #ced4da;
  border-left: none;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .boxText {
  text-align: center;
  bottom: 11px;
}

.advancedSearchMenu #advancedSearch #discountToggle {
  display: flex;
  width: 100%;
  padding: 0 8%;
  justify-content: space-between;
  margin: 20px 0;
}

.advancedSearchMenu #advancedSearch #discountToggle span.slider {
  margin: 0;
}

.advancedSearchMenu #advancedSearch #advancedSearchLinkClose {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 17px 0;
}

.advancedSearchMenu #advancedSearch #advancedSearchLinkClose h5 {
  margin-right: 10px;
}

.advancedSearchMenu #advancedSearch #advancedSearchLinkClose i {
  font-size: 14px;
}

.biznis-items .listing {
  flex-basis: calc(25% - 20px) !important;
}

@media (max-width: 1130px) {
  .searchResults {
    padding-left: 4%;
  }
}

@media (max-width: 1040px) {
  .searchResults {
    padding-left: 0;
  }
  .searchResults .results .filterBar, .searchResults .results .wrapper {
    padding: 10px 4%;
  }
}

@media (max-width: 950px) {
  .searchResults {
    width: 100%;
  }
  .searchResults .results {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
  }
  .searchResults .results .sortBy {
    flex-basis: 100%;
    margin: 10PX 0 0 0;
  }
  .searchResults .results .sortBy h5 {
    display: none;
  }
  .searchResults .results .sortBy label {
    top: 13px;
    width: 30%;
  }
  .searchResults .results .sortBy select {
    order: 4;
    width: 30%;
    min-width: 100px;
    flex-basis: 100%;
    margin: 0 35%;
    box-shadow: 0 0 3px 1px #00000040;
  }
}

@media (max-width: 950px) and (max-width: 576px) {
  .searchResults .results .sortBy select {
    width: 100%;
    min-width: unset;
    margin: 6px 0;
  }
}

@media (max-width: 950px) {
  .searchResults .results .distanceInput {
    margin: 10px 0;
    width: 100%;
    justify-content: center;
    align-items: baseline;
    flex-basis: unset;
  }
  .searchResults .results .distanceInput h5 {
    margin: 0;
  }
  .searchResults .results .distanceInput input {
    width: 40px;
    text-align: center;
    border: none;
    background-color: inherit;
  }
  .searchResults .results .filterBar {
    order: 5;
    box-shadow: none;
  }
  .searchResults .results .filterBar .distanceInput, .searchResults .results .filterBar .pagination {
    display: none;
  }
  .searchResults .results .costInput label img {
    top: 8px;
  }
  .searchResults .results span {
    text-align: center;
    height: 20px;
    line-height: 20px;
    margin-top: 20px;
    order: 3;
    font-size: 12px;
    color: #F4C374;
  }
  .searchResults .results .wrapper {
    order: 5;
  }
  .searchResults .hideDesktop {
    display: none;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs i.iconRight {
    right: 20px;
  }
}

@media (max-width: 576px) {
  .results .wrapper .listing {
    flex-basis: calc(50% - 20px);
    height: 45%;
    max-height: 275px;
    min-height: 200px;
  }
  .results .wrapper .listing .imageWrapper {
    display: block;
    width: 100%;
  }
  .results .wrapper .listing .imageWrapper img:not(.imagePin) {
    display: block;
    width: 100%;
  }
  .results .wrapper .listing .listingDetail {
    display: block;
    width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
    padding-top: 67%;
    top: 0;
  }
  .results .wrapper .listing .listingPrice {
    bottom: unset;
    top: 75px;
    left: unset;
    right: 0;
  }
  .advancedSearchMenu .advancedSearchLink h5 {
    font-size: 14px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs {
    display: flex;
    flex-flow: row wrap;
    margin-bottom: 0;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs label {
    margin: 0;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs i.iconLeft.iconLeftSearch {
    top: 18px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs img.iconLeft {
    left: 6px;
    top: 11px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs i.iconRight {
    right: 18px;
    top: 16px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs img.iconLeft.locationIcon {
    top: 11px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs img.iconRight {
    right: 8px;
    top: 11px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs select {
    margin: 0;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost label img {
    top: 11px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputLeft {
    border-radius: 28px 0 0 28px;
    border-right: none;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputRight {
    border-radius: 0 28px 28px 0;
    border-left: none;
  }
  .biznis-items .listing {
    flex-basis: calc(50% - 20px) !important;
  }
}

.registration {
  padding: 0 8%;
  text-align: center;
  display: flex;
  flex-direction: column;
}

.registration .breadcrumb li {
  width: 33.33%;
  margin: 0;
}

.registration .newItemRegistration {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 74%;
  margin: 0 13% 20px;
}

.registration .newItemRegistration section {
  width: 100%;
}

.registration .newItemRegistration .form-group {
  flex-basis: 50%;
}

.registration .newItemRegistration .form-group img {
  right: 25px;
  bottom: 7px;
}

.registration .newItemRegistration .form-group i {
  right: 29px;
  bottom: 12px;
}

.registration .newItemRegistration .form-group input {
  width: 90%;
  margin: 0 5%;
}

.registration .newItemRegistration .dob {
  flex-basis: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: baseline;
}

.registration .newItemRegistration .dob label {
  position: absolute;
  margin: 10px 0;
  flex-basis: 25%;
  min-width: 130px;
  text-align: right;
}

.registration .newItemRegistration .dob .form-group {
  flex-basis: 25%;
  width: 90%;
  margin: 0 5%;
}

.registration .newItemRegistration .dob #dateOfBirthInputs {
  padding: 0 8%;
  width: 80%;
  display: flex;
  margin-left: 10%;
}

.registration .newItemRegistration .dob #dateOfBirthInputs select {
  min-width: 100px;
  padding: 0 20px;
}

.registration .newItemRegistration .socialRegister {
  width: 100%;
  margin: 0 13%;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.registration .newItemRegistration .socialRegister button {
  margin-right: 0;
}

.registration .newItemRegistration .form-check {
  width: 100%;
  margin: 30px 0;
}

.registration .smsVerificationForm .form-group {
  display: flex;
  width: 50%;
  margin: 40px 25%;
  align-items: baseline;
}

.registration .smsVerificationForm .form-group label {
  flex-basis: 50%;
  font-weight: 700;
}

.registration .smsVerificationForm .form-group input {
  flex-basis: 50%;
}

.registration .smsVerificationForm > a {
  display: block;
  margin: 30px 0;
  text-decoration: underline;
}

.registration .sendNewSMS .form-group {
  display: flex;
  width: 50%;
  margin: 40px 25%;
  align-items: baseline;
}

.registration .sendNewSMS .form-group label {
  flex-basis: 50%;
  font-weight: 700;
}

.registration .sendNewSMS .form-group input {
  flex-basis: 50%;
}

.registration .sendNewSMS > a {
  display: block;
  margin: 30px 0;
  text-decoration: underline;
}

.registration .sendNewSMS .newSMS {
  width: 150px;
  margin-left: calc(50% - 75px);
}

.newItem {
  display: flex;
  flex-direction: row;
  position: relative;
  padding: 0 8%;
  height: calc(100% - 61px);
}

.newItem .adminPanel {
  position: relative;
  flex-basis: 25%;
  background-color: #1F1B20;
  padding: 20px 0;
  text-align: center;
  box-shadow: 0 0 6px #d4d4d41c;
  min-width: 270px;
  overflow: hidden;
  overflow-y: auto;
}

.newItem .adminPanel h1 {
  font-weight: 700;
}

.newItem .adminPanel span p {
  color: #F4C374;
  font-size: 12px;
}

.newItem .adminPanel .form-inline {
  display: flex;
  position: relative;
  flex-flow: column wrap;
  width: 100%;
  padding: 4%;
}

.newItem .adminPanel .form-inline .form-group {
  width: 100%;
  position: relative;
  margin: 0;
  padding: 10px 0;
}

.newItem .adminPanel .form-inline .form-group label img {
  height: 25px;
  position: absolute;
  left: 11%;
  z-index: 3;
  bottom: unset;
}

.newItem .adminPanel .form-inline .form-group label i {
  height: 25px;
  position: absolute;
  left: 36px;
  z-index: 3;
}

.newItem .adminPanel .form-inline .form-group label i.iconRight {
  left: auto;
  font-size: 15px;
  right: 15%;
  top: 24px;
}

.newItem .adminPanel .form-inline .form-group label .iconRight {
  left: 190px;
}

.newItem .adminPanel .form-inline .form-group label i.fa-youtube {
  font-size: 17px;
  top: 23px;
  left: 12%;
  right: auto;
}

.newItem .adminPanel .form-inline .form-group .form-control {
  display: inline-block;
  width: 80%;
  margin-left: 10%;
  padding: 10px;
  border-radius: 10px;
  border: none;
  box-shadow: 0 0 6px #d4d4d41c;
}

.newItem .adminPanel .form-inline .form-group .form-control.locationInputOpen {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.newItem .adminPanel .form-inline .form-group .form-control.wIcon {
  padding: 0 32px;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage {
  position: relative;
  justify-content: center;
  align-items: center;
  min-height: 150px;
  height: auto;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadListingImage {
  width: 120px;
  margin-left: calc(50% - 60px);
  margin-top: 45px;
  font-size: 11px;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadedImages {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 30px;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadedImages .uploadedImg {
  position: relative;
  height: 56px;
  width: 56px;
  margin-bottom: 10px;
  margin-right: 6px;
  cursor: move;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadedImages .uploadedImg img {
  height: 100%;
  width: 100%;
  border-radius: 5px;
  right: 0;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadedImages .uploadedImg .removeUploaded {
  width: 20px;
  height: 20px;
  top: -8px;
  right: -8px;
  z-index: 1;
  border: 1px solid black;
  background-color: #F4C374;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadedImages .uploadedImg .removeUploaded i {
  right: 4px;
  top: 1px;
  font-size: 16px;
  color: black;
  font-weight: 300;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadedImages .uploadedImg button {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  background-color: transparent;
  width: auto;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage #fileInput {
  display: none;
}

.newItem .adminPanel .form-inline .form-group .fancyDropdown-wrapper {
  width: 80%;
  margin-left: 10%;
}

.newItem .adminPanel .form-inline .form-group .fancyDropdown-wrapper > label > img {
  left: 3px;
  top: 10px;
}

.newItem .adminPanel .form-inline .form-group .fancyDropdown-wrapper .form-control {
  margin-left: 0;
  width: 100%;
}

.newItem .adminPanel .form-inline .form-group .fancyDropdown-wrapper .locationList {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.newItem .adminPanel .form-inline .form-group .phoneNumberInputGroup {
  flex-wrap: nowrap;
  margin-left: 10%;
  width: 80%;
  border-radius: 10px;
  box-shadow: 0 0 6px #8888882E;
}

.newItem .adminPanel .form-inline .form-group .phoneNumberInputGroup .input-group-text {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  padding: 0 12px;
  border: none;
}

.newItem .adminPanel .form-inline .form-group .phoneNumberInputGroup .phoneNumberInput {
  margin-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  box-shadow: none;
}

.newItem .adminPanel .form-inline .form-group.gdpr {
  padding: 15px 0;
}

.newItem .adminPanel .form-inline .form-group.gdpr label {
  width: 100%;
}

.newItem .adminPanel .form-inline .form-group.gdpr input {
  margin-right: 10px;
}

.newItem .adminPanel .form-inline .form-group.gdprRight {
  padding: 15px 40px;
}

.newItem .adminPanel .form-inline .form-group.gdprRight label {
  width: 100%;
  justify-content: flex-start;
}

.newItem .adminPanel .form-inline .form-submit {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 10px 0;
}

.newItem .adminPanel .form-inline .form-submit a {
  text-align: left;
  flex-basis: 50%;
}

.newItem .adminPanel .form-inline .form-submit button {
  flex-basis: 50%;
  margin: 0;
  line-height: initial;
}

.newItem .adminPanel .form-inline .form-submit .saveDraft {
  color: #F4C374;
  background: none;
  cursor: pointer;
  font-size: 12px;
  text-align: left;
}

.newItem .adminPanel .progress {
  width: 90%;
  height: 4px;
  position: absolute;
  bottom: 0;
  display: none;
}

.newItem .adminPanel .progress.active {
  display: flex;
}

.newItem .adminPanel .progress .progress-bar {
  background-color: #F4C374;
}

.newItem .viewPanel {
  margin-top: 15px;
  flex-basis: 75%;
  background-color: #1F1B20;
  overflow: auto;
}

.newItem .viewPanel .listingPanels {
  display: flex;
}

.newItem .viewPanel .listingPanels .leftPanel {
  flex-basis: 50%;
  padding: 20px 4%;
}

.newItem .viewPanel .listingPanels .leftPanel .imageWrapper {
  position: relative;
  padding-top: 100%;
  margin-bottom: 20px;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
  border-radius: 10px;
}

.newItem .viewPanel .listingPanels .leftPanel .imageWrapper div {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.newItem .viewPanel .listingPanels .leftPanel .imageWrapper div #previewImage {
  max-width: 100%;
  max-height: 100%;
  border-radius: 10px;
}

.newItem .viewPanel .listingPanels .leftPanel #googleMap {
  height: 150px;
}

.newItem .viewPanel .listingPanels .rightPanel {
  flex-basis: 50%;
  padding: 20px 0;
}

.newItem .viewPanel .listingPanels .rightPanel section .itemInfo {
  min-height: 50px;
  white-space: pre-wrap;
  word-break: break-word;
}

.detail img {
  width: 25px;
}

#categoryFieldsPreview {
  width: 100%;
}

@media (max-width: 1005px) {
  .registration .newItemRegistration .form-group img {
    right: 20px;
  }
  .registration .newItemRegistration .form-group i {
    right: 24px;
  }
  .registration .newItemRegistration .dob {
    flex-wrap: wrap;
  }
  .registration .newItemRegistration .dob label {
    position: relative;
    flex-basis: 100%;
    text-align: center;
    margin-bottom: 20px;
  }
  .registration .newItemRegistration .dob #dateOfBirthInputs {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .registration .socialRegister {
    flex-wrap: wrap;
    justify-content: space-around;
  }
  .registration .socialRegister h5 {
    flex-basis: 100%;
  }
}

@media (max-width: 700px) {
  .registration .newItemRegistration {
    width: 84%;
    margin: 0 8%;
  }
}

@media (max-width: 768px) {
  .newItem {
    padding-left: 0;
  }
}

@media (max-width: 576px) {
  .newItem {
    padding: 0;
  }
  .newItem .adminPanel {
    flex-basis: 100%;
  }
  .newItem .adminPanel .form-inline .form-group label {
    position: absolute;
    width: 100%;
    left: 0;
  }
  .newItem .adminPanel .form-inline .form-group label i.fa-youtube {
    position: absolute;
    bottom: unset;
    top: 15px;
    left: 8px;
    right: unset;
  }
  .newItem .adminPanel .form-inline .form-group label img {
    position: absolute;
    bottom: unset;
    top: 10px;
    left: 3px;
    right: unset;
  }
  .newItem .adminPanel .form-inline .form-group label img.iconRight {
    left: unset;
    right: 3px;
  }
  .newItem .adminPanel .form-inline .form-group label i.iconRight {
    top: 15px;
    left: unset;
    right: 12px;
  }
  .newItem .adminPanel .form-inline .form-group .form-control,
  .newItem .adminPanel .form-inline .form-group .fancyDropdown-wrapper, .newItem .adminPanel .form-inline .form-group .phoneNumberInputGroup {
    width: 100%;
    margin: 0;
  }
  .newItem .adminPanel .form-inline .form-group.gdpr {
    width: auto;
    align-self: flex-start;
  }
  .newItem .adminPanel .form-inline .form-group.gdpr label {
    position: relative;
  }
  .newItem .viewPanel {
    display: none;
  }
  .registration {
    padding: 0 4%;
  }
  .registration .breadcrumb {
    display: none;
  }
  .registration section {
    margin: 20px 0;
  }
  .registration .newItemRegistration {
    width: 100%;
    margin: 0 0 20px;
    flex-direction: column;
    flex-wrap: nowrap;
  }
  .registration .newItemRegistration .form-group img {
    right: 29px;
  }
  .registration .newItemRegistration .form-group i {
    right: 34px;
  }
  .registration .newItemRegistration .dob {
    width: 100%;
    margin: 0;
    padding: 0;
    flex-direction: column;
  }
  .registration .newItemRegistration .dob label {
    width: 100%;
  }
  .registration .newItemRegistration .dob #dateOfBirthInputs {
    flex-direction: column;
  }
  .registration .newItemRegistration .dob #dateOfBirthInputs .form-group {
    margin-bottom: 10px;
  }
  .registration .newItemRegistration .socialRegister {
    flex-direction: column;
    align-items: center;
    margin: 0;
  }
  .registration .newItemRegistration .form-check {
    padding: 0;
  }
  .registration .sendNewSMS .form-group, .registration .smsVerificationForm .form-group {
    width: 92%;
    margin: 0;
  }
}

@media (min-width: 768px) {
  .newItem #itemForm .category-alert,
  .newItem #itemForm .form-submit {
    padding-left: 10%;
    padding-right: 10%;
  }
}

.error-page {
  text-align: center;
  margin-top: 7vh;
}

@media (min-width: 992px) {
  .error-page {
    margin-top: 14vh;
  }
}

.error-page__img {
  max-width: 80%;
  margin: 0 auto;
  margin-bottom: 4vh;
}

@media (min-width: 768px) {
  .error-page__img {
    max-width: 50%;
  }
}

.error-page__code {
  color: #F4C374;
  font-size: 4rem;
  font-weight: 700;
}

@media (min-width: 992px) {
  .error-page__code {
    font-size: 12rem;
  }
}

.error-page__subtitle {
  color: #F4C374;
  font-weight: 700;
}

@media (min-width: 992px) {
  .error-page__subtitle {
    font-size: 2rem;
  }
}

.error-page__description {
  max-width: 80%;
  margin: 0 auto;
}

@media (min-width: 992px) {
  .error-page__description {
    font-size: 1rem;
    max-width: 100%;
  }
}

.error-page__back-link {
  margin-top: 6vh;
  font-size: 1rem;
}

@media (min-width: 992px) {
  .error-page__back-link {
    margin-top: 1vh;
  }
}

.wrapper {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}

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

.kategories .wrapper {
  justify-content: space-between;
  padding-top: 30px;
}

@media (max-width: 576px) {
  .recentlyAdded .wrapper {
    flex-direction: column;
  }
}

.heading {
  padding: 34px 0;
  font-weight: 700;
  margin-right: 10px;
  display: inline-block;
}

.heading a {
  color: #F4C374;
}

.kategoriesOfInterest .heading, .kategories .heading {
  padding: 44px 0 34px 0;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .kategories .heading {
    padding: 44px 0 15px 0;
  }
}

@media (max-width: 576px) {
  .recentlyAdded .heading, .topKategorie .heading {
    margin-right: 0;
    width: 100%;
    padding-bottom: 10px;
  }
}

.loginRegister {
  width: 40%;
  margin: 60px 30%;
  text-align: center;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
  border-radius: 20px;
  margin-top: 40px;
}

.loginRegister .registration-message {
  max-width: 50em;
  margin: 0 auto 20px;
}

.loginRegister .nav-tabs {
  display: flex;
}

.loginRegister .nav-tabs .nav-item:only-child {
  flex-basis: 100%;
}

.loginRegister .nav-tabs .nav-item {
  flex-basis: 50%;
}

.loginRegister .nav-tabs .nav-item .nav-link {
  border: none;
  font-size: 20px;
  font-weight: 700;
  padding: 20px;
  color: black;
  height: 70px;
  line-height: 35px;
  background-color: #1F1B20;
}

.loginRegister .nav-tabs .nav-item .active {
  border-bottom: 4px solid #F4C374;
  color: #F4C374;
}

.loginRegister .tab-content .tab-pane.active {
  display: flex;
  flex-direction: column;
  padding-bottom: 40px;
}

.loginRegister .tab-content .tab-pane .form-group {
  position: relative;
}

.loginRegister .tab-content .tab-pane .form-group i {
  position: absolute;
  bottom: 21px;
  right: 10%;
  font-size: 15px;
  color: #B0BAC3;
  z-index: 1;
}

.loginRegister .tab-content .tab-pane .form-group img {
  position: absolute;
  bottom: 15px;
  right: 34px;
  font-size: 15px;
  width: 28px;
  z-index: 1;
}

.loginRegister .tab-content .tab-pane .form-group #form_token {
  max-width: 200px;
}

.loginRegister .tab-content .tab-pane .form-group input, .loginRegister .tab-content .tab-pane .form-group select {
  position: relative;
  width: 90%;
  margin: 5px 5%;
  height: 50px;
  border-radius: 25px;
  border: none;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
  padding: 0 20px;
  font-size: 12px;
}

.loginRegister .tab-content .tab-pane .phoneNumberInputGroup {
  flex-wrap: nowrap;
}

.loginRegister .tab-content .tab-pane .phoneNumberInputGroup .input-group-prepend {
  margin-left: 5%;
}

.loginRegister .tab-content .tab-pane .phoneNumberInputGroup .input-group-prepend .input-group-text {
  margin-top: 5px;
  margin-bottom: 5px;
  margin-left: 5%;
  padding: 0 12px;
  border: none;
  box-shadow: 0px 0px 6px 1px #8888882E;
}

.loginRegister .tab-content .tab-pane .phoneNumberInputGroup .phoneNumberInput {
  margin-left: 0px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.loginRegister .tab-content .tab-pane option:disabled {
  color: #B0BAC3;
}

.loginRegister .tab-content .tab-pane input:focus, .loginRegister .tab-content .tab-pane select:focus {
  outline: none;
  box-shadow: 0 0 6px 1px #B8823E;
}

.loginRegister .tab-content .tab-pane input:focus + i, .loginRegister .tab-content .tab-pane select:focus + i {
  color: black;
}

.loginRegister .tab-content .tab-pane .passInput {
  position: relative;
}

.loginRegister .tab-content .tab-pane .dob {
  display: flex;
  width: 90%;
  margin: 0 5%;
}

.loginRegister .tab-content .tab-pane .dob .form-group {
  flex-basis: 33.33%;
}

.loginRegister .tab-content h5 {
  margin: 30px 0;
}

.loginRegister .tab-content .loginButton {
  width: 130px;
  height: 40px;
  margin: 30px calc(50% - 65px) 60px;
  line-height: 40px;
  padding-top: 0;
  padding-bottom: 0;
}

.loginRegister .tab-content .loginButton i {
  margin-right: 10px;
}

.loginRegister .tab-content hr {
  height: 5px;
  width: 80%;
  margin: 30px 10%;
  color: #B0BAC3;
}

.loginRegister .tab-content hr.cleanRule:after {
  content: none;
}

.loginRegister .tab-content hr:after {
  content: 'alebo';
  padding: 0 16px;
  position: relative;
  top: -14px;
  font-size: 14px;
  background-color: #1F1B20;
}

.form-check {
  margin: 20px 0;
}

.form-check label input {
  transform: scale(1.2);
  vertical-align: text-top;
  margin-right: 10px;
  border: none;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
}

.socialRegister h5 {
  margin-bottom: 20px;
}

.socialRegister button:first-of-type {
  margin-right: 40px;
}

.socialRegister button {
  display: inline-block;
  margin: 10px 0;
  width: 130px;
}

.googleLogin {
  background-color: #DB4437;
  width: 200px;
  margin: 10px calc(50% - 100px);
}

.googleLogin i {
  margin-right: 5px;
}

.googleLogin.mobile {
  display: none;
}

.googleLogin:focus {
  background-color: #ab342b;
}

.fbLogin {
  background-color: #3b5998;
  width: 200px;
  margin: 10px calc(50% - 100px);
}

.fbLogin i {
  margin-right: 5px;
}

@media (max-width: 1350px) {
  .loginRegister {
    width: 72%;
    margin: 20px 14%;
  }
}

@media (max-width: 675px) {
  .loginRegister {
    width: 60%;
    margin: 20px 20%;
  }
}

@media (max-width: 576px) {
  .loginRegister {
    width: 100%;
    margin: 0;
    border-radius: 0;
  }
  .loginRegister .nav-tabs .nav-item .nav-link {
    background-color: #1F1B20;
    border-radius: 0;
    font-size: 16px;
  }
  .loginRegister .nav-tabs .nav-item .nav-link:nth-child(1) {
    border-right: inset;
    border-color: #b3b3b324;
    border-width: thin;
  }
  .loginRegister .nav-tabs .nav-item .active {
    border-bottom: none;
  }
  .loginRegister .tab-content .tab-pane .dob {
    display: none;
  }
  .loginRegister .tab-content .tab-pane .form-group i {
    position: absolute;
    bottom: 21px;
    right: 40px;
    font-size: 15px;
  }
  .loginRegister .tab-content .tab-pane .form-group img {
    position: absolute;
    bottom: 15px;
    right: 34px;
    font-size: 15px;
    width: 28px;
  }
  .loginRegister .tab-content .socialRegister button:first-of-type {
    margin: 10px calc(50% - 100px);
  }
  .loginRegister .tab-content .socialRegister button {
    display: block;
    margin: 0;
    width: 200px;
    margin: 10px calc(50% - 100px);
  }
  .registerTypeSelection {
    width: 115px !important;
  }
}

.registerTypeSelection {
  width: 122px;
  max-width: 45%;
}

.registerTypeSelection:first-child {
  margin-left: 30px;
}

.registerTypeSelection:last-child {
  margin-right: 30px;
}

.registerTypeSelection input[type=radio] {
  display: none;
}

.registerTypeSelection input[type=radio]:checked + label {
  background-color: #F4C374;
  color: #fff;
}

.registerTypeSelection input[type=radio]:checked + label > svg {
  fill: #fff;
}

.registerTypeSelection label {
  padding: 10px;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
  border-radius: 7px;
  cursor: pointer;
}

@media (min-width: 576px) {
  .registerTypeSelection label {
    padding: 20px;
  }
}

.registerTypeSelection label > svg {
  width: 56px;
  fill: #F4C374;
}

.businessProfileTypeSelection {
  width: 80%;
  margin: 30px auto 0 auto;
  flex-wrap: wrap;
}

@media (min-width: 992px) {
  .businessProfileTypeSelection {
    flex-wrap: nowrap;
  }
}

.businessProfileType {
  width: 100%;
  padding: 10px 20px;
  box-shadow: 0px 0 8px #8888882E;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .businessProfileType {
    width: 48%;
  }
}

@media (min-width: 768px) {
  .businessProfileType {
    margin-bottom: 0;
  }
}

.businessProfileType h2 {
  font-weight: bolder;
  text-align: left;
  margin-bottom: 30px;
  width: 100%;
}

.businessProfileType input[type=radio] {
  display: none;
}

.businessProfileType input[type=radio]:checked + label {
  background-color: #F4C374;
  color: black;
}

.businessProfileType label {
  width: 100px;
  height: 40px;
  font-size: 14px;
  line-height: 40px;
  border-radius: 26px;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
  user-select: none;
  cursor: pointer;
  background-color: #eff5f91b;
}

.businessProfileType p {
  font-size: 10px;
  margin-bottom: 0;
}

.businessProfileType ul {
  width: 100%;
  padding-left: 0;
  list-style-type: none;
  text-align: left;
  font-size: 14px;
  margin-bottom: 30px;
}

.businessProfileType ul i {
  font-size: 14px;
}

.businessProfileType ul li {
  margin-bottom: 5px;
}

.businessProfileType .profileTypeFooter {
  width: 100%;
  margin-top: auto;
}

.businessProfileType .profileTypeFooter .optionPrice {
  font-size: 30px;
  font-weight: 700;
  color: #F4C374;
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.businessProfileType .profileTypeFooter .optionPrice span {
  font-size: 30px;
}

.businessProfileType .profileTypeHeader {
  width: 100%;
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .businessProfileType .profileTypeHeader {
    flex-basis: 62px;
    margin-bottom: 0;
  }
}

.businessProfileType .promoText {
  font-size: 14px;
  text-align: left;
  padding-bottom: 10px;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: -20px;
  margin-right: -20px;
}

.businessProfileType .promoText i {
  font-size: 14px;
}

.companyRegistrationCompare {
  width: 80%;
  margin: 10px auto 10px auto;
}

@media (min-width: 768px) {
  .companyRegistrationCompare {
    margin: 20px auto 10px auto;
  }
}

.companyRegistrationSpecs {
  text-align: left;
  width: 80%;
  margin: auto;
}

.companyRegistrationSpecs h3 {
  font-weight: bold;
}

.companyRegistrationSpecs ul {
  padding-left: 15px;
  font-size: 12px;
}

.companyRegistrationSpecs > hr.cleanRule {
  width: 100%;
  margin: 30px 0;
}

.companyRegistrationSpecs .companyRegistrationCompare {
  text-align: center;
}

#googleMap {
  width: 100%;
  height: 100px;
  order: 2;
  margin-bottom: 20px;
}

#googleMap > div {
  border-radius: 10px;
}

.googleMapLocations {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 20px;
  order: 3;
}

.googleMapLocations a {
  flex: 1;
  color: #B0BAC3;
  display: inline-block;
}

.googleMapLocations a img {
  width: 25px;
  display: inline-block;
  margin-left: -5px;
  margin-right: -5px;
}

.googleMapLocations .activeLocation {
  color: #F4C374;
}

.googleLocation:hover {
  text-decoration: none;
}

html, body {
  height: 100%;
}

a {
  color: #F4C374;
}

a :hover {
  text-decoration: none;
}

.iconRight, .iconLeft {
  pointer-events: none;
}

.strongBlue {
  font-weight: 700;
  color: #F4C374;
}

.strongBlk {
  color: black;
  font-weight: 700;
}

.strongYellow {
  color: #eab308;
  font-weight: 700;
}

.softText {
  color: #B0BAC3;
}

.blkLink {
  color: black;
  margin-left: 3px;
  text-decoration: underline;
}

.blkLink:active {
  color: #B8823E;
}

.breadcrumb {
  padding: 20px 4%;
  background-color: #1F1B20;
}

.breadcrumb li {
  margin-right: 40px;
}

.breadcrumb li a {
  font-size: 18px;
  font-weight: 700;
}

.form-group {
  position: relative;
}

.form-group i {
  position: absolute;
  right: 40px;
  font-size: 15px;
  color: #B0BAC3;
  z-index: 1;
}

.form-group img {
  position: absolute;
  right: 34px;
  font-size: 15px;
  width: 28px;
  z-index: 1;
}

div[id="locationPopover"] .form-group img {
  top: 21px;
  right: 10px;
}

hr.aleboHr {
  height: 5px;
  width: 100%;
  margin: 40px 0;
  color: #B0BAC3;
}

hr.aleboHr:after {
  content: 'alebo';
  padding: 0 16px;
  position: relative;
  top: -14px;
  font-size: 14px;
  background-color: #1F1B20;
}

.disabledBc {
  color: #B0BAC3;
  cursor: default;
  pointer-events: none;
}

#discountToggle {
  display: inline-flex;
  align-items: center;
  margin: 20px 0;
}

#discountToggle h5 {
  color: #F4C374;
}

#discountToggle label {
  margin: 0;
}

#discountToggle label.switch {
  display: inline-flex;
  margin-left: 20px;
}

.boxText {
  position: absolute;
  width: 15px;
  height: 39px;
  bottom: 11px;
  left: calc((100% - 15px) / 2);
  background-color: white;
  color: black;
  line-height: 38px;
  z-index: 3;
}

.mainView {
  height: 82vh;
}

.mainView .filterPanel {
  padding-top: 0;
}

.mainView .filterPanel h1 {
  line-height: 80px;
  margin: 0;
}

.optGroup {
  font-weight: bold;
}

@media (max-width: 576px) {
  .fancyDropdown label {
    margin-bottom: 0.25rem;
  }
}

@media (max-width: 768px) {
  .fancyDropdown label {
    left: auto;
  }
}

.fancyDropdown-wrapper {
  position: relative;
  width: 100%;
}

.fancyInput:hover {
  cursor: pointer;
}

.fancyDropdownList,
.locationList {
  background: white;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 4;
  text-align: left;
  border-radius: 0 0 28px 28px;
  box-shadow: 0px 6px 6px 1px #d4d4d41c;
  display: none;
}

.fancyDropdownListOpen,
.locationListOpen {
  display: block;
}

.searchResults .fancyDropdownList, .searchResults
.locationList {
  margin-top: -10px;
}

.fancyDropdownList--searchMobile,
.locationList--searchMobile {
  width: 84%;
}

.fancyDropdownList > li,
.locationList > li {
  padding: 10px 20px;
  color: #1F1B20;
  font-size: 12px;
}

.fancyDropdownList > li > a,
.locationList > li > a {
  text-decoration: none;
  color: inherit;
}

.fancyDropdownList > li:hover,
.locationList > li:hover {
  color: #1F1B20;
  background-color: #B8823E;
  cursor: pointer;
}

.fancyDropdownList > li:last-child,
.locationList > li:last-child {
  margin-bottom: 15px;
}

.locationInputOpen,
.fancyInputOpen {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

a, p, span, label {
  font-size: 12px;
}

@media (max-width: 576px) {
  a, p, span, label {
    font-size: 14px;
  }
  .heading {
    font-size: 18px;
  }
}

span.strong {
  font-weight: 700;
}

input::placeholder {
  color: #6c757d;
  opacity: 1;
}

option:disabled {
  color: #B0BAC3;
}

select option [disabled] {
  color: #B0BAC3;
}

select:invalid {
  color: #B0BAC3;
}

a.underline {
  color: #F4C374;
  text-decoration: underline;
}

button:disabled {
  background-color: #B3B3B3;
}

@media (max-width: 576px) {
  a, p, span, label {
    font-size: 14px;
  }
}

.hideMobile {
  display: none;
}

@media (max-width: 950px) {
  .searchResults .hideDesktop {
    display: none;
  }
  .searchResults .hideMobile {
    display: block;
  }
}

@media (max-width: 730px) {
  .recentlyAdded .hideMobile {
    display: none;
  }
}

@media (max-width: 576px) {
  .recentlyAdded .hideMobile {
    display: block;
  }
  .hideDesktop {
    display: none;
  }
  .hideMobile {
    display: block;
  }
}

input.form-control, select.form-control {
  border: none;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
}

.modal input.form-control, .modal select.form-control {
  border: none;
  box-shadow: 0px 0px 6px 1px #8888882E;
  padding: 0.75rem 1.5rem;
}

.form-group input, .form-group select, .form-group textarea {
  border: none;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
}

.form-group i.fa-eye {
  color: black;
}

.form-group i.fa-eye-slash {
  color: #B0BAC3;
}

.form-check.gdpr {
  margin: 30px 0 20px;
}

.form-check.gdpr label input {
  margin-top: 2px;
}

input:focus {
  border: none;
}

select {
  -webkit-appearance: none;
}

.form-control {
  font-size: 12px;
}

@media (max-width: 576px) {
  .form-control {
    font-size: 13px;
  }
}

.form-control.form-control--no-icon {
  padding: 0.75rem 1rem;
}

.boardView {
  position: relative;
  padding-left: 8%;
  display: flex;
  flex-direction: row;
  height: calc(100% - 50px);
}

.boardView .results {
  flex-basis: 80%;
  background-color: #1F1B20;
  overflow-y: auto;
}

.boardView .results .filterBar {
  display: flex;
  flex-direction: row;
  min-height: 70px;
  margin-bottom: 10px;
  box-shadow: 0 4px 6px #d4d4d41c;
  align-items: center;
  padding: 0 9%;
}

.boardView .results .filterBar h1 {
  font-size: 18px;
  margin: 0;
  flex-basis: 200px;
}

.boardView .results .filterBar h1 span {
  font-size: 18px;
}

.boardView .results .filterBar .rightFilterBar {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-basis: 50%;
}

.boardView .results .filterBar .rightFilterBar a {
  flex-basis: calc(30% - 5px);
  text-align: right;
  margin-right: 5px;
}

.boardView .results .filterBar .rightFilterBar .dropdown {
  flex-basis: 70%;
  margin-left: 15px;
}

@media (max-width: 576px) {
  .boardView .results .filterBar .rightFilterBar .dropdown {
    margin-left: 0;
  }
}

.boardView .results .filterBar .hideBar {
  display: none;
}

.boardView .results .sortBy {
  flex-basis: 33.3%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-right: 10px;
  margin-bottom: 0;
}

.boardView .results .sortBy h5 {
  display: inline-block;
  font-weight: 700;
  margin-bottom: 0;
  margin-right: 5%;
}

.boardView .results .sortBy .fancyDropdown-wrapper {
  width: auto;
}

.boardView .results .sortBy .fancyDropdown-wrapper > input {
  min-width: 130px;
  height: 40px;
  padding: 0.75rem 1.5rem;
}

.boardView .results .sortBy label {
  position: absolute;
  width: 68%;
  padding: 0 8%;
  left: 35%;
  bottom: 5px;
}

@media (max-width: 576px) {
  .boardView .results .sortBy label {
    margin-bottom: 0.5rem;
  }
}

.boardView .results .sortBy label img {
  height: 25px;
  position: absolute;
  bottom: 8px;
  left: 28px;
}

.boardView .results .sortBy label i {
  position: absolute;
  right: 24px;
  bottom: 1px;
}

@media (max-width: 576px) {
  .boardView .results .sortBy label i {
    right: 0;
  }
}

.boardView .results .wrapper {
  padding: 20px 8% 40px;
}

.boardView .results .wrapper .listing {
  margin: 0 10px;
  flex-basis: calc(33.33% - 20px);
}

.boardView .results hr {
  margin: 20px 8% 20px;
}

.boardView .results .recommendedListings .recentlyAdded .wrapper {
  padding: 0;
}

.boardView .results .recommendedListings .recentlyAdded .wrapper .listing {
  width: calc(100% - 10px) !important;
}

.boardView .editMobile {
  display: none;
}

@media (max-width: 1190px) {
  .boardView .editFilterBar {
    padding-left: unset;
  }
}

.boardView .recommendedListings .recentlyAdded {
  margin: 0 4% 40px;
}

.editFilterBar {
  display: flex;
  flex-basis: 75%;
  justify-content: flex-end;
  align-items: baseline;
  left: 0;
  z-index: 2;
}

.editFilterBar p {
  margin: 0;
  margin-right: auto;
}

.editFilterBar button {
  width: auto;
  margin: 0;
  background-color: transparent;
  color: black;
  border-radius: 0;
}

.editFilterBar .moveButton, .editFilterBar .deactivateButton, .editFilterBar .topSelected {
  width: auto;
  background-color: #F4C374;
  color: black;
}

.editFilterBar .moveButton img, .editFilterBar .deactivateButton img, .editFilterBar .topSelected img {
  width: 24px;
  margin-bottom: 3px;
  margin-right: 5px;
}

.editFilterBar .deactivateSelected {
  background-color: white;
  color: black;
}

.editFilterBar .deleteButton {
  color: red;
}

.editFilterBar .deleteButton i {
  margin-right: 5px;
  color: red;
}

@media (max-width: 911px) {
  .editFilterBar .deleteButton i {
    display: none;
  }
  .editFilterBar .moveButton img {
    display: none;
  }
}

.listing:not(.deactivatedListing) .imgOverlay {
  display: none;
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: #0000008a;
  border-radius: 10px;
  z-index: 1;
}

.listing:not(.deactivatedListing) .imgOverlay input[type="checkbox"] {
  margin: 10px;
  width: 20px;
}

@media (max-width: 1190px) {
  .editFilterBar {
    padding-left: 15%;
  }
}

@media (max-width: 1125px) {
  .editFilterBar {
    padding-left: 0;
  }
  .boardView {
    padding-left: 4%;
  }
  .boardView .results .filterBar {
    padding: 0 5%;
  }
  .boardView .results .filterBar h1 {
    font-size: 14px;
    flex-basis: 25%;
  }
  .boardView .results .filterBar h1 span {
    font-size: 14px;
  }
  .boardView .results .filterBar .rightFilterBar {
    flex-basis: 65%;
  }
  .boardView .results .wrapper {
    padding: 20px 4% 0;
  }
}

@media (max-width: 825px) {
  .boardView .results .advancedSearchMenu #advancedSearchLink h5 i {
    margin-left: 5px;
    font-size: 14px;
  }
  .boardView .results .filterBar .rightFilterBar {
    flex-basis: 100%;
    justify-content: center;
  }
  .boardView .results .filterBar .rightFilterBar a {
    text-align: right;
  }
  .boardView .results .wrapper .listing {
    flex-basis: calc(50% - 20px);
  }
}

@media (max-width: 768px) {
  .boardView {
    padding: 0;
  }
  .boardView .results {
    flex-basis: 100%;
  }
  .boardView .hideDesktop, .boardView .optionNew.hideMobile {
    display: none;
  }
}

@media (max-width: 576px) {
  .editFilterBar {
    position: fixed;
    bottom: 0;
    background-color: white;
    width: 100%;
    height: 65px;
    align-items: center;
  }
  .editFilterBar p {
    display: none;
  }
  .editFilterBar button {
    flex-basis: 50%;
    font-size: 18px;
  }
  .editFilterBar .moveButton, .editFilterBar .deactivateButton {
    border-right: 2px solid #B0BAC3;
  }
  .boardView .results .filterBar {
    padding: 10px 4%;
    flex-wrap: wrap;
  }
  .boardView .results .filterBar h1, .boardView .results .filterBar a {
    flex-basis: 50%;
  }
  .boardView .results .filterBar a {
    text-align: right;
  }
  .boardView .results .filterBar .dropdown {
    justify-content: center;
    flex-basis: 100%;
    margin: 15px 0 5px;
  }
  .boardView .results .filterBar .dropdown h5 {
    display: none;
  }
  .boardView .results .filterBar .dropdown label {
    width: 84%;
    left: unset;
  }
  .boardView .results .wrapper .listing {
    width: calc(50% - 20px);
  }
  .boardView .results .wrapper .listing .listingImage {
    display: block;
    width: 100%;
  }
  .boardView .results .wrapper .listing .itemDetailLink .listingDetail {
    position: absolute;
    top: 0;
    width: 100%;
    padding-top: 68%;
    margin-left: auto;
  }
  .boardView .results .wrapper .listing .itemDetailLink .listingDetail .listingPrice {
    left: unset;
    right: 0;
    top: unset;
    bottom: 33px;
  }
  .boardView .results .wrapper .listing .itemDetailLink .listingDetail .listingLocation {
    margin-left: 0;
  }
  .boardView .results .wrapper .listing .itemDetailLink .listingDetail .noLoc {
    position: absolute;
    left: 4px;
    bottom: -18px;
  }
  .boardView .results .wrapper .imageWrapper {
    width: 100%;
  }
  .boardView .editDesktop {
    display: none;
  }
  .boardView .editMobile {
    display: block;
  }
  .boardView .editMobile.backButton {
    display: none;
    margin: 0;
    background: transparent;
    color: #F4C374;
    order: 3;
  }
}

.modal .modal-dialog .modal-content {
  border-radius: 20px;
}

.modal .modal-dialog .modal-content button.closeModal {
  margin: 10px 20px;
  position: absolute;
  right: 0;
  background-color: transparent;
  color: black;
  width: auto;
}

.modal .modal-dialog .modal-content button.closeModal i {
  font-size: 20px;
  font-weight: 300;
}

.modal .modal-dialog .modal-content .modal-header {
  flex-direction: column;
  align-items: center;
  border: none;
  color: black;
}

.modal .modal-dialog .modal-content .modal-header .modal-title:not(.mtsc) {
  font-size: 24px;
  margin: 20px 0;
}

.modal .modal-dialog .modal-content .modal-body {
  display: flex;
  flex-wrap: wrap;
  padding-left: 8%;
  padding-right: 0;
  color: black;
}

.modal .modal-dialog .modal-content .modal-body > div {
  flex-basis: 33.33%;
}

.modal .modal-dialog .modal-content .modal-footer {
  justify-content: center;
  border: none;
  padding: 20px 0.75rem 40px;
}

.modal .modal-dialog .modal-content .modal-footer button {
  margin: 0;
}

.mtsc {
  font-size: 24px;
  margin: 20px 0;
}

#newBoard .modal-dialog .modal-content .modal-body {
  padding: 1rem;
}

#moveItems .modal-dialog .modal-content .modal-body > div label, #addBoardItem .modal-dialog .modal-content .modal-body > div label {
  margin-left: 5px;
}

#deleteBoard .modal-dialog .modal-content .modal-body, #deleteFilter .modal-dialog .modal-content .modal-body, #deleteAd .modal-dialog .modal-content .modal-body, #deleteSavedFilter .modal-dialog .modal-content .modal-body, #renameBoard .modal-dialog .modal-content .modal-body, #removeItems .modal-dialog .modal-content .modal-body, #deactivateItems .modal-dialog .modal-content .modal-body, #deleteItems .modal-dialog .modal-content .modal-body {
  flex-wrap: nowrap;
  padding: 0 8%;
}

#deleteBoard .modal-dialog .modal-content .modal-body p, #deleteFilter .modal-dialog .modal-content .modal-body p, #deleteAd .modal-dialog .modal-content .modal-body p, #deleteSavedFilter .modal-dialog .modal-content .modal-body p, #renameBoard .modal-dialog .modal-content .modal-body p, #removeItems .modal-dialog .modal-content .modal-body p, #deactivateItems .modal-dialog .modal-content .modal-body p, #deleteItems .modal-dialog .modal-content .modal-body p {
  text-align: center;
  width: 100%;
}

#deleteBoard .modal-dialog .modal-content .modal-footer, #deleteFilter .modal-dialog .modal-content .modal-footer, #deleteAd .modal-dialog .modal-content .modal-footer, #deleteSavedFilter .modal-dialog .modal-content .modal-footer, #renameBoard .modal-dialog .modal-content .modal-footer, #removeItems .modal-dialog .modal-content .modal-footer, #deactivateItems .modal-dialog .modal-content .modal-footer, #deleteItems .modal-dialog .modal-content .modal-footer {
  flex-direction: column;
}

#deleteBoard .modal-dialog .modal-content .modal-footer button, #deleteFilter .modal-dialog .modal-content .modal-footer button, #deleteAd .modal-dialog .modal-content .modal-footer button, #deleteSavedFilter .modal-dialog .modal-content .modal-footer button, #renameBoard .modal-dialog .modal-content .modal-footer button, #removeItems .modal-dialog .modal-content .modal-footer button, #deactivateItems .modal-dialog .modal-content .modal-footer button, #deleteItems .modal-dialog .modal-content .modal-footer button {
  margin-bottom: 20px;
}

#imageFullViewContainer {
  width: 100vw;
  display: flex;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
}

#imageFullView {
  width: auto;
  left: unset;
  padding-left: 15px;
}

#imageFullView .modal-dialog {
  max-width: 100vw;
}

#imageFullView .modal-dialog .modal-image {
  padding: 1rem;
}

#imageFullView .modal-dialog .modal-image img {
  max-width: 100%;
  max-height: calc(100vh - 6rem);
}

#imageFullView .modal-dialog .closeModal {
  margin: 2px;
  width: 35px;
  height: 35px;
  z-index: 1;
}

#imageFullView .modal-content {
  width: 92vw;
}

#imageFullView .modal-content .galleryCarousel {
  order: 1;
  display: flex;
  justify-content: center;
}

#imageFullView .modal-content .galleryCarousel .slick-list {
  height: 100%;
  width: 100%;
  display: flex;
}

#imageFullView .modal-content .galleryCarousel .slick-list .slick-track {
  display: flex;
  align-items: center;
}

#imageFullView .modal-content .galleryCarousel .slick-list .slick-track .slick-slide {
  margin-right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
}

#imageFullView .modal-content .galleryCarousel .slick-arrow {
  top: calc(50% - 20px);
  background-color: transparent;
}

#imageFullView .modal-content .galleryCarousel .slick-next {
  right: 25px;
}

#imageFullView .modal-content .galleryCarousel .slick-prev {
  color: #1F1B20;
  z-index: 1;
  margin-left: 25px;
}

@media (max-width: 576px) {
  #moveItems .modal-dialog .modal-content, #addBoardItem .modal-dialog .modal-content {
    max-height: 90vh;
  }
  #moveItems .modal-dialog .modal-content .modal-body, #addBoardItem .modal-dialog .modal-content .modal-body {
    flex-direction: column;
    overflow-y: auto;
    flex-wrap: nowrap;
  }
  #moveItems .modal-dialog .modal-content .modal-body > div, #addBoardItem .modal-dialog .modal-content .modal-body > div {
    flex-basis: 100%;
  }
  #moveItems .modal-dialog .modal-content .modal-body > div input, #addBoardItem .modal-dialog .modal-content .modal-body > div input {
    transform: scale(1.5);
  }
  #moveItems .modal-dialog .modal-content .modal-body > div label, #addBoardItem .modal-dialog .modal-content .modal-body > div label {
    font-size: 16px;
    margin-left: 10px;
  }
  #moveItems .modal-dialog .modal-content .modal-footer, #addBoardItem .modal-dialog .modal-content .modal-footer {
    flex-direction: column;
  }
  #moveItems .modal-dialog .modal-content .modal-footer button, #addBoardItem .modal-dialog .modal-content .modal-footer button {
    margin-top: 20px;
  }
  #moveItems .modal-dialog .modal-content .modal-footer .optionNew.hideMobile, #addBoardItem .modal-dialog .modal-content .modal-footer .optionNew.hideMobile {
    display: block;
  }
}

.modal.saveCategoryModal .modal-body {
  flex-direction: column;
  width: calc(100% - 16%);
  padding: 20px 8%;
}

.modal.saveCategoryModal .modal-body .categoryDd {
  display: flex;
  justify-content: center;
  align-items: baseline;
}

.modal.saveCategoryModal .modal-body .categoryDd h5 {
  margin-right: 20px;
}

.modal.saveCategoryModal .modal-body .categoryDd label {
  position: absolute;
  right: 0;
  width: 230px;
  height: 100%;
  margin-right: 8%;
}

.modal.saveCategoryModal .modal-body .categoryDd label i {
  right: 30px;
  top: 13px;
  z-index: 1052;
}

.modal.saveCategoryModal .modal-body .categoryDd select {
  width: 230px;
  z-index: 1051;
}

.modal.saveCategoryModal .subCategories {
  display: block;
}

.modal.saveCategoryModal .subCategories .subCategory {
  height: 44px;
}

.modal.saveCategoryModal .modal-footer {
  flex-direction: column;
}

.modal.saveCategoryModal .modal-footer a {
  margin-bottom: 20px;
}

@media (max-width: 576px) {
  .modal.saveCategoryModal h5 {
    display: none;
  }
  .modal.saveCategoryModal h4.mtsc {
    font-size: 20px;
    margin: 35px 0 0 0;
  }
  .modal.saveCategoryModal .modal-body {
    padding-bottom: 0;
  }
  .modal.saveCategoryModal .modal-footer {
    padding-bottom: 20px;
  }
}

.boardOption {
  display: flex;
  align-items: center;
}

.boardOption label {
  margin-top: 5px;
}

.savedSearchTitle {
  width: 70%;
  margin: auto;
}

.footerButtons {
  display: flex;
  align-items: baseline;
  width: 100%;
}

.footerButtons > div {
  flex-basis: 50%;
  display: flex;
  justify-content: center;
}

@media (max-width: 576px) {
  .footerButtons {
    display: block;
    margin-top: 20px;
  }
}

.filterPanel, .profileMenu {
  position: relative;
  flex-basis: 20%;
  background-color: #1F1B20;
  padding: 20px 0;
  text-align: center;
  box-shadow: 0 0 6px #d4d4d41c;
  min-width: 270px;
  max-width: 270px;
  overflow: hidden;
  overflow-y: auto;
}

.filterPanel h1, .profileMenu h1 {
  font-weight: 700;
}

.filterPanel span p, .profileMenu span p {
  color: #F4C374;
  font-size: 12px;
}

.filterPanel .form-inline, .profileMenu .form-inline {
  display: flex;
  position: relative;
  flex-flow: column wrap;
  width: 100%;
  padding: 4%;
}

.filterPanel .form-inline .form-group, .profileMenu .form-inline .form-group {
  width: 100%;
  position: relative;
  margin: 0;
  padding: 10px 0;
}

.filterPanel .form-inline .form-group label, .profileMenu .form-inline .form-group label {
  position: relative;
}

.filterPanel .form-inline .form-group label img, .profileMenu .form-inline .form-group label img {
  height: 25px;
  position: absolute;
  left: 28px;
  z-index: 3;
  bottom: unset;
}

.filterPanel .form-inline .form-group label i, .profileMenu .form-inline .form-group label i {
  height: 25px;
  position: absolute;
  left: 36px;
  top: -6px;
  z-index: 3;
  bottom: unset;
}

.filterPanel .form-inline .form-group label i.iconRight, .profileMenu .form-inline .form-group label i.iconRight {
  left: 199px;
  font-size: 15px;
}

.filterPanel .form-inline .form-group label .iconRight, .profileMenu .form-inline .form-group label .iconRight {
  left: 192px;
}

.filterPanel .form-inline .form-group .form-control, .profileMenu .form-inline .form-group .form-control {
  display: inline-block;
  width: 80%;
  margin-left: 10%;
  border: none;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
}

.filterPanel .form-inline .form-group.cost .costInputWrapper, .profileMenu .form-inline .form-group.cost .costInputWrapper {
  position: relative;
  width: 80%;
  margin: 0 10%;
  display: flex;
  z-index: 2;
  border-radius: 28px;
}

.filterPanel .form-inline .form-group.cost .costInputWrapper:focus-within, .profileMenu .form-inline .form-group.cost .costInputWrapper:focus-within {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.filterPanel .form-inline .form-group.cost .costInputLeft, .profileMenu .form-inline .form-group.cost .costInputLeft {
  border-right: none;
  border-radius: 28px 0 0 28px;
  padding: 5px 22px;
  text-align: center;
  width: 50%;
  margin: 0;
}

.filterPanel .form-inline .form-group.cost .costInputRight, .profileMenu .form-inline .form-group.cost .costInputRight {
  padding: 5px 22px;
  text-align: center;
  width: 50%;
  margin: 0;
  border-left: none;
  border-radius: 0 28px 28px 0;
}

.filterPanel .form-inline .form-group.cost .costInputLeft:focus, .profileMenu .form-inline .form-group.cost .costInputLeft:focus {
  box-shadow: none;
  border: 1px solid #ced4da;
  border-right: none;
}

.filterPanel .form-inline .form-group.cost .costInputRight:focus, .profileMenu .form-inline .form-group.cost .costInputRight:focus {
  box-shadow: none;
  border: 1px solid #ced4da;
  border-left: none;
}

.filterPanel.hideMobile .sortBy {
  width: 100%;
}

.filterPanel.hideMobile .sortBy label {
  width: 68%;
  padding: 0 8%;
  bottom: 5px;
}

.filterPanel.hideMobile .sortBy label img {
  height: 25px;
  position: absolute;
  bottom: 8px;
  left: 28px;
}

.filterPanel.hideMobile .sortBy select {
  width: 80%;
}

.filterPanel.hideMobile .distanceInput {
  justify-content: center;
  padding: 20px 0;
}

.filterPanel.hideMobile .distanceInput input {
  text-align: inherit;
  max-width: 24px;
}

.profileMenu {
  padding: 0 0 20px;
}

.profileMenu h1 {
  padding: 20px 0;
  margin: 0;
}

.companyProfile .filterPanel {
  padding-top: 0;
}

.companyProfile .filterPanel hr {
  margin-left: 8%;
}

.companyProfile .filterPanel .form-inline {
  padding: 8%;
}

.companyProfile .filterPanel .form-inline .form-group label i.iconLeft {
  left: 15px;
}

.companyProfile .filterPanel .form-inline .form-group label i.iconRight {
  left: 200px;
}

.companyProfile .filterPanel .form-inline .form-group label img.iconLeft {
  left: 8px;
}

.companyProfile .filterPanel .form-inline .form-group .form-control {
  width: 100%;
  margin-left: 0;
}

.companyProfile .filterPanel .form-inline .form-group.cost .costInputWrapper {
  width: 100%;
  margin: 0;
}

.profileView {
  position: relative;
  padding-left: 8%;
  display: flex;
  flex-direction: row;
}

.profileView .content {
  flex-basis: auto;
  flex-grow: 1;
  background-color: #1F1B20;
  height: 100%;
}

.profileView .content hr {
  width: 100%;
  margin: 20px 0;
}

.profileView .content .filterBar a {
  flex-basis: initial;
}

.profileView .content .filterBar .editFilterPanelToggle {
  padding-left: 10px;
  padding-right: 15px;
  padding-top: 1px;
  margin-left: auto;
}

.profileView .content .filterBar .pagination {
  flex-basis: auto;
}

.profileView .content .pagination {
  display: flex;
  list-style: none;
  border-radius: 28px;
  flex-basis: 100%;
  justify-content: flex-end;
  padding-left: 4%;
  align-items: baseline;
}

.profileView .content .pagination h5 {
  font-weight: 700;
  margin-right: 5px;
}

.profileView .content .pagination a {
  color: black;
  padding: 4px 8px;
  text-decoration: none;
  margin: 0 2px !important;
  border-radius: 5px;
  flex-basis: initial !important;
}

.profileView .content .pagination a.active {
  background-color: #F4C374;
  color: #1F1B20;
}

.profileView .content .pagination:not(.desktopOnly) {
  justify-content: center;
}

.profileView .content .sortBy h5 {
  font-weight: 700;
  margin-right: 5%;
  margin-left: 10%;
}

@media (max-width: 576px) {
  .profileView .content .sortBy > label {
    margin-bottom: 0.5rem;
  }
}

@media (max-width: 576px) {
  .profileView .content .sortBy > label > i.fas {
    right: 46px;
  }
}

.profileView .content .sortBy .fancyDropdown-wrapper {
  width: auto;
}

.profileView .content .sortBy .fancyDropdown-wrapper > input {
  width: 130px;
  padding: 10px 22px;
  height: 40px;
}

.profileView .editMobile {
  display: none;
}

.profileView .listing .listingDetail {
  display: flex;
  flex-wrap: wrap;
}

.profileView .listing .listingDetail .listingInfo {
  flex-basis: 100%;
  font-weight: 700;
  margin-bottom: 5px;
}

.profileView .listing .listingDetail .listingEdit {
  flex-basis: 50px;
}

.profileView .listing .listingDetail .listingViews {
  flex-basis: calc(100% - 50px);
  text-align: right;
}

.profileView .listing button:not(.status) {
  margin-top: 5px;
  width: 150px;
  margin-left: calc(50% - 75px);
}

@media (max-width: 1125px) {
  .profileView {
    padding-left: 4%;
  }
  .profileView .content .wrapper {
    padding: 20px 4% 0;
  }
}

@media (max-width: 1040px) {
  .favouriteCategories {
    margin: 0 6%;
  }
  .favouriteCategories .categories {
    display: flex;
    flex-wrap: wrap;
    width: 90%;
  }
  .favouriteCategories .categories .favouriteToggle .favouriteSwitch {
    margin-left: 10px;
  }
  .profileView .content .sortBy h5 {
    display: none;
  }
}

@media (max-width: 860px) {
  .profileView {
    padding-left: 0;
  }
  .profileView .pagination.desktopOnly {
    display: none !important;
  }
  .profileView .rightFilterBar {
    justify-content: flex-end !important;
  }
  .favouriteCategories {
    margin: 0 4%;
  }
  .favouriteCategories .categories {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }
}

@media (max-width: 765px) {
  .profileView .adSettings .filterBar {
    flex-wrap: initial;
  }
}

@media (max-width: 760px) {
  .favouriteCategories {
    height: 84%;
  }
  .favouriteCategories .categories {
    display: block;
    height: 88%;
    overflow-y: auto;
  }
}

@media (max-width: 725px) {
  .googleLogin.mobile, .fbLogin.mobile {
    display: flex;
  }
  .googleLogin, .fbLogin {
    display: none;
  }
}

@media (max-width: 715px) {
  .boardView,
  .profileView {
    padding: 0;
  }
  .boardView .content,
  .profileView .content {
    flex-basis: 100%;
  }
  .boardView .hideMobile,
  .profileView .hideMobile {
    display: block;
  }
  .boardView .hideDesktop,
  .profileView .hideDesktop {
    display: none;
  }
}

@media (max-width: 576px) {
  .profileView .content {
    height: 89vh;
    overflow: auto;
    flex-basis: 100%;
  }
  .profileView .content .filterBar {
    flex-wrap: wrap;
  }
  .profileView .content .wrapper .listing {
    width: calc(50% - 20px);
  }
  .profileView .content .wrapper .listing .listingImage {
    display: block;
    width: 100%;
  }
  .profileView .content .wrapper .listing .listingDetail {
    position: relative;
    display: block;
    width: 100%;
    min-height: 70px;
    padding-left: 0;
    margin-left: 0;
  }
  .profileView .content .wrapper .listing .listingDetail .listingPrice {
    left: unset;
    right: 0;
    bottom: 10px;
  }
  .profileView .content .wrapper .listing .listingViews {
    display: inline-block;
    float: right;
  }
  .profileView .content .wrapper .listing button:not(.status) {
    width: 100%;
    margin-left: 0;
  }
  .profileView .content .wrapper .imageWrapper {
    width: 100%;
  }
  .profileView .editDesktop {
    display: none;
  }
  .profileView .editMobile {
    display: block;
  }
  .profileView i.editMobile {
    display: inline-block;
  }
  .editing {
    display: flex;
    order: 3;
    flex: 1;
    flex-basis: 100%;
  }
  .editing div {
    display: flex;
    flex-basis: 100%;
  }
  .editing .numberSelected {
    width: 100%;
  }
  .editing .chb {
    margin-right: 35px;
  }
  .selectProMobile {
    margin: 22px 0px 0 34px;
    flex-basis: 40% !important;
    display: none;
  }
  .topSelected, .activateSelected, .deactivateSelected {
    width: 100% !important;
    margin-top: 10px !important;
  }
}

.hideBarPro {
  display: none;
}

.editing {
  display: flex;
  margin-top: 20px;
}

.profileMenu h1 {
  color: #F4C374;
}

.profileMenuLink, .menuLink {
  display: flex;
  align-items: center;
  height: 50px;
}

.profileMenuLink label, .menuLink label {
  margin-left: 20px;
}

.profileMenuLink label i, .menuLink label i {
  margin-top: 12px;
  margin-right: 10px;
  color: #F4C374;
}

.profileMenuLink a, .menuLink a {
  color: white;
}

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

.profileMenuLink.toggleMode label.dropdownSwitch {
  margin-bottom: 0;
  margin-right: 20px;
}

.profileMenuLink.active, .menuLink.active {
  background-color: #F4C374;
}

.profileMenuLink.active label i, .menuLink.active label i {
  color: black;
}

.profileMenuLink.active a, .menuLink.active a {
  color: #000000;
}

.profileMenuLink:focus, .menuLink:focus {
  background-color: #B8823E;
}

.profileMenuLink:focus label i, .menuLink:focus label i {
  color: black;
}

.profileMenuLink:focus a, .menuLink:focus a {
  color: white;
}

.mainImageUploadIcon {
  width: 20px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.logoImageUploadIcon {
  width: 20px;
  position: absolute;
  right: 20px;
  bottom: 20px;
}

.imgOverlay {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  background-color: black;
  opacity: 40%;
}

.logoWrapper {
  position: absolute;
  left: calc(50% - 30px);
  width: 60px;
  height: 60px;
  border-radius: 30px;
  bottom: -30px;
  box-shadow: 0px 0px 8px black;
}

.logoWrapper .profileAvatar {
  position: initial !important;
}

.logoWrapper .imgOverlay {
  border-radius: 30px;
}

@media (max-width: 576px) {
  .profileMenu {
    display: none;
  }
}

.adSettings .filterBar {
  display: flex;
  flex-direction: row;
  min-height: 70px;
  margin-bottom: 10px;
  box-shadow: 0 4px 6px #d4d4d41c;
  align-items: center;
  padding: 0 9% 0 9%;
  justify-content: space-between;
}

.adSettings .filterBar h1 {
  margin: 0;
  flex-basis: 200px;
}

.adSettings .filterBar .rightFilterBar {
  width: auto;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-basis: auto;
  min-width: 305px;
}

.adSettings .filterBar .rightFilterBar .dropdown {
  flex-basis: calc(100% - 100px);
}

@media (min-width: 768px) {
  .adSettings .filterBar .rightFilterBar .dropdown {
    margin-right: 15px;
  }
}

.adSettings .filterBar a {
  flex-basis: 60px;
  text-align: right;
  margin-left: 20px;
}

.adSettings .filterBar .hideBar {
  display: none;
}

.adSettings .sortBy {
  flex-basis: 33.3%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-right: 10px;
  margin-bottom: 0;
}

.adSettings .sortBy h5 {
  display: inline-block;
  margin-bottom: 0;
  margin-right: 20px;
}

.adSettings .sortBy select {
  display: inline-block;
  width: 200px;
  height: 40px;
  padding: 10px 22px;
}

.adSettings .sortBy label {
  position: absolute;
  width: 68%;
  padding: 0 8%;
  left: 35%;
  bottom: 5px;
}

.adSettings .sortBy label i {
  position: absolute;
  right: 25px;
  bottom: 0px;
}

@media (min-width: 992px) {
  .adSettings .sortBy label i {
    right: 35px;
  }
}

.adSettings .activeListings {
  height: 80%;
  overflow-y: auto;
}

.adSettings .activeListings .wrapper {
  padding: 20px 8% 40px;
}

.adSettings .activeListings .wrapper .listing {
  position: relative;
  margin: 0 10px 30px;
  flex-basis: calc(33.33% - 20px);
}

.adSettings .activeListings .wrapper .listing .imgOverlay a i.editMobile {
  position: absolute;
  bottom: 5px;
  right: 10px;
  color: white;
  font-size: 12px;
}

.adSettings .activeListings .wrapper .listing .editOptions {
  display: none;
  position: absolute;
  bottom: 2px;
  width: 100%;
  padding: 0 10px;
  color: white;
  align-items: baseline;
}

.adSettings .activeListings .wrapper .listing .activeSwitch {
  display: flex;
  flex-basis: 50%;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}

.adSettings .activeListings .wrapper .listing .activeSwitch .switch {
  margin-left: 5px;
}

.adSettings .activeListings .wrapper .listing .deleteAd {
  flex-basis: 50%;
  text-align: right;
}

.adSettings .activeListings .wrapper .listing .deleteAd i {
  margin-right: 5px;
}

.adSettings .activeListings .wrapper .addListing {
  height: 150px;
  width: 150px;
}

.adSettings .activeListings .wrapper .deactivatedListing .imgOverlay {
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: #c4c4c48a;
  border-radius: 10px;
}

.adSettings .activeListings .wrapper .deactivatedListing .imgOverlay input[type="checkbox"] {
  display: none;
  margin: 10px;
  width: 20px;
}

.adSettings .activeListings .wrapper .deactivatedListing .listing {
  margin-bottom: 30px;
}

@media (max-width: 1125px) {
  .adSettings .activeListings .wrapper {
    padding: 20px 4% 0;
  }
}

@media (max-width: 860px) {
  .adSettings .sortBy h5 {
    display: none;
  }
  .adSettings .activeListings .wrapper .listing {
    flex-basis: calc(50% - 20px);
  }
}

@media (max-width: 765px) {
  .adSettings .filterBar {
    flex-wrap: wrap;
    padding: 0 4%;
  }
  .adSettings .filterBar .rightFilterBar {
    flex-basis: 100%;
    align-items: center;
    justify-content: end;
    margin: 20px 0;
  }
  .adSettings .filterBar .rightFilterBar .sortBy {
    flex-basis: 50%;
  }
  .adSettings .filterBar .rightFilterBar a {
    flex-basis: 60px;
    text-align: center;
    margin: 0 20px;
  }
}

@media (max-width: 640px) {
  .adSettings .activeListings .wrapper .listing {
    flex-basis: calc(100% - 20px);
  }
}

@media (max-width: 576px) {
  .adSettings .filterBar {
    padding: 10px 4%;
    flex-wrap: wrap;
    box-shadow: none;
    margin-bottom: 0;
  }
  .adSettings .filterBar h1 {
    order: 1;
  }
  .adSettings .filterBar .editMobile.backButton {
    display: none;
    margin: 0;
    background: transparent;
    color: #F4C374;
    order: 3;
  }
  .adSettings .filterBar h1, .adSettings .filterBar a {
    flex-basis: 50%;
  }
  .adSettings .filterBar a {
    order: 2;
    text-align: right;
    margin-left: 0;
  }
  .adSettings .filterBar .dropdown {
    justify-content: center;
    flex-basis: 100%;
  }
  .adSettings .filterBar .dropdown h5 {
    display: none;
  }
  .adSettings .filterBar .dropdown label {
    width: 200px;
    left: unset;
  }
  .adSettings .filterBar .dropdown label i {
    right: 38px;
  }
  .adSettings .filterBar .rightFilterBar {
    flex-basis: 100%;
    margin-top: 10px;
    margin-bottom: 0;
    order: 3;
  }
  .adSettings .filterBar .rightFilterBar .dropdown {
    flex-basis: 100%;
  }
  .adSettings .filterBar .rightFilterBar a {
    margin: -2px 10px;
  }
  .adSettings .filterBar .editFilterBar {
    border-top: 2px solid #B0BAC3;
  }
  .adSettings .activeListings .wrapper .listing {
    flex-basis: calc(50% - 20px);
    min-height: 210px;
  }
  .adSettings .activeListings .wrapper .listing .listingDetail {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
  }
  .adSettings .activeListings .wrapper .listing .listingDetail .listingInfo {
    order: 2;
    margin-bottom: 20px;
  }
  .adSettings .activeListings .wrapper .listing .listingDetail .listingEdit {
    order: 1;
    flex-basis: 40%;
  }
  .adSettings .activeListings .wrapper .listing .listingDetail .listingViews {
    order: 1;
    flex-basis: 60%;
    margin: 0 0 5px;
  }
  .adSettings .activeListings .wrapper .listing .editOptions {
    color: black;
    bottom: -15px;
    padding: 0;
  }
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch {
    flex-basis: 100%;
    justify-content: space-between;
  }
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch .switch,
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch .dropdownSwitch {
    width: 42px;
    height: 30px;
  }
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch .switch .slider::before,
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch .switch .dropdownToggle::before,
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch .dropdownSwitch .slider::before,
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch .dropdownSwitch .dropdownToggle::before {
    height: 28px;
    width: 28px;
  }
}

.boardSettings .filterBar {
  display: flex;
  flex-direction: row;
  margin-bottom: 10px;
  box-shadow: 0 4px 6px #d4d4d41c;
  align-items: center;
  padding: 20px 9% 20px 9%;
  justify-content: space-between;
}

.boardSettings .filterBar h1 {
  margin: 0;
  flex-basis: 200px;
}

.boardSettings .filterBar .rightFilterBar {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-basis: calc(100% - 200px);
}

.boardSettings .filterBar .rightFilterBar a {
  flex-basis: 60px;
  text-align: right;
}

.boardSettings .filterBar .rightFilterBar .dropdown {
  flex-basis: calc(100% - 60px);
  margin-right: 0;
}

.boardSettings .filterBar .hideBar {
  display: none;
}

.boardSettings .myBoards {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 15px 8%;
  max-height: calc(100% - 90px);
  overflow-y: auto;
}

.boardSettings .myBoards .board {
  flex-basis: calc(33.33% - 30px);
  display: flex;
  flex-direction: column;
  margin: 0 15px 20px;
  padding: 10px 5px 0;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
  border-radius: 10px;
}

.boardSettings .myBoards .board .imageWrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}

.boardSettings .myBoards .board .imageWrapper img, .boardSettings .myBoards .board .imageWrapper .emptyImage {
  flex-basis: calc(50% - 8px);
  width: calc(50% - 8px);
  margin: 0 4px 5px;
  border-radius: 5px;
  height: 100%;
}

.boardSettings .myBoards .board .imageWrapper .emptyImage {
  background-color: #B0BAC3;
  max-height: 72px;
}

.boardSettings .myBoards .board .boardInfo {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0 5px;
  margin-top: auto;
}

.boardSettings .myBoards .board .boardInfo h4 {
  margin-top: 5px;
  flex-basis: 100%;
}

.boardSettings .myBoards .board .boardInfo p {
  flex-basis: 50%;
}

.boardSettings .myBoards .board .boardInfo .publicSwitch {
  display: flex;
  flex-basis: 50%;
  justify-content: flex-end;
}

.boardSettings .myBoards .board .boardInfo .publicSwitch label:not(#publicSwitch) {
  margin-right: 5px;
}

.boardSettings .myBoards .board .boardEdit {
  display: none;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0 5px;
}

.boardSettings .myBoards .board .boardEdit h4 {
  flex-basis: 100%;
  margin-top: 5px;
}

.boardSettings .myBoards .board .boardEdit .editButton {
  flex-basis: 50%;
  margin: 0;
  background-color: inherit;
  color: #F4C374;
  text-align: left;
  font-size: 13px;
  margin-bottom: 5px;
  padding-left: 0;
}

.boardSettings .myBoards .board .boardEdit .deleteButton {
  flex-basis: 50%;
  margin: 0;
  background-color: inherit;
  color: red;
  text-align: right;
}

.boardSettings .myBoards .addBoard {
  background: transparent;
  box-shadow: 0px 0px 6px 1px #d4d4d41c;
  flex-basis: calc(33.33% - 30px);
  margin: 5px 15px 20px;
  height: 150px;
  border-radius: 10px;
  font-size: 16px;
}

.boardSettings .myBoards .addBoard:hover {
  background: #B8823E;
  color: white;
}

.boardSettings .myBoards .addBoard:focus {
  background: #B8823E;
  color: white;
}

@media (max-width: 1140px) {
  .boardSettings .myBoards .board, .boardSettings .myBoards .addBoard {
    flex-basis: calc(50% - 30px);
  }
}

@media (max-width: 825px) {
  .boardSettings .myBoards .board, .boardSettings .myBoards .addBoard {
    flex-basis: calc(100% - 30px);
  }
}

@media (max-width: 576px) {
  .boardSettings .myBoards .board, .boardSettings .myBoards .addBoard {
    flex-basis: 100%;
  }
}

@media (max-width: 576px) {
  .boardSettings .filterBar {
    padding: 20px 4%;
  }
  .boardSettings .filterBar a {
    text-align: right;
    flex-basis: calc(100% - 200px);
  }
  .boardSettings .filterBar .rightFilterBar {
    display: none;
  }
}

.personalSettings .filterBar h1 {
  flex-basis: 100%;
}

.personalSettings .mySettings {
  height: 100%;
  overflow-y: auto;
  margin: 0 8%;
}

.personalSettings .mySettings form {
  width: 85%;
}

@media (max-width: 895px) {
  .personalSettings .mySettings form {
    width: 100%;
  }
}

.personalSettings .mySettings form p {
  margin: 30px 0;
}

.personalSettings .mySettings form .form-group {
  display: flex;
  align-items: baseline;
  padding: 2px;
}

.personalSettings .mySettings form .form-group label {
  flex-basis: 150px;
  margin-left: 10px;
}

@media (max-width: 895px) {
  .personalSettings .mySettings form .form-group label {
    flex-basis: 112px;
  }
}

.personalSettings .mySettings form .form-group input, .personalSettings .mySettings form .form-group textarea {
  padding-left: 25px;
}

.personalSettings .mySettings form .form-group img.editIcon {
  width: 20px;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.personalSettings .mySettings form .form-group .phoneNumberInputGroup {
  flex-wrap: nowrap;
  box-shadow: 0px 0px 6px 1px #8888882E;
  border-radius: 28px;
}

.personalSettings .mySettings form .form-group .phoneNumberInputGroup .input-group-text {
  padding: 0 12px;
  border: 0;
}

.personalSettings .mySettings form .form-group .phoneNumberInputGroup .phoneNumberInput {
  box-shadow: none;
}

@media (max-width: 576px) {
  .personalSettings .mySettings form .form-group .phoneNumberInputGroup .input-group-text {
    margin-top: 5px;
    margin-bottom: 5px;
  }
  .personalSettings .mySettings form .form-group .phoneNumberInputGroup .phoneNumberInput {
    margin-left: 0;
  }
}

.personalSettings .mySettings form .form-group #linkedAccounts {
  flex-basis: calc(100% - 122px);
  display: flex;
  align-items: baseline;
  justify-content: space-evenly;
}

.personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper {
  flex-basis: 50%;
  display: flex;
  justify-content: center;
}

.personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin.mobile {
  display: none;
}

.personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin.mobile {
  display: none;
}

.personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin, .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  margin: 0 calc(50% - 60px);
  height: 30px;
  position: relative;
}

.personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin i, .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin i {
  position: relative;
  right: unset;
  color: #1F1B20;
}

@media (max-width: 725px) {
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin.mobile, .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin.mobile {
    display: flex;
    width: 75px;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin, .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin {
    display: none;
  }
}

.personalSettings .mySettings form .form-group #linkedAccounts p {
  flex-basis: 50%;
  text-align: left;
}

.personalSettings .mySettings form .dob {
  display: flex;
  align-items: baseline;
}

.personalSettings .mySettings form .dob label {
  flex-basis: 200px;
}

.personalSettings .mySettings form .dob #dateOfBirthInputs {
  flex-basis: calc(100% - 200px);
  display: flex;
}

.personalSettings .mySettings form .dob #dateOfBirthInputs .form-group {
  flex-basis: calc(33.33% - 5px);
  margin-right: 5px;
}

.personalSettings .mySettings form .dob #dateOfBirthInputs .form-group label {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
}

.personalSettings .mySettings form .dob #dateOfBirthInputs .form-group label i {
  right: 18px;
  bottom: 12px;
}

.personalSettings .mySettings form .dob #dateOfBirthInput {
  display: none;
}

.personalSettings .mySettings form .settingsSubmit {
  justify-content: center;
  align-items: baseline;
  height: 50px;
}

.personalSettings .mySettings form .settingsSubmit a {
  flex-basis: 40%;
  margin: 0 10% 0 0;
  text-align: right;
  color: #F4C374;
}

.personalSettings .mySettings form .settingsSubmit span {
  flex-basis: 40%;
  margin: 0 0 10% 0;
}

.personalSettings .mySettings form .settingsSubmit span button {
  margin: 0;
  width: 120px;
  height: 30px;
  line-height: 30px;
}

.personalSettings .mySettings section {
  width: 100%;
}

.personalSettings .mySettings .settingsSubmitMobile {
  display: none;
}

.personalSettings .notifications {
  height: calc(100% - 90px);
  position: relative;
  padding-top: 20px;
}

.personalSettings .notifications .noticationToggles {
  width: 100%;
  height: calc(100% - 48px);
  position: relative;
  overflow-y: auto;
}

.personalSettings .notifications .noticationToggles .notificationSwitch {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  padding: 0 10px;
  flex-wrap: wrap;
}

@media (max-width: 950px) {
  .personalSettings .notifications .noticationToggles .notificationSwitch {
    width: 100%;
  }
  .personalSettings .notifications .noticationToggles .notificationSwitch label {
    max-width: 75%;
  }
}

@media (max-width: 576px) {
  .personalSettings .filterBar {
    box-shadow: none;
    text-align: center;
  }
  .personalSettings .filterBar h1 {
    color: black;
    font-weight: 700;
  }
  .personalSettings .mySettings form {
    width: 100%;
    text-align: center;
  }
  .personalSettings .mySettings form p {
    margin-top: 5px;
    margin-bottom: 25px;
  }
  .personalSettings .mySettings form .form-group label {
    display: none;
  }
  .personalSettings .mySettings form .form-group input {
    flex-basis: 96%;
    margin: 5px 2%;
    height: 40px;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts {
    flex-basis: 100%;
    align-items: center;
    justify-content: space-evenly;
    margin: 10px 0;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper {
    flex-basis: unset;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin {
    box-shadow: 0px 0px 6px 1px #d4d4d41c;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin i {
    font-size: 16px;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin:not(.mobile), .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin:not(.mobile) {
    display: flex;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin.mobile {
    display: none;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin.mobile {
    display: none;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    margin: 0 calc(50% - 25px);
  }
  .personalSettings .mySettings form .form-group #linkedAccounts p {
    flex-basis: unset;
    margin-left: 20px;
    margin-bottom: 0;
  }
  .personalSettings .mySettings form .settingsSubmit {
    display: none;
  }
  .personalSettings .mySettings form .dob #dateOfBirthInputs {
    display: none;
  }
  .personalSettings .mySettings form .dob #dateOfBirthInput {
    display: block;
  }
  .personalSettings .mySettings section {
    width: 100%;
    text-align: center;
    margin-bottom: 70px;
  }
  .personalSettings .mySettings .settingsSubmitMobile {
    display: flex;
    align-items: center;
    position: absolute;
    height: 50px;
    bottom: 0;
    width: 100%;
    left: 0;
    border-top: 1px solid #B0BAC3;
    background-color: #1F1B20;
  }
  .personalSettings .mySettings .settingsSubmitMobile a {
    flex-basis: 50%;
    text-align: center;
    border-right: 1px solid #B0BAC3;
    font-size: 16px;
  }
  .personalSettings .mySettings .settingsSubmitMobile span {
    flex-basis: 50%;
    display: flex;
    justify-content: center;
  }
  .personalSettings .mySettings .settingsSubmitMobile span button {
    background-color: transparent;
    color: #F4C374;
    border-radius: 0;
    margin: 0;
    width: 100%;
    font-size: 16px;
  }
  .personalSettings .notifications {
    margin: 0;
    padding-top: 0;
  }
  .personalSettings .notifications .noticationToggles .notificationSwitch {
    padding: 30px 4%;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
    border-bottom: 1px solid #B0BAC3;
    align-items: center;
  }
  .personalSettings .notifications .noticationToggles .notificationSwitch .switch {
    height: 32px;
    width: 44px;
  }
  .personalSettings .notifications .noticationToggles .notificationSwitch .switch .slider::before {
    height: 30px;
    width: 30px;
  }
}

.payHistory .filterBar h1 {
  flex-basis: 100%;
}

.payHistory .paymentHistory {
  margin: 0 8%;
}

.payHistory .paymentHistory p {
  margin: 30px 0;
}

.payHistory .paymentHistory table {
  width: 100%;
  font-size: 11px;
}

.payHistory .paymentHistory table tr {
  height: 50px;
  border-bottom: 1px solid #B0BAC3;
}

.payHistory .paymentHistory table a, .payHistory .paymentHistory table p, .payHistory .paymentHistory table span {
  font-size: 11px;
}

.payHistory .paymentTableMobile {
  display: none;
}

@media (max-width: 576px) {
  .payHistory .filterBar {
    box-shadow: none;
    padding: 20px 8% 0;
  }
  .payHistory .filterBar h1 {
    font-size: 18px;
    color: black;
    text-align: center;
  }
  .payHistory table {
    display: none;
  }
  .payHistory .paymentTableMobile {
    display: block;
  }
  .payHistory .paymentTableMobile .paymentDetail {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #B0BAC3;
    padding: 10px 0;
  }
  .payHistory .paymentTableMobile .paymentDetail > * {
    flex-basis: 50%;
  }
  .payHistory .paymentTableMobile .paymentDetail p {
    margin: 0;
  }
  .payHistory .paymentTableMobile .paymentDetail span {
    font-size: 11px;
  }
  .payHistory .paymentTableMobile .paymentDetail p, .payHistory .paymentTableMobile .paymentDetail .rightSpan {
    text-align: right;
  }
  .payHistory .paymentTableMobile .paymentDetail .paymentTotal {
    text-align: left;
    margin-top: 5px;
  }
  .payHistory .paymentTableMobile .paymentDetail a {
    margin-top: 20px;
  }
  .payHistory .paymentTableMobile .paymentDetail.inactive {
    color: #B0BAC3;
  }
  .payHistory .paymentTableMobile .paymentDetail.inactive a {
    font-size: 11px;
  }
  .payHistory .paymentTableMobile .paymentDetail.inactive span.inactivePayment {
    font-size: 14px;
    pointer-events: none;
    color: #B0BAC3;
  }
  .payHistory .paymentTableMobile .paymentDetail.inactive h5, .payHistory .paymentTableMobile .paymentDetail.inactive .paymentTotal {
    font-weight: 700;
  }
}

.locationSettings {
  height: 80vh;
  display: flex;
  flex-direction: column;
}

.locationSettings .myLocations {
  display: flex;
  height: 100%;
  margin-top: -10px;
}

.locationSettings .myLocations .locationsPanel {
  flex-basis: 50%;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 30px 8% 0;
}

.locationSettings .myLocations .locationsPanel .searchLocation {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.locationSettings .myLocations .locationsPanel .searchLocation .inputWithButtonFormControl {
  display: flex;
  z-index: 1;
  width: 100%;
}

@media (min-width: 992px) {
  .locationSettings .myLocations .locationsPanel .searchLocation .inputWithButtonFormControl {
    width: 100%;
  }
}

.locationSettings .myLocations .locationsPanel .searchLocation .inputWithButtonFormControl .fancyDropdown-wrapper {
  width: 90%;
  margin-left: 5%;
}

@media (min-width: 992px) {
  .locationSettings .myLocations .locationsPanel .searchLocation .inputWithButtonFormControl .fancyDropdown-wrapper {
    width: 100%;
    margin-left: 0;
    margin-right: 10px;
  }
}

.locationSettings .myLocations .locationsPanel .searchLocation label {
  flex-basis: 100%;
  font-size: 14px;
}

.locationSettings .myLocations .locationsPanel .searchLocation input {
  flex-basis: 50%;
}

@media (max-width: 1040px) {
  .locationSettings .myLocations .locationsPanel .searchLocation input {
    flex-basis: 100%;
  }
}

.locationSettings .myLocations .locationsPanel .searchLocation .buttonWrapper {
  flex-basis: 50%;
  display: flex;
  justify-content: center;
}

@media (max-width: 1040px) {
  .locationSettings .myLocations .locationsPanel .searchLocation .buttonWrapper {
    margin-top: 15px;
    margin-left: 25%;
  }
}

.locationSettings .myLocations .locationsPanel .searchLocation .buttonWrapper button {
  margin: 0;
  width: 100px;
}

.locationSettings .myLocations .locationsPanel .savedLocations {
  overflow-y: auto;
  height: 100%;
}

.locationSettings .myLocations .locationsPanel .savedLocations h4 {
  margin-bottom: 20px;
}

.locationSettings .myLocations .locationsPanel .savedLocations .savedLocation {
  display: flex;
  align-items: center;
  height: 40px;
  border-top: 1px solid #B0BAC3;
}

.locationSettings .myLocations .locationsPanel .savedLocations .savedLocation i {
  margin-left: auto;
}

.locationSettings .myLocations .locationsPanel .savedLocations .savedLocation p {
  margin: 0;
}

.locationSettings .myLocations .locationsPanel img {
  height: 25px;
}

.locationSettings .myLocations .mapPanel {
  flex-basis: 50%;
  height: 500px;
}

@media (max-width: 576px) {
  .locationSettings .myLocations .mapPanel {
    flex-basis: unset;
    height: 248px;
    margin-top: 10px;
  }
}

.locationSettings .myLocations .mapPanel #googleMap {
  height: 100%;
  border-radius: 0;
  background-color: #B0BAC3;
}

@media (max-width: 576px) {
  .locationSettings .myLocations .mapPanel #googleMap {
    height: 248px;
  }
}

.locationSettings .myLocations .editFilterBar {
  display: none;
}

@media (max-width: 576px) {
  .locationSettings .filterBar {
    display: none;
  }
  .locationSettings .myLocations {
    flex-direction: column;
    order: 1;
  }
  .locationSettings .myLocations .locationsPanel {
    order: 1;
    padding-top: 40px;
  }
  .locationSettings .myLocations .locationsPanel .searchLocation {
    position: absolute;
    top: 222px;
    width: 100%;
    margin-left: -8%;
  }
  .locationSettings .myLocations .locationsPanel .searchLocation label {
    display: none;
  }
  .locationSettings .myLocations .locationsPanel .searchLocation input {
    flex-basis: 90%;
    margin: 4px 0 0;
    height: 40px;
    z-index: 3;
  }
  .locationSettings .myLocations .locationsPanel .searchLocation .buttonWrapper {
    display: none;
  }
  .locationSettings .myLocations .editFilterBar .deleteButton {
    color: #F4C374;
  }
  .locationSettings .myLocations .editFilterBar {
    display: flex;
  }
}

.notificationSettings .filterBar h1 {
  flex-basis: 100%;
}

.notificationSettings .notifications {
  margin: 0 8%;
  height: calc(100% - 90px);
  position: relative;
}

.notificationSettings .notifications p {
  margin: 20px 0 30px;
}

.notificationSettings .notifications .noticationToggles {
  width: 100%;
  height: calc(100% - 48px);
  position: relative;
  overflow-y: auto;
}

.notificationSettings .notifications .noticationToggles .notificationSwitch {
  display: flex;
  justify-content: space-between;
  width: 70%;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.notificationSettings .notifications .noticationToggles .newAdFilters {
  display: none;
  flex-basis: 100%;
  position: relative;
  max-height: 310px;
  margin-bottom: 20px;
  border-bottom: solid 1px #B0BAC3;
  border-top: solid 1px #B0BAC3;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories {
  flex-basis: 200px;
  background-color: #1F1B20;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories {
  overflow-y: auto;
  height: 230px;
  padding: 0 8%;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 45px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory p {
  margin: 0;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory i {
  font-weight: 400;
  cursor: pointer;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory i:hover {
  font-weight: 900;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory.active p {
  color: #F4C374;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory:hover p {
  color: #B8823E;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories button {
  height: 30px;
  width: 120px;
  margin: 24px calc(50% - 60px);
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns {
  flex-basis: calc(100% - 200px);
  display: flex;
  flex-wrap: wrap;
  overflow-y: auto;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group {
  flex-basis: calc(33.33% - 24px);
  margin: 10px 12px;
  height: 40px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label {
  position: absolute;
  width: 100%;
  height: 100%;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label img.iconLeft {
  left: 8px;
  right: unset;
  bottom: 11px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label img.iconRight {
  right: 8px;
  bottom: 11px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label i {
  right: 17px;
  bottom: 17px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group input, .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group select {
  height: 30px;
  padding: 2px 36px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost label img {
  left: 2px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost .costInputWrapper {
  position: relative;
  width: 100%;
  display: flex;
  border-radius: 28px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost .costInputWrapper:focus-within {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost .costInputLeft {
  border-right: none;
  border-radius: 28px 0 0 28px;
  padding: 5px 22px;
  text-align: center;
  width: 50%;
  margin: 0;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost .costInputRight {
  padding: 5px 22px;
  text-align: center;
  width: 50%;
  margin: 0;
  border-left: none;
  border-radius: 0 28px 28px 0;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost .costInputLeft:focus, .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost .costInputRight:focus {
  box-shadow: none;
  border-right: none;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .boxText {
  height: 30px;
  line-height: 30px;
  bottom: 10px;
  text-align: center;
}

.notificationSettings .notifications .registerForm .phoneNumberInputGroup {
  border-radius: 28px;
  box-shadow: 0 0 6px #8888882E;
}

.notificationSettings .notifications .registerForm .phoneNumberInputGroup .input-group-text {
  padding: 0 12px;
  border: none;
}

.notificationSettings .notifications .registerForm .phoneNumberInputGroup input {
  box-shadow: none;
}

@media (max-width: 1255px) {
  .notificationSettings .notifications .notificationToggles .newAdFilters .adFilterDropdowns .form-group {
    flex-basis: calc(50% - 50px);
  }
}

@media (max-width: 1020px) {
  .notificationSettings .notifications .notificationToggles .newAdFilters .adFilterDropdowns .form-group {
    flex-basis: calc(50% - 20px);
    margin: 10px;
  }
}

@media (max-width: 950px) {
  .notificationSettings .notifications .noticationToggles .notificationSwitch {
    width: 100%;
  }
  .notificationSettings .notifications .noticationToggles .notificationSwitch label {
    max-width: 75%;
    font-weight: 400;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns {
    flex-direction: column;
    flex-wrap: nowrap;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label img.iconLeft {
    bottom: 2px;
    left: 5px;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label img.iconRight {
    bottom: 2px;
    right: 5px;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label i {
    right: 15px;
    bottom: 8px;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .boxText {
    bottom: 0;
  }
}

@media (max-width: 576px) {
  .notificationSettings .filterBar {
    box-shadow: none;
    padding: 20px 8% 0;
  }
  .notificationSettings .filterBar h1 {
    font-size: 18px;
    color: black;
    text-align: center;
  }
  .notificationSettings .notifications {
    margin: 0;
  }
  .notificationSettings .notifications p {
    margin: 20px 4%;
    text-align: center;
  }
  .notificationSettings .notifications .noticationToggles .notificationSwitch {
    padding: 30px 4%;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
    border-bottom: 1px solid #B0BAC3;
    align-items: center;
  }
  .notificationSettings .notifications .noticationToggles .notificationSwitch label.strongBlk {
    max-width: unset;
  }
  .notificationSettings .notifications .noticationToggles .notificationSwitch .switch {
    height: 32px;
    width: 44px;
  }
  .notificationSettings .notifications .noticationToggles .notificationSwitch .switch .slider::before {
    height: 30px;
    width: 30px;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories {
    flex-basis: 100%;
    background-color: #F4C374;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories {
    color: white;
    padding: 0;
    min-height: 300px;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .mobileHeading {
    display: block;
    color: white;
    margin: 30px;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .mobileHeading h2 {
    font-weight: 700;
    text-align: center;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory {
    border-top: 1px solid #1F1B20;
    padding: 0 4%;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory.active p {
    color: white;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories button {
    display: none;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns {
    display: none;
    flex-basis: 100%;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns h2 {
    text-align: center;
    font-weight: 700;
    margin: 20px 0;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group {
    height: 40px;
    margin: 30px 4%;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group input, .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group select {
    height: 48px;
  }
  .notificationSettings .notifications .registerForm {
    padding: 18px;
  }
}

@media (max-width: 385px) {
  .notificationSettings .notifications .noticationToggles .notificationSwitch label.strongBlk {
    max-width: 230px;
  }
}

.categorySettings .filterBar h1 {
  flex-basis: 100%;
}

.categorySettings .favouriteCategories {
  margin: 0 8%;
}

.categorySettings .favouriteCategories p {
  margin: 30px 0;
}

.categorySettings .favouriteCategories .categoriesWrapper {
  display: flex;
  justify-content: space-evenly;
}

.categorySettings .favouriteCategories .categories {
  display: inline-block;
  width: 35%;
}

.categorySettings .favouriteCategories .categories .favouriteToggle {
  width: 100%;
  display: inline-block;
  margin-bottom: 20px;
}

.categorySettings .favouriteCategories .categories .favouriteToggle img {
  display: inline-block;
  width: 40px;
  width: 40px;
  height: 40px;
  border-radius: 10px;
}

.categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch {
  display: inline-block;
  width: calc(100% - 63px);
  margin-left: 20px;
}

.categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch label {
  margin: 0;
  width: calc(100% - 74px);
}

.categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch .switch,
.categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch .dropdownSwitch {
  width: 34px;
  float: right;
  margin-right: 10px;
}

@media (max-width: 1080px) {
  .categorySettings .favouriteCategories .categories {
    width: 50%;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle {
    flex-basis: 100%;
  }
}

@media (max-width: 576px) {
  .categorySettings .filterBar {
    box-shadow: none;
    padding: 20px 8% 0;
  }
  .categorySettings .filterBar h1 {
    font-size: 18px;
    color: black;
    text-align: center;
  }
  .categorySettings .favouriteCategories {
    margin: 0;
  }
  .categorySettings .favouriteCategories p {
    text-align: center;
    margin: 20px 4%;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle {
    border-bottom: 1px solid #B0BAC3;
    padding: 20px 4%;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle img {
    flex-basis: 60px;
    height: 60px;
    width: 60px;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch {
    width: calc(100% - 83px);
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch label.strongBlk {
    font-size: 16px;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch label#categoryFilter {
    height: 42px;
    width: 54px;
    flex-basis: 54px;
    margin-top: -7px;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch label#categoryFilter .slider::before,
  .categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch label#categoryFilter .dropdownToggle::before {
    height: 40px;
    width: 40px;
  }
}

@media (max-width: 865px) {
  .categorySettings .favouriteCategories .categoriesWrapper {
    display: block;
  }
  .categorySettings .favouriteCategories .categories {
    width: 100%;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle {
    display: block;
    width: 100%;
  }
}

@media (max-width: 1125px) {
  .filterBar {
    padding: 0 4%;
  }
  .filterBar h1 {
    flex-basis: 35%;
    font-size: 14px;
  }
  .filterBar h1 span {
    font-size: 14px;
  }
  .filterBar .rightFilterBar {
    flex-basis: 65%;
  }
}

@media (max-width: 825px) {
  .filterBar .rightFilterBar {
    flex-basis: 100%;
    justify-content: center;
  }
  .filterBar .rightFilterBar a {
    text-align: right;
  }
}

.filterBar {
  display: flex;
  flex-direction: row;
  margin-bottom: 10px;
  box-shadow: 0 4px 6px #d4d4d41c;
  align-items: center;
  padding: 20px 8%;
  justify-content: space-between;
}

.filterBar h1 {
  margin: 0;
  flex-basis: 200px;
}

.filterBar .rightFilterBar {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-basis: calc(100% - 200px);
}

.filterBar .rightFilterBar a {
  flex-basis: 60px;
  text-align: right;
}

.filterBar .rightFilterBar .dropdown {
  flex-basis: calc(100% - 60px);
  margin-right: 0;
}

.filterBar .hideBar {
  display: none;
}

.subCategories {
  display: none;
  width: 100%;
  margin: 15px;
  max-height: 206px;
  padding: 20px 0;
  overflow: auto;
}

.subCategories .subCategory {
  display: flex;
  height: 53px;
}

.subCategories .subCategory input {
  height: 20px;
  width: 27px;
}

.subCategories .subCategory label {
  margin-left: 10px;
  height: 20px;
  line-height: 20px;
}

.companyProfile {
  position: relative;
  padding-left: 8%;
  display: flex;
  flex-direction: row;
  min-height: 500px;
  max-height: 92vh;
  margin-bottom: -15px;
}

.companyProfile .results {
  overflow-y: auto;
}

.companyProfile .results .filterBar {
  height: 80px;
  justify-content: flex-end;
}

.companyProfile .results .wrapper {
  height: 89%;
  padding-top: 10px;
}

.companyProfile hr {
  margin-left: 8%;
}

.companyProfile .advancedSearchLink {
  display: flex;
  justify-content: center;
  align-items: baseline;
}

.companyProfile .advancedSearchLink h5 {
  margin-right: 0;
}

.companyProfile .advancedSearchLink i {
  font-size: 14px;
  margin-left: 10px;
}

.companyProfile .recommendedListings {
  order: 6;
}

.companyProfile .recommendedListings .recentlyAdded .wrapper {
  padding: 10px 0 0 0;
}

@media (max-width: 800px) {
  .companyProfile .results .sortBy h5 {
    display: none;
  }
}

@media (max-width: 710px) {
  .companyProfile {
    padding-left: 4%;
  }
}

@media (max-width: 675px) {
  .companyProfile {
    padding-left: 0;
  }
}

@media (max-width: 648px) {
  .companyProfile .results .pagination h5 {
    display: none;
  }
}

@media (max-width: 590px) {
  .companyProfile .results .pagination {
    padding-left: 0;
  }
  .companyProfile .results .pagination h5 {
    display: none;
  }
}

.iw {
  width: 100%;
  height: 80px;
  margin-bottom: 30px;
  position: relative;
}

.iw .mainImage {
  width: 100%;
  height: 80px;
}

.iw .profileAvatar {
  position: absolute;
  left: calc(50% - 30px);
  width: 60px;
  height: 60px;
  border-radius: 30px;
  bottom: -30px;
  box-shadow: 0px 0px 8px black;
}

.companyName {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 20px 0;
  text-align: center;
}

.companyName h1 {
  flex-basis: 100%;
  font-size: 20px;
  font-weight: 700;
}

.companyBio {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 10px 8% 0;
}

.companyBio label {
  margin-right: 10px;
  color: white;
}

.companyBio a {
  color: #F4C374;
}

.companyBio .phoneInfo {
  flex-basis: 100%;
}

.companyBio .companyInfo p {
  text-align: left;
}

.filterTotal {
  display: flex;
  justify-content: space-between;
  padding: 20px 8% 0;
}

.filterTotal span p {
  margin-bottom: 0;
}

.results .filterTotal {
  display: none;
}

@media (max-width: 950px) {
  .companyBio > div {
    margin-top: 5px;
  }
  .companyBio hr {
    margin-left: 0;
    margin-bottom: 10px;
    width: 100%;
  }
}

@media (max-width: 576px) {
  .companyProfile {
    padding: 0;
    max-height: unset;
  }
  .results .filterTotal {
    display: flex;
    align-items: baseline;
    padding-top: 0;
  }
  .results .filterTotal a {
    order: 2;
  }
  .results .filterTotal span {
    color: black;
    order: 1;
  }
  .results .sortBy {
    flex-basis: 100%;
    margin: 0 20%;
  }
  .results .sortBy h5 {
    display: none;
  }
  .results .sortBy label {
    width: 100%;
    left: unset;
  }
  .results .sortBy label i {
    right: 28px;
    bottom: 6px;
  }
  .results .sortBy select {
    order: 4;
    width: 100%;
    flex-basis: 100%;
    box-shadow: 0 0 3px 1px #00000040;
    height: 40px;
    line-height: 40px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .results .filterBar {
    order: 5;
    box-shadow: none;
  }
  .results .filterBar .distanceInput, .results .filterBar .pagination {
    display: none;
  }
  .results .costInput label img {
    top: 8px;
  }
  .results span {
    text-align: center;
    height: 20px;
    line-height: 20px;
    margin-top: 20px;
    order: 3;
    font-size: 12px;
    color: #F4C374;
  }
  .results .wrapper {
    order: 5;
  }
  .results .wrapper .listing {
    height: auto;
  }
}

.ui-autocomplete {
  border-radius: 0px 0px 10px 10px;
  border: none;
}

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.articleView {
  display: flex;
  padding: 0 8%;
}

.articlesPanel {
  padding-top: 70px;
  min-height: 80vh;
  text-align: initial;
}

.menuLink a {
  margin-left: 20px;
}

.articles {
  flex-basis: 100%;
}

.categoryTitle {
  font-size: 18px;
  font-weight: 700;
}

#showCategoryItems {
  width: 150px;
  margin-left: calc(50% - 75px);
}

#rightPanel {
  padding: 20px 10px;
}

.squareBanner {
  max-width: 250px;
  max-height: 250px;
  margin-bottom: 20px;
  overflow: hidden;
}

.squareBanner.mobileView {
  display: none;
}

#relatedItems {
  display: none;
}

#relatedItems .relatedItemsCarousel {
  width: 70vw;
  margin: auto;
}

#relatedItems .relatedItemsCarousel .slick-dots {
  bottom: -35px;
}

.article .articleHeading {
  display: flex;
  padding: 0 8%;
  align-items: center;
  min-height: 70px;
  box-shadow: 0px 3px 4px 0px #0000003b;
}

.article .articleHeading h1 {
  margin-bottom: 0;
  padding: 20px 0;
}

.article .articleExcerpt {
  padding: 20px 8% 0;
}

.article .articleExcerpt p {
  font-weight: 700;
  font-size: 16px;
}

.article .articleBody {
  padding: 30px 8% 0;
}

.article .articleBody .termStatement {
  margin-bottom: 30px;
}

.article .articleBody .banner {
  padding: 40px 0;
  text-align: center;
}

.article .articleBody .banner img {
  max-width: 100%;
}

.article .articleBody .relatedItem {
  padding: 25px 0;
}

.article .articleBody .relatedItem .listing {
  display: grid;
  grid-template-areas: 'image detail';
  grid-template-columns: 47% 53%;
}

.article .articleBody .relatedItem .imageWrapper {
  grid-area: image;
}

.article .articleBody .relatedItem .listingDetail {
  padding-left: 25px;
  margin: 0;
  grid-area: detail;
  display: grid;
  grid-template-areas: 'title' 'location' 'description' 'price';
  grid-template-rows: 15% 20% minmax(0, auto) 15%;
}

.article .articleBody .relatedItem .listingDetail .listingInfo {
  grid-area: title;
  overflow: hidden;
  white-space: nowrap;
  font-weight: 700;
  margin: 0;
}

.article .articleBody .relatedItem .listingDetail .listingLocation {
  grid-area: location;
}

.article .articleBody .relatedItem .listingDetail .description {
  grid-area: description;
  overflow: hidden;
}

.article .articleBody .relatedItem .listingDetail .price {
  grid-area: price;
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #F4C374;
}

.article .articleBody .relatedArticles {
  padding-top: 25px;
}

.article .articleBody .relatedArticles a {
  color: #000000;
}

.article .articleBody .relatedArticles li {
  padding: 0.25rem 0;
}

.article h1 {
  text-align: center;
  font-weight: 700;
  color: #F4C374;
}

.article hr {
  margin: 1rem 0;
  width: 100%;
}

.article ol, .article ul {
  padding-left: 0;
  list-style-position: inside;
}

.article ol h3, .article ul h3 {
  text-align: center;
}

.articleNumberList ::marker {
  content: counters(list-item, ".") ". ";
  font-weight: bold;
}

.articleLetterList {
  margin-top: -1rem;
  margin-left: 7px;
}

.articleLetterList ::marker {
  font-weight: bold;
}

.articleContentHp {
  height: calc(100% - 50px);
  overflow: hidden;
  position: absolute;
}

.articleContentHp :after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 2rem;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), white);
}

@media (max-width: 1279px) {
  #leftPanel {
    display: none;
  }
  .article .articleHeading {
    box-shadow: none;
  }
  .article .articleExcerpt {
    padding-top: 0;
  }
}

@media (max-width: 992px) {
  .article .articleBody .relatedItem .listingDetail .price {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  #rightPanel {
    display: none;
  }
  #relatedItems {
    display: initial;
  }
  .squareBanner.mobileView {
    display: block;
    margin: 50px auto 0;
  }
  .articleContentHp a, p {
    font-size: 12px;
  }
}

@media (max-width: 576px) {
  .article .articleBody .relatedItem .listing {
    grid-template-areas: 'image' 'detail';
    grid-template-columns: auto;
  }
  .article .articleBody .relatedItem .listingDetail {
    padding-left: 0;
    padding-top: 15px;
    display: grid;
    grid-template-areas: 'title title' 'price location' 'description description';
    grid-template-rows: 20% 25% minmax(0, 100px);
  }
  .article .articleBody .relatedItem .listingDetail .listingInfo {
    font-size: 20px;
  }
  .article .articleBody .relatedItem .listingDetail .listingLocation {
    text-align: end;
  }
  .article .articleBody .relatedItem .listingDetail .description {
    margin-bottom: 0;
  }
  .article .articleBody .relatedItem .listingDetail .price {
    font-size: 20px;
  }
}

#cookiesPopup {
  position: fixed;
  z-index: 10000;
  width: 100%;
  bottom: 0;
}

#cookiesPopup .wrapper {
  margin: 0 auto;
  width: 100%;
  position: relative;
  background-color: #1F1B20;
}

#cookiesPopup .inner {
  min-height: 35px;
  line-height: 25px;
  font-size: 11px;
  z-index: 1066;
  width: 100%;
  padding: 5px 10px;
  margin: 0px auto;
  text-align: center;
}

#cookiesPopup .agree {
  margin: 0px auto;
  background-color: #F4C374;
  cursor: pointer;
  height: 44px;
  line-height: 44px;
  color: #1F1B20;
  border-radius: 25px;
}

#cookiesPopup .agree:hover, #cookiesPopup .agree:focus {
  background-color: #B8823E;
}

@media (max-width: 768px) {
  #cookiesPopup .inner {
    line-height: 16px;
    text-align: center;
  }
  #cookiesPopup .agree {
    display: inline-block;
    margin-top: 5px;
    margin-bottom: 5px;
  }
}

@media (min-width: 768px) and (hover: hover) {
  button:not(.noHover):hover, .button:hover, .searchButton:hover, .searchButtonMobile:hover, .nav-item.active:hover {
    background-color: #B8823E;
  }
  button.navbar-toggler:hover {
    background-color: #1F1B20;
  }
  .advancedSearchMenu #advancedSearch #advancedSearchLinkClose:hover {
    text-decoration: underline;
    color: #B8823E;
  }
  .blkLink:hover {
    color: #B8823E;
  }
  .kategorie a:hover {
    text-decoration: none;
  }
  a.underline:hover {
    color: #B8823E;
  }
  .itemDetail .itemDetailContainer .rightPanel .contactListings a.button:hover {
    color: #1F1B20;
  }
  .profileMenuLink:hover, .menuLink:hover {
    background-color: #B8823E;
  }
  .profileMenuLink:hover label i, .menuLink:hover label i {
    color: white;
  }
  .profileMenuLink:hover a, .menuLink:hover a {
    color: white;
  }
  .companyProfile .advancedSearchLink:hover {
    text-decoration: underline;
  }
  .listing:hover button {
    visibility: visible;
  }
  .googleLogin:hover {
    background-color: #c63d32;
  }
  .newItem .adminPanel .form-inline .form-submit .saveDraft:hover {
    text-decoration: underline;
  }
  .boardView .listing:hover button {
    visibility: hidden;
  }
  .registerTypeSelection input[type=radio]:hover + label {
    background-color: #B8823E;
    color: #fff;
  }
  .registerTypeSelection input[type=radio]:hover + label > svg {
    fill: #fff;
  }
  .editIcon:hover {
    cursor: pointer;
  }
  .nav-item:not(.active) .nav-link:hover {
    text-decoration: underline;
    color: #F4C374;
  }
}

@media (max-width: 576px) {
  .itemDetail .itemDetailContainer .sellerWrapper a.contactButton:hover {
    color: #1F1B20;
  }
}

#close {
  width: 145px;
  height: 16px;
  font-family: Poppins;
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 18px;
  color: #1570A6;
  background: none;
  position: static;
  margin-left: -45px;
  margin-bottom: 26px;
  margin-top: -20px;
}

#errorMessage {
  color: #FF0000;
  display: none;
}

.copied {
  background-color: #EFF5F9;
  color: #000;
  border: solid black 1px;
  border-radius: 30px;
}

.mailSender {
  display: none;
}

.mailSender input[type=email], .mailSender input[type=text] {
  width: 281px;
  height: 44px;
  background: #FFFFFF;
  box-shadow: 0px 0px 6px 1px rgba(170, 170, 170, 0.18);
  border-radius: 10px;
  font-family: Poppins;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0em;
  text-align: left;
}

.mailSender input::placeholder {
  font-family: Poppins;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0em;
  text-align: left;
}

.mailSender input[type=checkbox] {
  width: 15px;
  height: 15px;
  margin-top: 19px;
  margin-left: 30px;
}

.mailSender input[type=checkbox] {
  position: relative;
}

.mailSender p {
  margin-top: 2px;
  margin-left: 6px;
}

.mailSender #mailCheck {
  font-size: 12px;
  vertical-align: middle;
}

.mailSender textarea {
  width: 100%;
  height: 189px;
  background: #FFFFFF;
  box-shadow: 0px 0px 6px 1px rgba(170, 170, 170, 0.18);
  border-radius: 10px;
  font-family: Poppins;
  font-style: normal;
  font-weight: normal;
  font-size: 12px;
  line-height: 18px;
  padding-top: 12px;
}

.mailSender #sendMail {
  width: 281px;
  height: 40px;
  margin-left: 0;
  margin-bottom: 17px;
  background: #F4C374;
  border-radius: 30px;
}

.mailSender #sendMail i {
  margin-right: 12px;
}

.mailSender #sendMail:disabled {
  background: #FFC374;
}

#copyNumberResponsive {
  width: 95%;
  margin-left: auto;
}

#copyNumberResponsive i {
  margin-right: 4px;
}

#openMailResponsive {
  width: 95%;
  margin-left: auto;
}

#openMailResponsive i {
  margin-right: 4px;
}

#whatsappResponsive {
  width: 95%;
  margin-left: auto;
  text-align: center;
}

#whatsappResponsive i {
  margin-right: 4px;
}

#whatsappResponsive a:hover {
  color: #FFFFFF;
}

#closeResponsive {
  position: static;
  color: #F4C374;
  background: none;
  margin-left: 0;
  text-align: left;
}

#mailInputResponsive {
  width: 100%;
}

#mailBodyResponsive {
  width: 100%;
  padding-top: 12px;
}

#sendMailResponsive {
  width: 100%;
  margin-left: auto;
}

#sendMailResponsive i {
  margin-right: 4px;
}

#mailCheckResponsive {
  width: 100%;
}

#mailCheckBoxResponsive {
  margin-left: 10px;
}

.sellerButtonRowResponsive button {
  text-decoration: none;
}

.sellerButtonRowResponsive a {
  text-decoration: none;
}

.sellerButtonRowResponsive .button {
  text-decoration: none;
}

.error {
  color: red;
}

.inputError {
  border: solid 1px red;
}

#responseErrorMessage,
#responseErrorMessageResponsive {
  display: none;
  color: red;
}

button:disabled {
  background: #FFC374;
}

#copyPhone {
  display: none;
}

#hiddenNumberDiv {
  margin-left: 4px;
  margin-top: 1px;
}

#hiddenNumberDiv p {
  font-size: 30px;
  font-weight: 400;
}

#successResponsive {
  display: block;
  text-align: center;
  color: #11BB55;
  font-size: 20px;
  margin-left: 30%;
  display: none;
}

#hiddenNumberDivResponsive {
  pointer-events: none;
}

#hiddenNumberDivResponsive p {
  color: #212529;
  font-size: 30px;
  font-weight: 400;
}

.headerSearchWidget {
  display: none;
}

@media (min-width: 992px) {
  .headerSearchWidget {
    display: block;
  }
}

.headerSearchWidget .fancyDropdownList > li:last-child {
  margin-bottom: 25px;
}

.headerSearchWidget.hideNseek {
  display: none;
}

.headerSearchWidget.hideNseek.unhide {
  display: none;
}

@media (min-width: 992px) {
  .headerSearchWidget.hideNseek.unhide {
    display: block;
  }
}

html, body, #vueApp {
  height: 100%;
}

body {
  background-color: #1F1B20;
  color: white;
}

a:hover {
  color: #B8823E;
}

hr {
  width: 84%;
  margin: 0px;
}

hr.fullRule {
  width: 100%;
  margin: 0 auto 1rem;
}

hr.footerHr {
  margin: 0 auto 1rem;
}

.ui-autocomplete {
  border-radius: 0 0 10px 10px;
  box-shadow: 0 4px 0 0.2rem rgba(0, 123, 255, 0.25);
  padding-top: 10px !important;
  top: 0px !important;
  margin-top: 27px !important;
  border: none !important;
  z-index: 2 !important;
}

.ui-autocomplete:empty {
  box-shadow: none;
}

.ui-menu .ui-menu-item-wrapper {
  padding: 3px 1em 3px 1.4em !important;
}

.blueText {
  color: #F4C374;
}

.blueBorder {
  border: 1px solid #F4C374;
}

.blueBorderBottom {
  border-bottom: 1px solid #F4C374;
}

.transparentBorder {
  border: 1px solid transparent;
}

.brightBlueText {
  color: #0076ac;
}

.orangeText {
  color: #F4C374;
}

.greyText {
  color: #B0BAC3;
}

.ta-r {
  text-align: right;
}

.fb-100 {
  flex-basis: 100% !important;
}

.flex {
  display: flex;
}

.hidden {
  display: none;
}

/* Inserting this collapsed row between two flex items will make
 * the flex item that comes after it break to a new row */
.break {
  flex-basis: 100%;
  height: 0;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXMiOlsiYXBwLnNjc3MiLCJ2YXJpYWJsZXMuc2NzcyIsInBsYWNlaG9sZGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19kZXByZWNhdGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvZGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXZiYXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FsZXJ0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21lZGlhLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9hc3RzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL191dGlsaXRpZXMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19ib3JkZXJzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19pbnRlcmFjdGlvbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2stdGhlbWUuc2NzcyIsIkNvbXBvbmVudHMvYnV0dG9ucy5zY3NzIiwiQ29tcG9uZW50cy9jYXJvdXNlbHMuc2NzcyIsIkNvbXBvbmVudHMvbmF2aWdhdGlvbi5zY3NzIiwiQ29tcG9uZW50cy9mb290ZXIuc2NzcyIsIkNvbXBvbmVudHMvdGhlbWVUb2dnbGUuc2NzcyIsIkNvbXBvbmVudHMvdGhlbWVEcm9wZG93blRvZ2dsZS5zY3NzIiwiQ29tcG9uZW50cy9qdW1ib3Ryb24uc2NzcyIsIkNvbXBvbmVudHMvcmVjZW50bHlBZGRlZC5zY3NzIiwiQ29tcG9uZW50cy9yZWNlbnRseU9wZW5lZC5zY3NzIiwiQ29tcG9uZW50cy9wYXltZW50LnNjc3MiLCJDb21wb25lbnRzL2NvbmZpcm1hdGlvbi5zY3NzIiwiQ29tcG9uZW50cy9pdGVtRGV0YWlsLnNjc3MiLCJDb21wb25lbnRzL3Rvb2x0aXBzLnNjc3MiLCJDb21wb25lbnRzL2NhdGVnb3JpZXMuc2NzcyIsIkNvbXBvbmVudHMvc2ltaWxhckFkcy5zY3NzIiwiQ29tcG9uZW50cy9saXN0aW5nLnNjc3MiLCJDb21wb25lbnRzL3RvcENhdGVnb3JpZXMuc2NzcyIsIkNvbXBvbmVudHMvY2F0ZWdvcnlJbnRlcmVzdHMuc2NzcyIsIkNvbXBvbmVudHMvY2F0ZWdvcnkuc2NzcyIsIkNvbXBvbmVudHMvcmVjb21tZW5kZWRMaXN0aW5ncy5zY3NzIiwiQ29tcG9uZW50cy9zZWFyY2hSZXN1bHRzLnNjc3MiLCJDb21wb25lbnRzL25ld0l0ZW0uc2NzcyIsIkNvbXBvbmVudHMvZXJyb3JQYWdlcy5zY3NzIiwiQ29tcG9uZW50cy93cmFwcGVycy5zY3NzIiwiQ29tcG9uZW50cy9oZWFkaW5ncy5zY3NzIiwiQ29tcG9uZW50cy9sb2dpblJlZ2lzdGVyLnNjc3MiLCJDb21wb25lbnRzL2dvb2dsZU1hcC5zY3NzIiwiQ29tcG9uZW50cy9nbG9iYWwuc2NzcyIsIkNvbXBvbmVudHMvZm9ybXMuc2NzcyIsIkNvbXBvbmVudHMvYm9hcmRzLnNjc3MiLCJDb21wb25lbnRzL21vZGFscy5zY3NzIiwiQ29tcG9uZW50cy9maWx0ZXJQYW5lbC5zY3NzIiwiQ29tcG9uZW50cy9wcm9maWxlLnNjc3MiLCJDb21wb25lbnRzL3Byb2ZpbGVNZW51LnNjc3MiLCJDb21wb25lbnRzL3Byb2ZpbGVNZW51TGlua3Muc2NzcyIsIkNvbXBvbmVudHMvY29tcGFueVByb2ZpbGUuc2NzcyIsIkNvbXBvbmVudHMvYXV0b2NvbXBsZXRlLnNjc3MiLCJDb21wb25lbnRzL2FydGljbGUuc2NzcyIsIkNvbXBvbmVudHMvY29va2llc1BvcHVwLnNjc3MiLCJob3ZlclJ1bGVzLnNjc3MiLCJDb21wb25lbnRzL21haWxTZW5kZXIuc2NzcyIsIkNvbXBvbmVudHMvaGVhZGVyU2VhcmNoV2lkZ2V0LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0IG92ZXJyaWRlIHZhcmlhYmxlc1xuQGltcG9ydCAndmFyaWFibGVzLnNjc3MnO1xuQGltcG9ydCAncGxhY2Vob2xkZXJzLnNjc3MnO1xuXG4vLyBJbXBvcnQgQm9vdHN0cmFwIGFuZCBpdHMgZGVmYXVsdCB2YXJpYWJsZXNcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAuc2Nzcyc7XG5cbkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzJztcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZS5zY3NzJztcblxuLy8gSW1wb3J0IENvbXBvbmVudHNcblxuQGltcG9ydCBcIkNvbXBvbmVudHMvYnV0dG9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9jYXJvdXNlbHMuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvbmF2aWdhdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9mb290ZXIuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvdGhlbWVUb2dnbGUuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvdGhlbWVEcm9wZG93blRvZ2dsZS5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9qdW1ib3Ryb24uc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvcmVjZW50bHlBZGRlZC5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9yZWNlbnRseU9wZW5lZC5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9wYXltZW50LnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL2NvbmZpcm1hdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9pdGVtRGV0YWlsLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL3Rvb2x0aXBzLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL2NhdGVnb3JpZXMuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvc2ltaWxhckFkcy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9saXN0aW5nLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL3RvcENhdGVnb3JpZXMuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvY2F0ZWdvcnlJbnRlcmVzdHMuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvY2F0ZWdvcnkuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvcmVjb21tZW5kZWRMaXN0aW5ncy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9zZWFyY2hSZXN1bHRzLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL25ld0l0ZW0uc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvZXJyb3JQYWdlcy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy93cmFwcGVycy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9oZWFkaW5ncy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9sb2dpblJlZ2lzdGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL2dvb2dsZU1hcC5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9nbG9iYWwuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvZm9ybXMuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvYm9hcmRzLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL21vZGFscy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9maWx0ZXJQYW5lbC5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9wcm9maWxlLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL3Byb2ZpbGVNZW51LnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL3Byb2ZpbGVNZW51TGlua3Muc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvY29tcGFueVByb2ZpbGUuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvYXV0b2NvbXBsZXRlLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL2FydGljbGUuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvY29va2llc1BvcHVwLnNjc3NcIjtcbkBpbXBvcnQgXCJob3ZlclJ1bGVzLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL21haWxTZW5kZXIuc2Nzc1wiO1xuXG4vLyBJbXBvcnQgVnVlIENvbXBvbmVudHNcbkBpbXBvcnQgXCJDb21wb25lbnRzL2hlYWRlclNlYXJjaFdpZGdldC5zY3NzXCI7XG5cbmh0bWwsIGJvZHksICN2dWVBcHAge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuYTpob3ZlciB7XG4gICAgY29sb3I6ICRsaWdodC1vcmFuZ2UtYWN0aXZlO1xufVxuXG5ociB7XG4gICAgd2lkdGg6IDg0JTtcbiAgICBtYXJnaW46IDBweDtcbn1cblxuaHIuZnVsbFJ1bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvIDFyZW07XG59XG5cbmhyLmZvb3RlckhyIHtcbiAgICBtYXJnaW46IDAgYXV0byAxcmVtO1xufVxuXG4udWktYXV0b2NvbXBsZXRlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xuICAgIHBhZGRpbmctdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAyN3B4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogMiAhaW1wb3J0YW50O1xuXG4gICAgJjplbXB0eSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4udWktbWVudSB7XG4gICAgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogM3B4IDFlbSAzcHggMS40ZW0gIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5ibHVlVGV4dCB7XG4gICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG59XG5cbi5ibHVlQm9yZGVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtb3JhbmdlO1xufVxuXG4uYmx1ZUJvcmRlckJvdHRvbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1vcmFuZ2U7XG59XG5cbi50cmFuc3BhcmVudEJvcmRlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5icmlnaHRCbHVlVGV4dCB7XG4gICAgY29sb3I6ICRicmlnaHQtYmx1ZTtcbn1cblxuLm9yYW5nZVRleHQge1xuICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xufVxuXG4uZ3JleVRleHQge1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbn1cblxuLnRhLXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZmItMTAwIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8vIHV0aWxpdGllc1xuXG4uZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSW5zZXJ0aW5nIHRoaXMgY29sbGFwc2VkIHJvdyBiZXR3ZWVuIHR3byBmbGV4IGl0ZW1zIHdpbGwgbWFrZVxuICogdGhlIGZsZXggaXRlbSB0aGF0IGNvbWVzIGFmdGVyIGl0IGJyZWFrIHRvIGEgbmV3IHJvdyAqL1xuLmJyZWFrIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbn1cbiIsIi8vIEdMT0JBTFxuJGRlZmF1bHQtbWFyZ2luOiAwIDglO1xuJGRlZmF1bHQtbW9iaWxlLW1hcmdpbjogMCA0JTtcbiRkZWZhdWx0LXBhZGRpbmc6IDAgOCU7XG4kZGVmYXVsdC1tb2JpbGUtcGFkZGluZzogMCA0JTtcbiRkZWZhdWx0LWZvbnQtc2l6ZTogMTJweDtcbiRkZWZhdWx0LWxhcmdlLWZvbnQtc2l6ZTogMTZweDtcbiRkZWZhdWx0LWZvbnQtc2l6ZS1tb2JpbGU6IDE0cHg7XG4kZm9udC1mYW1pbHktYmFzZTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuLy8gJGRlZmF1bHRfYm94X3NoYWRvd19jb2xvcjogIzg4ODg4ODJFO1xuJGRlZmF1bHRfYm94X3NoYWRvd19jb2xvcjogI2Q0ZDRkNDFjO1xuJGRlZmF1bHRfYm94X3NoYWRvdzogMHB4IDBweCA2cHggMXB4ICRkZWZhdWx0X2JveF9zaGFkb3dfY29sb3I7XG4kZGVmYXVsdF9ib3hfc2hhZG93X25vX3RvcDogMHB4IDZweCA2cHggMXB4ICRkZWZhdWx0X2JveF9zaGFkb3dfY29sb3I7XG5cbi8vIExpZ2h0IFRoZW1lXG4vLyAkbGlnaHQtb3JhbmdlOiAjMTU3MEE2O1xuLy8gJGxpZ2h0LW9yYW5nZS1ob3ZlcjogIzI1ODZCRjtcbi8vICRsaWdodC1vcmFuZ2UtYWN0aXZlOiAjMTE1Qjg3O1xuLy8gJGxpZ2h0LWJsYWNrOiAjRkZGO1xuLy8gJGxpZ2h0LWJsYWNrLWhvdmVyOiAjRjlGOUY5O1xuLy8gJGxpZ2h0LWJsYWNrLWFjdGl2ZTogI0YwRjBGMDtcbi8vICRsaWdodC1mb250LWNvbG9yOiAjMDAwMDAwO1xuLy8gJGxpZ2h0LWFkdmFuY2VkLXNlYXJjaC1jb2xvcjogI0ZBRkFGRjtcbi8vICRsaWdodC1ncmF5LWNvbG9yOiAjQjBCQUMzO1xuLy8gJGxpZ2h0LWRhcmstZ3JheS1jb2xvcjogI0IzQjNCMztcbi8vICRicmlnaHQtYmx1ZTogIzAwNzZhYztcblxuLy8gTGlnaHQgVGhlbWVcbi8vICRsaWdodC1vcmFuZ2U6IHJnYigyMzQsIDE3OSwgOCk7XG4vLyAkbGlnaHQtb3JhbmdlLWhvdmVyOiByZ2IoMjAyLCAxMzgsIDQpO1xuLy8gJGxpZ2h0LW9yYW5nZS1hY3RpdmU6IHJnYigyMDIsIDEzOCwgNCk7XG4kbGlnaHQtb3JhbmdlOiAjRjRDMzc0O1xuJGxpZ2h0LW9yYW5nZS1ob3ZlcjogI0I4ODIzRTtcbiRsaWdodC1vcmFuZ2UtYWN0aXZlOiAjQjg4MjNFO1xuJGxpZ2h0LWJsYWNrOiAjMUYxQjIwO1xuJGxpZ2h0LWJsYWNrLWhvdmVyOiAjRjlGOUY5O1xuJGxpZ2h0LWJsYWNrLWFjdGl2ZTogI0YwRjBGMDtcbiRsaWdodC1mb250LWNvbG9yOiAjMDAwMDAwO1xuJGxpZ2h0LWFkdmFuY2VkLXNlYXJjaC1jb2xvcjogIzFGMUIyMDtcbiRsaWdodC1ncmF5LWNvbG9yOiAjQjBCQUMzO1xuJGxpZ2h0LWRhcmstZ3JheS1jb2xvcjogI0IzQjNCMztcbiRicmlnaHQtYmx1ZTogIzAwNzZhYztcbiRsaWdodC1ncmF5LWJhY2tncm91bmQ6ICNlZmY1ZjkxYjtcblxuLy8gRGFyayBUaGVtZVxuJGRhcmstbmF2YmFyLWNvbnRlbnQtd3JhcHBlcnM6ICMyRjMxMzY7XG4kZGFyay1hZGRyZXNzZXMtaWNvbnMtc2VwZXJhdG9yczogI0IzQjNCMztcbiRkYXJrLW1haW4tYmFja2dyb3VuZDogIzM2MzkzRjtcbiRkYXJrLW1lbnUtb3ZlcmxheS1lbGVtZW50OiByZ2JhKDAsIDAsIDAsIDAuOCk7XG5cbi8vIEJvb3RzdHJhcCBOYXZiYXJcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAkbGlnaHQtYmxhY2s7XG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiB3aGl0ZTtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAnbm9uZSc7XG4kbmF2YmFyLXBhZGRpbmcteTogMTVweDtcbiRuYXZiYXItcGFkZGluZy14OiA4JTtcbi8vIEJvb3RzdHJhcCBQaWxsc1xuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6IDFyZW07XG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteTogMC4ycmVtO1xuJG5hdi1saW5rLXBhZGRpbmcteDogMC40cmVtO1xuJG5hdi1saW5rLXBhZGRpbmcteTogMC4zcmVtO1xuJGZvbnQtc2l6ZS1iYXNlOiAwLjYyNXJlbTtcbi8vIEJvb3RzdHJhcCBGb3Jtc1xuJGJvcmRlci1yYWRpdXM6IDI4cHg7XG4kaW5wdXQtcGFkZGluZy15OiAwLjc1cmVtO1xuJGlucHV0LXBhZGRpbmcteDogMi41cmVtO1xuJGlucHV0LWJ0bi1wYWRkaW5nLXk6IDAuNzVyZW07XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogMi41cmVtO1xuLy8gQm9vdHN0cmFwIFRvb2x0aXBzXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDI1MHB4O1xuJHRvb2x0aXAtcGFkZGluZy15OiAuMjVyZW07XG4kdG9vbHRpcC1wYWRkaW5nLXg6IC4yNXJlbTtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuLy8gQnV0dG9uIHZhcmlibGVzXG4kZ2VuZXJpY0J1dHRvbi1ib3JkZXItcmFkaXVzOiAyMHB4O1xuXG4vLyBtaXNjXG4kc21hbGwtYm9yZGVyLXJhZGl1czogN3B4OyIsIiVnZW5lcmljQnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnZW5lcmljQnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgY29sb3I6ICRsaWdodC1ibGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ibGFjaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cbiIsIi8qIVxuICogQm9vdHN0cmFwIHY0LjYuMiAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMjIgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIyIFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICovXG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJyb290XCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJ0b2FzdHNcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJzcGlubmVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuQGltcG9ydCBcInByaW50XCI7XG4iLCIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiBvciB1bml0KCRwcmV2LW51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgQGlmIGxlbmd0aCgkbWFwKSA+IDAge1xuICAgICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gICAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIFNlZSBodHRwczovL2NvZGVwZW4uaW8va2V2aW53ZWJlci9wZW4vZFhXb1J3XG4vL1xuLy8gUmVxdWlyZXMgdGhlIHVzZSBvZiBxdW90ZXMgYXJvdW5kIGRhdGEgVVJJcy5cblxuQGZ1bmN0aW9uIGVzY2FwZS1zdmcoJHN0cmluZykge1xuICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwiZGF0YTppbWFnZS9zdmcreG1sXCIpIHtcbiAgICBAZWFjaCAkY2hhciwgJGVuY29kZWQgaW4gJGVzY2FwZWQtY2hhcmFjdGVycyB7XG4gICAgICAvLyBEbyBub3QgZXNjYXBlIHRoZSB1cmwgYnJhY2tldHNcbiAgICAgIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJ1cmwoXCIpID09IDEge1xuICAgICAgICAkc3RyaW5nOiB1cmwoXCIje3N0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCA2LCAtMyksICRjaGFyLCAkZW5jb2RlZCl9XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzdHJpbmc6IHN0ci1yZXBsYWNlKCRzdHJpbmcsICRjaGFyLCAkZW5jb2RlZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IsICRkYXJrOiAkeWlxLXRleHQtZGFyaywgJGxpZ2h0OiAkeWlxLXRleHQtbGlnaHQpIHtcbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICAkeWlxOiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAqIC4wMDE7XG5cbiAgQGlmICgkeWlxID49ICR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICRkYXJrO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRsaWdodDtcbiAgfVxufVxuXG4vLyBSZXRyaWV2ZSBjb2xvciBTYXNzIG1hcHNcbkBmdW5jdGlvbiBjb2xvcigka2V5OiBcImJsdWVcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiB0aGVtZS1jb2xvcigka2V5OiBcInByaW1hcnlcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiBncmF5KCRrZXk6IFwiMTAwXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XG59XG5cbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgJGJsYWNrLCAkd2hpdGUpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG5cbi8vIFJldHVybiB2YWxpZCBjYWxjXG5AZnVuY3Rpb24gYWRkKCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgKyAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9ICsgI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiICsgXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBzdWJ0cmFjdCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCBhbmQgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuIC0kdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxIC0gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTIpICE9IG51bWJlciB7XG4gICAgJHZhbHVlMjogdW5xdW90ZShcIihcIikgKyAkdmFsdWUyICsgdW5xdW90ZShcIilcIik7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gLSAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgLSBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICksXG4gICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6ICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoOiAgIHdpZHRoIC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg3NWVtICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTYgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1sZyAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogLjUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBzdWJ0cmFjdCgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNCkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgIGVzY2FwZS1zdmcoJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yKSByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZSBuby1yZXBlYXQgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogYWRkKDFlbSAqIC43NSwgKDIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKiAuNzUpICsgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PScwIDAgMTIgMTInPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICAgICksXG4gICAgXCJpbnZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICApLFxuICApLFxuICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgKiAuNSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtc2Nyb2xsLW1heC1oZWlnaHQ6ICAgICAgNzV2aCAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc206ICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAqIC41ICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiAhZGVmYXVsdDtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLXZlcnRpY2FsLWFsaWduOiAgLS4xMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogICAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4gIWRlZmF1bHQ7XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcbiR1c2VyLXNlbGVjdHM6IGFsbCwgYXV0bywgbm9uZSAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBUb2dnbGVzXG4vL1xuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXG5cbi8vIFZlbmRvclxuQGltcG9ydCBcInZlbmRvci9yZnNcIjtcblxuLy8gRGVwcmVjYXRlXG5AaW1wb3J0IFwibWl4aW5zL2RlcHJlY2F0ZVwiO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuQGltcG9ydCBcIm1peGlucy90cmFuc2l0aW9uXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zsb2F0XCI7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSBmb250IHNpemVzXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi92OC54L0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSBmb250IHNpemVcbiRyZnMtYmFzZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLWZvbnQtc2l6ZS11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ICE9IHJlbSBhbmQgJHJmcy1mb250LXNpemUtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIGZvbnQgc2l6ZSBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IFwibnVtYmVyXCIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHRvIGZhbHNlXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLWZvbnQtc2l6ZSB1bml0XG4kcmZzLWJhc2UtZm9udC1zaXplLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLWZvbnQtc2l6ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLWZvbnQtc2l6ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicHhcIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6IGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplLCAkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSwgZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtZGlzYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICYsXG4gICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLWVuYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5KCRtcS12YWx1ZSkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGZvbnQgc2l6ZSBtaXhpblxuQG1peGluIHJmcygkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIENhY2hlICRmcyB1bml0XG4gICRmcy11bml0OiBpZih0eXBlLW9mKCRmcykgPT0gXCJudW1iZXJcIiwgdW5pdCgkZnMpLCBmYWxzZSk7XG5cbiAgLy8gQWRkICFpbXBvcnRhbnQgc3VmZml4IGlmIG5lZWRlZFxuICAkcmZzLXN1ZmZpeDogaWYoJGltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICAvLyBJZiAkZnMgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJGZzIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgQGlmIG5vdCAkZnMtdW5pdCBvciAkZnMtdW5pdCAhPSBcIlwiIGFuZCAkZnMtdW5pdCAhPSBcInB4XCIgYW5kICRmcy11bml0ICE9IFwicmVtXCIgb3IgJGZzID09IDAge1xuICAgIGZvbnQtc2l6ZTogI3skZnN9I3skcmZzLXN1ZmZpeH07XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgZGl2aWRlKCRmcyAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQgc2l6ZVxuICAgICRyZnMtc3RhdGljOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3tkaXZpZGUoJGZzLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmc31weCk7XG5cbiAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIGZvbnQgc2l6ZSBpcyBiaWdnZXIgdGhhbiB0aGUgbWluaW11bSBmb250IHNpemVcbiAgICBAaWYgJGZzIDw9ICRyZnMtYmFzZS1mb250LXNpemUgb3Igbm90ICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHtcbiAgICAgIGZvbnQtc2l6ZTogI3skcmZzLXN0YXRpY30jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZSBmb3IgJGZzXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgZGl2aWRlKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkZnMgYW5kIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkZnMtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkZnMtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZVxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcblxuICAgICAgLy8gQnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICAkbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuXG4gICAgICBAaW5jbHVkZSBfcmZzLWRpc2FibGUtY2xhc3Mge1xuICAgICAgICBmb250LXNpemU6ICN7JHJmcy1zdGF0aWN9I3skcmZzLXN1ZmZpeH07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkoJG1xLXZhbHVlKSB7XG4gICAgICAgIEBpbmNsdWRlIF9yZnMtZW5hYmxlLWNsYXNzIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbnMgdXNlIFJGUyB0byByZXNjYWxlIHRoZSBmb250IHNpemVcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBEZXByZWNhdGUgbWl4aW5cbi8vXG4vLyBUaGlzIG1peGluIGNhbiBiZSB1c2VkIHRvIGRlcHJlY2F0ZSBtaXhpbnMgb3IgZnVuY3Rpb25zLlxuLy8gYCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXNgIGlzIGEgZ2xvYmFsIHZhcmlhYmxlLCBgJGlnbm9yZS13YXJuaW5nYCBpcyBhIHZhcmlhYmxlIHRoYXQgY2FuIGJlIHBhc3NlZCB0b1xuLy8gc29tZSBkZXByZWNhdGVkIG1peGlucyB0byBzdXBwcmVzcyB0aGUgd2FybmluZyAoZm9yIGV4YW1wbGUgaWYgdGhlIG1peGluIGlzIHN0aWxsIGJlIHVzZWQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBCb290c3RyYXApXG5AbWl4aW4gZGVwcmVjYXRlKCRuYW1lLCAkZGVwcmVjYXRlLXZlcnNpb24sICRyZW1vdmUtdmVyc2lvbiwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICBAaWYgKCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXMgIT0gZmFsc2UgYW5kICRpZ25vcmUtd2FybmluZyAhPSB0cnVlKSB7XG4gICAgQHdhcm4gXCIjeyRuYW1lfSBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mICN7JGRlcHJlY2F0ZS12ZXJzaW9ufS4gSXQgd2lsbCBiZSByZW1vdmVkIGVudGlyZWx5IGluICN7JHJlbW92ZS12ZXJzaW9ufS5cIjtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cygpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzKCkge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkKCkge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNpemUgYW55dGhpbmdcblxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8va2l0dHlnaXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHNpemUoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoKWBcIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xuICB2aXNpYmlsaXR5OiAkdmlzaWJpbGl0eSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW52aXNpYmxlKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duKCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZm9ybS1jb250cm9sLWZvY3VzKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMxNTU3XG4gICAgLy8gQWxpZ24gdG9vbHRpcCB0byBmb3JtIGVsZW1lbnRzXG4gICAgLmZvcm0tcm93ID4gLmNvbCA+ICYsXG4gICAgLmZvcm0tcm93ID4gW2NsYXNzKj1cImNvbC1cIl0gPiAmIHtcbiAgICAgIGxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXIgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LXBhZGRpbmcteCAqIDQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LXBhZGRpbmcteCAqIDIgY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsICRjdXN0b20tc2VsZWN0LWJnIGVzY2FwZS1zdmcoJGljb24pICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemUgbm8tcmVwZWF0O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLXZhcmlhbnRgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctZ3JhZGllbnQtdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC41LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGlmIChsZW5ndGgoJHNoYWRvdykgPT0gMSkge1xuICAgICAgLy8gV2UgY2FuIHBhc3MgYEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7YFxuICAgICAgJHJlc3VsdDogJHNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEZpbHRlciB0byBhdm9pZCBpbnZhbGlkIHByb3BlcnRpZXMgZm9yIGV4YW1wbGUgYGJveC1zaGFkb3c6IG5vbmUsIDFweCAxcHggYmxhY2s7YFxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHNoYWRvdykge1xuICAgICAgICBAaWYgbnRoKCRzaGFkb3csICRpKSAhPSBcIm5vbmVcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkc2hhZG93LCAkaSksIFwiY29tbWFcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmIChsZW5ndGgoJHJlc3VsdCkgPiAwKSB7XG4gICAgICBib3gtc2hhZG93OiAkcmVzdWx0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAqIC41O1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyICogLjU7XG59XG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgbWFrZS1jb250YWluZXItbWF4LXdpZHRoc2AgbWl4aW5cIiwgXCJ2NC41LjJcIiwgXCJ2NVwiKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogZGl2aWRlKCRzaXplLCAkY29sdW1ucyk7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCBkaXZpZGUoMTAwJSwgJGNvdW50KTtcbiAgICBtYXgtd2lkdGg6IGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQG1peGluIGZsb2F0LWxlZnQoKSB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtbGVmdGAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCgpIHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtcmlnaHRgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG5AbWl4aW4gZmxvYXQtbm9uZSgpIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1ub25lYCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gMS4gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cbi8vIDIuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMuXG4vLyAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4vLyA0LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbi8vIDUuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG59XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMlxuICBsaW5lLWhlaWdodDogMS4xNTsgLy8gM1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDVcbn1cblxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2Vycylcbi8vIFRPRE86IHJlbW92ZSBpbiB2NVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZVxuLy8gICAgdGhlIGBpbmhlcml0YCB2YWx1ZSBvbiB0aGluZ3MgbGlrZSBgPHRoPmAgZWxlbWVudHMuXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZzsgLy8gMlxufVxuXG4vLyBGdXR1cmUtcHJvb2YgcnVsZTogaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IDpmb2N1cy12aXNpYmxlLCBzdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZVxuLy8gb24gZWxlbWVudHMgdGhhdCBwcm9ncmFtbWF0aWNhbGx5IHJlY2VpdmUgZm9jdXMgYnV0IHdvdWxkbid0IG5vcm1hbGx5IHNob3cgYSB2aXNpYmxlXG4vLyBmb2N1cyBvdXRsaW5lLiBJbiBnZW5lcmFsLCB0aGlzIHdvdWxkIG1lYW4gdGhhdCB0aGUgb3V0bGluZSBpcyBvbmx5IGFwcGxpZWQgaWYgdGhlXG4vLyBpbnRlcmFjdGlvbiB0aGF0IGxlZCB0byB0aGUgZWxlbWVudCByZWNlaXZpbmcgcHJvZ3JhbW1hdGljIGZvY3VzIHdhcyBhIGtleWJvYXJkIGludGVyYWN0aW9uLFxuLy8gb3IgdGhlIGJyb3dzZXIgaGFzIHNvbWVob3cgZGV0ZXJtaW5lZCB0aGF0IHRoZSB1c2VyIGlzIHByaW1hcmlseSBhIGtleWJvYXJkIHVzZXIgYW5kL29yXG4vLyB3YW50cyBmb2N1cyBvdXRsaW5lcyB0byBhbHdheXMgYmUgcHJlc2VudGVkLlxuLy9cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOmZvY3VzLXZpc2libGVcbi8vIGFuZCBodHRwczovL2RldmVsb3Blci5wYWNpZWxsb2dyb3VwLmNvbS9ibG9nLzIwMTgvMDMvZm9jdXMtdmlzaWJsZS1hbmQtYmFja3dhcmRzLWNvbXBhdGliaWxpdHkvXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gNS4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gNVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDgwJSk7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDc1JSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZikuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8vIERpc2FibGUgYXV0by1oaWRpbmcgc2Nyb2xsYmFyIGluIElFICYgbGVnYWN5IEVkZ2UgdG8gYXZvaWQgb3ZlcmxhcCxcbiAgLy8gbWFraW5nIGl0IGltcG9zc2libGUgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgY29udGVudFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcbi8vXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG59XG5cbnN2ZyB7XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBTVkcgb3ZlcmZsb3cgYnVnIGluIElFMTAvMTEgaXMgc3RpbGwgcmVxdWlyZWQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI2ODc4XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cbi8vIDEuIFJlbW92ZXMgZm9udC13ZWlnaHQgYm9sZCBieSBpbmhlcml0aW5nXG4vLyAyLiBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGB0ZXh0LWFsaWduYC5cbi8vIDMuIEZpeCBhbGlnbm1lbnQgZm9yIFNhZmFyaVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiAkdGFibGUtdGgtZm9udC13ZWlnaHQ7IC8vIDFcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gMlxuICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDsgLy8gM1xufVxuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxubGFiZWwge1xuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRsYWJlbC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cbkBpZiAkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zIHtcbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBAaW5jbHVkZSBmb250LXNpemUoMS41cmVtKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxLCAuaDEgeyBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7IH1cbmgyLCAuaDIgeyBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7IH1cbmgzLCAuaDMgeyBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7IH1cbmg0LCAuaDQgeyBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7IH1cbmg1LCAuaDUgeyBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7IH1cbmg2LCAuaDYgeyBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7IH1cblxuLmxlYWQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlYWQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuLmRpc3BsYXktMSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTEtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5Mi1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTMge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkzLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkzLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktNCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJGhyLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkaHItbWFyZ2luLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDkwJSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyICogLjU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6ICR0YWJsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgY29sb3I6ICR0YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJvcmRlci1sZXZlbCkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgLy8gUmVtb3ZlIHNlbGVjdCBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRpbnB1dC1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmW3NpemVdLFxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgZm9yIHdvcmthcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5mb3JtLWNoZWNrLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xufVxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCxcbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXksICRidG4tcGFkZGluZy14LCAkYnRuLWZvbnQtc2l6ZSwgJGJ0bi1saW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAkYnRuLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogaWYoJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucywgcG9pbnRlciwgbnVsbCk7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWZvY3VzLWJveC1zaGFkb3csICRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1saW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbiAgfVxufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcblxuICAmLndpZHRoIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aCk7XG4gIH1cbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wcmlnaHQsXG4uZHJvcGRvd24sXG4uZHJvcGxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0KCk7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1wYWRkaW5nLXg7XG4gIG1hcmdpbjogJGRyb3Bkb3duLXNwYWNlciAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkcm9wZG93bi1mb250LXNpemUpO1xuICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRkcm9wZG93bi1ib3gtc2hhZG93KTtcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tbGVmdCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tcmlnaHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3ByaWdodCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQocmlnaHQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGxlZnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChsZWZ0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gUG9wcGVyIGlzIGVuYWJsZWQsIHJlc2V0IHRoZSBiYXNpYyBkcm9wZG93biBwb3NpdGlvblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5kcm9wZG93bi1tZW51IHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxufVxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZywgJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXksIHRydWUpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgLy8gUHJldmVudCBkcm9wZG93biBvdmVyZmxvdyBpZiB0aGVyZSdzIG5vIHBhZGRpbmdcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI3NzAzXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MjQ3MTQwL3doeS1kb250LWZsZXgtaXRlbXMtc2hyaW5rLXBhc3QtY29udGVudC1zaXplXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgLmZvcm0tY29udHJvbCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjdXN0b20gZmlsZSBpbnB1dCBhYm92ZSB0aGUgbGFiZWxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAvLyBDdXN0b20gZmlsZSBpbnB1dHMgaGF2ZSBtb3JlIGNvbXBsZXggbWFya3VwLCB0aHVzIHJlcXVpcmluZyBkaWZmZXJlbnRcbiAgLy8gYm9yZGVyLXJhZGl1cyBvdmVycmlkZXMuXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtdmFsaWRhdGlvbiB7XG4gICAgPiAuZm9ybS1jb250cm9sOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tZmlsZTpudGgtbGFzdC1jaGlsZChuICsgMykgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgID4gLmN1c3RvbS1maWxlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41O1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICBib3JkZXI6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIEZvcmVncm91bmQgKGljb24pXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogNTAlIC8gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemV9IG5vLXJlcGVhdDtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHN3aXRjaGVzXG4vL1xuLy8gVHdlYWsgYSBmZXcgdGhpbmdzIGZvciBzd2l0Y2hlc1xuXG4uY3VzdG9tLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xuXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC13aWR0aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGFkZCgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXG4gICAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7IC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7ICAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1zLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCAqIC41O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdi10YWJzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAvLyBQcmV2ZW50cyBhY3RpdmUgLm5hdi1saW5rIHRhYiBvdmVybGFwcGluZyBmb2N1cyBvdXRsaW5lIG9mIHByZXZpb3VzL25leHQgLm5hdi1saW5rXG4gICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jb250YWluZXIsXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci1icmFuZC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiA1MCUgLyAxMDAlIDEwMCUgbm8tcmVwZWF0O1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiAkbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiAkY2FyZC1oZWlnaHQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBpbWFnZSBzaXplIGJ1ZyBpbiBJRVxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4ODU1XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jb2xvcjtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtJGNhcmQtc3BhY2VyLXkgKiAuNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG5cbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRicmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC8vIE9waW5pb25hdGVkOiByZW1vdmUgdGhlIFwiaGFuZFwiIGN1cnNvciBzZXQgcHJldmlvdXNseSBmb3IgLnBhZ2UtbGlua1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhZGdlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhZGdlLXRyYW5zaXRpb24pO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nICogLjUpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogJGFsZXJ0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxlcnQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmFsZXJ0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCh0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJvcmRlci1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWNvbG9yLWxldmVsKSk7XG4gIH1cbn1cbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHByb2dyZXNzLWhlaWdodCAwOyB9XG4gICAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBsaW5lLWhlaWdodDogMDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmcgcHJvZ3Jlc3MtYmFyLXN0cmlwZXM7XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmICsgJiB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci13aWR0aDogMCAwICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNsb3NlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi50b2FzdCB7XG4gIC8vIFByZXZlbnRzIGZyb20gc2hyaW5raW5nIGluIElFMTEsIHdoZW4gaW4gYSBmbGV4IGNvbnRhaW5lclxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODM0MVxuICBmbGV4LWJhc2lzOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBtYXgtd2lkdGg6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHN1YnRyYWN0KCR0b2FzdC1ib3JkZXItcmFkaXVzLCAkdG9hc3QtYm9yZGVyLXdpZHRoKSk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyAvLyBSZXNldCBoZWlnaHQgdG8gMCBleGNlcHQgb24gSUVcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gKiAuNTtcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAqIC41O1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyOiAkc3Bpbm5lci1ib3JkZXItd2lkdGggc29saWQgY3VycmVudGNvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWJvcmRlcjtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Bpbm5lci1ib3JkZXItd2lkdGgtc207XG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWdyb3c7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuXG5AaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwidXRpbGl0aWVzL2FsaWduXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYm9yZGVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9kaXNwbGF5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2VtYmVkXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2ZsZXhcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZmxvYXRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvaW50ZXJhY3Rpb25zXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL292ZXJmbG93XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NjcmVlbnJlYWRlcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc2hhZG93c1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zaXppbmdcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc3BhY2luZ1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zdHJldGNoZWQtbGlua1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy90ZXh0XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Zpc2liaWxpdHlcIjtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIEJvcmRlclxuLy9cblxuLmJvcmRlciAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AgICAgIHsgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQgICB7IGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tICB7IGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQgICAgeyBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYm9yZGVyLSN7JGNvbG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLy9cbi8vIEJvcmRlci1yYWRpdXNcbi8vXG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc20gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcmlnaHQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGcge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkLXBpbGwgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbiIsIi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGRpdmlkZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSwgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJHVzZXItc2VsZWN0cyB7XG4gIC51c2VyLXNlbGVjdC0jeyR2YWx1ZX0geyB1c2VyLXNlbGVjdDogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW5zIChlLmcuLCB3aGVyZSBgLm1iLW4xYCBpcyBuZWdhdGl2ZSB2ZXJzaW9uIG9mIGAubWItMWApXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgQGlmIFwiI3skc2l6ZX1cIiAhPSBcIjBcIiB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gRGVwcmVjYXRlZCwgYnV0IGF2b2lkcyBpc3N1ZXMgd2l0aCBmbGV4IGNvbnRhaW5lcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIFVzZWQgaW5zdGVhZCBvZiBgb3ZlcmZsb3ctd3JhcGAgZm9yIElFICYgRWRnZSBMZWdhY3lcbn1cblxuLy8gUmVzZXRcblxuLnRleHQtcmVzZXQgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9tYWluLmNzcy9ibG9iL21hc3Rlci9zcmMvX3ByaW50LmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwczovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYgJGVuYWJsZS1wcmludC1zdHlsZXMge1xuICBAbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCBvdXQgYGNvbG9yYCBhbmQgYGJhY2tncm91bmRgXG4gICAgICAvL2NvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ3JheS01MDA7IC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAgIC8vIFNwZWNpZnkgYSBzaXplIGFuZCBtaW4td2lkdGggdG8gbWFrZSBwcmludGluZyBjbG9zZXIgYWNyb3NzIGJyb3dzZXJzLlxuICAgIC8vIFdlIGRvbid0IHNldCBtYXJnaW4gaGVyZSBiZWNhdXNlIGl0IGJyZWFrcyBgc2l6ZWAgaW4gQ2hyb21lLiBXZSBhbHNvXG4gICAgLy8gZG9uJ3QgdXNlIGAhaW1wb3J0YW50YCBvbiBgc2l6ZWAgYXMgaXQgYnJlYWtzIGluIENocm9tZS5cbiAgICBAcGFnZSB7XG4gICAgICBzaXplOiAkcHJpbnQtcGFnZS1zaXplO1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYmxhY2s7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWRhcmsge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxuICB9XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICAgICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICAgICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG4vKiBTbGlkZXIgKi9cblxuLnNsaWNrLWxpc3Qge1xuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB9XG59XG5cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJidXR0b24sIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNTBweCk7XG4gICAgYm9yZGVyLXJhZGl1czogMjZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgIGNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG5idXR0b246Zm9jdXMsIC5idXR0b246Zm9jdXMsIC5zZWFyY2hCdXR0b246Zm9jdXMsIC5zZWFyY2hCdXR0b25Nb2JpbGU6Zm9jdXMsIC5uYXYtaXRlbS5hY3RpdmU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1vcmFuZ2UtYWN0aXZlO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5zZWFyY2hCdXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG59XG5cbi5yZWdpc3RlckJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB3aWR0aDogMTI2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNjNweCk7XG59XG5cbi5jb25maXJtQnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5pbWFnZVBpbiwgLnByb2xvbmdQaW4sIC5leHBpcmVkUGluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAxNXB4IDE1cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4uZXhwaXJlZFBpbiB7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG59XG5cbi5pbWFnZVBpbi5waW5uZWQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgaW1nLmltYWdlUGluIHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuLmJvdHRvbUJ1dHRvbiB7XG4gICAgYm90dG9tOiAxMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuI2FkdmFuY2VkU2VhcmNoXG57XG4gICAgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgfVxufVxuIiwiLy9idXR0b24uc2xpY2stcHJldi5zbGljay1hcnJvdyB7XG4vLyAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4vL31cbi8vYnV0dG9uLnNsaWNrLW5leHQuc2xpY2stYXJyb3cge1xuLy8gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuLy99XG4vL1xuLy8ucGF5bWVudHNDYXJvdXNlbCB7XG4vLyAgICBidXR0b24uc2xpY2stcHJldi5zbGljay1hcnJvdyB7XG4vLyAgICAgICAgZGlzcGxheTogdW5zZXQgIWltcG9ydGFudDtcbi8vICAgIH1cbi8vICAgIGJ1dHRvbi5zbGljay1uZXh0LnNsaWNrLWFycm93IHtcbi8vICAgICAgICBkaXNwbGF5OiB1bnNldCAhaW1wb3J0YW50O1xuLy8gICAgfVxuLy99XG5cbi5zbGljay1wcmV2OmJlZm9yZSwgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZS1hY3RpdmUgIWltcG9ydGFudDtcbn1cblxuLnNsaWNrLXNsaWRlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cblxuXG4uc2xpY2stc2xpZGU6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG4uaXRlbURldGFpbCB7XG4gICAgLml0ZW1EZXRhaWxDb250YWluZXIge1xuICAgICAgICAubGVmdFBhbmVsIHtcbiAgICAgICAgICAgIC5pdGVtQ2Fyb3VzZWwge1xuICAgICAgICAgICAgICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgLnNsaWNrLXRyYWNrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIGludmFsaWQgY3NzIGJlbG93LiBjdXN0b20gdGFnIGRlZmluaXRpb24gaW5zdGVhZCBvZiBjbGFzc1xuLy8gc2xpY2stc2xpZGVyIHtcbi8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICB3aWR0aDogOTIlO1xuLy8gICAgIG1hcmdpbi1sZWZ0OiAyJTtcbi8vICAgICAubGlzdGluZyB7XG4vLyAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbi8vICAgICB9XG4vLyAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4vLyAgICAgICAgIGltZyB7XG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4vLyAgICAgICAgICAgICB3aWR0aDogYXV0bztcbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cblxuYnV0dG9uLnNsaWNrLW5leHQuc2xpY2stYXJyb3csIGJ1dHRvbi5zbGljay1wcmV2LnNsaWNrLWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogY2FsYyg1MCUgLSA1cHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTcwYTY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8vdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuXG4gICAgLnJlY2VudGx5QWRkZWRDYXJvdXNlbCAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgIH1cbiAgICAucHVibGljQm9hcmRzQ2Fyb3VzZWwgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxufVxuXG5idXR0b24uc2xpY2stbmV4dC5zbGljay1hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICAucmVjZW50bHlBZGRlZENhcm91c2VsICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRkY1RjkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICB9XG4gICAgLnB1YmxpY0JvYXJkc0Nhcm91c2VsICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG5idXR0b24uc2xpY2stcHJldi5zbGljay1hcnJvdyB7XG4gICAgbGVmdDogMDtcblxuICAgIC5yZWNlbnRseUFkZGVkQ2Fyb3VzZWwgJiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZGNUY5ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG4gICAgLnB1YmxpY0JvYXJkc0Nhcm91c2VsICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2OmJlZm9yZSwgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnB1YmxpY0JvYXJkc0Nhcm91c2VsICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTNcIjtcbiAgICBsZWZ0OiAtNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbn1cblxuLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xuICAgIHJpZ2h0OiA0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAycHg7XG59XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5pdGVtRGV0YWlsLCAucGF5bWVudHMge1xuICAgIGJ1dHRvbi5zbGljay1uZXh0LnNsaWNrLWFycm93IHtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIGJ1dHRvbi5zbGljay1wcmV2LnNsaWNrLWFycm93IHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ibGFjaztcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cbn1cblxuLnBheW1lbnRzIHtcbiAgICAucGF5bWVudHNDYXJvdXNlbCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweCA0MHB4IDQwcHg7XG4gICAgICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICBidXR0b24uc2xpY2stbmV4dC5zbGljay1hcnJvdyB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgICAucGF5bWVudHMge1xuICAgICAgICAucGF5bWVudHNDYXJvdXNlbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICAuc2xpY2stcHJldiB7XG4gICAgICAgICAgICAgICAgdG9wOiAzMjBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNsaWNrLW5leHQuc2xpY2stYXJyb3cge1xuICAgICAgICAgICAgICAgIHRvcDogMzIwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJuYXYge1xuICAgIHBhZGRpbmc6ICRkZWZhdWx0LW1hcmdpbjtcbiAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDZweCAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGhlaWdodDogNzBweDtcblxuXG4gICAgJi5uYXZiYXItLWZpeGVkIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgLy8gcHVzaCBhbnkgc2libGluZyBkb3duIHRoZSBwYWdlXG4gICAgICAgICsgKiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgKyAubG9naW5SZWdpc3RlciB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5uYXZiYXItdG9nZ2xlcjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gICAgYS5uYXZiYXItYnJhbmQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIGxpLm5hdi1pdGVtIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGkubmF2LWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzUwcHg7XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuYWN0aXZlIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG5cbi8vQG1lZGlhIChtYXgtd2lkdGg6IDExMjVweCkge1xuLy8gICAgLm5hdmJhciB7XG4vLyAgICAgICAgcGFkZGluZzogMCA0JTtcbi8vICAgIH1cbi8vfVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIC5uYXZiYXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCA0JTtcbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogNTlweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjQ3KSAwcHggN3B4IDVweDtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCA1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi5saW5rc0Jsb2NrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbjogMzBweCA4JTtcbn1cblxuLmxpbmtDb2x1bW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoNiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIC5zb2NpYWxNZWRpYUljb25zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxpbmtMaXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBwYWRkaW5nOiAxMHB4IDglO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaDUge1xuICAgICAgICBmbGV4LWJhc2lzOiA4MCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmZsb2F0UmlnaHQge1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMjAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3Bhbi5zdHJvbmdUZXh0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjVweCkge1xuICAgIC5saW5rc0Jsb2NrIHtcbiAgICAgICAgbWFyZ2luOiAwIDQlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAubGlua0NvbHVtbiB7XG4gICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxpbmtMaXN0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNvY2lhbE1lZGlhSWNvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgZm9vdGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMjBweCA4JTtcbiAgICAgICAgaDUge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICAgIC5mbG9hdFJpZ2h0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnN3aXRjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDIycHg7XG59XG5cbi5zd2l0Y2ggaW5wdXQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4uc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjRzO1xuICAgIHRyYW5zaXRpb246IC40cztcbn1cblxuLnNsaWRlcjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgYm90dG9tOiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNHM7XG4gICAgdHJhbnNpdGlvbjogLjRzO1xufVxuXG5pbnB1dDpjaGVja2VkICsgLnNsaWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LW9yYW5nZS1hY3RpdmU7XG59XG5cbmlucHV0OmZvY3VzICsgLnNsaWRlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDFweCAkbGlnaHQtb3JhbmdlO1xufVxuXG5pbnB1dDpjaGVja2VkICsgLnNsaWRlcjpiZWZvcmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEycHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTJweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEycHgpO1xufVxuXG4vKiBSb3VuZGVkIHNsaWRlcnMgKi9cbi5zbGlkZXIucm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDM0cHg7XG59XG5cbi5zbGlkZXIucm91bmQ6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4iLCIuZHJvcGRvd25Td2l0Y2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xufVxuXG4uZHJvcGRvd25Td2l0Y2ggaW5wdXQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4uZHJvcGRvd25Ub2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xufVxuXG4uZHJvcGRvd25Ub2dnbGU6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcXGYwNzhcIjtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGVmdDogMXB4O1xuICAgIGJvdHRvbTogMXB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjRzO1xuICAgIHRyYW5zaXRpb246IC40cztcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1cHg7XG59XG5cbmlucHV0OmNoZWNrZWQgKyAuZHJvcGRvd25Ub2dnbGU6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG59XG5cbmlucHV0OmZvY3VzICsgLmRyb3Bkb3duVG9nZ2xlOmJlZm9yZSB7XG4gICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG59XG5cbmlucHV0OmNoZWNrZWQgKyAuZHJvcGRvd25Ub2dnbGU6YmVmb3JlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblxufVxuIiwiLmp1bWJvdHJvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5LWJhY2tncm91bmQ7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDglIDAgOCU7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDQlIDAgNCU7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRhaW5lck1lc3NhZ2Uge1xuICAgICAgICAgICAgLmp1bWJvdHJvbkhlYWRlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5qdW1ib3Ryb25EZXRhaWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNHB4IDA7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tb2JpbGVEZXRhaWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm0taW5saW5lIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCA2MHB4IDA7XG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAyMCU7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuaWNvblJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9ybS1ncm91cC5qdW1ib0lucHV0cyB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMjAlO1xuICAgICAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWZvbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8qIEludGVybmV0IEV4cGxvcmVyIDEwLTExICovXG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWZvbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8qIE1pY3Jvc29mdCBFZGdlICovXG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1mb250LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLWdyb3VwLmNvc3Qge1xuICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRMZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI4cHggMCAwIDI4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmNvc3RJbnB1dFJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMjhweCAyOHB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29zdElucHV0V3JhcHBlcjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRMZWZ0OmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29zdElucHV0UmlnaHQ6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJveFRleHQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3R0b206IDFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmp1bWJvQm90dG9tIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAuc29jaWFsTWVkaWFJY29ucyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIC5mYWIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1mb250LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3RoZW1lVG9nZ2xlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbGFiZWw6bm90KC5zd2l0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gICAgLmp1bWJvdHJvbiB7XG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLmNvbnRhaW5lck1lc3NhZ2Uge1xuICAgICAgICAgICAgICAgIC5qdW1ib3Ryb25IZWFkZXIge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvcm0taW5saW5lIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAuZm9ybS1ncm91cC5qdW1ib0lucHV0cyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGltZy5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLmp1bWJvdHJvbiB7XG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgLmZvcm0taW5saW5lIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAuZm9ybS1ncm91cC5qdW1ib0lucHV0cyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuaWNvblJpZ2h0U2VhcmNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaS5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5mYS1jYXJldC1kb3duIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5mb3JtLWdyb3VwLmNvc3Qge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY29zdElucHV0TGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmNvc3RJbnB1dFJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5yZWNlbnRseUFkZGVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDglIDQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgIC50b3BJbmZvIHtcbiAgICAgICAgaGVpZ2h0OiAxMjZweDtcbiAgICAgICAgLmFsbEFkcyB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTI2cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJlY2VudGx5QWRkZWRNYXJrZXIsXG4gICAgLnJlY2VudGx5QWRkZWRMb2NhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgLndyYXBwZXIuc2xpY2stc2xpZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgIC5zbGljay1wcmV2OmJlZm9yZSwgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAmLmhlYWRpbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5saXN0aW5nIHtcbiAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IHVuc2V0O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB1bnNldDtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiB1bnNldDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogdW5zZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLnJlY2VudGx5QWRkZWQge1xuICAgICAgICBtYXJnaW46ICRkZWZhdWx0LW1vYmlsZS1tYXJnaW47XG4gICAgICAgIC5oaWRlTW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucmVjZW50bHlPcGVuZWRMaXN0aW5ncyB7XG4gICAgcGFkZGluZzogMCA4JTtcbiAgICAud3JhcHBlciB7XG4gICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzMy4zJSAtIDIwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgLmxpc3RpbmdJbWFnZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlV3JhcHBlciB7XG4gICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAxMnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggMCAwIDEycHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA2cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDg1MHB4KSB7XG4gICAgLnJlY2VudGx5T3BlbmVkTGlzdGluZ3Mge1xuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLnJlY2VudGx5T3BlbmVkTGlzdGluZ3Mge1xuICAgICAgICBwYWRkaW5nOiAwIDQlO1xuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIC5pbWFnZVdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5saXN0aW5nRGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDYwJSA1cHggNXB4O1xuICAgICAgICAgICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDEycHggMTJweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAubGlzdGluZ0luZm8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnBheW1lbnRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAxMHB4ICRkZWZhdWx0LW1hcmdpbiAkZGVmYXVsdC1tYXJnaW47XG4gICAgLnBheW1lbnRJbmZvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4IDAgMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICAgIGEgIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBheW1lbnRzQ2Fyb3VzZWwge1xuICAgICAgICAucGF5bWVudE9wdGlvbiB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMCA4cHggJGRlZmF1bHRfYm94X3NoYWRvd19jb2xvcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5vcHRpb25JbmZvIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDExNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm9wdGlvblByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICA6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLnNlbGVjdGVkT3B0aW9uIHtcbiAgICBvdXRsaW5lOiBhdXRvIDNweCAkbGlnaHQtb3JhbmdlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTExMHB4KSB7XG4gICAgLnBheW1lbnRzIHtcbiAgICAgICAgLnBheW1lbnRJbmZvIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLnBheW1lbnRzIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBheW1lbnRzQ2Fyb3VzZWwge1xuICAgICAgICAgICAgLnBheW1lbnRPcHRpb24ge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM1MHB4O1xuICAgICAgICAgICAgICAgIC5vcHRpb25IZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAub3B0aW9uSW5mbyB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm9wdGlvblByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4iLCIuc3VtbWFyeUJsb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgYm94LXNoYWRvdzogJGRlZmF1bHRfYm94X3NoYWRvdztcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIC5vcHRpb25TdW1tYXJ5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweCAwO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuXG4gICAgICAgIH1cbiAgICB9XG4gICAgLml0ZW1TdW1tYXJ5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAuY29udGFjdFN1bW1hcnkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDQ4JTtcbiAgICAgICAgICAgIC5jb250YWN0SGVhZGluZ3Mge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICAuaXRlbUhlYWRpbmcge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbnRhY3REZXRhaWxzIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgLmRldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubGlzdGluZ1N1bW1hcnkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNDglO1xuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAubGlzdGluZ0ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubGlzdGluZ0RldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nTG9jYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nSW5mbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nUHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweCAwIDAgMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0zNyU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcIm1kXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW1hZ2VXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggMTJweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweCAwIDAgMTJweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm9wdGlvbkRldGFpbHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAub3B0aW9uRGV0YWlsUHJpY2Uge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtbGFyZ2UtZm9udC1zaXplO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMiU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBheW1lbnRNZXRob2Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAubWV0aG9kU01TLCAubWV0aG9kQ2FyZCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZXRob2RDYXJkIHtcbiAgICAgICAgICAgIC5jYXJkSW5mbyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAwIDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2FyZE9wdGlvbnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwIDI1cHg7XG4gICAgICAgICAgICAgICAgaS5jYXJkT3B0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMjAlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDQwcHggMCAwIDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBbaWQ9c21zUGF5bWVudF0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgICNjY1BheW1lbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgLnN1bW1hcnlCbG9jayB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMCU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgLnN1bW1hcnlCbG9jayB7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNSU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODgwcHgpIHtcbiAgICAuc3VtbWFyeUJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgbWFyZ2luOiAwIDEwJTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAgIC5zdW1tYXJ5QmxvY2sge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW46IDAgNSU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAuc3VtbWFyeUJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDkyJTtcbiAgICAgICAgbWFyZ2luOiAwIDQlO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYxMHB4KSB7XG4gICAgLnN1bW1hcnlCbG9jayB7XG4gICAgICAgIHdpZHRoOiA5NiU7XG4gICAgICAgIG1hcmdpbjogMCAyJTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLnN1bW1hcnlCbG9jayB7XG4gICAgICAgIHdpZHRoOiA4OCU7XG4gICAgICAgIG1hcmdpbjogMCA2JSAyMHB4O1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAub3B0aW9uU3VtbWFyeSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBhLmhpZGVNb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW1TdW1tYXJ5IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICAuY29udGFjdFN1bW1hcnkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdGluZ1N1bW1hcnkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm9wdGlvbkRldGFpbHMge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC5vcHRpb25EZXRhaWxQcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wYXltZW50TWV0aG9kIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jYXJkSW5mbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tZXRob2RTTVMge1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubWV0aG9kQ2FyZCB7XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNjVweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLml0ZW1EZXRhaWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAkZGVmYXVsdC1wYWRkaW5nO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTI1cHgpIHtcbiAgICAgICAgcGFkZGluZzogMCA0JTtcbiAgICB9XG4gICAgLmJhY2sge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5pdGVtRGV0YWlsQ29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgcGFkZGluZzogNCUgNCUgMiU7XG4gICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0X2JveF9zaGFkb3c7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgLml0ZW1QaW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDQlO1xuICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAycHggMnB4ICRkZWZhdWx0X2JveF9zaGFkb3dfY29sb3I7XG4gICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMTdweCAxN3B4O1xuICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zbWFsbFRleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5sZWZ0UGFuZWwge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNCUpO1xuICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQlO1xuICAgICAgICAgICAgLml0ZW1HYWxsZXJ5IHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwcHggMTJweCAyMHB4IDEycHg7XG4gICAgICAgICAgICAgICAgLml0ZW1DYXJvdXNlbCB7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnNwaW5uZXJXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgI3NwaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLnNsaWNrLW5leHQuc2xpY2stYXJyb3csIGJ1dHRvbi5zbGljay1wcmV2LnNsaWNrLWFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbi5zbGljay1uZXh0LnNsaWNrLWFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLml0ZW1DYXJvdXNlbE5hdiB7XG4gICAgICAgICAgICAgICAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTQ1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBidXR0b246aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC50b3BJdGVtU3RpY2tlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDE1cHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pdGVtQ2Fyb3VzZWwge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgLnNsaWNrLWxpc3Qge1xuICAgICAgICAgICAgICAgICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnJlc3BvbnNpdmVDb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNTYuMjUlOyAvLyAxNjo5IGFzcGVjdCByYXRpb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnZpZGVvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZhLWFuZ2xlLXJpZ2h0LCAuZmEtYW5nbGUtbGVmdCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubG9jYXRpb25JbmZvIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZ29vZ2xlTWFwTG9jYXRpb25zIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaXRlbU1vYmlsZVBhbmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnJpZ2h0UGFuZWwge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgLml0ZW1UaXRsZSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZ29vZ2xlTWFwTG9jYXRpb25zIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29udGFjdExpc3RpbmdzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYS5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI1NXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2VsbGVyQnV0dG9uUm93LFxuICAgIC5zZWxsZXJCdXR0b25Sb3dSZXNwb25zaXZlIHtcbiAgICAgICAgYS5idXR0b24udGhpcmRQYXJ0eUxpbmsge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE1NzBBNjtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjUlO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTg2QkY7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zZWxsZXJCdXR0b25Sb3dSZXNwb25zaXZlIHtcbiAgICAgICAgYS5idXR0b24udGhpcmRQYXJ0eUxpbmsge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNpbWlsYXJBZHMge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAxMHB4IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJlY2VudGx5T3BlbmVkTGlzdGluZ3Mge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgIH1cbiAgICAucmVjb21tZW5kZWRMaXN0aW5ncyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICAucmVjZW50bHlBZGRlZCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5saW5rc0Jsb2NrIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDtcbiAgICAgICAgLmxpbmtzQmxvY2tMaW5rIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDUlO1xuICAgICAgICAgICAgLnJlcG9ydEl0ZW0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzI1cHgpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAxMHB4IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJhbm5lciB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0NHB4O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJtZFwiKSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLml0ZW1JbmZvIHtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB9XG59XG5cbi5zdWJoZWFkaW5nIHtcbiAgICBjb2xvcjogJGxpZ2h0LWdyYXktY29sb3I7XG59XG5cbi5wcmljZURldGFpbCB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbn1cblxuLnNhbGVBY3RpdmUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLnNhbGVJY29uIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5pdGVtRGV0YWlsc1dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLmJyYW5kV3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgLmJyYW5kSGVhZGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnJhbmQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb25kaXRpb25XcmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIC5jb25kaXRpb25IZWFkaW5nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgICAgICAuY29uZGl0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2VsbGVyV3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI0VGRjVGOTtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlLWFjdGl2ZTtcbiAgICAgICAgICAgIDpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNlbGxlckhlYWRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgICAgICAgIC5zZWxsZXJOYW1lIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgLmRldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNlbGxlclBob25lTnVtYmVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMTFCQjU1O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjA1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC02MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGxlckJ1dHRvblJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxNzBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA0cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgLy8gY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlLWFjdGl2ZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtb3JhbmdlLWFjdGl2ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZGNUY5O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCNFRkY1RjksIDUlKTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBpOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZGV0YWlsIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaHIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gICAgJj4gYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uaXRlbUZsYWdnZWQge1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC5pdGVtRGV0YWlsIHtcbiAgICAgICAgLml0ZW1EZXRhaWxDb250YWluZXIge1xuICAgICAgICAgICAgLnJpZ2h0UGFuZWwge1xuICAgICAgICAgICAgICAgIC5jb250YWN0TGlzdGluZ3Mge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBhLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLml0ZW1EZXRhaWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAuYmFjayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5saW5rc0Jsb2NrIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICAubGlua3NCbG9ja0xpbmsge1xuICAgICAgICAgICAgICAgIC5yZXBvcnRJdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW1EZXRhaWxDb250YWluZXIge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIC5sZWZ0UGFuZWwsIC5yaWdodFBhbmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIC5pdGVtQ2Fyb3VzZWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pdGVtQ2Fyb3VzZWxOYXYge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc2VsbGVyV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRkY1Rjk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xOHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDYlO1xuICAgICAgICAgICAgICAgICAgICAucGluQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0X2JveF9zaGFkb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4IDAgMCAyOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBoMSwgaDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBociB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMTZweCArIDQlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWxhcmdlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmRldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1sYXJnZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYS5jb250YWN0QnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1sYXJnZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGEuY29udGFjdEJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICNjb3B5TnVtYmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAjb3Blbk1haWx7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICN3aGF0c2FwcE1lc3NhZ2V7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgICAgICAgICAgICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pdGVtTW9iaWxlUGFuZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIC5sZWZ0UGFuZWwge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICNnb29nbGVNYXAyIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMjRweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yNHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmdvb2dsZU1hcExvY2F0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWxhcmdlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGRlZmF1bHRfYm94X3NoYWRvdztcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2ltaWxhckFkcyB7XG4gICAgICAgICAgICBtYXJnaW46IDVweCA2JSAwO1xuICAgICAgICAgICAgLmhlYWRpbmcge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAvLyBMb29rIGF0IG1ha2luZyB0aGVzZSB2YWx1ZXMgZ2xvYmFsIGZvciBsaXN0aW5ncyBhbGwgcm91bmQhXG4gICAgICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nRGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAubGlzdGluZ0xvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5saXN0aW5nUHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLm5vTG9jIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVjZW50bHlPcGVuZWRMaXN0aW5ncyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDYlIDIwcHg7XG4gICAgICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAuaW1hZ2VXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1JTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nSW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubGlzdGluZ0RldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiByZXZlcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAxMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZWNvbW1lbmRlZExpc3RpbmdzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi50b29sdGlwID4gLnRvb2x0aXAtaW5uZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1vcmFuZ2U7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuLnRvb2x0aXAudG9wID4gLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAkbGlnaHQtb3JhbmdlO1xufVxuXG4ucmVjZW50bHlBZGRlZCB7XG4gICAgLnRvb2x0aXAgPiAudG9vbHRpcC1pbm5lciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1vcmFuZ2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIyMHB4O1xuICAgIH1cbiAgICAudG9vbHRpcC50b3AgPiAudG9vbHRpcC1hcnJvdyB7XG4gICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAkbGlnaHQtb3JhbmdlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG59XG5cbiIsIi5rYXRlZ29yaWVzIHtcbiAgICBwYWRkaW5nOiAkZGVmYXVsdC1wYWRkaW5nO1xuICAgIC5pbnRlcmVzdHNTZXR1cCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIC5rYXRlZ29yaWVzIHtcbiAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtbW9iaWxlLXBhZGRpbmc7XG4gICAgfVxufVxuIiwiLnNpbWlsYXJBZHMge1xuICAgIC53cmFwcGVyIHtcbiAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygyNSUgLSAyMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgICAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgLnNpbWlsYXJBZHMge1xuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIC5saXN0aW5nSW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5saXN0aW5nRGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgICAgICAubGlzdGluZ0xvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdJbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nUHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4IDAgMCAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTQ0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubGlzdGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5saXN0aW5nSW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IDJweCA1cHggJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcjtcbiAgICB9XG4gICAgYnV0dG9uOm5vdCgudG9wQWRCdXR0b24pIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC13aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAxNXB4IDE1cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGlzdGluZ0RldGFpbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5saXN0aW5nSW5mbyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgICAuaW1hZ2VXcmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5hZEl0ZW1TdGlja2VyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaGVpZ2h0OjIycHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCAxNnB4IDJweCAxNnB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHNtYWxsLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHNtYWxsLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b3BJdGVtU3RpY2tlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDE1cHggMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGluVG9Cb2FyZCB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pdGVtRGV0YWlsTGluayB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxufVxuXG5cblxuLmFkZExpc3Rpbmcge1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibGFjaztcbiAgICBjb2xvcjogYmx1ZTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAwcHggIzAwMDAwMDMwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xufVxuXG4uYWRkTGlzdGluZzpob3ZlciB7XG4gICAgY29sb3I6ICRsaWdodC1ibGFjaztcbn1cblxuLnRvcEl0ZW1SaWJib24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB0b3A6IGNhbGMoMTAwJSAtIDI3cHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzZTZmYmQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgIGg0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLnRvcEl0ZW1EZXRhaWxzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgLnRvcEl0ZW1EZXRhaWwge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3RhdHVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaSB7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLmxpc3Rpbmc6bm90KC5pZ25vcmVCcmVha3BvaW50cykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIC5saXN0aW5nSW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5saXN0aW5nRGV0YWlsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00MCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNDAlICsgMTVweCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdGluZ0luZm8ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQuMmVtO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDEycHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDEycHggMTJweCAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHRvcDogNjlweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA3NXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbWFnZVdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgIC5saXN0aW5nUHJpY2Uge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAxMnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggMCAwIDEycHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA2cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5waW5Ub0JvYXJkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hZEl0ZW1TdGlja2VyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDRweCAwcHggNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDYwcHgpIHtcbiAgICAubGlzdGluZzpub3QoLmlnbm9yZUJyZWFrcG9pbnRzKSB7XG4gICAgICAgIC8vaGVpZ2h0OiAxOTBweDtcbiAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICB0b3A6IDcwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzODVweCkge1xuICAgIC5saXN0aW5nOm5vdCguaWdub3JlQnJlYWtwb2ludHMpIHtcbiAgICAgICAgLy9oZWlnaHQ6IDE4MHB4O1xuICAgICAgICAubGlzdGluZ0RldGFpbCB7XG4gICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzNDBweCkge1xuICAgIC5saXN0aW5nOm5vdCguaWdub3JlQnJlYWtwb2ludHMpIHtcbiAgICAgICAgLy9oZWlnaHQ6IDE3MHB4O1xuICAgICAgICAubGlzdGluZ0RldGFpbCB7XG4gICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudG9wS2F0ZWdvcmllIHtcbiAgICBwYWRkaW5nOiAkZGVmYXVsdC1tYXJnaW47XG4gICAgLmhlYWRpbmcge1xuICAgICAgICBwYWRkaW5nOiA0NHB4IDAgMzRweCAwO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndyYXBwZXIge1xuICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAyMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAubGlzdGluZ0xvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiB1bnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogdW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udG9wS2F0ZWdvcmllSHIge1xuICAgIG1hcmdpbjogMCA4JTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAudG9wS2F0ZWdvcmllIHtcbiAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtbW9iaWxlLXBhZGRpbmc7XG4gICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuXG4gICAgICAgICAgICAgICAgLmxpc3RpbmdJbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdEZXRhaWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltYWdlV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIua2F0ZWdvcmllc09mSW50ZXJlc3Qge1xuICAgIHBhZGRpbmc6IDAgOCUgMjBweDtcbiAgICAua2F0ZWdvcmllQ29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAua2F0ZWdvcmllc09mSW50ZXJlc3Qge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDQlO1xuICAgIH1cbn1cbiIsIi5rYXRlZ29yaWUge1xuICAgIGZsZXgtYmFzaXM6IDE5JTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIC5rYXRlZ29yaWVJbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmltZ092ZXJsYXkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDhhO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAua2F0ZWdvcmllTGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogNTglO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5rYXRlZ29yaWUge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDIwJSAtIDEwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgLmthdGVnb3JpZUltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rYXRlZ29yaWVMYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA0NTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucmVjb21tZW5kZWRMaXN0aW5ncyB7XG4gICAgLndyYXBwZXIge1xuICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygyMCUgLSAyMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NTJweCkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgLy93aGl0ZS1zcGFjZTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDg1MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IHVuc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDg1MnB4KSB7XG4gICAgLnJlY29tbWVuZGVkTGlzdGluZ3Mge1xuICAgICAgICAud3JhcHBlcjpub3QoLmNhcm91c2VsKSB7XG4gICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICAubGlzdGluZ0ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdEZXRhaWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTQwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDQwJSArIDE1cHgpO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAubm9Mb2Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAubGlzdGluZ0luZm8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4IDAgMCAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogNjAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbWFnZVdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhpZGVEZXNrdG9wIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzE1cHgpIHtcbiAgICAucmVjZW50bHlBZGRlZCB7XG4gICAgICAgIG1hcmdpbjogMCA0JTtcbiAgICB9XG59XG4iLCIvKiBDaHJvbWUsIFNhZmFyaSwgRWRnZSwgT3BlcmEgKi9cbmlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIEZpcmVmb3ggKi9cbmlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbi5zZWFyY2hSZXN1bHRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiA4JTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgIC5maWx0ZXJQYW5lbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleC1iYXNpczogMjAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1uYXZiYXItY29udGVudC13cmFwcGVycztcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcjtcbiAgICAgICAgbWluLXdpZHRoOiAyNzBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyNzBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm0taW5saW5lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiA0JTtcbiAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDlweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaS5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMjIxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMTJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5mb3JtLWNvbnRyb2w6bm90KHNlbGVjdCkge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDFweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9ybS1ncm91cC5jb3N0IHtcbiAgICAgICAgICAgICAgICAuY29zdElucHV0V3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNvc3RJbnB1dFdyYXBwZXI6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29zdElucHV0TGVmdCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjhweCAwIDAgMjhweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29zdElucHV0UmlnaHQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMjJweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDI4cHggMjhweCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29zdElucHV0TGVmdDpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNvc3RJbnB1dFJpZ2h0OmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJveFRleHQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoKDEwMCUgLSAzNXB4KSAvIDIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5maWx0ZXJQYW5lbC5oaWRlTW9iaWxlIHtcbiAgICAgICAgLnNvcnRCeSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjglO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogOHB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZGlzdGFuY2VJbnB1dCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHVibGljQm9hcmRzIHtcbiAgICAgICAgcGFkZGluZzogMTVweCA1JTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQ0VCRjI7XG4gICAgICAgIC5ib2FyZCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtIDMwcHgpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNXB4IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdF9ib3hfc2hhZG93O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibGFjaztcbiAgICAgICAgICAgIC5pbWFnZVdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA4cHgpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA4cHgpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNHB4IDVweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJvYXJkSW5mbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlc3VsdHMge1xuICAgIC8vIGZsZXgtYmFzaXM6IDgwJTsgY29tbWVudGluZyBvdXQuIGV4cGVyaW1lbnRhbCBmaXggZm9yIEFWLTE0MCBwYWdpbmF0aW9uIGZpeGVzXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLmZpbHRlckJhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4ICRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogOCU7XG4gICAgfVxuICAgIC5zb3J0Qnkge1xuICAgICAgICBmbGV4LWJhc2lzOiAzMy4zJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNSU7XG4gICAgICAgIH1cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA2OCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDY4JTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5kaXN0YW5jZUlucHV0IHtcbiAgICAgICAgZmxleC1iYXNpczogMzMuMzMlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgaDUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzBweDsgXG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMCAjMDAwMDAwMmI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgICAgICZbaWQ9ZGVjcmVtZW50QnRuXSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmW2lkPWluY3JlbWVudEJ0bl0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMjJweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgICAgICBmbGV4LWJhc2lzOiAzMy4zMyU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNCU7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcblxuICAgICAgICBoNSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICB9XG4gICAgICAgIGEuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wYWdpbmF0aW9uLmhpZGVNb2JpbGUge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZztcbiAgICAgICAgLy9oZWlnaHQ6IDgwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgLy8gVGhpcyBtYXJnaW4gY291bGQgYmUgbW9yZSBhcHByb3ByaWF0ZSBnbG9iYWxseSBmb3IgbGlzdGluZ3MhXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMjBweCk7XG4gICAgICAgIH1cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucmVjZW50bHlBZGRlZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTEzMHB4KSB7XG4gICAgLnNlYXJjaFJlc3VsdHMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQlO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwNDBweCkge1xuICAgIC5zZWFyY2hSZXN1bHRzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5yZXN1bHRzIHtcbiAgICAgICAgLmZpbHRlckJhciwgLndyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMCA0JTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk1MHB4KSB7XG4gICAgLnNlYXJjaFJlc3VsdHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLmhpZGVEZXNrdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2luYXRpb24uaGlkZU1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnJlc3VsdHMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgLnNvcnRCeSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwUFggMCAwIDAgO1xuICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAzNSU7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggMXB4ICMwMDAwMDA0MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGlzdGFuY2VJbnB1dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIC5kaXN0YW5jZUlucHV0LCAucGFnaW5hdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvc3RJbnB1dCB7XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucHVibGljQm9hcmRzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hZHZhbmNlZFNlYXJjaE1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWFkdmFuY2VkLXNlYXJjaC1jb2xvcjtcbiAgICAuYWR2YW5jZWRTZWFyY2hMaW5rIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAjYWR2YW5jZWRTZWFyY2gge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5mb3JtLWdyb3VwLmp1bWJvSW5wdXRzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCA4JTtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0LCBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcuaWNvbkxlZnQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgICAgICAgICB0b3A6IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcuaWNvbkxlZnQubG9jYXRpb25JY29uIHtcbiAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZy5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpLmljb25MZWZ0IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaS5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICAgIHRvcDogMjZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkuaWNvbkxlZnQuaWNvbkxlZnRTZWFyY2gge1xuICAgICAgICAgICAgICAgIHRvcDogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZm9ybS1ncm91cC5qdW1ib0lucHV0cy5jb3N0IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29zdElucHV0V3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI4cHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3N0SW5wdXRXcmFwcGVyOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29zdElucHV0TGVmdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4IDAgMCAyOHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3N0SW5wdXRSaWdodCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDI4cHggMjhweCAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvc3RJbnB1dExlZnQ6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29zdElucHV0UmlnaHQ6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ib3hUZXh0IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICNkaXNjb3VudFRvZ2dsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGVmYXVsdC1wYWRkaW5nO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgICAgICBzcGFuLnNsaWRlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICNhZHZhbmNlZFNlYXJjaExpbmtDbG9zZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAxN3B4IDA7XG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYml6bmlzLWl0ZW1zIHtcbiAgICAubGlzdGluZyB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gMjBweCkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTMwcHgpIHtcbiAgICAuc2VhcmNoUmVzdWx0cyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNCU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTA0MHB4KSB7XG4gICAgLnNlYXJjaFJlc3VsdHMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIC5yZXN1bHRzIHtcbiAgICAgICAgICAgIC5maWx0ZXJCYXIsIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDQlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTUwcHgpIHtcbiAgICAuc2VhcmNoUmVzdWx0cyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAucmVzdWx0cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAuc29ydEJ5IHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBQWCAwIDAgMCA7XG4gICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwJVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDM1JTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDNweCAxcHggIzAwMDAwMDQwO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA2cHggMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kaXN0YW5jZUlucHV0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogdW5zZXQ7XG4gICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5maWx0ZXJCYXIge1xuICAgICAgICAgICAgICAgIG9yZGVyOiA1O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgLmRpc3RhbmNlSW5wdXQsIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29zdElucHV0IHtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgICAgIG9yZGVyOiA1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5oaWRlRGVza3RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hZHZhbmNlZFNlYXJjaE1lbnUge1xuICAgICAgICAjYWR2YW5jZWRTZWFyY2gge1xuICAgICAgICAgICAgLmZvcm0tZ3JvdXAuanVtYm9JbnB1dHMge1xuICAgICAgICAgICAgICAgIGkuaWNvblJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIC5yZXN1bHRzIHtcbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0NSU7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjc1cHg7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICAgICAgLmltYWdlV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaW1nOm5vdCguaW1hZ2VQaW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdEZXRhaWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNjclO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5saXN0aW5nUHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDc1cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWR2YW5jZWRTZWFyY2hNZW51IHtcbiAgICAgICAgLmFkdmFuY2VkU2VhcmNoTGluayB7XG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICNhZHZhbmNlZFNlYXJjaCB7XG4gICAgICAgICAgICAuZm9ybS1ncm91cC5qdW1ib0lucHV0cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGkuaWNvbkxlZnQuaWNvbkxlZnRTZWFyY2gge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZy5pY29uTGVmdCB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZy5pY29uTGVmdC5sb2NhdGlvbkljb24ge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZy5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogOHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9ybS1ncm91cC5qdW1ib0lucHV0cy5jb3N0IHtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNvc3RJbnB1dExlZnQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4IDAgMCAyOHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRSaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMjhweCAyOHB4IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iaXpuaXMtaXRlbXMge1xuICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDIwcHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucmVnaXN0cmF0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDglO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLmJyZWFkY3J1bWIge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5uZXdJdGVtUmVnaXN0cmF0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB3aWR0aDogNzQlO1xuICAgICAgICBtYXJnaW46IDAgMTMlIDIwcHg7XG4gICAgICAgIHNlY3Rpb24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICBib3R0b206IDdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyOXB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZG9iIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgLy9wYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICNkYXRlT2ZCaXJ0aElucHV0cyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA4JTtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgICAgICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zb2NpYWxSZWdpc3RlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMyU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm0tY2hlY2sge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc21zVmVyaWZpY2F0aW9uRm9ybSB7XG4gICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDI1JTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJj4gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNlbmROZXdTTVMge1xuICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAyNSU7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICAgIC5uZXdTTVMge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNzVweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uZXdJdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgOCU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2MXB4KTtcbiAgICAuYWRtaW5QYW5lbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleC1iYXNpczogMjUlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYWR2YW5jZWQtc2VhcmNoLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDZweCAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yO1xuICAgICAgICBtaW4td2lkdGg6IDI3MHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm0taW5saW5lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiA0JTtcbiAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDExJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaS5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxOTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpLmZhLXlvdXR1YmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAyM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTIlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNnB4ICRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5sb2NhdGlvbklucHV0T3BlbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbC53SWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbC5hZGRJbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIC51cGxvYWRMaXN0aW5nSW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNjBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC51cGxvYWRlZEltYWdlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgLnVwbG9hZGVkSW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBtb3ZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZW1vdmVVcGxvYWRlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgI2ZpbGVJbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGNvbnRleHR1YWwgb3ZlcnJpZGUgZm9yIGZvcm1zXG4gICAgICAgICAgICAgICAgLmZhbmN5RHJvcGRvd24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgPiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5sb2NhdGlvbkxpc3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnBob25lTnVtYmVySW5wdXRHcm91cCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNnB4ICM4ODg4ODgyRTtcbiAgICAgICAgICAgICAgICAgICAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnBob25lTnVtYmVySW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLWdyb3VwLmdkcHIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLWdyb3VwLmdkcHJSaWdodHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDQwcHg7XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OmluaXRpYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zYXZlRHJhZnQge1xuICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByb2dyZXNzIHtcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC52aWV3UGFuZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBmbGV4LWJhc2lzOiA3NSU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibGFjaztcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIC5saXN0aW5nUGFuZWxzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAubGVmdFBhbmVsIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCA0JTtcbiAgICAgICAgICAgICAgICAuaW1hZ2VXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGRlZmF1bHRfYm94X3NoYWRvdztcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICNwcmV2aWV3SW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgI2dvb2dsZU1hcCB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJpZ2h0UGFuZWwge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICAgICAgc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIC5pdGVtSW5mbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5kZXRhaWwgaW1nIHtcbiAgICB3aWR0aDogMjVweDtcbn1cbiNjYXRlZ29yeUZpZWxkc1ByZXZpZXcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAwNXB4KSB7XG4gICAgLnJlZ2lzdHJhdGlvbiB7XG4gICAgICAgIC5uZXdJdGVtUmVnaXN0cmF0aW9uIHtcbiAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kb2Ige1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAjZGF0ZU9mQmlydGhJbnB1dHMge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIC5zb2NpYWxSZWdpc3RlciB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAucmVnaXN0cmF0aW9uIHtcbiAgICAgICAgLm5ld0l0ZW1SZWdpc3RyYXRpb24ge1xuICAgICAgICAgICAgd2lkdGg6IDg0JTtcbiAgICAgICAgICAgIG1hcmdpbjogMCA4JTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibWRcIikpIHtcbiAgICAubmV3SXRlbSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLm5ld0l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAuYWRtaW5QYW5lbCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgLmZvcm0taW5saW5lIHtcbiAgICAgICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaS5mYS15b3V0dWJlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcuaWNvblJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaS5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuZm9ybS1jb250cm9sLFxuICAgICAgICAgICAgICAgICAgICAuZmFuY3lEcm9wZG93bi13cmFwcGVyLCAucGhvbmVOdW1iZXJJbnB1dEdyb3VwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5mb3JtLWdyb3VwLmdkcHIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC52aWV3UGFuZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucmVnaXN0cmF0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMCA0JTtcbiAgICAgICAgLmJyZWFkY3J1bWIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBzZWN0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICB9XG4gICAgICAgIC5uZXdJdGVtUmVnaXN0cmF0aW9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMjlweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAzNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kb2Ige1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgI2RhdGVPZkJpcnRoSW5wdXRzIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zb2NpYWxSZWdpc3RlciB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZW5kTmV3U01TLCAuc21zVmVyaWZpY2F0aW9uRm9ybSB7XG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkyJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcIm1kXCIpKSB7XG4gICAgLm5ld0l0ZW0gI2l0ZW1Gb3JtIC5jYXRlZ29yeS1hbGVydCxcbiAgICAubmV3SXRlbSAjaXRlbUZvcm0gLmZvcm0tc3VibWl0XG4gICAge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTAlO1xuICAgIH1cbn1cbiIsIi5lcnJvci1wYWdlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogN3ZoO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTR2aDtcbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDR2aDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJtZFwiKSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb2RlIHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWNrLWxpbmsge1xuICAgICAgICBAZXh0ZW5kICVnZW5lcmljQnV0dG9uO1xuICAgICAgICBtYXJnaW4tdG9wOiA2dmg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXZoO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLndyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnRvcEthdGVnb3JpZSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxufVxuXG4ua2F0ZWdvcmllcyB7XG4gICAgLndyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAucmVjZW50bHlBZGRlZCB7XG4gICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuaGVhZGluZyB7XG4gICAgcGFkZGluZzogMzRweCAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgfVxufVxuXG4ua2F0ZWdvcmllc09mSW50ZXJlc3QsIC5rYXRlZ29yaWVzIHtcbiAgICAuaGVhZGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDQ0cHggMCAzNHB4IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5rYXRlZ29yaWVzIHtcbiAgICAgICAgLmhlYWRpbmcge1xuICAgICAgICAgICAgcGFkZGluZzogNDRweCAwIDE1cHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAucmVjZW50bHlBZGRlZCwgLnRvcEthdGVnb3JpZSB7XG4gICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubG9naW5SZWdpc3RlciB7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBtYXJnaW46IDYwcHggMzAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1ib3hfc2hhZG93O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgIC5yZWdpc3RyYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1heC13aWR0aDogNTBlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICB9XG5cbiAgICAubmF2LXRhYnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAubmF2LWl0ZW06b25seS1jaGlsZCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5uYXYtaXRlbSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRhYi1jb250ZW50IHtcbiAgICAgICAgLnRhYi1wYW5lLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICB9XG4gICAgICAgIC50YWItcGFuZSB7XG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMjFweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwJTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgI2Zvcm1fdG9rZW4ge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLWdyb3VwIGlucHV0LCAuZm9ybS1ncm91cCBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDUlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdF9ib3hfc2hhZG93O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5waG9uZU51bWJlcklucHV0R3JvdXAge1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgIC5pbnB1dC1ncm91cC1wcmVwZW5kIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgICAgICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA2cHggMXB4ICM4ODg4ODgyRTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucGhvbmVOdW1iZXJJbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG9wdGlvbjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5wdXQ6Zm9jdXMsIHNlbGVjdDpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCAkbGlnaHQtb3JhbmdlLWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAmKyBpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wYXNzSW5wdXQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAvL2kge1xuICAgICAgICAgICAgICAgIC8vICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAvLyAgICBib3R0b206IDIxcHg7XG4gICAgICAgICAgICAgICAgLy8gICAgcmlnaHQ6IDQ2cHg7XG4gICAgICAgICAgICAgICAgLy8gICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgIC8vfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmRvYiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1JTtcbiAgICAgICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzLjMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaDUge1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmxvZ2luQnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCBjYWxjKDUwJSAtIDY1cHgpIDYwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaHIge1xuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDEwJTtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcblxuICAgICAgICAgICAgJi5jbGVhblJ1bGU6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaHI6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJ2FsZWJvJztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogLTE0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLWNoZWNrIHtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBsYWJlbCB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0LWJveF9zaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zb2NpYWxSZWdpc3RlciB7XG4gICAgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICBidXR0b246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICB9XG4gICAgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgIH1cbn1cblxuLmdvb2dsZUxvZ2luIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI0NDM3O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW46IDEwcHggY2FsYyg1MCUgLSAxMDBweCk7XG4gICAgaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbn1cbi5nb29nbGVMb2dpbi5tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5nb29nbGVMb2dpbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FiMzQyYjtcbn1cblxuLmZiTG9naW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjU5OTg7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbjogMTBweCBjYWxjKDUwJSAtIDEwMHB4KTtcbiAgICBpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTM1MHB4KSB7XG4gICAgLmxvZ2luUmVnaXN0ZXIge1xuICAgICAgICB3aWR0aDogNzIlO1xuICAgICAgICBtYXJnaW46IDIwcHggMTQlXG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjc1cHgpIHtcbiAgICAubG9naW5SZWdpc3RlciB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIG1hcmdpbjogMjBweCAyMCU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIC5sb2dpblJlZ2lzdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgLm5hdi10YWJzIHtcbiAgICAgICAgICAgIC5uYXYtaXRlbSB7XG4gICAgICAgICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5uYXYtbGluazpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IGluc2V0O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNiM2IzYjMyNDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiB0aGluO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRhYi1jb250ZW50IHtcbiAgICAgICAgICAgIC50YWItcGFuZSB7XG4gICAgICAgICAgICAgICAgLmRvYiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDIxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDM0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zb2NpYWxSZWdpc3RlciB7XG4gICAgICAgICAgICAgICAgYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggY2FsYyg1MCUgLSAxMDBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGNhbGMoNTAlIC0gMTAwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpc3RlclR5cGVTZWxlY3Rpb24ge1xuICAgICAgICB3aWR0aDogMTE1cHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5yZWdpc3RlclR5cGVTZWxlY3Rpb24ge1xuICAgIHdpZHRoOiAxMjJweDtcbiAgICBtYXgtd2lkdGg6IDQ1JTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICA+IHN2ZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdF9ib3hfc2hhZG93O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc21hbGwtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgICAgICBmaWxsOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnVzaW5lc3NQcm9maWxlVHlwZVNlbGVjdGlvbiB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXJnaW46IDMwcHggYXV0byAwIGF1dG87XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpKSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cbn1cblxuLmJ1c2luZXNzUHJvZmlsZVR5cGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBib3gtc2hhZG93OiAwcHggMCA4cHggIzg4ODg4ODJFO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibWRcIikpIHtcbiAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJtZFwiKSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNnB4O1xuICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdF9ib3hfc2hhZG93O1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9maWxlVHlwZUZvb3RlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAub3B0aW9uUHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9maWxlVHlwZUhlYWRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJtZFwiKSkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNjJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvbW9UZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29tcGFueVJlZ2lzdHJhdGlvbkNvbXBhcmUge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG8gMTBweCBhdXRvO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcIm1kXCIpKSB7XG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDEwcHggYXV0bztcbiAgICB9XG59XG5cbi5jb21wYW55UmVnaXN0cmF0aW9uU3BlY3Mge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXJnaW46IGF1dG87XG5cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgPiBoci5jbGVhblJ1bGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgfVxuXG4gICAgLmNvbXBhbnlSZWdpc3RyYXRpb25Db21wYXJlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cbiIsIiNnb29nbGVNYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgb3JkZXI6IDI7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICA+IGRpdiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgfVxufVxuLmdvb2dsZU1hcExvY2F0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBvcmRlcjogMztcbiAgICBhIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hY3RpdmVMb2NhdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgIH1cbn1cblxuLmdvb2dsZUxvY2F0aW9uIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuIiwiaHRtbCwgYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG5hIHtcbiAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICA6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4uaWNvblJpZ2h0LCAuaWNvbkxlZnQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc3Ryb25nQmx1ZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbn1cblxuLnN0cm9uZ0JsayB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5zdHJvbmdZZWxsb3cge1xuICAgIGNvbG9yOiByZ2IoMjM0LCAxNzksIDgpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5zb2Z0VGV4dCB7XG4gICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xufVxuXG4uYmxrTGluayB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZS1hY3RpdmU7XG4gICAgfVxufVxuXG4uYnJlYWRjcnVtYiB7XG4gICAgcGFkZGluZzogMjBweCA0JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0tZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvL2JvdHRvbTogMjFweDtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vYm90dG9tOiAxNXB4O1xuICAgICAgICByaWdodDogMzRweDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBkaXZbaWQ9XCJsb2NhdGlvblBvcG92ZXJcIl0gJiB7XG4gICAgICAgICAgICB0b3A6IDIxcHg7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaHIuYWxlYm9IciB7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xufVxuaHIuYWxlYm9IcjphZnRlciB7XG4gICAgY29udGVudDogJ2FsZWJvJztcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTE0cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibGFjaztcbn1cblxuLmRpc2FibGVkQmMge1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbiNkaXNjb3VudFRvZ2dsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBoNSB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgbGFiZWwuc3dpdGNoIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cbn1cblxuLmJveFRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDM5cHg7XG4gICAgYm90dG9tOiAxMXB4O1xuICAgIGxlZnQ6IGNhbGMoKDEwMCUgLSAxNXB4KSAvIDIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICB6LWluZGV4OiAzO1xufVxuXG4ubWFpblZpZXcge1xuICAgIGhlaWdodDogODJ2aDtcbiAgICAuZmlsdGVyUGFuZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vcHRHcm91cCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIHRoaXMgaXMgY3VzdG9tIGRyb3Bkb3duIGFjY29yZGluZyB0byBkZXNpZ24uXG4vLyB0aGlzIHBhdHRlcm4gY2FuIGJlIGV4dHJhY3RlZCBhbmQgcmV1c2VkIEhPV0VWRVIgaXQgbWlnaHQgYmUgYmV0dGVyIHRvIGludmVzdGlnYXRlIGEgcmV1c2Ugb2YgYnVpbHQtaW4gYm9vdHN0cmFwIGRyb3Bkb3duXG4uZmFuY3lEcm9wZG93biB7XG4gICAgbGFiZWwge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcIm1kXCIpKSB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuLmZhbmN5RHJvcGRvd24td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZmFuY3lJbnB1dCB7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cbi5mYW5jeURyb3Bkb3duTGlzdCxcbi5sb2NhdGlvbkxpc3Qge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogNDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAkZGVmYXVsdF9ib3hfc2hhZG93X25vX3RvcDtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJk9wZW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2VhcmNoUmVzdWx0cyAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgfVxuXG4gICAgJi0tc2VhcmNoTW9iaWxlIHtcbiAgICAgICAgd2lkdGg6IDg0JVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlLWFjdGl2ZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBhZGRpbmcgY2xhc3MgdG8gaW5wdVxuLmxvY2F0aW9uSW5wdXRPcGVuLFxuLmZhbmN5SW5wdXRPcGVuIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4vL0ZvbnQgU2l6ZXNcbmEsIHAsIHNwYW4sIGxhYmVsIHtcbiAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgYSwgcCwgc3BhbiwgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICAgIC5oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbn1cblxuc3Bhbi5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgb3BhY2l0eTogMTtcbn1cblxub3B0aW9uOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGxpZ2h0LWdyYXktY29sb3I7XG59XG5cbnNlbGVjdCBvcHRpb24gW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xufVxuXG5zZWxlY3Q6aW52YWxpZCB7XG4gICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xufVxuXG5hLnVuZGVybGluZSB7XG4gICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbmJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWRhcmstZ3JheS1jb2xvcjtcbn1cblxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgYSwgcCwgc3BhbiwgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZS1tb2JpbGU7XG4gICAgfVxufVxuXG4vLyBNb2JpbGUgKyBEZXNrdG9wIHZpc2liaWxpdHlcbi5oaWRlTW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTUwcHgpIHtcbiAgICAuc2VhcmNoUmVzdWx0cyB7XG4gICAgICAgIC5oaWRlRGVza3RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5oaWRlTW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzMwcHgpIHtcbiAgICAucmVjZW50bHlBZGRlZCB7XG4gICAgICAgIC5oaWRlTW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLnJlY2VudGx5QWRkZWQge1xuICAgICAgICAuaGlkZU1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlRGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmhpZGVNb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4iLCJpbnB1dC5mb3JtLWNvbnRyb2wsIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1ib3hfc2hhZG93O1xufVxuXG4ubW9kYWwge1xuICAgIGlucHV0LmZvcm0tY29udHJvbCwgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA2cHggMXB4ICM4ODg4ODgyRTtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gICAgfVxufVxuXG4uZm9ybS1ncm91cCB7XG4gICAgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0LWJveF9zaGFkb3c7XG4gICAgfVxufVxuXG4uZm9ybS1ncm91cCBpLmZhLWV5ZSB7XG4gICAgY29sb3I6IGJsYWNrO1xufVxuLmZvcm0tZ3JvdXAgaS5mYS1leWUtc2xhc2gge1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbn1cblxuLmZvcm0tY2hlY2suZ2RwciB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMjBweDtcbiAgICBsYWJlbCB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuc2VsZWN0IHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG5cbiAgICAmLmZvcm0tY29udHJvbC0tbm8taWNvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTsgXG4gICAgfVxufVxuXG5cbiIsIi5ib2FyZFZpZXcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDglO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICAgIC5yZXN1bHRzIHtcbiAgICAgICAgZmxleC1iYXNpczogODAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIC5maWx0ZXJCYXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgOSU7XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAyMDBweDtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yaWdodEZpbHRlckJhciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzAlIC0gNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA3MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5oaWRlQmFyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zb3J0Qnkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMzMuMyU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGNvbnRleHR1YWwgb3ZlcnJpZGVzXG4gICAgICAgICAgICAuZmFuY3lEcm9wZG93bi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgICAgID4gaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDY4JTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZGVmYXVsdC1wYWRkaW5nO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDM1JTtcbiAgICAgICAgICAgICAgICBib3R0b206IDVweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDFweDtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gLmRpc3RhbmNlSW5wdXQge1xuICAgICAgICAvLyAgICAgZmxleC1iYXNpczogMzMuMzMlO1xuICAgICAgICAvLyAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLy8gICAgIG1hcmdpbjogMDtcbiAgICAgICAgLy8gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC8vICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC8vICAgICBsYWJlbCB7XG4gICAgICAgIC8vICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAvLyAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIC8vICAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgICAgIC8vICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gICAgIHNwYW4ge1xuICAgICAgICAvLyAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC8vICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vICAgICBidXR0b24ge1xuICAgICAgICAvLyAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLy8gICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgLy8gICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIC8vICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgIC8vICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgICAgICAvLyAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgLy8gICAgICAgICBib3gtc2hhZG93OiAwIDAgNnB4IDAgIzAwMDAwMDJiO1xuICAgICAgICAvLyAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgLy8gICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vICAgICBpbnB1dCB7XG4gICAgICAgIC8vICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIC8vICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAvLyAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgIC8vICAgICAgICAgbWF4LXdpZHRoOiAyNHB4O1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9XG4gICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggOCUgNDBweDtcbiAgICAgICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgICAgICAvLyBUaGlzIG1hcmdpbiBjb3VsZCBiZSBtb3JlIGFwcHJvcHJpYXRlIGdsb2JhbGx5IGZvciBsaXN0aW5ncyFcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtIDIwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCA4JSAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5yZWNvbW1lbmRlZExpc3RpbmdzIHtcbiAgICAgICAgICAgIC5yZWNlbnRseUFkZGVkIHtcbiAgICAgICAgICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5lZGl0TW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTBweCkge1xuICAgICAgICAuZWRpdEZpbHRlckJhciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYm9hcmRWaWV3IHtcbiAgICAucmVjb21tZW5kZWRMaXN0aW5ncyB7XG4gICAgICAgIC5yZWNlbnRseUFkZGVkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCA0JSA0MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZWRpdEZpbHRlckJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWJhc2lzOiA3NSU7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgLm1vdmVCdXR0b24sIC5kZWFjdGl2YXRlQnV0dG9uLCAudG9wU2VsZWN0ZWQge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZGVhY3RpdmF0ZVNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG4gICAgLmRlbGV0ZUJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgIGkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAgICAgICAuZGVsZXRlQnV0dG9uIHtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1vdmVCdXR0b24ge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGlzdGluZzpub3QoLmRlYWN0aXZhdGVkTGlzdGluZykge1xuICAgIC5pbWdPdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA4YTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5MHB4KSB7XG4gICAgLmVkaXRGaWx0ZXJCYXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1JTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTI1cHgpIHtcbiAgICAuZWRpdEZpbHRlckJhciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmJvYXJkVmlldyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNCU7XG4gICAgICAgIC5yZXN1bHRzIHtcbiAgICAgICAgICAgIC5maWx0ZXJCYXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNSU7XG4gICAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnJpZ2h0RmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNjUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDQlIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MjVweCkge1xuICAgIC5ib2FyZFZpZXcge1xuICAgICAgICAucmVzdWx0cyB7XG4gICAgICAgICAgICAuYWR2YW5jZWRTZWFyY2hNZW51IHtcbiAgICAgICAgICAgICAgICAjYWR2YW5jZWRTZWFyY2hMaW5rIHtcbiAgICAgICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICAucmlnaHRGaWx0ZXJCYXIge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuYm9hcmRWaWV3IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgLnJlc3VsdHMge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuaGlkZURlc2t0b3AsIC5vcHRpb25OZXcuaGlkZU1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIC5lZGl0RmlsdGVyQmFyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgICAgICAubW92ZUJ1dHRvbiwgLmRlYWN0aXZhdGVCdXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJvYXJkVmlldyB7XG4gICAgICAgIC5yZXN1bHRzIHtcbiAgICAgICAgICAgIC5maWx0ZXJCYXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNCU7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGgxLCBhIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggMCA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDg0JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICAubGlzdGluZ0ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLml0ZW1EZXRhaWxMaW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5saXN0aW5nRGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2OCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAzM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubGlzdGluZ0xvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5ub0xvYyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC0xOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmltYWdlV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZWRpdERlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuZWRpdE1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuZWRpdE1vYmlsZS5iYWNrQnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgb3JkZXI6IDNcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5tb2RhbCB7XG4gICAgLm1vZGFsLWRpYWxvZyB7XG4gICAgICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICBidXR0b24uY2xvc2VNb2RhbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIC5tb2RhbC10aXRsZTpub3QoLm10c2MpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA4JTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzLjMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwLjc1cmVtIDQwcHg7XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm10c2Mge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtYXJnaW46IDIwcHggMDtcbn1cblxuI25ld0JvYXJkIHtcbiAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICAgICAgaW5wdXQge1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jbW92ZUl0ZW1zLCAjYWRkQm9hcmRJdGVtIHtcbiAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2RlbGV0ZUJvYXJkLCAjZGVsZXRlRmlsdGVyLCAjZGVsZXRlQWQsICNkZWxldGVTYXZlZEZpbHRlciwgI3JlbmFtZUJvYXJkLCAjcmVtb3ZlSXRlbXMsICNkZWFjdGl2YXRlSXRlbXMsICNkZWxldGVJdGVtcyB7XG4gICAgLm1vZGFsLWRpYWxvZyB7XG4gICAgICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDglO1xuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNpbWFnZUZ1bGxWaWV3Q29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTA1MDtcbn1cblxuI2ltYWdlRnVsbFZpZXcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGxlZnQ6IHVuc2V0O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgLm1vZGFsLWltYWdlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNnJlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNsb3NlTW9kYWwge1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogOTJ2dztcbiAgICAgICAgLmdhbGxlcnlDYXJvdXNlbCB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2xpY2stYXJyb3cge1xuICAgICAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgI21vdmVJdGVtcywgI2FkZEJvYXJkSXRlbSB7XG4gICAgICAgIC5tb2RhbC1kaWFsb2cge1xuICAgICAgICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwdmg7XG5cbiAgICAgICAgICAgICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAmPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAub3B0aW9uTmV3LmhpZGVNb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbC5zYXZlQ2F0ZWdvcnlNb2RhbCB7XG4gICAgLm1vZGFsLWJvZHkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTYlKTtcbiAgICAgICAgcGFkZGluZzogMjBweCA4JTtcbiAgICAgICAgLmNhdGVnb3J5RGQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDglO1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDUyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwNTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnN1YkNhdGVnb3JpZXMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLnN1YkNhdGVnb3J5IHtcbiAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgaDQubXRzYyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDM1cHggMCAwIDA7XG4gICAgICAgIH1cbiAgICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJvYXJkT3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxufVxuXG4uc2F2ZWRTZWFyY2hUaXRsZSB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBtYXJnaW46IGF1dG87XG59XG5cbi5mb290ZXJCdXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICA+IGRpdiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbn1cbiIsIi5maWx0ZXJQYW5lbCwgLnByb2ZpbGVNZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1iYXNpczogMjAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1hZHZhbmNlZC1zZWFyY2gtY29sb3I7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4ICRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I7XG4gICAgbWluLXdpZHRoOiAyNzBweDtcbiAgICBtYXgtd2lkdGg6IDI3MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBoMSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZvcm0taW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogNCU7XG4gICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiB1bnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAzNnB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGkuaWNvblJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTk5cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDE5MnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0X2JveF9zaGFkb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm0tZ3JvdXAuY29zdCB7XG4gICAgICAgICAgICAuY29zdElucHV0V3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3N0SW5wdXRXcmFwcGVyOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29zdElucHV0TGVmdCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI4cHggMCAwIDI4cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDIycHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvc3RJbnB1dFJpZ2h0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMjJweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAyOHB4IDI4cHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3N0SW5wdXRMZWZ0OmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvc3RJbnB1dFJpZ2h0OmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uZmlsdGVyUGFuZWwuaGlkZU1vYmlsZSB7XG4gICAgLnNvcnRCeSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogNjglO1xuICAgICAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZztcbiAgICAgICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogOHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDI4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmRpc3RhbmNlSW5wdXQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLnByb2ZpbGVNZW51IHtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICBoMSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLmNvbXBhbnlQcm9maWxlIHtcbiAgICAuZmlsdGVyUGFuZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgaHIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDglO1xuICAgICAgICB9XG4gICAgICAgIC5mb3JtLWlubGluZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4JTtcbiAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGkuaWNvbkxlZnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpbWcuaWNvbkxlZnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvcm0tZ3JvdXAuY29zdCB7XG4gICAgICAgICAgICAgICAgLmNvc3RJbnB1dFdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wcm9maWxlVmlldyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogOCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC5jb250ZW50IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgaHIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgfVxuICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGluaXRpYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZWRpdEZpbHRlclBhbmVsVG9nZ2xlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnBhZ2luYXRpb24ge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2luYXRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2luYXRpb246bm90KC5kZXNrdG9wT25seSkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLnNvcnRCeSB7XG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBjb250ZXh0dWFsIG92ZXJyaWRlc1xuICAgICAgICAgICAgPiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+IGkuZmFzIHtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA0NnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZhbmN5RHJvcGRvd24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICAgICAgICA+IGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmVkaXRNb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubGlzdGluZyB7XG4gICAgICAgIC5saXN0aW5nRGV0YWlsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAubGlzdGluZ0luZm8ge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdGluZ0VkaXQge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdGluZ1ZpZXdzIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBidXR0b246bm90KC5zdGF0dXMpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDc1cHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTEyNXB4KSB7XG4gICAgLnByb2ZpbGVWaWV3IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0JTtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNCUgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwNDBweCkge1xuICAgIC5mYXZvdXJpdGVDYXRlZ29yaWVzIHtcbiAgICAgICAgbWFyZ2luOiAwIDYlO1xuICAgICAgICAuY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIC5mYXZvdXJpdGVUb2dnbGUge1xuICAgICAgICAgICAgICAgIC5mYXZvdXJpdGVTd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByb2ZpbGVWaWV3IC5jb250ZW50IC5zb3J0Qnkge1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODYwcHgpIHtcbiAgICAucHJvZmlsZVZpZXcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIC5wYWdpbmF0aW9uLmRlc2t0b3BPbmx5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAucmlnaHRGaWx0ZXJCYXIge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mYXZvdXJpdGVDYXRlZ29yaWVzIHtcbiAgICAgICAgbWFyZ2luOiAwIDQlO1xuICAgICAgICAuY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjVweCkge1xuICAgIC5wcm9maWxlVmlldyAuYWRTZXR0aW5ncyAuZmlsdGVyQmFyIHtcbiAgICAgICAgZmxleC13cmFwOiBpbml0aWFsO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7XG4gICAgLmZhdm91cml0ZUNhdGVnb3JpZXMge1xuICAgICAgICBoZWlnaHQ6IDg0JTtcbiAgICAgICAgLmNhdGVnb3JpZXMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDg4JTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjVweCkge1xuICAgIC5nb29nbGVMb2dpbi5tb2JpbGUsIC5mYkxvZ2luLm1vYmlsZSAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAuZ29vZ2xlTG9naW4sIC5mYkxvZ2luICB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzE1cHgpIHtcbiAgICAuYm9hcmRWaWV3LFxuICAgIC5wcm9maWxlVmlldyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmhpZGVNb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmhpZGVEZXNrdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLnByb2ZpbGVWaWV3IHtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiA4OXZoO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgLmZpbHRlckJhciB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nSW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAubGlzdGluZ0RldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nVmlld3Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbjpub3QoLnN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuaW1hZ2VXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5lZGl0RGVza3RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5lZGl0TW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIGkuZWRpdE1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZWRpdGluZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBkaXYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLm51bWJlclNlbGVjdGVkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5jaGIge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdFByb01vYmlsZSB7XG4gICAgICAgIG1hcmdpbjogMjJweCAwcHggMCAzNHB4O1xuICAgICAgICBmbGV4LWJhc2lzOiA0MCUgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudG9wU2VsZWN0ZWQsIC5hY3RpdmF0ZVNlbGVjdGVkLCAuZGVhY3RpdmF0ZVNlbGVjdGVkIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmhpZGVCYXJQcm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5lZGl0aW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbiIsIi5wcm9maWxlTWVudSB7XG4gICAgaDEge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICB9XG59XG5cbi5wcm9maWxlTWVudUxpbmssIC5tZW51TGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cbi5wcm9maWxlTWVudUxpbmsudG9nZ2xlTW9kZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGxhYmVsLmRyb3Bkb3duU3dpdGNoIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cbn1cbi5wcm9maWxlTWVudUxpbmsuYWN0aXZlLCAubWVudUxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgIGxhYmVsIHtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIH1cbn1cblxuLnByb2ZpbGVNZW51TGluazpmb2N1cywgLm1lbnVMaW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlLWFjdGl2ZTtcbiAgICBsYWJlbCB7XG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxufVxuXG4ubWFpbkltYWdlVXBsb2FkSWNvbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGJvdHRvbTogMTBweDtcbn1cblxuLmxvZ29JbWFnZVVwbG9hZEljb24ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICBib3R0b206IDIwcHg7XG59XG5cbi5pbWdPdmVybGF5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICBvcGFjaXR5OiA0MCU7XG59XG5cbi5sb2dvV3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgYm90dG9tOiAtMzBweDtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDhweCBibGFjaztcbiAgICAucHJvZmlsZUF2YXRhciB7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5pbWdPdmVybGF5IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLnByb2ZpbGVNZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCIuYWRTZXR0aW5ncyB7XG4gICAgLmZpbHRlckJhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDcwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDklIDAgOSU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZmxleC1iYXNpczogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnJpZ2h0RmlsdGVyQmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzMDVweDtcbiAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC0gMTAwcHgpO1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcIm1kXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA2MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAuaGlkZUJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zb3J0Qnkge1xuICAgICAgICBmbGV4LWJhc2lzOiAzMy4zJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIycHg7XG4gICAgICAgIH1cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDY4JTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgICAgICBsZWZ0OiAzNSU7XG4gICAgICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICBib3R0b206IDBweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWN0aXZlTGlzdGluZ3Mge1xuICAgICAgICBoZWlnaHQ6IDgwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCA4JSA0MHB4O1xuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCAzMHB4O1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgLmltZ092ZXJsYXkge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGkuZWRpdE1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmVkaXRPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDJweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hY3RpdmVTd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAuc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmRlbGV0ZUFkIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hZGRMaXN0aW5nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kZWFjdGl2YXRlZExpc3Rpbmcge1xuICAgICAgICAgICAgICAgIC5pbWdPdmVybGF5IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNGM0YzQ4YTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTI1cHgpIHtcbiAgICAgICAgLmFjdGl2ZUxpc3RpbmdzIHtcbiAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDQlIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg2MHB4KSB7XG4gICAgICAgIC5zb3J0Qnkge1xuICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFjdGl2ZUxpc3RpbmdzIHtcbiAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjVweCkge1xuICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNCU7XG4gICAgICAgICAgICAucmlnaHRGaWx0ZXJCYXIge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgICAgICAgICAuc29ydEJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5hY3RpdmVMaXN0aW5ncyB7XG4gICAgICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgIC5maWx0ZXJCYXIge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCA0JTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmVkaXRNb2JpbGUuYmFja0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGgxLCBhIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuXG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDM4cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmlnaHRGaWx0ZXJCYXIge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IC0ycHggMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZWRpdEZpbHRlckJhciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hY3RpdmVMaXN0aW5ncyB7XG4gICAgICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMTBweDtcbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdEZXRhaWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICAubGlzdGluZ0luZm8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAubGlzdGluZ0VkaXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDQwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5saXN0aW5nVmlld3Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDYwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmVkaXRPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmFjdGl2ZVN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN3aXRjaCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd25Td2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2xpZGVyOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kcm9wZG93blRvZ2dsZTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYm9hcmRTZXR0aW5ncyB7XG4gICAgLmZpbHRlckJhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDklIDIwcHggOSU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZmxleC1iYXNpczogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnJpZ2h0RmlsdGVyQmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAyMDBweCk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA2MHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmhpZGVCYXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubXlCb2FyZHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggOCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDkwcHgpO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAvL0BtZWRpYSAobWF4LXdpZHRoOiAxMTI1cHgpIHtcbiAgICAgICAgLy8gICAgcGFkZGluZzogMTVweCA0JTtcbiAgICAgICAgLy99XG4gICAgICAgIC5ib2FyZCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtIDMwcHgpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweCAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHggMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0X2JveF9zaGFkb3c7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgLmltYWdlV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBpbWcsIC5lbXB0eUltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA4cHgpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA4cHgpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNHB4IDVweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5lbXB0eUltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDcycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJvYXJkSW5mbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5wdWJsaWNTd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOm5vdCgjcHVibGljU3dpdGNoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ib2FyZEVkaXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZWRpdEJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmRlbGV0ZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFkZEJvYXJkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGRlZmF1bHRfYm94X3NoYWRvdztcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMzBweCk7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAxNXB4IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgICAgICAuYWRkQm9hcmQ6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LW9yYW5nZS1ob3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICAuYWRkQm9hcmQ6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LW9yYW5nZS1hY3RpdmU7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExNDBweCkge1xuICAgICAgICAgICAgLmJvYXJkLCAuYWRkQm9hcmQge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgyNXB4KSB7XG4gICAgICAgICAgICAuYm9hcmQsIC5hZGRCb2FyZCB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC0gMzBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgIC5ib2FyZCwgLmFkZEJvYXJkIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNCU7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAyMDBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmlnaHRGaWx0ZXJCYXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wZXJzb25hbFNldHRpbmdzIHtcbiAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubXlTZXR0aW5ncyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDglO1xuICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODk1cHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDE1MHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5NXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMTJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbnB1dCwgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZy5lZGl0SWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnBob25lTnVtYmVySW5wdXRHcm91cCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDZweCAxcHggIzg4ODg4ODJFO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnBob25lTnVtYmVySW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmlucHV0LWdyb3VwLXRleHQgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBob25lTnVtYmVySW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICNsaW5rZWRBY2NvdW50cyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDEyMnB4KTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbldyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmdvb2dsZUxvZ2luLm1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5mYkxvZ2luLm1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5nb29nbGVMb2dpbiwgLmZiTG9naW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGNhbGMoNTAlIC0gNjBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDcyNXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdvb2dsZUxvZ2luLm1vYmlsZSwgLmZiTG9naW4ubW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nb29nbGVMb2dpbiwgLmZiTG9naW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZG9iIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDIwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAjZGF0ZU9mQmlydGhJbnB1dHMge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAyMDBweCk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgI2RhdGVPZkJpcnRoSW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zZXR0aW5nc1N1Ym1pdCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTAlIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMCUgMDtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNlY3Rpb24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLnNldHRpbmdzU3VibWl0TW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5vdGlmaWNhdGlvbnMge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDkwcHgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICAubm90aWNhdGlvblRvZ2dsZXMge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ4cHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb25Td2l0Y2gge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTUwcHgpICB7XG4gICAgICAgIC5ub3RpZmljYXRpb25zIHtcbiAgICAgICAgICAgIC5ub3RpY2F0aW9uVG9nZ2xlcyB7XG4gICAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvblN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgLmZpbHRlckJhciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5teVNldHRpbmdzIHtcbiAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogOTYlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMiU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgI2xpbmtlZEFjY291bnRzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5idXR0b25XcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ29vZ2xlTG9naW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1ib3hfc2hhZG93O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ29vZ2xlTG9naW46bm90KC5tb2JpbGUpLCAuZmJMb2dpbjpub3QoLm1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmJMb2dpbi5tb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ29vZ2xlTG9naW4ubW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGNhbGMoNTAlIC0gMjVweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc2V0dGluZ3NTdWJtaXQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZG9iIHtcbiAgICAgICAgICAgICAgICAgICAgI2RhdGVPZkJpcnRoSW5wdXRzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgI2RhdGVPZkJpcnRoSW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZWN0aW9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zZXR0aW5nc1N1Ym1pdE1vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibGFjaztcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubm90aWZpY2F0aW9ucyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIC5ub3RpY2F0aW9uVG9nZ2xlcyB7XG4gICAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvblN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggNCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC5zd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAuc2xpZGVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBheUhpc3Rvcnkge1xuICAgIC5maWx0ZXJCYXIge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wYXltZW50SGlzdG9yeSB7XG4gICAgICAgIG1hcmdpbjogMCA4JTtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgfVxuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSwgcCwgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBheW1lbnRUYWJsZU1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBtZWRpYSAgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDglIDA7XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAucGF5bWVudFRhYmxlTW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLnBheW1lbnREZXRhaWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgJj4gKiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcCwgLnJpZ2h0U3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucGF5bWVudFRvdGFsIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucGF5bWVudERldGFpbC5pbmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4uaW5hY3RpdmVQYXltZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoNSwgLnBheW1lbnRUb3RhbCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9jYXRpb25TZXR0aW5ncyB7XG4gICAgaGVpZ2h0OiA4MHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAubXlMb2NhdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICAubG9jYXRpb25zUGFuZWwge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDglIDA7XG4gICAgICAgICAgICAuc2VhcmNoTG9jYXRpb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAgICAgICAgICAgICAuaW5wdXRXaXRoQnV0dG9uRm9ybUNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxOyAvLyB0byBvdmVybGF5IG1hcCBvbiBtb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnRleHR1YWwgc3R5bGVzXG4gICAgICAgICAgICAgICAgICAgIC5mYW5jeURyb3Bkb3duLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgIChtYXgtd2lkdGg6IDEwNDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYnV0dG9uV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAgKG1heC13aWR0aDogMTA0MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNhdmVkTG9jYXRpb25zIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zYXZlZExvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL1RFTVBPUkFSWVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAvL1RFTVBPUkFSWVxuICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWFwUGFuZWwge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgICAgIEBtZWRpYSAgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IHVuc2V0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjQ4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICNnb29nbGVNYXAge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgICAgIEBtZWRpYSAgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0OHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZWRpdEZpbHRlckJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAvL29yZGVyOiAyO1xuICAgICAgICB9XG4gICAgICAgIC5teUxvY2F0aW9ucyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAubG9jYXRpb25zUGFuZWwge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICAgICAgICAgIC5zZWFyY2hMb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAyMjJweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtOCU7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogOTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA0cHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmVkaXRGaWx0ZXJCYXIge1xuICAgICAgICAgICAgICAgIC5kZWxldGVCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZWRpdEZpbHRlckJhciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5vdGlmaWNhdGlvblNldHRpbmdzIHtcbiAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubm90aWZpY2F0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMCA4JTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA5MHB4KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLm5vdGljYXRpb25Ub2dnbGVzIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0OHB4KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uU3dpdGNoIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5ld0FkRmlsdGVycyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIC8vZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgICAgIC5hZENhdGVnb3JpZXMge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWFkdmFuY2VkLXNlYXJjaC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgLmNhdGVnb3JpZXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDglO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmFkQ2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmFkQ2F0ZWdvcnkuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmFkQ2F0ZWdvcnk6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMjRweCBjYWxjKDUwJSAtIDYwcHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hZEZpbHRlckRyb3Bkb3ducyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtIDI0cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcuaWNvbkxlZnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcuaWNvblJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMTdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCwgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDM2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tZ3JvdXAuY29zdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmNvc3RJbnB1dFdyYXBwZXI6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRMZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjhweCAwIDAgMjhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuY29zdElucHV0UmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDI4cHggMjhweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmNvc3RJbnB1dExlZnQ6Zm9jdXMsIC5jb3N0SW5wdXRSaWdodDpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmJveFRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnJlZ2lzdGVyRm9ybSB7XG4gICAgICAgICAgICAucGhvbmVOdW1iZXJJbnB1dEdyb3VwIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggIzg4ODg4ODJFO1xuICAgICAgICAgICAgICAgIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNTVweCkge1xuICAgICAgICAubm90aWZpY2F0aW9ucyB7XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uVG9nZ2xlcyB7XG4gICAgICAgICAgICAgICAgLm5ld0FkRmlsdGVycyB7XG4gICAgICAgICAgICAgICAgICAgIC5hZEZpbHRlckRyb3Bkb3ducyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA1MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyMHB4KSAge1xuICAgICAgICAubm90aWZpY2F0aW9ucyB7XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uVG9nZ2xlcyB7XG4gICAgICAgICAgICAgICAgLm5ld0FkRmlsdGVycyB7XG4gICAgICAgICAgICAgICAgICAgIC5hZEZpbHRlckRyb3Bkb3ducyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk1MHB4KSAge1xuICAgICAgLm5vdGlmaWNhdGlvbnMge1xuICAgICAgICAgIC5ub3RpY2F0aW9uVG9nZ2xlcyB7XG4gICAgICAgICAgICAgIC5ub3RpZmljYXRpb25Td2l0Y2gge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAubmV3QWRGaWx0ZXJzIHtcbiAgICAgICAgICAgICAgICAgIC5hZEZpbHRlckRyb3Bkb3ducyB7XG4gICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZy5pY29uTGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIC5ib3hUZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgIC5maWx0ZXJCYXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggOCUgMDtcbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgIC5ub3RpZmljYXRpb25zIHtcbiAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCA0JTtcbiAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgfVxuICAgICAgICAgICAubm90aWNhdGlvblRvZ2dsZXMge1xuICAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvblN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCA0JTtcbiAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICBsYWJlbC5zdHJvbmdCbGsge1xuICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAuc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgLnNsaWRlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgLm5ld0FkRmlsdGVycyB7XG4gICAgICAgICAgICAgICAgICAgLmFkQ2F0ZWdvcmllcyB7XG4gICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgICAgIC5jYXRlZ29yaWVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tb2JpbGVIZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hZENhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAuYWRDYXRlZ29yeS5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgIC5hZEZpbHRlckRyb3Bkb3ducyB7XG4gICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggNCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCwgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgIH1cbiAgICAgICAgICAgLnJlZ2lzdGVyRm9ybSB7XG4gICAgICAgICAgICAgICBwYWRkaW5nOiAxOHB4O1xuICAgICAgICAgICB9XG4gICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzg1cHgpIHtcbiAgICAgICAgLm5vdGlmaWNhdGlvbnMge1xuICAgICAgICAgICAgLm5vdGljYXRpb25Ub2dnbGVzIHtcbiAgICAgICAgICAgICAgICAubm90aWZpY2F0aW9uU3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwuc3Ryb25nQmxrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjMwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXRlZ29yeVNldHRpbmdzIHtcbiAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZmF2b3VyaXRlQ2F0ZWdvcmllcyB7XG4gICAgICAgIG1hcmdpbjogMCA4JTtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgfVxuICAgICAgICAuY2F0ZWdvcmllc1dyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgICB9XG4gICAgICAgIC5jYXRlZ29yaWVzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICAgICAgICAuZmF2b3VyaXRlVG9nZ2xlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZmF2b3VyaXRlU3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjNweCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzRweCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnN3aXRjaCxcbiAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duU3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgICAgICAgLmZhdm91cml0ZUNhdGVnb3JpZXMge1xuICAgICAgICAgICAgLmNhdGVnb3JpZXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgLmZhdm91cml0ZVRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDglIDA7XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZhdm91cml0ZUNhdGVnb3JpZXMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCA0JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jYXRlZ29yaWVzIHtcbiAgICAgICAgICAgICAgICAuZmF2b3VyaXRlVG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDQlO1xuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5mYXZvdXJpdGVTd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgzcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwuc3Ryb25nQmxrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCNjYXRlZ29yeUZpbHRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1NHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDU0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2xpZGVyOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duVG9nZ2xlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDg2NXB4KSB7XG4gICAgLmNhdGVnb3J5U2V0dGluZ3Mge1xuICAgICAgICAuZmF2b3VyaXRlQ2F0ZWdvcmllcyB7XG4gICAgICAgICAgICAuY2F0ZWdvcmllc1dyYXBwZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNhdGVnb3JpZXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIC5mYXZvdXJpdGVUb2dnbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTEyNXB4KSB7XG4gICAgLmZpbHRlckJhciB7XG4gICAgICAgIHBhZGRpbmc6IDAgNCU7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDM1JTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmlnaHRGaWx0ZXJCYXIge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNjUlO1xuICAgICAgICB9XG4gICAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDgyNXB4KSB7XG4gICAgLmZpbHRlckJhciB7XG4gICAgICAgIC5yaWdodEZpbHRlckJhciB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZpbHRlckJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4ICRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4IDglO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBoMSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZmxleC1iYXNpczogMjAwcHg7XG4gICAgfVxuICAgIC5yaWdodEZpbHRlckJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA2MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5oaWRlQmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5zdWJDYXRlZ29yaWVzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMTVweDtcbiAgICBtYXgtaGVpZ2h0OiAyMDZweDtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLnN1YkNhdGVnb3J5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiA1M3B4O1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjdweDtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNvbXBhbnlQcm9maWxle1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDglO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgICBtYXgtaGVpZ2h0OiA5MnZoO1xuICAgIG1hcmdpbi1ib3R0b206IC0xNXB4O1xuICAgIC5yZXN1bHRzIHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgLmZpbHRlckJhciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogODklO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaHIge1xuICAgICAgICBtYXJnaW4tbGVmdDogOCU7XG4gICAgfVxuICAgIC5hZHZhbmNlZFNlYXJjaExpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucmVjb21tZW5kZWRMaXN0aW5ncyB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICAucmVjZW50bHlBZGRlZCB7XG4gICAgICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgLnJlc3VsdHMge1xuICAgICAgICAgICAgLnNvcnRCeSB7XG4gICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzEwcHgpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0JTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjc1cHgpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQ4cHgpIHtcbiAgICAgICAgLnJlc3VsdHMge1xuICAgICAgICAgICAgLnBhZ2luYXRpb24ge1xuICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5MHB4KSB7XG4gICAgICAgIC5yZXN1bHRzIHtcbiAgICAgICAgICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLml3IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLm1haW5JbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgfVxuICAgIC5wcm9maWxlQXZhdGFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgICBib3R0b206IC0zMHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDhweCBibGFjaztcbiAgICB9XG59XG5cbi5jb21wYW55TmFtZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoMSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG59XG5cbi5jb21wYW55QmlvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDEwcHggOCUgMDtcbiAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgfVxuICAgIC5waG9uZUluZm8ge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIH1cbiAgICAuY29tcGFueUluZm8ge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maWx0ZXJUb3RhbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMjBweCA4JSAwO1xuICAgIHNwYW4ge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucmVzdWx0cyB7XG4gICAgLmZpbHRlclRvdGFsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5NTBweCkge1xuICAgIC5jb21wYW55QmlvIHtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICB9XG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIC5jb21wYW55UHJvZmlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICAgIH1cblxuICAgIC5yZXN1bHRzIHtcbiAgICAgICAgLmZpbHRlclRvdGFsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zb3J0Qnkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMCU7XG5cbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggMXB4ICMwMDAwMDA0MDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZpbHRlckJhciB7XG4gICAgICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAuZGlzdGFuY2VJbnB1dCwgLnBhZ2luYXRpb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvc3RJbnB1dCB7XG4gICAgICAgICAgICBsYWJlbCB7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICB9XG4gICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgIG9yZGVyOiA1O1xuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi51aS1hdXRvY29tcGxldGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMTBweCAxMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbn1cbiIsIi5hcnRpY2xlVmlldyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwIDglO1xufVxuXG4uYXJ0aWNsZXNQYW5lbCB7XG4gICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgLy8gVEVNUE9SQVJZIENTU1xuICAgIG1pbi1oZWlnaHQ6IDgwdmg7XG4gICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbn1cblxuLm1lbnVMaW5rIHtcbiAgICBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxufVxuXG4uYXJ0aWNsZXMge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG59XG5cbi5jYXRlZ29yeVRpdGxlIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuI3Nob3dDYXRlZ29yeUl0ZW1zIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNzVweCk7XG59XG5cbiNyaWdodFBhbmVsIHtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG59XG5cbi5zcXVhcmVCYW5uZXIge1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgbWF4LWhlaWdodDogMjUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICYubW9iaWxlVmlldyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4jcmVsYXRlZEl0ZW1zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC5yZWxhdGVkSXRlbXNDYXJvdXNlbCB7XG4gICAgICAgIHdpZHRoOiA3MHZ3O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTM1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hcnRpY2xlIHtcbiAgICAuYXJ0aWNsZUhlYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAwIDglO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiA3MHB4O1xuICAgICAgICAvLyBURU1QT1JBUlkgQk9YLVNIQURPV1xuICAgICAgICBib3gtc2hhZG93OiAwcHggM3B4IDRweCAwcHggIzAwMDAwMDNiO1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hcnRpY2xlRXhjZXJwdCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggOCUgMDtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hcnRpY2xlQm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggOCUgMDtcbiAgICAgICAgLnRlcm1TdGF0ZW1lbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuICAgICAgICAuYmFubmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZWxhdGVkSXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiAnaW1hZ2UgZGV0YWlsJztcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQ3JSA1MyU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW1hZ2VXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICBncmlkLWFyZWE6IGltYWdlO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdGluZ0RldGFpbCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBncmlkLWFyZWE6IGRldGFpbDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICAgICAgICAgICd0aXRsZSdcbiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJ1xuICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nXG4gICAgICAgICAgICAgICAgICAgICdwcmljZSc7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxNSUgMjAlIG1pbm1heCgwLCBhdXRvKSAxNSU7XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdJbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubGlzdGluZ0xvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiBsb2NhdGlvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiBkZXNjcmlwdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiBwcmljZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVsYXRlZEFydGljbGVzIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1mb250LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBoMSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICRsaWdodC1vcmFuZ2U7XG4gICAgfVxuICAgIGhyIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBvbCwgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXJ0aWNsZU51bWJlckxpc3Qge1xuICAgIDo6bWFya2VyIHtcbiAgICAgICAgY29udGVudDogY291bnRlcnMobGlzdC1pdGVtLCcuJykgJy4gJztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxufVxuXG4uYXJ0aWNsZUxldHRlckxpc3Qge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgOjptYXJrZXIge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbi5hcnRpY2xlQ29udGVudEhwIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwyNTUsMjU1LDApLCByZ2JhKDI1NSwyNTUsMjU1LDEpKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAjbGVmdFBhbmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmFydGljbGUge1xuICAgICAgICAuYXJ0aWNsZUhlYWRpbmcge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuYXJ0aWNsZUV4Y2VycHQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5hcnRpY2xlIC5hcnRpY2xlQm9keSAucmVsYXRlZEl0ZW0gLmxpc3RpbmdEZXRhaWwgLnByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3JpZ2h0UGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjcmVsYXRlZEl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICB9XG4gICAgLnNxdWFyZUJhbm5lci5tb2JpbGVWaWV3IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogNTBweCBhdXRvIDA7XG4gICAgfVxuXG4gICAgLmFydGljbGVDb250ZW50SHAgYSxwIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgLmFydGljbGUgLmFydGljbGVCb2R5IC5yZWxhdGVkSXRlbSB7XG4gICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICAgICAgJ2ltYWdlJ1xuICAgICAgICAgICAgICAgICdkZXRhaWwnO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC5saXN0aW5nRGV0YWlsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICAgICAgJ3RpdGxlIHRpdGxlJ1xuICAgICAgICAgICAgICAgICdwcmljZSBsb2NhdGlvbidcbiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24gZGVzY3JpcHRpb24nO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyMCUgMjUlIG1pbm1heCgwLCAxMDBweCk7XG4gICAgICAgICAgICAubGlzdGluZ0luZm8ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5saXN0aW5nTG9jYXRpb24ge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiI2Nvb2tpZXNQb3B1cCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTowO1xuICAgIC53cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1hZHZhbmNlZC1zZWFyY2gtY29sb3I7XG4gICAgfVxuICAgICAuaW5uZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICB6LWluZGV4OiAxMDY2O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMHB4IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLmFncmVlIHtcbiAgICAgICAgbWFyZ2luOiAwcHggYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIH1cbiAgICAuYWdyZWU6aG92ZXIsLmFncmVlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LW9yYW5nZS1ob3ZlcjtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcIm1kXCIpKSB7XG5cdCNjb29raWVzUG9wdXAge1xuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmFncmVlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcIm1kXCIpKSB7XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYnV0dG9uOm5vdCgubm9Ib3Zlcik6aG92ZXIsIC5idXR0b246aG92ZXIsIC5zZWFyY2hCdXR0b246aG92ZXIsIC5zZWFyY2hCdXR0b25Nb2JpbGU6aG92ZXIsIC5uYXYtaXRlbS5hY3RpdmU6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LW9yYW5nZS1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24ubmF2YmFyLXRvZ2dsZXI6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkdmFuY2VkU2VhcmNoTWVudSB7XG4gICAgICAgICAgICAjYWR2YW5jZWRTZWFyY2gge1xuICAgICAgICAgICAgICAgICNhZHZhbmNlZFNlYXJjaExpbmtDbG9zZTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxrTGluayB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZS1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rYXRlZ29yaWUgYTpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBhLnVuZGVybGluZTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZS1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtRGV0YWlsIHtcbiAgICAgICAgICAgIC5pdGVtRGV0YWlsQ29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAucmlnaHRQYW5lbCB7XG4gICAgICAgICAgICAgICAgICAgIC5jb250YWN0TGlzdGluZ3Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgYS5idXR0b246aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmxhY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9maWxlTWVudUxpbms6aG92ZXIsIC5tZW51TGluazpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlLWhvdmVyO1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbXBhbnlQcm9maWxlIHtcbiAgICAgICAgICAgIC5hZHZhbmNlZFNlYXJjaExpbms6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpc3Rpbmc6aG92ZXIgYnV0dG9uIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAuZ29vZ2xlTG9naW46aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M2M2QzMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdJdGVtIHtcbiAgICAgICAgICAgIC5hZG1pblBhbmVsIHtcbiAgICAgICAgICAgICAgICAuZm9ybS1pbmxpbmUge1xuICAgICAgICAgICAgICAgICAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnNhdmVEcmFmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib2FyZFZpZXcgLmxpc3Rpbmc6aG92ZXIgYnV0dG9uIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWdpc3RlclR5cGVTZWxlY3Rpb24gaW5wdXRbdHlwZT1yYWRpb106aG92ZXIgKyBsYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtb3JhbmdlLWhvdmVyO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgID4gc3ZnIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdEljb246aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdi1pdGVtOm5vdCguYWN0aXZlKSB7XG4gICAgICAgICAgICAubmF2LWxpbms6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtb3JhbmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIC5pdGVtRGV0YWlsIHtcbiAgICAgICAgLml0ZW1EZXRhaWxDb250YWluZXIge1xuICAgICAgICAgICAgLnNlbGxlcldyYXBwZXIge1xuICAgICAgICAgICAgICAgIGEuY29udGFjdEJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiI2Nsb3Nle1xuICAgIHdpZHRoOiAxNDVweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZm9udC1mYW1pbHk6IFBvcHBpbnM7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAjMTU3MEE2O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcG9zaXRpb246c3RhdGljO1xuICAgIG1hcmdpbi1sZWZ0OiAtNDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xufVxuXG4jZXJyb3JNZXNzYWdle1xuICAgIGNvbG9yOiAjRkYwMDAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb3BpZWR7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VGRjVGOTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBib3JkZXI6IHNvbGlkIGJsYWNrIDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xufVxuXG4ubWFpbFNlbmRlcntcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGlucHV0W3R5cGU9ZW1haWxdLCBpbnB1dFt0eXBlPXRleHRde1xuICAgICAgICB3aWR0aDogMjgxcHg7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA2cHggMXB4IHJnYmEoMTcwLCAxNzAsIDE3MCwgMC4xOCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgaW5wdXQ6OnBsYWNlaG9sZGVye1xuICAgICAgICBmb250LWZhbWlseTogUG9wcGlucztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9Y2hlY2tib3hde1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxOXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPWNoZWNrYm94XXtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIHB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICB9XG5cbiAgICAjbWFpbENoZWNre1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgdGV4dGFyZWF7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDE4OXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDZweCAxcHggcmdiYSgxNzAsIDE3MCwgMTcwLCAwLjE4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFBvcHBpbnM7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgfVxuXG4gICAgI3NlbmRNYWlse1xuICAgICAgICB3aWR0aDogMjgxcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGNEMzNzQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIGl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICB9XG4gICAgICAgICY6ZGlzYWJsZWR7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGQzM3NDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2NvcHlOdW1iZXJSZXNwb25zaXZle1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgaXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgfVxufVxuXG4jb3Blbk1haWxSZXNwb25zaXZle1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgaXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgfVxufVxuXG4jd2hhdHNhcHBSZXNwb25zaXZle1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGl7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIH1cbiAgICBhe1xuICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgfVxuICAgfVxufVxuXG4jY2xvc2VSZXNwb25zaXZle1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgY29sb3I6ICNGNEMzNzQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4jbWFpbElucHV0UmVzcG9uc2l2ZXtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuI21haWxCb2R5UmVzcG9uc2l2ZXtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbn1cblxuI3NlbmRNYWlsUmVzcG9uc2l2ZXtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBpe1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICB9XG59XG5cbiNtYWlsQ2hlY2tSZXNwb25zaXZle1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4jbWFpbENoZWNrQm94UmVzcG9uc2l2ZXtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLnNlbGxlckJ1dHRvblJvd1Jlc3BvbnNpdmV7XG4gICAgYnV0dG9ue1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICBhe1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIC5idXR0b257XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi5lcnJvcntcbiAgICBjb2xvcjogcmVkO1xufVxuXG4uaW5wdXRFcnJvcntcbiAgICBib3JkZXI6IHNvbGlkIDFweCByZWQ7XG59XG5cbiNyZXNwb25zZUVycm9yTWVzc2FnZSxcbiNyZXNwb25zZUVycm9yTWVzc2FnZVJlc3BvbnNpdmV7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogcmVkO1xufVxuXG5idXR0b246ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICNGRkMzNzQ7XG59XG5cbiNjb3B5UGhvbmV7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuI2hpZGRlbk51bWJlckRpdntcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICBwe1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxufVxuXG4jc3VjY2Vzc1Jlc3BvbnNpdmV7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjMTFCQjU1O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMzAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNoaWRkZW5OdW1iZXJEaXZSZXNwb25zaXZle1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHB7XG4gICAgICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxufVxuIiwiLy8gc3R5bGVzIGZvciBoZWFkZXJTZWFyY2hXaWRnZXQudnVlXG4uaGVhZGVyU2VhcmNoV2lkZ2V0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmZhbmN5RHJvcGRvd25MaXN0ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgJi5oaWRlTnNlZWsge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYudW5oaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBbUgrQ0ssQWpIL0NMLHNCaUgrQ2dCLENqSC9DRDtFQUNYLGdCQUFnQixFRDhCTCxPQUFPO0VDN0JsQixhQUFhLEVEd0VhLElBQUk7RUN2RTlCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLEtBQUssRUQ4QkssT0FBTztFQzdCakIsT0FBTyxFQUFFLFlBQVk7Q0FNeEI7O0FpSG9DSSxBakh4Q0Qsc0JpSHdDWSxBakh4Q1gsTUFBTSxDQUFDO0VBQ0osS0FBSyxFRDBCQyxPQUFPO0VDekJiLGVBQWUsRUFBRSxJQUFJO0NBQ3hCOztBQ1ZMOzs7OztHQUtHO0FvQ0xILEFBQUEsS0FBSyxDQUFDO0VBR0YsTUFBVyxDQUFFLFFBQUM7RUFBZCxRQUFXLENBQUUsUUFBQztFQUFkLFFBQVcsQ0FBRSxRQUFDO0VBQWQsTUFBVyxDQUFFLFFBQUM7RUFBZCxLQUFXLENBQUUsUUFBQztFQUFkLFFBQVcsQ0FBRSxRQUFDO0VBQWQsUUFBVyxDQUFFLFFBQUM7RUFBZCxPQUFXLENBQUUsUUFBQztFQUFkLE1BQVcsQ0FBRSxRQUFDO0VBQWQsTUFBVyxDQUFFLFFBQUM7RUFBZCxPQUFXLENB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QUUsUUFBUTtJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUk7R0REVjtFQUlHLEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQW1DO0lBSTdDLFNBQVMsRUFBRSxPQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQztHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxD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QUFTLEVBQUUsR0FBbUM7R0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFtQztJQUk3QyxTQUFTLEVBQUUsUUFBbUM7R0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFtQztJQUk3QyxTQUFTLEVBQUUsUUFBbUM7R0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUM7R0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFtQztJQUk3QyxTQUFTLEVBQUUsUUFBbUM7R0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFtQztJQUk3QyxTQUFTLEVBQUUsUUFBbUM7R0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUM7R0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFtQztJQUk3QyxTQUFTLEVBQUUsUUFBbUM7R0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFtQztJQUk3QyxTQUFTLEVBQUUsUUFBbUM7R0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFtQztJQUk3QyxTQUFTLEVBQUUsSUFBbUM7R0RXckM7RUFJTCxBQUFBLGVBQWUsQ0FBTztJQUFFLEtBQUssRUFBRSxFQUFFO0dBQUk7RUFFckMsQUFBQSxjQUFjLENBQU87SUFB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 */
