@charset "UTF-8";
/*!
 * Bootstrap v4.6.0 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 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: -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-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #111;
  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: 0.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: -0.25em;
}

sup {
  top: -0.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: 0.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: 2.5rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  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-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    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-xl,
.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg,
.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md,
.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm,
.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col,
.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
  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.3333333333%;
  max-width: 33.3333333333%;
}

.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.6666666667%;
  max-width: 16.6666666667%;
}

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

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

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

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

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

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

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

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

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

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

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

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

.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.3333333333%;
}

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

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

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

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

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

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

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

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

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

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

@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.3333333333%;
    max-width: 33.3333333333%;
  }

  .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.6666666667%;
    max-width: 16.6666666667%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .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.3333333333%;
  }

  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }

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

  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }

  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }

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

  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }

  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }

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

  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }

  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}
@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.3333333333%;
    max-width: 33.3333333333%;
  }

  .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.6666666667%;
    max-width: 16.6666666667%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .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.3333333333%;
  }

  .offset-md-2 {
    margin-left: 16.6666666667%;
  }

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

  .offset-md-4 {
    margin-left: 33.3333333333%;
  }

  .offset-md-5 {
    margin-left: 41.6666666667%;
  }

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

  .offset-md-7 {
    margin-left: 58.3333333333%;
  }

  .offset-md-8 {
    margin-left: 66.6666666667%;
  }

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

  .offset-md-10 {
    margin-left: 83.3333333333%;
  }

  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}
@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.3333333333%;
    max-width: 33.3333333333%;
  }

  .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.6666666667%;
    max-width: 16.6666666667%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .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.3333333333%;
  }

  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }

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

  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }

  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }

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

  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }

  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }

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

  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }

  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}
@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.3333333333%;
    max-width: 33.3333333333%;
  }

  .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.6666666667%;
    max-width: 16.6666666667%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .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.3333333333%;
  }

  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }

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

  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }

  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }

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

  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }

  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }

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

  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }

  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
}
.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #111;
}
.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: #111;
  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 + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  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:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}
.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: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.375rem + 1px);
  padding-bottom: calc(0.375rem + 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: 1.25rem;
  line-height: 1.5;
}

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

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: #111;
  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.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.form-control-lg {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  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: 80%;
  color: #28a745;
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem;
}
.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 + 0.75rem);
  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.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.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 textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745;
  padding-right: calc(0.75em + 2.3125rem);
  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 0.75rem 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 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) 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: 80%;
  color: #dc3545;
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem;
}
.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 + 0.75rem);
  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.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.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 textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: calc(0.75em + 2.3125rem);
  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 0.75rem 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 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) 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: #111;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  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: #111;
  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: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  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;
  }
}

.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: 1rem;
  color: #111;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}

.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.875rem;
  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: 0.5625rem;
  padding-left: 0.5625rem;
}
.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(: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::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::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.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}
.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: 1.25rem;
  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.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

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

.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: 1.5rem;
  padding-left: 1.5rem;
  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: 1.25rem;
  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.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: #fff;
  border: #adb5bd solid 1px;
}
.custom-control-label::after {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background: 50%/50% 50% no-repeat;
}

.custom-checkbox .custom-control-label::before {
  border-radius: 0.25rem;
}
.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.25rem + 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 + 0.75rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-size: 1rem;
  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 0.75rem center/8px 10px no-repeat;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  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: 0.75rem;
  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.875rem;
}

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

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

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 0.75rem + 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 + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  overflow: hidden;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}
.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: calc(1.5em + 0.75rem);
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  content: "Browse";
  background-color: #e9ecef;
  border-left: inherit;
  border-radius: 0 0.25rem 0.25rem 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.5rem 1rem;
}
.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;
  border: 1px solid transparent;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  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 {
  border-radius: 0.25rem;
}
.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: 0.5rem 1rem;
}
.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.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  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.5rem;
  padding-bottom: 0.5rem;
}

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

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}
.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: 0.5rem;
    padding-left: 0.5rem;
  }
  .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: 0.5rem;
    padding-left: 0.5rem;
  }
  .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: 0.5rem;
    padding-left: 0.5rem;
  }
  .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: 0.5rem;
    padding-left: 0.5rem;
  }
  .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: 0.5rem;
  padding-left: 0.5rem;
}
.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: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.5);
}
.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: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0.1);
}
.navbar-light .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%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.5);
}
.navbar-light .navbar-text a {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
  color: rgba(0, 0, 0, 0.9);
}

.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: 0.25rem;
}
.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: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}
.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: calc(0.25rem - 1px) calc(0.25rem - 1px) 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 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

.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: calc(0.25rem - 1px);
}

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

.card-img,
.card-img-top {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.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: 0.25rem;
}

.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: 0.25rem;
}

.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: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.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: 1.25rem;
  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.875rem;
  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: 0.25rem;
  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: 0.25rem;
}

.alert-heading {
  color: inherit;
}

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

.alert-dismissible {
  padding-right: 4rem;
}
.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.75rem;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

.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: 0.25rem;
}

.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: #111;
  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: 0.25rem;
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: 0.25rem;
  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: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    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: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    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: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    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: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    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: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.5;
}
.close:hover {
  color: #000;
  text-decoration: none;
}
.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: 0.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: -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-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;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  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, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=top], .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=top], .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=top], .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=top], .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=top], .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=top], .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=top], .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=top], .bs-tooltip-auto[x-placement^=top] {
  padding: 0.4rem 0;
}
.bs-tooltip-top .arrow, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=top] .arrow, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=top] .arrow, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=top] .arrow, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=top] .arrow, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=top] .arrow, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=top] .arrow, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=top] .arrow, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=top] .arrow, .bs-tooltip-auto[x-placement^=top] .arrow {
  bottom: 0;
}
.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=top] .arrow::before, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=top] .arrow::before, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=top] .arrow::before, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=top] .arrow::before, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=top] .arrow::before, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=top] .arrow::before, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=top] .arrow::before, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=top] .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before {
  top: 0;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #000;
}

.bs-tooltip-right, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=right], .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=right], .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=right], .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=right], .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=right], .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=right], .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=right], .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=right], .bs-tooltip-auto[x-placement^=right] {
  padding: 0 0.4rem;
}
.bs-tooltip-right .arrow, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=right] .arrow, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=right] .arrow, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=right] .arrow, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=right] .arrow, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=right] .arrow, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=right] .arrow, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=right] .arrow, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=right] .arrow, .bs-tooltip-auto[x-placement^=right] .arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=right] .arrow::before, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=right] .arrow::before, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=right] .arrow::before, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=right] .arrow::before, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=right] .arrow::before, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=right] .arrow::before, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=right] .arrow::before, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=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: #000;
}

.bs-tooltip-bottom, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=bottom], .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=bottom], .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=bottom], .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=bottom], .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=bottom], .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=bottom], .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=bottom], .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=bottom], .bs-tooltip-auto[x-placement^=bottom] {
  padding: 0.4rem 0;
}
.bs-tooltip-bottom .arrow, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=bottom] .arrow, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=bottom] .arrow, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=bottom] .arrow, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=bottom] .arrow, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=bottom] .arrow, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=bottom] .arrow, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=bottom] .arrow, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=bottom] .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow {
  top: 0;
}
.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=bottom] .arrow::before, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=bottom] .arrow::before, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=bottom] .arrow::before, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=bottom] .arrow::before, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=bottom] .arrow::before, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=bottom] .arrow::before, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=bottom] .arrow::before, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=bottom] .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  bottom: 0;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #000;
}

.bs-tooltip-left, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=left], .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=left], .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=left], .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=left], .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=left], .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=left], .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=left], .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=left], .bs-tooltip-auto[x-placement^=left] {
  padding: 0 0.4rem;
}
.bs-tooltip-left .arrow, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=left] .arrow, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=left] .arrow, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=left] .arrow, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=left] .arrow, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=left] .arrow, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=left] .arrow, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=left] .arrow, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=left] .arrow, .bs-tooltip-auto[x-placement^=left] .arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=left] .arrow::before, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=left] .arrow::before, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=left] .arrow::before, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=left] .arrow::before, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=left] .arrow::before, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=left] .arrow::before, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=left] .arrow::before, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=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: #000;
}

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.25rem;
}

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: -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-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;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  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, .b-popover-dark.bs-popover-auto[x-placement^=top], .b-popover-light.bs-popover-auto[x-placement^=top], .b-popover-danger.bs-popover-auto[x-placement^=top], .b-popover-warning.bs-popover-auto[x-placement^=top], .b-popover-info.bs-popover-auto[x-placement^=top], .b-popover-success.bs-popover-auto[x-placement^=top], .b-popover-secondary.bs-popover-auto[x-placement^=top], .b-popover-primary.bs-popover-auto[x-placement^=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, .b-popover-dark.bs-popover-auto[x-placement^=right], .b-popover-light.bs-popover-auto[x-placement^=right], .b-popover-danger.bs-popover-auto[x-placement^=right], .b-popover-warning.bs-popover-auto[x-placement^=right], .b-popover-info.bs-popover-auto[x-placement^=right], .b-popover-success.bs-popover-auto[x-placement^=right], .b-popover-secondary.bs-popover-auto[x-placement^=right], .b-popover-primary.bs-popover-auto[x-placement^=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, .b-popover-dark.bs-popover-auto[x-placement^=bottom], .b-popover-light.bs-popover-auto[x-placement^=bottom], .b-popover-danger.bs-popover-auto[x-placement^=bottom], .b-popover-warning.bs-popover-auto[x-placement^=bottom], .b-popover-info.bs-popover-auto[x-placement^=bottom], .b-popover-success.bs-popover-auto[x-placement^=bottom], .b-popover-secondary.bs-popover-auto[x-placement^=bottom], .b-popover-primary.bs-popover-auto[x-placement^=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, .b-popover-dark.bs-popover-auto[x-placement^=left], .b-popover-light.bs-popover-auto[x-placement^=left], .b-popover-danger.bs-popover-auto[x-placement^=left], .b-popover-warning.bs-popover-auto[x-placement^=left], .b-popover-info.bs-popover-auto[x-placement^=left], .b-popover-success.bs-popover-auto[x-placement^=left], .b-popover-secondary.bs-popover-auto[x-placement^=left], .b-popover-primary.bs-popover-auto[x-placement^=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: 1rem;
  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: #111;
}

.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%;
  color: #fff;
  text-align: center;
  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: 0.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: text-bottom;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: 0.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: text-bottom;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: 0.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: 0.25rem !important;
}

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-right {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-left {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !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.8571428571%;
}

.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: #111 !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;
  }

  thead {
    display: table-header-group;
  }

  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;
  }
}
.bv-no-focus-ring:focus {
  outline: none;
}

@media (max-width: 575.98px) {
  .bv-d-xs-down-none {
    display: none !important;
  }
}
@media (max-width: 767.98px) {
  .bv-d-sm-down-none {
    display: none !important;
  }
}
@media (max-width: 991.98px) {
  .bv-d-md-down-none {
    display: none !important;
  }
}
@media (max-width: 1199.98px) {
  .bv-d-lg-down-none {
    display: none !important;
  }
}
.bv-d-xl-down-none {
  display: none !important;
}

.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.focus.is-valid {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
.form-control.focus.is-invalid {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.b-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  font-size: inherit;
  font-weight: 400;
  line-height: 1;
  max-width: 100%;
  max-height: auto;
  text-align: center;
  overflow: visible;
  position: relative;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.b-avatar:focus {
  outline: 0;
}
.b-avatar.btn, .b-avatar[href] {
  padding: 0;
  border: 0;
}
.b-avatar.btn .b-avatar-img img, .b-avatar[href] .b-avatar-img img {
  transition: transform 0.15s ease-in-out;
}
.b-avatar.btn:not(:disabled):not(.disabled), .b-avatar[href]:not(:disabled):not(.disabled) {
  cursor: pointer;
}
.b-avatar.btn:not(:disabled):not(.disabled):hover .b-avatar-img img, .b-avatar[href]:not(:disabled):not(.disabled):hover .b-avatar-img img {
  transform: scale(1.15);
}
.b-avatar.disabled, .b-avatar:disabled, .b-avatar[disabled] {
  opacity: 0.65;
  pointer-events: none;
}
.b-avatar .b-avatar-custom,
.b-avatar .b-avatar-text,
.b-avatar .b-avatar-img {
  border-radius: inherit;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  mask-image: radial-gradient(white, black);
}
.b-avatar .b-avatar-text {
  text-transform: uppercase;
  white-space: nowrap;
}
.b-avatar[href] {
  text-decoration: none;
}
.b-avatar > .b-icon {
  width: 60%;
  height: auto;
  max-width: 100%;
}
.b-avatar .b-avatar-img img {
  width: 100%;
  height: 100%;
  max-height: auto;
  border-radius: inherit;
  object-fit: cover;
}
.b-avatar .b-avatar-badge {
  position: absolute;
  min-height: 1.5em;
  min-width: 1.5em;
  padding: 0.25em;
  line-height: 1;
  border-radius: 10em;
  font-size: 70%;
  font-weight: 700;
  z-index: 1;
}

.b-avatar-sm {
  width: 1.5rem;
  height: 1.5rem;
}
.b-avatar-sm .b-avatar-text {
  font-size: calc(0.6rem);
}
.b-avatar-sm .b-avatar-badge {
  font-size: calc(0.42rem);
}

.b-avatar-lg {
  width: 3.5rem;
  height: 3.5rem;
}
.b-avatar-lg .b-avatar-text {
  font-size: calc(1.4rem);
}
.b-avatar-lg .b-avatar-badge {
  font-size: calc(0.98rem);
}

.b-avatar-group .b-avatar-group-inner {
  display: flex;
  flex-wrap: wrap;
}
.b-avatar-group .b-avatar {
  border: 1px solid #dee2e6;
}
.b-avatar-group a.b-avatar:hover:not(.disabled):not(disabled),
.b-avatar-group .btn.b-avatar:hover:not(.disabled):not(disabled) {
  z-index: 1;
}

.b-calendar {
  display: inline-flex;
}
.b-calendar .b-calendar-inner {
  min-width: 250px;
}
.b-calendar .b-calendar-header,
.b-calendar .b-calendar-nav {
  margin-bottom: 0.25rem;
}
.b-calendar .b-calendar-nav .btn {
  padding: 0.25rem;
}
.b-calendar output {
  padding: 0.25rem;
  font-size: 80%;
}
.b-calendar output.readonly {
  background-color: #e9ecef;
  opacity: 1;
}
.b-calendar .b-calendar-footer {
  margin-top: 0.5rem;
}
.b-calendar .b-calendar-grid {
  padding: 0;
  margin: 0;
  overflow: hidden;
}
.b-calendar .b-calendar-grid .row {
  flex-wrap: nowrap;
}
.b-calendar .b-calendar-grid-caption {
  padding: 0.25rem;
}
.b-calendar .b-calendar-grid-body .col[data-date] .btn {
  width: 32px;
  height: 32px;
  font-size: 14px;
  line-height: 1;
  margin: 3px auto;
  padding: 9px 0;
}
.b-calendar .btn:disabled, .b-calendar .btn.disabled, .b-calendar .btn[aria-disabled=true] {
  cursor: default;
  pointer-events: none;
}

.card-img-left {
  border-top-left-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.card-img-right {
  border-top-right-radius: calc(0.25rem - 1px);
  border-bottom-right-radius: calc(0.25rem - 1px);
}

.dropdown:not(.dropleft) .dropdown-toggle.dropdown-toggle-no-caret::after {
  display: none !important;
}
.dropdown.dropleft .dropdown-toggle.dropdown-toggle-no-caret::before {
  display: none !important;
}
.dropdown .dropdown-menu:focus {
  outline: none;
}

.b-dropdown-form {
  display: inline-block;
  padding: 0.25rem 1.5rem;
  width: 100%;
  clear: both;
  font-weight: 400;
}
.b-dropdown-form:focus {
  outline: 1px dotted !important;
  outline: 5px auto -webkit-focus-ring-color !important;
}
.b-dropdown-form.disabled, .b-dropdown-form:disabled {
  outline: 0 !important;
  color: #adb5bd;
  pointer-events: none;
}

.b-dropdown-text {
  display: inline-block;
  padding: 0.25rem 1.5rem;
  margin-bottom: 0;
  width: 100%;
  clear: both;
  font-weight: lighter;
}

.custom-checkbox.b-custom-control-lg,
.input-group-lg .custom-checkbox {
  font-size: 1.25rem;
  line-height: 1.5;
  padding-left: 1.875rem;
}
.custom-checkbox.b-custom-control-lg .custom-control-label::before,
.input-group-lg .custom-checkbox .custom-control-label::before {
  top: 0.3125rem;
  left: -1.875rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 0.3rem;
}
.custom-checkbox.b-custom-control-lg .custom-control-label::after,
.input-group-lg .custom-checkbox .custom-control-label::after {
  top: 0.3125rem;
  left: -1.875rem;
  width: 1.25rem;
  height: 1.25rem;
  background-size: 50% 50%;
}

.custom-checkbox.b-custom-control-sm,
.input-group-sm .custom-checkbox {
  font-size: 0.875rem;
  line-height: 1.5;
  padding-left: 1.3125rem;
}
.custom-checkbox.b-custom-control-sm .custom-control-label::before,
.input-group-sm .custom-checkbox .custom-control-label::before {
  top: 0.21875rem;
  left: -1.3125rem;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 0.2rem;
}
.custom-checkbox.b-custom-control-sm .custom-control-label::after,
.input-group-sm .custom-checkbox .custom-control-label::after {
  top: 0.21875rem;
  left: -1.3125rem;
  width: 0.875rem;
  height: 0.875rem;
  background-size: 50% 50%;
}

.custom-switch.b-custom-control-lg,
.input-group-lg .custom-switch {
  padding-left: 2.8125rem;
}
.custom-switch.b-custom-control-lg .custom-control-label,
.input-group-lg .custom-switch .custom-control-label {
  font-size: 1.25rem;
  line-height: 1.5;
}
.custom-switch.b-custom-control-lg .custom-control-label::before,
.input-group-lg .custom-switch .custom-control-label::before {
  top: 0.3125rem;
  height: 1.25rem;
  left: -2.8125rem;
  width: 2.1875rem;
  border-radius: 0.625rem;
}
.custom-switch.b-custom-control-lg .custom-control-label::after,
.input-group-lg .custom-switch .custom-control-label::after {
  top: calc( 0.3125rem + 2px );
  left: calc( -2.8125rem + 2px );
  width: calc( 1.25rem - 4px );
  height: calc( 1.25rem - 4px );
  border-radius: 0.625rem;
  background-size: 50% 50%;
}
.custom-switch.b-custom-control-lg .custom-control-input:checked ~ .custom-control-label::after,
.input-group-lg .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  transform: translateX(0.9375rem);
}

.custom-switch.b-custom-control-sm,
.input-group-sm .custom-switch {
  padding-left: 1.96875rem;
}
.custom-switch.b-custom-control-sm .custom-control-label,
.input-group-sm .custom-switch .custom-control-label {
  font-size: 0.875rem;
  line-height: 1.5;
}
.custom-switch.b-custom-control-sm .custom-control-label::before,
.input-group-sm .custom-switch .custom-control-label::before {
  top: 0.21875rem;
  left: -1.96875rem;
  width: 1.53125rem;
  height: 0.875rem;
  border-radius: 0.4375rem;
}
.custom-switch.b-custom-control-sm .custom-control-label::after,
.input-group-sm .custom-switch .custom-control-label::after {
  top: calc( 0.21875rem + 2px );
  left: calc( -1.96875rem + 2px );
  width: calc( 0.875rem - 4px );
  height: calc( 0.875rem - 4px );
  border-radius: 0.4375rem;
  background-size: 50% 50%;
}
.custom-switch.b-custom-control-sm .custom-control-input:checked ~ .custom-control-label::after,
.input-group-sm .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  transform: translateX(0.65625rem);
}

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

.b-form-btn-label-control.form-control {
  display: flex;
  align-items: stretch;
  height: auto;
  padding: 0;
  background-image: none;
}
.input-group .b-form-btn-label-control.form-control {
  padding: 0;
}

[dir=rtl] .b-form-btn-label-control.form-control, .b-form-btn-label-control.form-control[dir=rtl] {
  flex-direction: row-reverse;
}
[dir=rtl] .b-form-btn-label-control.form-control > label, .b-form-btn-label-control.form-control[dir=rtl] > label {
  text-align: right;
}

.b-form-btn-label-control.form-control > .btn {
  line-height: 1;
  font-size: inherit;
  box-shadow: none !important;
  border: 0;
}
.b-form-btn-label-control.form-control > .btn:disabled {
  pointer-events: none;
}
.b-form-btn-label-control.form-control.is-valid > .btn {
  color: #28a745;
}
.b-form-btn-label-control.form-control.is-invalid > .btn {
  color: #dc3545;
}
.b-form-btn-label-control.form-control > .dropdown-menu {
  padding: 0.5rem;
}
.b-form-btn-label-control.form-control > .form-control {
  height: auto;
  min-height: calc(calc(1.5em + 0.75rem + 2px) - 2px);
  padding-left: 0.25rem;
  margin: 0;
  border: 0;
  outline: 0;
  background: transparent;
  word-break: break-word;
  font-size: inherit;
  white-space: normal;
  cursor: pointer;
}
.b-form-btn-label-control.form-control > .form-control.form-control-sm {
  min-height: calc(calc(1.5em + 0.5rem + 2px) - 2px);
}
.b-form-btn-label-control.form-control > .form-control.form-control-lg {
  min-height: calc(calc(1.5em + 1rem + 2px) - 2px);
}
.input-group.input-group-sm .b-form-btn-label-control.form-control > .form-control {
  min-height: calc(calc(1.5em + 0.5rem + 2px) - 2px);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.input-group.input-group-lg .b-form-btn-label-control.form-control > .form-control {
  min-height: calc(calc(1.5em + 1rem + 2px) - 2px);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.b-form-btn-label-control.form-control[aria-disabled=true], .b-form-btn-label-control.form-control[aria-readonly=true] {
  background-color: #e9ecef;
  opacity: 1;
}
.b-form-btn-label-control.form-control[aria-disabled=true] {
  pointer-events: none;
}
.b-form-btn-label-control.form-control[aria-disabled=true] > label {
  cursor: default;
}

.b-form-btn-label-control.btn-group > .dropdown-menu {
  padding: 0.5rem;
}

.custom-file-label {
  white-space: nowrap;
  overflow-x: hidden;
}

.b-custom-control-lg.custom-file,
.b-custom-control-lg .custom-file-input,
.b-custom-control-lg .custom-file-label,
.input-group-lg.custom-file,
.input-group-lg .custom-file-input,
.input-group-lg .custom-file-label {
  font-size: 1.25rem;
  height: calc(1.5em + 1rem + 2px);
}
.b-custom-control-lg .custom-file-label,
.b-custom-control-lg .custom-file-label:after,
.input-group-lg .custom-file-label,
.input-group-lg .custom-file-label:after {
  padding: 0.5rem 1rem;
  line-height: 1.5;
}
.b-custom-control-lg .custom-file-label,
.input-group-lg .custom-file-label {
  border-radius: 0.3rem;
}
.b-custom-control-lg .custom-file-label::after,
.input-group-lg .custom-file-label::after {
  font-size: inherit;
  height: calc( 1.5em + 1rem );
  border-radius: 0 0.3rem 0.3rem 0;
}

.b-custom-control-sm.custom-file,
.b-custom-control-sm .custom-file-input,
.b-custom-control-sm .custom-file-label,
.input-group-sm.custom-file,
.input-group-sm .custom-file-input,
.input-group-sm .custom-file-label {
  font-size: 0.875rem;
  height: calc(1.5em + 0.5rem + 2px);
}
.b-custom-control-sm .custom-file-label,
.b-custom-control-sm .custom-file-label:after,
.input-group-sm .custom-file-label,
.input-group-sm .custom-file-label:after {
  padding: 0.25rem 0.5rem;
  line-height: 1.5;
}
.b-custom-control-sm .custom-file-label,
.input-group-sm .custom-file-label {
  border-radius: 0.2rem;
}
.b-custom-control-sm .custom-file-label::after,
.input-group-sm .custom-file-label::after {
  font-size: inherit;
  height: calc( 1.5em + 0.5rem );
  border-radius: 0 0.2rem 0.2rem 0;
}

.was-validated .form-control:invalid, .was-validated .form-control:valid, .form-control.is-invalid, .form-control.is-valid {
  background-position: right calc(0.375em + 0.1875rem) center;
}

input[type=color].form-control {
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.125rem 0.25rem;
}

input[type=color].form-control.form-control-sm,
.input-group-sm input[type=color].form-control {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.125rem 0.25rem;
}

input[type=color].form-control.form-control-lg,
.input-group-lg input[type=color].form-control {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.125rem 0.25rem;
}

input[type=color].form-control:disabled {
  background-color: #adb5bd;
  opacity: 0.65;
}

.input-group > .custom-range {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  margin-bottom: 0;
}
.input-group > .custom-range + .form-control,
.input-group > .custom-range + .form-control-plaintext,
.input-group > .custom-range + .custom-select,
.input-group > .custom-range + .custom-range,
.input-group > .custom-range + .custom-file {
  margin-left: -1px;
}
.input-group > .form-control + .custom-range,
.input-group > .form-control-plaintext + .custom-range,
.input-group > .custom-select + .custom-range,
.input-group > .custom-range + .custom-range,
.input-group > .custom-file + .custom-range {
  margin-left: -1px;
}
.input-group > .custom-range:focus {
  z-index: 3;
}
.input-group > .custom-range:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .custom-range:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .custom-range {
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0 0.75rem;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  height: calc(1.5em + 0.75rem + 2px);
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .input-group > .custom-range {
    transition: none;
  }
}
.input-group > .custom-range:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.input-group > .custom-range:disabled, .input-group > .custom-range[readonly] {
  background-color: #e9ecef;
}

.input-group-lg > .custom-range {
  height: calc(1.5em + 1rem + 2px);
  padding: 0 1rem;
  border-radius: 0.3rem;
}

.input-group-sm > .custom-range {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0 0.5rem;
  border-radius: 0.2rem;
}

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

.was-validated .custom-range:valid:focus::-webkit-slider-thumb, .custom-range.is-valid:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #9be7ac;
}
.was-validated .custom-range:valid:focus::-moz-range-thumb, .custom-range.is-valid:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #9be7ac;
}
.was-validated .custom-range:valid:focus::-ms-thumb, .custom-range.is-valid:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #9be7ac;
}
.was-validated .custom-range:valid::-webkit-slider-thumb, .custom-range.is-valid::-webkit-slider-thumb {
  background-color: #28a745;
  background-image: none;
}
.was-validated .custom-range:valid::-webkit-slider-thumb:active, .custom-range.is-valid::-webkit-slider-thumb:active {
  background-color: #9be7ac;
  background-image: none;
}
.was-validated .custom-range:valid::-webkit-slider-runnable-track, .custom-range.is-valid::-webkit-slider-runnable-track {
  background-color: rgba(40, 167, 69, 0.35);
}
.was-validated .custom-range:valid::-moz-range-thumb, .custom-range.is-valid::-moz-range-thumb {
  background-color: #28a745;
  background-image: none;
}
.was-validated .custom-range:valid::-moz-range-thumb:active, .custom-range.is-valid::-moz-range-thumb:active {
  background-color: #9be7ac;
  background-image: none;
}
.was-validated .custom-range:valid::-moz-range-track, .custom-range.is-valid::-moz-range-track {
  background: rgba(40, 167, 69, 0.35);
}
.was-validated .custom-range:valid ~ .valid-feedback,
.was-validated .custom-range:valid ~ .valid-tooltip, .custom-range.is-valid ~ .valid-feedback,
.custom-range.is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .custom-range:valid::-ms-thumb, .custom-range.is-valid::-ms-thumb {
  background-color: #28a745;
  background-image: none;
}
.was-validated .custom-range:valid::-ms-thumb:active, .custom-range.is-valid::-ms-thumb:active {
  background-color: #9be7ac;
  background-image: none;
}
.was-validated .custom-range:valid::-ms-track-lower, .custom-range.is-valid::-ms-track-lower {
  background: rgba(40, 167, 69, 0.35);
}
.was-validated .custom-range:valid::-ms-track-upper, .custom-range.is-valid::-ms-track-upper {
  background: rgba(40, 167, 69, 0.35);
}

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

.was-validated .custom-range:invalid:focus::-webkit-slider-thumb, .custom-range.is-invalid:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #f6cdd1;
}
.was-validated .custom-range:invalid:focus::-moz-range-thumb, .custom-range.is-invalid:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #f6cdd1;
}
.was-validated .custom-range:invalid:focus::-ms-thumb, .custom-range.is-invalid:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #f6cdd1;
}
.was-validated .custom-range:invalid::-webkit-slider-thumb, .custom-range.is-invalid::-webkit-slider-thumb {
  background-color: #dc3545;
  background-image: none;
}
.was-validated .custom-range:invalid::-webkit-slider-thumb:active, .custom-range.is-invalid::-webkit-slider-thumb:active {
  background-color: #f6cdd1;
  background-image: none;
}
.was-validated .custom-range:invalid::-webkit-slider-runnable-track, .custom-range.is-invalid::-webkit-slider-runnable-track {
  background-color: rgba(220, 53, 69, 0.35);
}
.was-validated .custom-range:invalid::-moz-range-thumb, .custom-range.is-invalid::-moz-range-thumb {
  background-color: #dc3545;
  background-image: none;
}
.was-validated .custom-range:invalid::-moz-range-thumb:active, .custom-range.is-invalid::-moz-range-thumb:active {
  background-color: #f6cdd1;
  background-image: none;
}
.was-validated .custom-range:invalid::-moz-range-track, .custom-range.is-invalid::-moz-range-track {
  background: rgba(220, 53, 69, 0.35);
}
.was-validated .custom-range:invalid ~ .invalid-feedback,
.was-validated .custom-range:invalid ~ .invalid-tooltip, .custom-range.is-invalid ~ .invalid-feedback,
.custom-range.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .custom-range:invalid::-ms-thumb, .custom-range.is-invalid::-ms-thumb {
  background-color: #dc3545;
  background-image: none;
}
.was-validated .custom-range:invalid::-ms-thumb:active, .custom-range.is-invalid::-ms-thumb:active {
  background-color: #f6cdd1;
  background-image: none;
}
.was-validated .custom-range:invalid::-ms-track-lower, .custom-range.is-invalid::-ms-track-lower {
  background: rgba(220, 53, 69, 0.35);
}
.was-validated .custom-range:invalid::-ms-track-upper, .custom-range.is-invalid::-ms-track-upper {
  background: rgba(220, 53, 69, 0.35);
}

.custom-radio.b-custom-control-lg,
.input-group-lg .custom-radio {
  font-size: 1.25rem;
  line-height: 1.5;
  padding-left: 1.875rem;
}
.custom-radio.b-custom-control-lg .custom-control-label::before,
.input-group-lg .custom-radio .custom-control-label::before {
  top: 0.3125rem;
  left: -1.875rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
}
.custom-radio.b-custom-control-lg .custom-control-label::after,
.input-group-lg .custom-radio .custom-control-label::after {
  top: 0.3125rem;
  left: -1.875rem;
  width: 1.25rem;
  height: 1.25rem;
  background: no-repeat 50%/50% 50%;
}

.custom-radio.b-custom-control-sm,
.input-group-sm .custom-radio {
  font-size: 0.875rem;
  line-height: 1.5;
  padding-left: 1.3125rem;
}
.custom-radio.b-custom-control-sm .custom-control-label::before,
.input-group-sm .custom-radio .custom-control-label::before {
  top: 0.21875rem;
  left: -1.3125rem;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
}
.custom-radio.b-custom-control-sm .custom-control-label::after,
.input-group-sm .custom-radio .custom-control-label::after {
  top: 0.21875rem;
  left: -1.3125rem;
  width: 0.875rem;
  height: 0.875rem;
  background: no-repeat 50%/50% 50%;
}

.b-rating {
  text-align: center;
}
.b-rating.d-inline-flex {
  width: auto;
}
.b-rating .b-rating-star,
.b-rating .b-rating-value {
  padding: 0 0.25em;
}
.b-rating .b-rating-value {
  min-width: 2.5em;
}
.b-rating .b-rating-star {
  display: inline-flex;
  justify-content: center;
  outline: 0;
}
.b-rating .b-rating-star .b-rating-icon {
  display: inline-flex;
  transition: all 0.15s ease-in-out;
}
.b-rating.disabled, .b-rating:disabled {
  background-color: #e9ecef;
  color: #6c757d;
}
.b-rating:not(.disabled):not(.readonly) .b-rating-star {
  cursor: pointer;
}
.b-rating:not(.disabled):not(.readonly):focus:not(:hover) .b-rating-star.focused .b-rating-icon,
.b-rating:not(.disabled):not(.readonly) .b-rating-star:hover .b-rating-icon {
  transform: scale(1.5);
}
.b-rating[dir=rtl] .b-rating-star-half {
  transform: scale(-1, 1);
}

.b-form-spinbutton {
  text-align: center;
  overflow: hidden;
  background-image: none;
  padding: 0;
}
[dir=rtl] .b-form-spinbutton:not(.flex-column), .b-form-spinbutton[dir=rtl]:not(.flex-column) {
  flex-direction: row-reverse;
}

.b-form-spinbutton output {
  font-size: inherit;
  outline: 0;
  border: 0;
  background-color: transparent;
  width: auto;
  margin: 0;
  padding: 0 0.25rem;
}
.b-form-spinbutton output > div,
.b-form-spinbutton output > bdi {
  display: block;
  min-width: 2.25em;
  height: 1.5em;
}
.b-form-spinbutton.flex-column {
  height: auto;
  width: auto;
}
.b-form-spinbutton.flex-column output {
  margin: 0 0.25rem;
  padding: 0.25rem 0;
}
.b-form-spinbutton:not(.d-inline-flex):not(.flex-column) {
  output-width: 100%;
}
.b-form-spinbutton.d-inline-flex:not(.flex-column) {
  width: auto;
}
.b-form-spinbutton .btn {
  line-height: 1;
  box-shadow: none !important;
}
.b-form-spinbutton .btn:disabled {
  pointer-events: none;
}
.b-form-spinbutton .btn:hover:not(:disabled) > div > .b-icon {
  transform: scale(1.25);
}
.b-form-spinbutton.disabled, .b-form-spinbutton.readonly {
  background-color: #e9ecef;
}
.b-form-spinbutton.disabled {
  pointer-events: none;
}

.b-form-tags .b-form-tags-list {
  margin-top: -0.25rem;
}
.b-form-tags .b-form-tags-list .b-from-tags-field,
.b-form-tags .b-form-tags-list .b-form-tag {
  margin-top: 0.25rem;
}
.b-form-tags.focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.b-form-tags.focus.is-valid {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
.b-form-tags.focus.is-invalid {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}
.b-form-tags.disabled {
  background-color: #e9ecef;
}

.b-form-tag {
  font-size: 75%;
  font-weight: normal;
  line-height: 1.5;
  margin-right: 0.25rem;
}
.b-form-tag.disabled {
  opacity: 0.75;
}
.b-form-tag > button.b-form-tag-remove {
  color: inherit;
  font-size: 125%;
  line-height: 1;
  float: none;
  margin-left: 0.25rem;
}

.form-control-sm .b-form-tag {
  line-height: 1.5;
}

.form-control-lg .b-form-tag {
  line-height: 1.5;
}

.media-aside {
  display: flex;
  margin-right: 1rem;
}

.media-aside-right {
  margin-right: 0;
  margin-left: 1rem;
}

.modal-backdrop {
  opacity: 0.5;
}

.b-pagination-pills .page-item .page-link {
  border-radius: 50rem !important;
  margin-left: 0.25rem;
  line-height: 1;
}
.b-pagination-pills .page-item:first-child .page-link {
  margin-left: 0;
}

.popover.b-popover {
  display: block;
  opacity: 1;
  outline: 0;
}
.popover.b-popover.fade:not(.show) {
  opacity: 0;
}
.popover.b-popover.show {
  opacity: 1;
}

.b-popover-primary.popover {
  background-color: #cce5ff;
  border-color: #b8daff;
}
.b-popover-primary.bs-popover-top > .arrow::before, .b-popover-primary.bs-popover-auto[x-placement^=top] > .arrow::before {
  border-top-color: #b8daff;
}
.b-popover-primary.bs-popover-top > .arrow::after, .b-popover-primary.bs-popover-auto[x-placement^=top] > .arrow::after {
  border-top-color: #cce5ff;
}
.b-popover-primary.bs-popover-right > .arrow::before, .b-popover-primary.bs-popover-auto[x-placement^=right] > .arrow::before {
  border-right-color: #b8daff;
}
.b-popover-primary.bs-popover-right > .arrow::after, .b-popover-primary.bs-popover-auto[x-placement^=right] > .arrow::after {
  border-right-color: #cce5ff;
}
.b-popover-primary.bs-popover-bottom > .arrow::before, .b-popover-primary.bs-popover-auto[x-placement^=bottom] > .arrow::before {
  border-bottom-color: #b8daff;
}
.b-popover-primary.bs-popover-bottom > .arrow::after, .b-popover-primary.bs-popover-auto[x-placement^=bottom] > .arrow::after {
  border-bottom-color: #bdddff;
}
.b-popover-primary.bs-popover-bottom .popover-header::before, .b-popover-primary.bs-popover-auto[x-placement^=bottom] .popover-header::before {
  border-bottom-color: #bdddff;
}
.b-popover-primary.bs-popover-left > .arrow::before, .b-popover-primary.bs-popover-auto[x-placement^=left] > .arrow::before {
  border-left-color: #b8daff;
}
.b-popover-primary.bs-popover-left > .arrow::after, .b-popover-primary.bs-popover-auto[x-placement^=left] > .arrow::after {
  border-left-color: #cce5ff;
}
.b-popover-primary .popover-header {
  color: #212529;
  background-color: #bdddff;
  border-bottom-color: #a3d0ff;
}
.b-popover-primary .popover-body {
  color: #004085;
}

.b-popover-secondary.popover {
  background-color: #e2e3e5;
  border-color: #d6d8db;
}
.b-popover-secondary.bs-popover-top > .arrow::before, .b-popover-secondary.bs-popover-auto[x-placement^=top] > .arrow::before {
  border-top-color: #d6d8db;
}
.b-popover-secondary.bs-popover-top > .arrow::after, .b-popover-secondary.bs-popover-auto[x-placement^=top] > .arrow::after {
  border-top-color: #e2e3e5;
}
.b-popover-secondary.bs-popover-right > .arrow::before, .b-popover-secondary.bs-popover-auto[x-placement^=right] > .arrow::before {
  border-right-color: #d6d8db;
}
.b-popover-secondary.bs-popover-right > .arrow::after, .b-popover-secondary.bs-popover-auto[x-placement^=right] > .arrow::after {
  border-right-color: #e2e3e5;
}
.b-popover-secondary.bs-popover-bottom > .arrow::before, .b-popover-secondary.bs-popover-auto[x-placement^=bottom] > .arrow::before {
  border-bottom-color: #d6d8db;
}
.b-popover-secondary.bs-popover-bottom > .arrow::after, .b-popover-secondary.bs-popover-auto[x-placement^=bottom] > .arrow::after {
  border-bottom-color: #dadbde;
}
.b-popover-secondary.bs-popover-bottom .popover-header::before, .b-popover-secondary.bs-popover-auto[x-placement^=bottom] .popover-header::before {
  border-bottom-color: #dadbde;
}
.b-popover-secondary.bs-popover-left > .arrow::before, .b-popover-secondary.bs-popover-auto[x-placement^=left] > .arrow::before {
  border-left-color: #d6d8db;
}
.b-popover-secondary.bs-popover-left > .arrow::after, .b-popover-secondary.bs-popover-auto[x-placement^=left] > .arrow::after {
  border-left-color: #e2e3e5;
}
.b-popover-secondary .popover-header {
  color: #212529;
  background-color: #dadbde;
  border-bottom-color: #ccced2;
}
.b-popover-secondary .popover-body {
  color: #383d41;
}

.b-popover-success.popover {
  background-color: #d4edda;
  border-color: #c3e6cb;
}
.b-popover-success.bs-popover-top > .arrow::before, .b-popover-success.bs-popover-auto[x-placement^=top] > .arrow::before {
  border-top-color: #c3e6cb;
}
.b-popover-success.bs-popover-top > .arrow::after, .b-popover-success.bs-popover-auto[x-placement^=top] > .arrow::after {
  border-top-color: #d4edda;
}
.b-popover-success.bs-popover-right > .arrow::before, .b-popover-success.bs-popover-auto[x-placement^=right] > .arrow::before {
  border-right-color: #c3e6cb;
}
.b-popover-success.bs-popover-right > .arrow::after, .b-popover-success.bs-popover-auto[x-placement^=right] > .arrow::after {
  border-right-color: #d4edda;
}
.b-popover-success.bs-popover-bottom > .arrow::before, .b-popover-success.bs-popover-auto[x-placement^=bottom] > .arrow::before {
  border-bottom-color: #c3e6cb;
}
.b-popover-success.bs-popover-bottom > .arrow::after, .b-popover-success.bs-popover-auto[x-placement^=bottom] > .arrow::after {
  border-bottom-color: #c9e8d1;
}
.b-popover-success.bs-popover-bottom .popover-header::before, .b-popover-success.bs-popover-auto[x-placement^=bottom] .popover-header::before {
  border-bottom-color: #c9e8d1;
}
.b-popover-success.bs-popover-left > .arrow::before, .b-popover-success.bs-popover-auto[x-placement^=left] > .arrow::before {
  border-left-color: #c3e6cb;
}
.b-popover-success.bs-popover-left > .arrow::after, .b-popover-success.bs-popover-auto[x-placement^=left] > .arrow::after {
  border-left-color: #d4edda;
}
.b-popover-success .popover-header {
  color: #212529;
  background-color: #c9e8d1;
  border-bottom-color: #b7e1c1;
}
.b-popover-success .popover-body {
  color: #155724;
}

.b-popover-info.popover {
  background-color: #d1ecf1;
  border-color: #bee5eb;
}
.b-popover-info.bs-popover-top > .arrow::before, .b-popover-info.bs-popover-auto[x-placement^=top] > .arrow::before {
  border-top-color: #bee5eb;
}
.b-popover-info.bs-popover-top > .arrow::after, .b-popover-info.bs-popover-auto[x-placement^=top] > .arrow::after {
  border-top-color: #d1ecf1;
}
.b-popover-info.bs-popover-right > .arrow::before, .b-popover-info.bs-popover-auto[x-placement^=right] > .arrow::before {
  border-right-color: #bee5eb;
}
.b-popover-info.bs-popover-right > .arrow::after, .b-popover-info.bs-popover-auto[x-placement^=right] > .arrow::after {
  border-right-color: #d1ecf1;
}
.b-popover-info.bs-popover-bottom > .arrow::before, .b-popover-info.bs-popover-auto[x-placement^=bottom] > .arrow::before {
  border-bottom-color: #bee5eb;
}
.b-popover-info.bs-popover-bottom > .arrow::after, .b-popover-info.bs-popover-auto[x-placement^=bottom] > .arrow::after {
  border-bottom-color: #c5e7ed;
}
.b-popover-info.bs-popover-bottom .popover-header::before, .b-popover-info.bs-popover-auto[x-placement^=bottom] .popover-header::before {
  border-bottom-color: #c5e7ed;
}
.b-popover-info.bs-popover-left > .arrow::before, .b-popover-info.bs-popover-auto[x-placement^=left] > .arrow::before {
  border-left-color: #bee5eb;
}
.b-popover-info.bs-popover-left > .arrow::after, .b-popover-info.bs-popover-auto[x-placement^=left] > .arrow::after {
  border-left-color: #d1ecf1;
}
.b-popover-info .popover-header {
  color: #212529;
  background-color: #c5e7ed;
  border-bottom-color: #b2dfe7;
}
.b-popover-info .popover-body {
  color: #0c5460;
}

.b-popover-warning.popover {
  background-color: #fff3cd;
  border-color: #ffeeba;
}
.b-popover-warning.bs-popover-top > .arrow::before, .b-popover-warning.bs-popover-auto[x-placement^=top] > .arrow::before {
  border-top-color: #ffeeba;
}
.b-popover-warning.bs-popover-top > .arrow::after, .b-popover-warning.bs-popover-auto[x-placement^=top] > .arrow::after {
  border-top-color: #fff3cd;
}
.b-popover-warning.bs-popover-right > .arrow::before, .b-popover-warning.bs-popover-auto[x-placement^=right] > .arrow::before {
  border-right-color: #ffeeba;
}
.b-popover-warning.bs-popover-right > .arrow::after, .b-popover-warning.bs-popover-auto[x-placement^=right] > .arrow::after {
  border-right-color: #fff3cd;
}
.b-popover-warning.bs-popover-bottom > .arrow::before, .b-popover-warning.bs-popover-auto[x-placement^=bottom] > .arrow::before {
  border-bottom-color: #ffeeba;
}
.b-popover-warning.bs-popover-bottom > .arrow::after, .b-popover-warning.bs-popover-auto[x-placement^=bottom] > .arrow::after {
  border-bottom-color: #ffefbe;
}
.b-popover-warning.bs-popover-bottom .popover-header::before, .b-popover-warning.bs-popover-auto[x-placement^=bottom] .popover-header::before {
  border-bottom-color: #ffefbe;
}
.b-popover-warning.bs-popover-left > .arrow::before, .b-popover-warning.bs-popover-auto[x-placement^=left] > .arrow::before {
  border-left-color: #ffeeba;
}
.b-popover-warning.bs-popover-left > .arrow::after, .b-popover-warning.bs-popover-auto[x-placement^=left] > .arrow::after {
  border-left-color: #fff3cd;
}
.b-popover-warning .popover-header {
  color: #212529;
  background-color: #ffefbe;
  border-bottom-color: #ffe9a4;
}
.b-popover-warning .popover-body {
  color: #856404;
}

.b-popover-danger.popover {
  background-color: #f8d7da;
  border-color: #f5c6cb;
}
.b-popover-danger.bs-popover-top > .arrow::before, .b-popover-danger.bs-popover-auto[x-placement^=top] > .arrow::before {
  border-top-color: #f5c6cb;
}
.b-popover-danger.bs-popover-top > .arrow::after, .b-popover-danger.bs-popover-auto[x-placement^=top] > .arrow::after {
  border-top-color: #f8d7da;
}
.b-popover-danger.bs-popover-right > .arrow::before, .b-popover-danger.bs-popover-auto[x-placement^=right] > .arrow::before {
  border-right-color: #f5c6cb;
}
.b-popover-danger.bs-popover-right > .arrow::after, .b-popover-danger.bs-popover-auto[x-placement^=right] > .arrow::after {
  border-right-color: #f8d7da;
}
.b-popover-danger.bs-popover-bottom > .arrow::before, .b-popover-danger.bs-popover-auto[x-placement^=bottom] > .arrow::before {
  border-bottom-color: #f5c6cb;
}
.b-popover-danger.bs-popover-bottom > .arrow::after, .b-popover-danger.bs-popover-auto[x-placement^=bottom] > .arrow::after {
  border-bottom-color: #f6cace;
}
.b-popover-danger.bs-popover-bottom .popover-header::before, .b-popover-danger.bs-popover-auto[x-placement^=bottom] .popover-header::before {
  border-bottom-color: #f6cace;
}
.b-popover-danger.bs-popover-left > .arrow::before, .b-popover-danger.bs-popover-auto[x-placement^=left] > .arrow::before {
  border-left-color: #f5c6cb;
}
.b-popover-danger.bs-popover-left > .arrow::after, .b-popover-danger.bs-popover-auto[x-placement^=left] > .arrow::after {
  border-left-color: #f8d7da;
}
.b-popover-danger .popover-header {
  color: #212529;
  background-color: #f6cace;
  border-bottom-color: #f2b4ba;
}
.b-popover-danger .popover-body {
  color: #721c24;
}

.b-popover-light.popover {
  background-color: #fefefe;
  border-color: #fdfdfe;
}
.b-popover-light.bs-popover-top > .arrow::before, .b-popover-light.bs-popover-auto[x-placement^=top] > .arrow::before {
  border-top-color: #fdfdfe;
}
.b-popover-light.bs-popover-top > .arrow::after, .b-popover-light.bs-popover-auto[x-placement^=top] > .arrow::after {
  border-top-color: #fefefe;
}
.b-popover-light.bs-popover-right > .arrow::before, .b-popover-light.bs-popover-auto[x-placement^=right] > .arrow::before {
  border-right-color: #fdfdfe;
}
.b-popover-light.bs-popover-right > .arrow::after, .b-popover-light.bs-popover-auto[x-placement^=right] > .arrow::after {
  border-right-color: #fefefe;
}
.b-popover-light.bs-popover-bottom > .arrow::before, .b-popover-light.bs-popover-auto[x-placement^=bottom] > .arrow::before {
  border-bottom-color: #fdfdfe;
}
.b-popover-light.bs-popover-bottom > .arrow::after, .b-popover-light.bs-popover-auto[x-placement^=bottom] > .arrow::after {
  border-bottom-color: #f6f6f6;
}
.b-popover-light.bs-popover-bottom .popover-header::before, .b-popover-light.bs-popover-auto[x-placement^=bottom] .popover-header::before {
  border-bottom-color: #f6f6f6;
}
.b-popover-light.bs-popover-left > .arrow::before, .b-popover-light.bs-popover-auto[x-placement^=left] > .arrow::before {
  border-left-color: #fdfdfe;
}
.b-popover-light.bs-popover-left > .arrow::after, .b-popover-light.bs-popover-auto[x-placement^=left] > .arrow::after {
  border-left-color: #fefefe;
}
.b-popover-light .popover-header {
  color: #212529;
  background-color: #f6f6f6;
  border-bottom-color: #eaeaea;
}
.b-popover-light .popover-body {
  color: #818182;
}

.b-popover-dark.popover {
  background-color: #d6d8d9;
  border-color: #c6c8ca;
}
.b-popover-dark.bs-popover-top > .arrow::before, .b-popover-dark.bs-popover-auto[x-placement^=top] > .arrow::before {
  border-top-color: #c6c8ca;
}
.b-popover-dark.bs-popover-top > .arrow::after, .b-popover-dark.bs-popover-auto[x-placement^=top] > .arrow::after {
  border-top-color: #d6d8d9;
}
.b-popover-dark.bs-popover-right > .arrow::before, .b-popover-dark.bs-popover-auto[x-placement^=right] > .arrow::before {
  border-right-color: #c6c8ca;
}
.b-popover-dark.bs-popover-right > .arrow::after, .b-popover-dark.bs-popover-auto[x-placement^=right] > .arrow::after {
  border-right-color: #d6d8d9;
}
.b-popover-dark.bs-popover-bottom > .arrow::before, .b-popover-dark.bs-popover-auto[x-placement^=bottom] > .arrow::before {
  border-bottom-color: #c6c8ca;
}
.b-popover-dark.bs-popover-bottom > .arrow::after, .b-popover-dark.bs-popover-auto[x-placement^=bottom] > .arrow::after {
  border-bottom-color: #ced0d2;
}
.b-popover-dark.bs-popover-bottom .popover-header::before, .b-popover-dark.bs-popover-auto[x-placement^=bottom] .popover-header::before {
  border-bottom-color: #ced0d2;
}
.b-popover-dark.bs-popover-left > .arrow::before, .b-popover-dark.bs-popover-auto[x-placement^=left] > .arrow::before {
  border-left-color: #c6c8ca;
}
.b-popover-dark.bs-popover-left > .arrow::after, .b-popover-dark.bs-popover-auto[x-placement^=left] > .arrow::after {
  border-left-color: #d6d8d9;
}
.b-popover-dark .popover-header {
  color: #212529;
  background-color: #ced0d2;
  border-bottom-color: #c1c4c5;
}
.b-popover-dark .popover-body {
  color: #1b1e21;
}

.b-sidebar-outer {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 0;
  overflow: visible;
  z-index: calc(1030 + 5);
}

.b-sidebar-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100vw;
  height: 100vh;
  opacity: 0.6;
}

.b-sidebar {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  width: 320px;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  margin: 0;
  outline: 0;
  transform: translateX(0);
}
.b-sidebar.slide {
  transition: transform 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .b-sidebar.slide {
    transition: none;
  }
}
.b-sidebar:not(.b-sidebar-right) {
  left: 0;
  right: auto;
}
.b-sidebar:not(.b-sidebar-right).slide:not(.show) {
  transform: translateX(-100%);
}
.b-sidebar:not(.b-sidebar-right) > .b-sidebar-header .close {
  margin-left: auto;
}
.b-sidebar.b-sidebar-right {
  left: auto;
  right: 0;
}
.b-sidebar.b-sidebar-right.slide:not(.show) {
  transform: translateX(100%);
}
.b-sidebar.b-sidebar-right > .b-sidebar-header .close {
  margin-right: auto;
}
.b-sidebar > .b-sidebar-header {
  font-size: 1.5rem;
  padding: 0.5rem 1rem;
  display: flex;
  flex-direction: row;
  flex-grow: 0;
  align-items: center;
}
[dir=rtl] .b-sidebar > .b-sidebar-header {
  flex-direction: row-reverse;
}

.b-sidebar > .b-sidebar-header .close {
  float: none;
  font-size: 1.5rem;
}
.b-sidebar > .b-sidebar-body {
  flex-grow: 1;
  height: 100%;
  overflow-y: auto;
}
.b-sidebar > .b-sidebar-footer {
  flex-grow: 0;
}

.b-skeleton-wrapper {
  cursor: wait;
}

.b-skeleton {
  position: relative;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.12);
  cursor: wait;
  mask-image: radial-gradient(white, black);
}
.b-skeleton::before {
  content: " ";
}

.b-skeleton-text {
  height: 1rem;
  margin-bottom: 0.25rem;
  border-radius: 0.25rem;
}

.b-skeleton-button {
  width: 75px;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
}

.b-skeleton-avatar {
  width: 2.5em;
  height: 2.5em;
  border-radius: 50%;
}

.b-skeleton-input {
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  border: #ced4da solid 1px;
  border-radius: 0.25rem;
}

.b-skeleton-icon-wrapper svg {
  color: rgba(0, 0, 0, 0.12);
}

.b-skeleton-img {
  height: 100%;
  width: 100%;
}

.b-skeleton-animate-wave::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  animation: b-skeleton-animate-wave 1.75s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .b-skeleton-animate-wave::after {
    background: none;
    animation: none;
  }
}

@keyframes b-skeleton-animate-wave {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}
.b-skeleton-animate-fade {
  animation: b-skeleton-animate-fade 0.875s ease-in-out alternate infinite;
}
@media (prefers-reduced-motion: reduce) {
  .b-skeleton-animate-fade {
    animation: none;
  }
}

@keyframes b-skeleton-animate-fade {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.4;
  }
}
.b-skeleton-animate-throb {
  animation: b-skeleton-animate-throb 0.875s ease-in alternate infinite;
}
@media (prefers-reduced-motion: reduce) {
  .b-skeleton-animate-throb {
    animation: none;
  }
}

@keyframes b-skeleton-animate-throb {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.975);
  }
}
.table.b-table.b-table-fixed {
  table-layout: fixed;
}
.table.b-table.b-table-no-border-collapse {
  border-collapse: separate;
  border-spacing: 0;
}
.table.b-table[aria-busy=true] {
  opacity: 0.55;
}
.table.b-table > tbody > tr.b-table-details > td {
  border-top: none !important;
}
.table.b-table > caption {
  caption-side: bottom;
}
.table.b-table.b-table-caption-top > caption {
  caption-side: top !important;
}
.table.b-table > tbody > .table-active,
.table.b-table > tbody > .table-active > th,
.table.b-table > tbody > .table-active > td {
  background-color: rgba(0, 0, 0, 0.075);
}
.table.b-table.table-hover > tbody > tr.table-active:hover td,
.table.b-table.table-hover > tbody > tr.table-active:hover th {
  color: #111;
  background-image: linear-gradient(rgba(0, 0, 0, 0.075), rgba(0, 0, 0, 0.075));
  background-repeat: no-repeat;
}
.table.b-table > tbody > .bg-active,
.table.b-table > tbody > .bg-active > th,
.table.b-table > tbody > .bg-active > td {
  background-color: rgba(255, 255, 255, 0.075) !important;
}
.table.b-table.table-hover.table-dark > tbody > tr.bg-active:hover td,
.table.b-table.table-hover.table-dark > tbody > tr.bg-active:hover th {
  color: #fff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.075));
  background-repeat: no-repeat;
}

.b-table-sticky-header,
.table-responsive,
[class*=table-responsive-] {
  margin-bottom: 1rem;
}
.b-table-sticky-header > .table,
.table-responsive > .table,
[class*=table-responsive-] > .table {
  margin-bottom: 0;
}

.b-table-sticky-header {
  overflow-y: auto;
  max-height: 300px;
}

@media print {
  .b-table-sticky-header {
    overflow-y: visible !important;
    max-height: none !important;
  }
}
@supports (position: sticky) {
  .b-table-sticky-header > .table.b-table > thead > tr > th {
    position: sticky;
    top: 0;
    z-index: 2;
  }

  .b-table-sticky-header > .table.b-table > thead > tr > .b-table-sticky-column,
.b-table-sticky-header > .table.b-table > tbody > tr > .b-table-sticky-column,
.b-table-sticky-header > .table.b-table > tfoot > tr > .b-table-sticky-column,
.table-responsive > .table.b-table > thead > tr > .b-table-sticky-column,
.table-responsive > .table.b-table > tbody > tr > .b-table-sticky-column,
.table-responsive > .table.b-table > tfoot > tr > .b-table-sticky-column,
[class*=table-responsive-] > .table.b-table > thead > tr > .b-table-sticky-column,
[class*=table-responsive-] > .table.b-table > tbody > tr > .b-table-sticky-column,
[class*=table-responsive-] > .table.b-table > tfoot > tr > .b-table-sticky-column {
    position: sticky;
    left: 0;
  }
  .b-table-sticky-header > .table.b-table > thead > tr > .b-table-sticky-column,
.table-responsive > .table.b-table > thead > tr > .b-table-sticky-column,
[class*=table-responsive-] > .table.b-table > thead > tr > .b-table-sticky-column {
    z-index: 5;
  }
  .b-table-sticky-header > .table.b-table > tbody > tr > .b-table-sticky-column,
.b-table-sticky-header > .table.b-table > tfoot > tr > .b-table-sticky-column,
.table-responsive > .table.b-table > tbody > tr > .b-table-sticky-column,
.table-responsive > .table.b-table > tfoot > tr > .b-table-sticky-column,
[class*=table-responsive-] > .table.b-table > tbody > tr > .b-table-sticky-column,
[class*=table-responsive-] > .table.b-table > tfoot > tr > .b-table-sticky-column {
    z-index: 2;
  }

  .table.b-table > thead > tr > .table-b-table-default,
.table.b-table > tbody > tr > .table-b-table-default,
.table.b-table > tfoot > tr > .table-b-table-default {
    color: #111;
    background-color: #fff;
  }
  .table.b-table.table-dark > thead > tr > .bg-b-table-default,
.table.b-table.table-dark > tbody > tr > .bg-b-table-default,
.table.b-table.table-dark > tfoot > tr > .bg-b-table-default {
    color: #fff;
    background-color: #343a40;
  }
  .table.b-table.table-striped > tbody > tr:nth-of-type(odd) > .table-b-table-default {
    background-image: linear-gradient(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05));
    background-repeat: no-repeat;
  }
  .table.b-table.table-striped.table-dark > tbody > tr:nth-of-type(odd) > .bg-b-table-default {
    background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05));
    background-repeat: no-repeat;
  }
  .table.b-table.table-hover > tbody > tr:hover > .table-b-table-default {
    color: #111;
    background-image: linear-gradient(rgba(0, 0, 0, 0.075), rgba(0, 0, 0, 0.075));
    background-repeat: no-repeat;
  }
  .table.b-table.table-hover.table-dark > tbody > tr:hover > .bg-b-table-default {
    color: #fff;
    background-image: linear-gradient(rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.075));
    background-repeat: no-repeat;
  }
}
.table.b-table > thead > tr > [aria-sort],
.table.b-table > tfoot > tr > [aria-sort] {
  cursor: pointer;
  background-image: none;
  background-repeat: no-repeat;
  background-size: 0.65em 1em;
}
.table.b-table > thead > tr > [aria-sort]:not(.b-table-sort-icon-left),
.table.b-table > tfoot > tr > [aria-sort]:not(.b-table-sort-icon-left) {
  background-position: right calc(0.75rem / 2) center;
  padding-right: calc(0.75rem + 0.65em);
}
.table.b-table > thead > tr > [aria-sort].b-table-sort-icon-left,
.table.b-table > tfoot > tr > [aria-sort].b-table-sort-icon-left {
  background-position: left calc(0.75rem / 2) center;
  padding-left: calc(0.75rem + 0.65em);
}
.table.b-table > thead > tr > [aria-sort=none],
.table.b-table > tfoot > tr > [aria-sort=none] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='black' opacity='.3' d='M51 1l25 23 24 22H1l25-22zM51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e");
}
.table.b-table > thead > tr > [aria-sort=ascending],
.table.b-table > tfoot > tr > [aria-sort=ascending] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='black' d='M51 1l25 23 24 22H1l25-22z'/%3e%3cpath fill='black' opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e");
}
.table.b-table > thead > tr > [aria-sort=descending],
.table.b-table > tfoot > tr > [aria-sort=descending] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='black' opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3e%3cpath fill='black' d='M51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e");
}
.table.b-table.table-dark > thead > tr > [aria-sort=none], .table.b-table.table-dark > tfoot > tr > [aria-sort=none],
.table.b-table > .thead-dark > tr > [aria-sort=none] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='white' opacity='.3' d='M51 1l25 23 24 22H1l25-22zM51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e");
}
.table.b-table.table-dark > thead > tr > [aria-sort=ascending], .table.b-table.table-dark > tfoot > tr > [aria-sort=ascending],
.table.b-table > .thead-dark > tr > [aria-sort=ascending] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='white' d='M51 1l25 23 24 22H1l25-22z'/%3e%3cpath fill='white' opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e");
}
.table.b-table.table-dark > thead > tr > [aria-sort=descending], .table.b-table.table-dark > tfoot > tr > [aria-sort=descending],
.table.b-table > .thead-dark > tr > [aria-sort=descending] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='white' opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3e%3cpath fill='white' d='M51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e");
}
.table.b-table > thead > tr > .table-dark[aria-sort=none],
.table.b-table > tfoot > tr > .table-dark[aria-sort=none] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='white' opacity='.3' d='M51 1l25 23 24 22H1l25-22zM51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e");
}
.table.b-table > thead > tr > .table-dark[aria-sort=ascending],
.table.b-table > tfoot > tr > .table-dark[aria-sort=ascending] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='white' d='M51 1l25 23 24 22H1l25-22z'/%3e%3cpath fill='white' opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e");
}
.table.b-table > thead > tr > .table-dark[aria-sort=descending],
.table.b-table > tfoot > tr > .table-dark[aria-sort=descending] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='white' opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3e%3cpath fill='white' d='M51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e");
}
.table.b-table.table-sm > thead > tr > [aria-sort]:not(.b-table-sort-icon-left),
.table.b-table.table-sm > tfoot > tr > [aria-sort]:not(.b-table-sort-icon-left) {
  background-position: right calc(0.3rem / 2) center;
  padding-right: calc(0.3rem + 0.65em);
}
.table.b-table.table-sm > thead > tr > [aria-sort].b-table-sort-icon-left,
.table.b-table.table-sm > tfoot > tr > [aria-sort].b-table-sort-icon-left {
  background-position: left calc(0.3rem / 2) center;
  padding-left: calc(0.3rem + 0.65em);
}

.table.b-table.b-table-selectable:not(.b-table-selectable-no-click) > tbody > tr {
  cursor: pointer;
}
.table.b-table.b-table-selectable:not(.b-table-selectable-no-click).b-table-selecting.b-table-select-range > tbody > tr {
  user-select: none;
}

@media (max-width: 575.98px) {
  .table.b-table.b-table-stacked-sm {
    display: block;
    width: 100%;
  }
  .table.b-table.b-table-stacked-sm > caption,
.table.b-table.b-table-stacked-sm > tbody,
.table.b-table.b-table-stacked-sm > tbody > tr,
.table.b-table.b-table-stacked-sm > tbody > tr > td,
.table.b-table.b-table-stacked-sm > tbody > tr > th {
    display: block;
  }
  .table.b-table.b-table-stacked-sm > thead,
.table.b-table.b-table-stacked-sm > tfoot {
    display: none;
  }
  .table.b-table.b-table-stacked-sm > thead > tr.b-table-top-row,
.table.b-table.b-table-stacked-sm > thead > tr.b-table-bottom-row,
.table.b-table.b-table-stacked-sm > tfoot > tr.b-table-top-row,
.table.b-table.b-table-stacked-sm > tfoot > tr.b-table-bottom-row {
    display: none;
  }
  .table.b-table.b-table-stacked-sm > caption {
    caption-side: top !important;
  }
  .table.b-table.b-table-stacked-sm > tbody > tr > [data-label]::before {
    content: attr(data-label);
    width: 40%;
    float: left;
    text-align: right;
    overflow-wrap: break-word;
    font-weight: bold;
    font-style: normal;
    padding: 0 calc(1rem / 2) 0 0;
    margin: 0;
  }
  .table.b-table.b-table-stacked-sm > tbody > tr > [data-label]::after {
    display: block;
    clear: both;
    content: "";
  }
  .table.b-table.b-table-stacked-sm > tbody > tr > [data-label] > div {
    display: inline-block;
    width: calc(100% - 40%);
    padding: 0 0 0 calc(1rem / 2);
    margin: 0;
  }
  .table.b-table.b-table-stacked-sm > tbody > tr.top-row, .table.b-table.b-table-stacked-sm > tbody > tr.bottom-row {
    display: none;
  }
  .table.b-table.b-table-stacked-sm > tbody > tr > :first-child {
    border-top-width: 3px;
  }
  .table.b-table.b-table-stacked-sm > tbody > tr > [rowspan] + td,
.table.b-table.b-table-stacked-sm > tbody > tr > [rowspan] + th {
    border-top-width: 3px;
  }
}
@media (max-width: 767.98px) {
  .table.b-table.b-table-stacked-md {
    display: block;
    width: 100%;
  }
  .table.b-table.b-table-stacked-md > caption,
.table.b-table.b-table-stacked-md > tbody,
.table.b-table.b-table-stacked-md > tbody > tr,
.table.b-table.b-table-stacked-md > tbody > tr > td,
.table.b-table.b-table-stacked-md > tbody > tr > th {
    display: block;
  }
  .table.b-table.b-table-stacked-md > thead,
.table.b-table.b-table-stacked-md > tfoot {
    display: none;
  }
  .table.b-table.b-table-stacked-md > thead > tr.b-table-top-row,
.table.b-table.b-table-stacked-md > thead > tr.b-table-bottom-row,
.table.b-table.b-table-stacked-md > tfoot > tr.b-table-top-row,
.table.b-table.b-table-stacked-md > tfoot > tr.b-table-bottom-row {
    display: none;
  }
  .table.b-table.b-table-stacked-md > caption {
    caption-side: top !important;
  }
  .table.b-table.b-table-stacked-md > tbody > tr > [data-label]::before {
    content: attr(data-label);
    width: 40%;
    float: left;
    text-align: right;
    overflow-wrap: break-word;
    font-weight: bold;
    font-style: normal;
    padding: 0 calc(1rem / 2) 0 0;
    margin: 0;
  }
  .table.b-table.b-table-stacked-md > tbody > tr > [data-label]::after {
    display: block;
    clear: both;
    content: "";
  }
  .table.b-table.b-table-stacked-md > tbody > tr > [data-label] > div {
    display: inline-block;
    width: calc(100% - 40%);
    padding: 0 0 0 calc(1rem / 2);
    margin: 0;
  }
  .table.b-table.b-table-stacked-md > tbody > tr.top-row, .table.b-table.b-table-stacked-md > tbody > tr.bottom-row {
    display: none;
  }
  .table.b-table.b-table-stacked-md > tbody > tr > :first-child {
    border-top-width: 3px;
  }
  .table.b-table.b-table-stacked-md > tbody > tr > [rowspan] + td,
.table.b-table.b-table-stacked-md > tbody > tr > [rowspan] + th {
    border-top-width: 3px;
  }
}
@media (max-width: 991.98px) {
  .table.b-table.b-table-stacked-lg {
    display: block;
    width: 100%;
  }
  .table.b-table.b-table-stacked-lg > caption,
.table.b-table.b-table-stacked-lg > tbody,
.table.b-table.b-table-stacked-lg > tbody > tr,
.table.b-table.b-table-stacked-lg > tbody > tr > td,
.table.b-table.b-table-stacked-lg > tbody > tr > th {
    display: block;
  }
  .table.b-table.b-table-stacked-lg > thead,
.table.b-table.b-table-stacked-lg > tfoot {
    display: none;
  }
  .table.b-table.b-table-stacked-lg > thead > tr.b-table-top-row,
.table.b-table.b-table-stacked-lg > thead > tr.b-table-bottom-row,
.table.b-table.b-table-stacked-lg > tfoot > tr.b-table-top-row,
.table.b-table.b-table-stacked-lg > tfoot > tr.b-table-bottom-row {
    display: none;
  }
  .table.b-table.b-table-stacked-lg > caption {
    caption-side: top !important;
  }
  .table.b-table.b-table-stacked-lg > tbody > tr > [data-label]::before {
    content: attr(data-label);
    width: 40%;
    float: left;
    text-align: right;
    overflow-wrap: break-word;
    font-weight: bold;
    font-style: normal;
    padding: 0 calc(1rem / 2) 0 0;
    margin: 0;
  }
  .table.b-table.b-table-stacked-lg > tbody > tr > [data-label]::after {
    display: block;
    clear: both;
    content: "";
  }
  .table.b-table.b-table-stacked-lg > tbody > tr > [data-label] > div {
    display: inline-block;
    width: calc(100% - 40%);
    padding: 0 0 0 calc(1rem / 2);
    margin: 0;
  }
  .table.b-table.b-table-stacked-lg > tbody > tr.top-row, .table.b-table.b-table-stacked-lg > tbody > tr.bottom-row {
    display: none;
  }
  .table.b-table.b-table-stacked-lg > tbody > tr > :first-child {
    border-top-width: 3px;
  }
  .table.b-table.b-table-stacked-lg > tbody > tr > [rowspan] + td,
.table.b-table.b-table-stacked-lg > tbody > tr > [rowspan] + th {
    border-top-width: 3px;
  }
}
@media (max-width: 1199.98px) {
  .table.b-table.b-table-stacked-xl {
    display: block;
    width: 100%;
  }
  .table.b-table.b-table-stacked-xl > caption,
.table.b-table.b-table-stacked-xl > tbody,
.table.b-table.b-table-stacked-xl > tbody > tr,
.table.b-table.b-table-stacked-xl > tbody > tr > td,
.table.b-table.b-table-stacked-xl > tbody > tr > th {
    display: block;
  }
  .table.b-table.b-table-stacked-xl > thead,
.table.b-table.b-table-stacked-xl > tfoot {
    display: none;
  }
  .table.b-table.b-table-stacked-xl > thead > tr.b-table-top-row,
.table.b-table.b-table-stacked-xl > thead > tr.b-table-bottom-row,
.table.b-table.b-table-stacked-xl > tfoot > tr.b-table-top-row,
.table.b-table.b-table-stacked-xl > tfoot > tr.b-table-bottom-row {
    display: none;
  }
  .table.b-table.b-table-stacked-xl > caption {
    caption-side: top !important;
  }
  .table.b-table.b-table-stacked-xl > tbody > tr > [data-label]::before {
    content: attr(data-label);
    width: 40%;
    float: left;
    text-align: right;
    overflow-wrap: break-word;
    font-weight: bold;
    font-style: normal;
    padding: 0 calc(1rem / 2) 0 0;
    margin: 0;
  }
  .table.b-table.b-table-stacked-xl > tbody > tr > [data-label]::after {
    display: block;
    clear: both;
    content: "";
  }
  .table.b-table.b-table-stacked-xl > tbody > tr > [data-label] > div {
    display: inline-block;
    width: calc(100% - 40%);
    padding: 0 0 0 calc(1rem / 2);
    margin: 0;
  }
  .table.b-table.b-table-stacked-xl > tbody > tr.top-row, .table.b-table.b-table-stacked-xl > tbody > tr.bottom-row {
    display: none;
  }
  .table.b-table.b-table-stacked-xl > tbody > tr > :first-child {
    border-top-width: 3px;
  }
  .table.b-table.b-table-stacked-xl > tbody > tr > [rowspan] + td,
.table.b-table.b-table-stacked-xl > tbody > tr > [rowspan] + th {
    border-top-width: 3px;
  }
}
.table.b-table.b-table-stacked {
  display: block;
  width: 100%;
}
.table.b-table.b-table-stacked > caption,
.table.b-table.b-table-stacked > tbody,
.table.b-table.b-table-stacked > tbody > tr,
.table.b-table.b-table-stacked > tbody > tr > td,
.table.b-table.b-table-stacked > tbody > tr > th {
  display: block;
}
.table.b-table.b-table-stacked > thead,
.table.b-table.b-table-stacked > tfoot {
  display: none;
}
.table.b-table.b-table-stacked > thead > tr.b-table-top-row,
.table.b-table.b-table-stacked > thead > tr.b-table-bottom-row,
.table.b-table.b-table-stacked > tfoot > tr.b-table-top-row,
.table.b-table.b-table-stacked > tfoot > tr.b-table-bottom-row {
  display: none;
}
.table.b-table.b-table-stacked > caption {
  caption-side: top !important;
}
.table.b-table.b-table-stacked > tbody > tr > [data-label]::before {
  content: attr(data-label);
  width: 40%;
  float: left;
  text-align: right;
  overflow-wrap: break-word;
  font-weight: bold;
  font-style: normal;
  padding: 0 calc(1rem / 2) 0 0;
  margin: 0;
}
.table.b-table.b-table-stacked > tbody > tr > [data-label]::after {
  display: block;
  clear: both;
  content: "";
}
.table.b-table.b-table-stacked > tbody > tr > [data-label] > div {
  display: inline-block;
  width: calc(100% - 40%);
  padding: 0 0 0 calc(1rem / 2);
  margin: 0;
}
.table.b-table.b-table-stacked > tbody > tr.top-row, .table.b-table.b-table-stacked > tbody > tr.bottom-row {
  display: none;
}
.table.b-table.b-table-stacked > tbody > tr > :first-child {
  border-top-width: 3px;
}
.table.b-table.b-table-stacked > tbody > tr > [rowspan] + td,
.table.b-table.b-table-stacked > tbody > tr > [rowspan] + th {
  border-top-width: 3px;
}

.b-time {
  min-width: 150px;
}
.b-time[aria-disabled=true] output, .b-time[aria-readonly=true] output,
.b-time output.disabled {
  background-color: #e9ecef;
  opacity: 1;
}
.b-time[aria-disabled=true] output {
  pointer-events: none;
}
[dir=rtl] .b-time > .d-flex:not(.flex-column) {
  flex-direction: row-reverse;
}

.b-time .b-time-header {
  margin-bottom: 0.5rem;
}
.b-time .b-time-header output {
  padding: 0.25rem;
  font-size: 80%;
}
.b-time .b-time-footer {
  margin-top: 0.5rem;
}
.b-time .b-time-ampm {
  margin-left: 0.5rem;
}

.b-toast {
  display: block;
  position: relative;
  max-width: 350px;
  backface-visibility: hidden;
  background-clip: padding-box;
  z-index: 1;
  border-radius: 0.25rem;
}
.b-toast .toast {
  background-color: rgba(255, 255, 255, 0.85);
}
.b-toast:not(:last-child) {
  margin-bottom: 0.75rem;
}
.b-toast.b-toast-solid .toast {
  background-color: white;
}
.b-toast .toast {
  opacity: 1;
}
.b-toast .toast.fade:not(.show) {
  opacity: 0;
}
.b-toast .toast .toast-body {
  display: block;
}

.b-toast-primary .toast {
  background-color: rgba(230, 242, 255, 0.85);
  border-color: rgba(184, 218, 255, 0.85);
  color: #004085;
}
.b-toast-primary .toast .toast-header {
  color: #004085;
  background-color: rgba(204, 229, 255, 0.85);
  border-bottom-color: rgba(184, 218, 255, 0.85);
}
.b-toast-primary.b-toast-solid .toast {
  background-color: #e6f2ff;
}

.b-toast-secondary .toast {
  background-color: rgba(239, 240, 241, 0.85);
  border-color: rgba(214, 216, 219, 0.85);
  color: #383d41;
}
.b-toast-secondary .toast .toast-header {
  color: #383d41;
  background-color: rgba(226, 227, 229, 0.85);
  border-bottom-color: rgba(214, 216, 219, 0.85);
}
.b-toast-secondary.b-toast-solid .toast {
  background-color: #eff0f1;
}

.b-toast-success .toast {
  background-color: rgba(230, 245, 233, 0.85);
  border-color: rgba(195, 230, 203, 0.85);
  color: #155724;
}
.b-toast-success .toast .toast-header {
  color: #155724;
  background-color: rgba(212, 237, 218, 0.85);
  border-bottom-color: rgba(195, 230, 203, 0.85);
}
.b-toast-success.b-toast-solid .toast {
  background-color: #e6f5e9;
}

.b-toast-info .toast {
  background-color: rgba(229, 244, 247, 0.85);
  border-color: rgba(190, 229, 235, 0.85);
  color: #0c5460;
}
.b-toast-info .toast .toast-header {
  color: #0c5460;
  background-color: rgba(209, 236, 241, 0.85);
  border-bottom-color: rgba(190, 229, 235, 0.85);
}
.b-toast-info.b-toast-solid .toast {
  background-color: #e5f4f7;
}

.b-toast-warning .toast {
  background-color: rgba(255, 249, 231, 0.85);
  border-color: rgba(255, 238, 186, 0.85);
  color: #856404;
}
.b-toast-warning .toast .toast-header {
  color: #856404;
  background-color: rgba(255, 243, 205, 0.85);
  border-bottom-color: rgba(255, 238, 186, 0.85);
}
.b-toast-warning.b-toast-solid .toast {
  background-color: #fff9e7;
}

.b-toast-danger .toast {
  background-color: rgba(252, 237, 238, 0.85);
  border-color: rgba(245, 198, 203, 0.85);
  color: #721c24;
}
.b-toast-danger .toast .toast-header {
  color: #721c24;
  background-color: rgba(248, 215, 218, 0.85);
  border-bottom-color: rgba(245, 198, 203, 0.85);
}
.b-toast-danger.b-toast-solid .toast {
  background-color: #fcedee;
}

.b-toast-light .toast {
  background-color: rgba(255, 255, 255, 0.85);
  border-color: rgba(253, 253, 254, 0.85);
  color: #818182;
}
.b-toast-light .toast .toast-header {
  color: #818182;
  background-color: rgba(254, 254, 254, 0.85);
  border-bottom-color: rgba(253, 253, 254, 0.85);
}
.b-toast-light.b-toast-solid .toast {
  background-color: white;
}

.b-toast-dark .toast {
  background-color: rgba(227, 229, 229, 0.85);
  border-color: rgba(198, 200, 202, 0.85);
  color: #1b1e21;
}
.b-toast-dark .toast .toast-header {
  color: #1b1e21;
  background-color: rgba(214, 216, 217, 0.85);
  border-bottom-color: rgba(198, 200, 202, 0.85);
}
.b-toast-dark.b-toast-solid .toast {
  background-color: #e3e5e5;
}

.b-toaster {
  z-index: 1100;
}
.b-toaster .b-toaster-slot {
  position: relative;
  display: block;
}
.b-toaster .b-toaster-slot:empty {
  display: none !important;
}

.b-toaster.b-toaster-top-right, .b-toaster.b-toaster-top-left, .b-toaster.b-toaster-top-center, .b-toaster.b-toaster-top-full, .b-toaster.b-toaster-bottom-right, .b-toaster.b-toaster-bottom-left, .b-toaster.b-toaster-bottom-center, .b-toaster.b-toaster-bottom-full {
  position: fixed;
  left: 0.5rem;
  right: 0.5rem;
  margin: 0;
  padding: 0;
  height: 0;
  overflow: visible;
}
.b-toaster.b-toaster-top-right .b-toaster-slot, .b-toaster.b-toaster-top-left .b-toaster-slot, .b-toaster.b-toaster-top-center .b-toaster-slot, .b-toaster.b-toaster-top-full .b-toaster-slot, .b-toaster.b-toaster-bottom-right .b-toaster-slot, .b-toaster.b-toaster-bottom-left .b-toaster-slot, .b-toaster.b-toaster-bottom-center .b-toaster-slot, .b-toaster.b-toaster-bottom-full .b-toaster-slot {
  position: absolute;
  max-width: 350px;
  width: 100%;
  /* IE 11 fix */
  left: 0;
  right: 0;
  padding: 0;
  margin: 0;
}
.b-toaster.b-toaster-top-full .b-toaster-slot, .b-toaster.b-toaster-bottom-full .b-toaster-slot {
  width: 100%;
  max-width: 100%;
}
.b-toaster.b-toaster-top-full .b-toaster-slot .b-toast,
.b-toaster.b-toaster-top-full .b-toaster-slot .toast, .b-toaster.b-toaster-bottom-full .b-toaster-slot .b-toast,
.b-toaster.b-toaster-bottom-full .b-toaster-slot .toast {
  width: 100%;
  max-width: 100%;
}
.b-toaster.b-toaster-top-right, .b-toaster.b-toaster-top-left, .b-toaster.b-toaster-top-center, .b-toaster.b-toaster-top-full {
  top: 0;
}
.b-toaster.b-toaster-top-right .b-toaster-slot, .b-toaster.b-toaster-top-left .b-toaster-slot, .b-toaster.b-toaster-top-center .b-toaster-slot, .b-toaster.b-toaster-top-full .b-toaster-slot {
  top: 0.5rem;
}
.b-toaster.b-toaster-bottom-right, .b-toaster.b-toaster-bottom-left, .b-toaster.b-toaster-bottom-center, .b-toaster.b-toaster-bottom-full {
  bottom: 0;
}
.b-toaster.b-toaster-bottom-right .b-toaster-slot, .b-toaster.b-toaster-bottom-left .b-toaster-slot, .b-toaster.b-toaster-bottom-center .b-toaster-slot, .b-toaster.b-toaster-bottom-full .b-toaster-slot {
  bottom: 0.5rem;
}
.b-toaster.b-toaster-top-right .b-toaster-slot, .b-toaster.b-toaster-bottom-right .b-toaster-slot, .b-toaster.b-toaster-top-center .b-toaster-slot, .b-toaster.b-toaster-bottom-center .b-toaster-slot {
  margin-left: auto;
}
.b-toaster.b-toaster-top-left .b-toaster-slot, .b-toaster.b-toaster-bottom-left .b-toaster-slot, .b-toaster.b-toaster-top-center .b-toaster-slot, .b-toaster.b-toaster-bottom-center .b-toaster-slot {
  margin-right: auto;
}

.b-toaster.b-toaster-top-right .b-toast.b-toaster-enter-active, .b-toaster.b-toaster-top-right .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-top-right .b-toast.b-toaster-move, .b-toaster.b-toaster-top-left .b-toast.b-toaster-enter-active, .b-toaster.b-toaster-top-left .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-top-left .b-toast.b-toaster-move, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-enter-active, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-move, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-enter-active, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-move {
  transition: transform 0.175s;
}
.b-toaster.b-toaster-top-right .b-toast.b-toaster-enter-to .toast.fade, .b-toaster.b-toaster-top-right .b-toast.b-toaster-enter-active .toast.fade, .b-toaster.b-toaster-top-left .b-toast.b-toaster-enter-to .toast.fade, .b-toaster.b-toaster-top-left .b-toast.b-toaster-enter-active .toast.fade, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-enter-to .toast.fade, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-enter-active .toast.fade, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-enter-to .toast.fade, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-enter-active .toast.fade {
  transition-delay: 0.175s;
}
.b-toaster.b-toaster-top-right .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-top-left .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-leave-active {
  position: absolute;
  transition-delay: 0.175s;
}
.b-toaster.b-toaster-top-right .b-toast.b-toaster-leave-active .toast.fade, .b-toaster.b-toaster-top-left .b-toast.b-toaster-leave-active .toast.fade, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-leave-active .toast.fade, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-leave-active .toast.fade {
  transition-delay: 0s;
}
.tooltip.b-tooltip {
  display: block;
  opacity: 0.9;
  outline: 0;
}
.tooltip.b-tooltip.fade:not(.show) {
  opacity: 0;
}
.tooltip.b-tooltip.show {
  opacity: 0.9;
}
.tooltip.b-tooltip.noninteractive {
  pointer-events: none;
}
.tooltip.b-tooltip .arrow {
  margin: 0 0.25rem;
}
.tooltip.b-tooltip.bs-tooltip-right .arrow, .tooltip.b-tooltip.bs-tooltip-auto[x-placement^=right] .arrow, .tooltip.b-tooltip.bs-tooltip-left .arrow, .tooltip.b-tooltip.bs-tooltip-auto[x-placement^=left] .arrow {
  margin: 0.25rem 0;
}

.tooltip.b-tooltip-primary.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #007bff;
}
.tooltip.b-tooltip-primary.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #007bff;
}
.tooltip.b-tooltip-primary.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #007bff;
}
.tooltip.b-tooltip-primary.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #007bff;
}
.tooltip.b-tooltip-primary .tooltip-inner {
  color: #fff;
  background-color: #007bff;
}

.tooltip.b-tooltip-secondary.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #6c757d;
}
.tooltip.b-tooltip-secondary.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #6c757d;
}
.tooltip.b-tooltip-secondary.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #6c757d;
}
.tooltip.b-tooltip-secondary.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #6c757d;
}
.tooltip.b-tooltip-secondary .tooltip-inner {
  color: #fff;
  background-color: #6c757d;
}

.tooltip.b-tooltip-success.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #28a745;
}
.tooltip.b-tooltip-success.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #28a745;
}
.tooltip.b-tooltip-success.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #28a745;
}
.tooltip.b-tooltip-success.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #28a745;
}
.tooltip.b-tooltip-success .tooltip-inner {
  color: #fff;
  background-color: #28a745;
}

.tooltip.b-tooltip-info.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #17a2b8;
}
.tooltip.b-tooltip-info.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #17a2b8;
}
.tooltip.b-tooltip-info.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #17a2b8;
}
.tooltip.b-tooltip-info.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #17a2b8;
}
.tooltip.b-tooltip-info .tooltip-inner {
  color: #fff;
  background-color: #17a2b8;
}

.tooltip.b-tooltip-warning.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #ffc107;
}
.tooltip.b-tooltip-warning.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #ffc107;
}
.tooltip.b-tooltip-warning.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #ffc107;
}
.tooltip.b-tooltip-warning.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #ffc107;
}
.tooltip.b-tooltip-warning .tooltip-inner {
  color: #212529;
  background-color: #ffc107;
}

.tooltip.b-tooltip-danger.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #dc3545;
}
.tooltip.b-tooltip-danger.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #dc3545;
}
.tooltip.b-tooltip-danger.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #dc3545;
}
.tooltip.b-tooltip-danger.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #dc3545;
}
.tooltip.b-tooltip-danger .tooltip-inner {
  color: #fff;
  background-color: #dc3545;
}

.tooltip.b-tooltip-light.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #f8f9fa;
}
.tooltip.b-tooltip-light.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #f8f9fa;
}
.tooltip.b-tooltip-light.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #f8f9fa;
}
.tooltip.b-tooltip-light.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #f8f9fa;
}
.tooltip.b-tooltip-light .tooltip-inner {
  color: #212529;
  background-color: #f8f9fa;
}

.tooltip.b-tooltip-dark.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #343a40;
}
.tooltip.b-tooltip-dark.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #343a40;
}
.tooltip.b-tooltip-dark.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #343a40;
}
.tooltip.b-tooltip-dark.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #343a40;
}
.tooltip.b-tooltip-dark .tooltip-inner {
  color: #fff;
  background-color: #343a40;
}

.b-icon.bi {
  display: inline-block;
  overflow: visible;
  vertical-align: -0.15em;
}
.b-icon.b-icon-animation-cylon, .b-icon.b-iconstack .b-icon-animation-cylon > g {
  transform-origin: center;
  animation: 0.75s infinite ease-in-out alternate b-icon-animation-cylon;
}
@media (prefers-reduced-motion: reduce) {
  .b-icon.b-icon-animation-cylon, .b-icon.b-iconstack .b-icon-animation-cylon > g {
    animation: none;
  }
}
.b-icon.b-icon-animation-cylon-vertical, .b-icon.b-iconstack .b-icon-animation-cylon-vertical > g {
  transform-origin: center;
  animation: 0.75s infinite ease-in-out alternate b-icon-animation-cylon-vertical;
}
@media (prefers-reduced-motion: reduce) {
  .b-icon.b-icon-animation-cylon-vertical, .b-icon.b-iconstack .b-icon-animation-cylon-vertical > g {
    animation: none;
  }
}
.b-icon.b-icon-animation-fade, .b-icon.b-iconstack .b-icon-animation-fade > g {
  transform-origin: center;
  animation: 0.75s infinite ease-in-out alternate b-icon-animation-fade;
}
@media (prefers-reduced-motion: reduce) {
  .b-icon.b-icon-animation-fade, .b-icon.b-iconstack .b-icon-animation-fade > g {
    animation: none;
  }
}
.b-icon.b-icon-animation-spin, .b-icon.b-iconstack .b-icon-animation-spin > g {
  transform-origin: center;
  animation: 2s infinite linear normal b-icon-animation-spin;
}
@media (prefers-reduced-motion: reduce) {
  .b-icon.b-icon-animation-spin, .b-icon.b-iconstack .b-icon-animation-spin > g {
    animation: none;
  }
}
.b-icon.b-icon-animation-spin-reverse, .b-icon.b-iconstack .b-icon-animation-spin-reverse > g {
  transform-origin: center;
  animation: 2s infinite linear reverse b-icon-animation-spin;
}
@media (prefers-reduced-motion: reduce) {
  .b-icon.b-icon-animation-spin-reverse, .b-icon.b-iconstack .b-icon-animation-spin-reverse > g {
    animation: none;
  }
}
.b-icon.b-icon-animation-spin-pulse, .b-icon.b-iconstack .b-icon-animation-spin-pulse > g {
  transform-origin: center;
  animation: 1s infinite steps(8) normal b-icon-animation-spin;
}
@media (prefers-reduced-motion: reduce) {
  .b-icon.b-icon-animation-spin-pulse, .b-icon.b-iconstack .b-icon-animation-spin-pulse > g {
    animation: none;
  }
}
.b-icon.b-icon-animation-spin-reverse-pulse, .b-icon.b-iconstack .b-icon-animation-spin-reverse-pulse > g {
  transform-origin: center;
  animation: 1s infinite steps(8) reverse b-icon-animation-spin;
}
@media (prefers-reduced-motion: reduce) {
  .b-icon.b-icon-animation-spin-reverse-pulse, .b-icon.b-iconstack .b-icon-animation-spin-reverse-pulse > g {
    animation: none;
  }
}
.b-icon.b-icon-animation-throb, .b-icon.b-iconstack .b-icon-animation-throb > g {
  transform-origin: center;
  animation: 0.75s infinite ease-in-out alternate b-icon-animation-throb;
}
@media (prefers-reduced-motion: reduce) {
  .b-icon.b-icon-animation-throb, .b-icon.b-iconstack .b-icon-animation-throb > g {
    animation: none;
  }
}

@keyframes b-icon-animation-cylon {
  0% {
    transform: translateX(-25%);
  }
  100% {
    transform: translateX(25%);
  }
}
@keyframes b-icon-animation-cylon-vertical {
  0% {
    transform: translateY(25%);
  }
  100% {
    transform: translateY(-25%);
  }
}
@keyframes b-icon-animation-fade {
  0% {
    opacity: 0.1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes b-icon-animation-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
@keyframes b-icon-animation-throb {
  0% {
    opacity: 0.5;
    transform: scale(0.5);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.btn .b-icon.bi,
.nav-link .b-icon.bi,
.dropdown-toggle .b-icon.bi,
.dropdown-item .b-icon.bi,
.input-group-text .b-icon.bi {
  font-size: 125%;
  vertical-align: text-bottom;
}

html {
  font-size: 14px;
}

#app-body .app-header {
  background-color: #535353;
  padding: 4px 0;
}
#app-body .app-header .title {
  margin: 0 2rem;
  color: #fff;
}
#app-body #app-login .card {
  border: 0;
}
.was-validated #app-body .form-control:invalid, .was-validated #app-body .form-control:valid, #app-body .form-control.is-invalid, #app-body .form-control.is-valid {
  background-position: none;
  background-image: none;
  padding-right: 0;
}
.was-validated #app-body .custom-select:invalid, .was-validated #app-body .custom-select:valid, #app-body .custom-select.is-invalid, #app-body .custom-select.is-valid {
  background-position: none;
  background-image: none;
  padding-right: 0;
}

#member-register .modal-dialog {
  min-width: 900px;
}
#member-register .form-group {
  margin-bottom: 0rem;
}
#member-register .col-form-label-sm {
  margin-bottom: 0rem;
}
#member-register footer button[data-v-13b75808] {
  width: 150px;
}
#member-register #member-regist-form > div[data-v-13b75808]:not(:last-child) {
  margin-bottom: 1rem;
}
#profile-modal-scoped footer button[data-v-e52e35ca] {
  width: 150px;
}
button.menu-button[data-v-4f3c3dac] {
  width: 150px;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kZzJhZ2VudC8uL2FwcC5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19qdW1ib3Ryb24uc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Byb2dyZXNzLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9hc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JhY2tncm91bmQuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JvcmRlcnMuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2VtYmVkLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9faW50ZXJhY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19vdmVyZmxvdy5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvc3JjL191dGlsaXRpZXMuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL3NyYy9fY3VzdG9tLWNvbnRyb2xzLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9zcmMvY29tcG9uZW50cy9hdmF0YXIvX2F2YXRhci5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvc3JjL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL3NyYy9jb21wb25lbnRzL2NhbGVuZGFyL19jYWxlbmRhci5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvc3JjL2NvbXBvbmVudHMvY2FyZC9fY2FyZC1pbWcuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL3NyYy9jb21wb25lbnRzL2Ryb3Bkb3duL19kcm9wZG93bi5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vX2Ryb3Bkb3duLWZvcm0uc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL3NyYy9jb21wb25lbnRzL2Ryb3Bkb3duL19kcm9wZG93bi10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9zcmMvY29tcG9uZW50cy9mb3JtLWNoZWNrYm94L19mb3JtLWNoZWNrYm94LnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9zcmMvY29tcG9uZW50cy9pbnB1dC1ncm91cC9faW5wdXQtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL3NyYy9jb21wb25lbnRzL2Zvcm0tYnRuLWxhYmVsLWNvbnRyb2wvX2Zvcm0tYnRuLWxhYmVsLWNvbnRyb2wuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL3NyYy9jb21wb25lbnRzL2Zvcm0tZmlsZS9fZm9ybS1maWxlLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9zcmMvY29tcG9uZW50cy9mb3JtLWlucHV0L19mb3JtLWlucHV0LnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9zcmMvY29tcG9uZW50cy9mb3JtLXJhZGlvL19mb3JtLXJhZGlvLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9zcmMvY29tcG9uZW50cy9mb3JtLXJhdGluZy9fZm9ybS1yYXRpbmcuc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL3NyYy9jb21wb25lbnRzL2Zvcm0tc3BpbmJ1dHRvbi9fc3BpbmJ1dHRvbi5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvc3JjL2NvbXBvbmVudHMvZm9ybS10YWdzL19mb3JtLXRhZ3Muc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL3NyYy9jb21wb25lbnRzL21lZGlhL19tZWRpYS5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvc3JjL2NvbXBvbmVudHMvbW9kYWwvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9zcmMvY29tcG9uZW50cy9wYWdpbmF0aW9uL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9zcmMvY29tcG9uZW50cy9wb3BvdmVyL19wb3BvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9zcmMvY29tcG9uZW50cy9zaWRlYmFyL19zaWRlYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9zcmMvY29tcG9uZW50cy9za2VsZXRvbi9fc2tlbGV0b24uc2NzcyIsIndlYnBhY2s6Ly9kZzJhZ2VudC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL3NyYy9jb21wb25lbnRzL3RhYmxlL190YWJsZS5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvc3JjL2NvbXBvbmVudHMvdGltZS9fdGltZS5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvc3JjL2NvbXBvbmVudHMvdG9hc3QvX3RvYXN0LnNjc3MiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9zcmMvY29tcG9uZW50cy90b2FzdC9fdG9hc3Rlci5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvc3JjL2NvbXBvbmVudHMvdG9hc3QvX3RvYXN0ZXItdHJhbnNpdGlvbi5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvc3JjL2NvbXBvbmVudHMvdG9vbHRpcC9fdG9vbHRpcC5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvc3JjL2ljb25zL19pY29ucy5zY3NzIiwid2VicGFjazovL2RnMmFnZW50Ly4vTWVtYmVyUmVnaXN0ZXIudnVlIiwid2VicGFjazovL2RnMmFnZW50Ly4vUHJvZmlsZUVkaXRvci52dWUiLCJ3ZWJwYWNrOi8vZGcyYWdlbnQvLi9Ib21lLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7O0VBQUE7QUNBQTtFQUdJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFLRjtFQUNBO0FGbUJGOztBR2xCQTs7O0VBR0U7QUhxQkY7O0FHbEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUhxQkY7O0FHZkE7RUFDRTtBSGtCRjs7QUdSQTtFQUNFO0VBQ0EscU5DcU80QjtFQ3JKeEIsZUF0Q2E7RUZ4Q2pCLGdCQzhPNEI7RUQ3TzVCLGdCQ2tQNEI7RURqUDVCLFdIakRXO0VHa0RYO0VBQ0Esc0JIcERRO0FBK0RWOztBR0NBO0VBQ0U7QUhFRjs7QUdPQTtFQUNFO0VBQ0E7RUFDQTtBSEpGOztBR2lCQTtFQUNFO0VBQ0EscUJDZ040QjtBSjlOOUI7O0FHcUJBO0VBQ0U7RUFDQSxtQkNvRjBCO0FKdEc1Qjs7QUc2QkE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSDFCRjs7QUc2QkE7RUFDRTtFQUNBO0VBQ0E7QUgxQkY7O0FHNkJBOzs7RUFHRTtFQUNBO0FIMUJGOztBRzZCQTs7OztFQUlFO0FIMUJGOztBRzZCQTtFQUNFLGdCQ2lKNEI7QUozSzlCOztBRzZCQTtFQUNFO0VBQ0E7QUgxQkY7O0FHNkJBO0VBQ0U7QUgxQkY7O0FHNkJBOztFQUVFLG1CQ29JNEI7QUo5SjlCOztBRzZCQTtFRXhGSTtBTCtESjs7QUdrQ0E7O0VBRUU7RUVuR0U7RUZxR0Y7RUFDQTtBSC9CRjs7QUdrQ0E7RUFBTTtBSDlCTjs7QUcrQkE7RUFBTTtBSDNCTjs7QUdrQ0E7RUFDRSxjQ1h3QztFRFl4QyxxQkNYd0M7RURZeEM7QUgvQkY7QU1qSkU7RUhtTEUsY0Nkc0M7RURldEMsMEJDZHNDO0FKakIxQzs7QUd3Q0E7RUFDRTtFQUNBO0FIckNGO0FNMUpFO0VIa01FO0VBQ0E7QUhyQ0o7O0FHOENBOzs7O0VBSUUsaUdDeUQ0QjtFQzdNMUI7QUwwR0o7O0FHOENBO0VBRUU7RUFFQTtFQUVBO0VBR0E7QUhoREY7O0FHd0RBO0VBRUU7QUh0REY7O0FHOERBO0VBQ0U7RUFDQTtBSDNERjs7QUc4REE7RUFHRTtFQUNBO0FIN0RGOztBR3FFQTtFQUNFO0FIbEVGOztBR3FFQTtFQUNFLG9CQzZFNEI7RUQ1RTVCLHVCQzRFNEI7RUQzRTVCLGNDdFFTO0VEdVFUO0VBQ0E7QUhsRUY7O0FHeUVBO0VBRUU7RUFDQTtBSHZFRjs7QUcrRUE7RUFFRTtFQUNBLHFCQzJKc0M7QUp4T3hDOztBR21GQTtFQUVFO0FIakZGOztBR3lGQTtFQUNFO0FIdEZGOztBR3lGQTs7Ozs7RUFLRTtFQUNBO0VFNVBFO0VGOFBGO0FIdEZGOztBR3lGQTs7RUFFRTtBSHRGRjs7QUd5RkE7O0VBRUU7QUh0RkY7O0FHNEZBO0VBQ0U7QUh6RkY7O0FHK0ZBO0VBQ0U7QUg1RkY7O0FHbUdBOzs7O0VBSUU7QUhoR0Y7O0FHeUdJOzs7O0VBQ0U7QUhuR047O0FHeUdBOzs7O0VBSUU7RUFDQTtBSHRHRjs7QUd5R0E7O0VBRUU7RUFDQTtBSHRHRjs7QUcwR0E7RUFDRTtFQUVBO0FIeEdGOztBRzJHQTtFQU1FO0VBRUE7RUFDQTtFQUNBO0FIOUdGOztBR21IQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUVuU0ksaUJBdENhO0VGMlVqQjtFQUNBO0VBQ0E7QUhoSEY7O0FHbUhBO0VBQ0U7QUhoSEY7O0FHb0hBOztFQUVFO0FIakhGOztBR29IQTtFQUtFO0VBQ0E7QUhySEY7O0FHNEhBO0VBQ0U7QUh6SEY7O0FHaUlBO0VBQ0U7RUFDQTtBSDlIRjs7QUdxSUE7RUFDRTtBSGxJRjs7QUdxSUE7RUFDRTtFQUNBO0FIbElGOztBR3FJQTtFQUNFO0FIbElGOztBR3VJQTtFQUNFO0FIcElGOztBT3hWQTs7RUFFRSxxQkhxUzRCO0VHblM1QixnQkhxUzRCO0VHcFM1QixnQkhxUzRCO0FKcUQ5Qjs7QU90VkE7RUZnSE0saUJBdENhO0FMZ1JuQjs7QU96VkE7RUYrR00sZUF0Q2E7QUxvUm5COztBTzVWQTtFRjhHTSxrQkF0Q2E7QUx3Um5COztBTy9WQTtFRjZHTSxpQkF0Q2E7QUw0Um5COztBT2xXQTtFRjRHTSxrQkF0Q2E7QUxnU25COztBT3JXQTtFRjJHTSxlQXRDYTtBTG9TbkI7O0FPdldBO0VGeUdNLGtCQXRDYTtFRWpFakIsZ0JIdVM0QjtBSm1FOUI7O0FPdFdBO0VGbUdNLGVBdENhO0VFM0RqQixnQkgwUjRCO0VHelI1QixnQkhpUjRCO0FKd0Y5Qjs7QU92V0E7RUY4Rk0saUJBdENhO0VFdERqQixnQkhzUjRCO0VHclI1QixnQkg0UTRCO0FKOEY5Qjs7QU94V0E7RUZ5Rk0saUJBdENhO0VFakRqQixnQkhrUjRCO0VHalI1QixnQkh1UTRCO0FKb0c5Qjs7QU96V0E7RUZvRk0saUJBdENhO0VFNUNqQixnQkg4UTRCO0VHN1E1QixnQkhrUTRCO0FKMEc5Qjs7QU9wV0E7RUFDRSxnQkhnRk87RUcvRVAsbUJIK0VPO0VHOUVQO0VBQ0E7QVB1V0Y7O0FPL1ZBOztFRk1JO0VFSEYsZ0JIME40QjtBSndJOUI7O0FPL1ZBOztFQUVFLGNIa1E0QjtFR2pRNUIseUJIMFE0QjtBSndGOUI7O0FPMVZBO0VDL0VFO0VBQ0E7QVI2YUY7O0FPMVZBO0VDcEZFO0VBQ0E7QVJrYkY7O0FPNVZBO0VBQ0U7QVArVkY7QU83VkU7RUFDRSxvQkhvUDBCO0FKMkc5Qjs7QU9yVkE7RUZqQ0k7RUVtQ0Y7QVB3VkY7O0FPcFZBO0VBQ0UsbUJIdUJPO0VDUkgsa0JBdENhO0FMK1duQjs7QU9wVkE7RUFDRTtFRjdDRTtFRStDRixjSDFHUztBSmljWDtBT3JWRTtFQUNFO0FQdVZKOztBUzFjQTtFQ0lFO0VBR0E7QVZ3Y0Y7O0FTemNBO0VBQ0UsZ0JMbWdDa0M7RUtsZ0NsQyxzQlRkUTtFU2VSO0VFRUU7RURQRjtFQUdBO0FWaWRGOztBU25jQTtFQUVFO0FUcWNGOztBU2xjQTtFQUNFO0VBQ0E7QVRxY0Y7O0FTbGNBO0VKa0NJO0VJaENGLGNMM0JTO0FKZ2VYOztBWTVlQTtFUHVFSTtFT3JFRixjUm1DUTtFUWxDUjtBWitlRjtBWTVlRTtFQUNFO0FaOGVKOztBWXplQTtFQUNFO0VQMERFO0VPeERGLFdSVFM7RVFVVCx5QlJEUztFT0VQO0FYNGVKO0FZemVFO0VBQ0U7RVBrREE7RU9oREEsZ0JSd1EwQjtBSm1POUI7O0FZcmVBO0VBQ0U7RVB5Q0U7RU92Q0YsY1JqQlM7QUp5Zlg7QVlyZUU7RVBvQ0U7RU9sQ0E7RUFDQTtBWnVlSjs7QVlsZUE7RUFDRSxpQlI4akNrQztFUTdqQ2xDO0FacWVGOztBYTdnQkU7Ozs7OztFQ0RBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWR1aEJGOztBZXBlSTtFRnpDRTtJQUNFLGdCVDhMZTtFSm1WckI7QUFDRjtBZTFlSTtFRnpDRTtJQUNFLGdCVDhMZTtFSndWckI7QUFDRjtBZS9lSTtFRnpDRTtJQUNFLGdCVDhMZTtFSjZWckI7QUFDRjtBZXBmSTtFRnpDRTtJQUNFLGlCVDhMZTtFSmtXckI7QUFDRjtBYXJnQkU7RUNuQ0E7RUFDQTtFQUNBO0VBQ0E7QWQyaUJGOztBYXJnQkU7RUFDRTtFQUNBO0Fid2dCSjtBYXRnQkk7O0VBRUU7RUFDQTtBYndnQk47O0FnQjlqQkU7Ozs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoQnNrQko7O0FnQmhqQk07RUFDRTtFQUNBO0VBQ0E7QWhCbWpCUjs7QWN2aEJFO0VBQ0U7RUFDQTtBZDBoQko7O0FjNWhCRTtFQUNFO0VBQ0E7QWQraEJKOztBY2ppQkU7RUFDRTtFQUNBO0Fkb2lCSjs7QWN0aUJFO0VBQ0U7RUFDQTtBZHlpQko7O0FjM2lCRTtFQUNFO0VBQ0E7QWQ4aUJKOztBY2hqQkU7RUFDRTtFQUNBO0FkbWpCSjs7QWdCdGtCTTtFRkNKO0VBQ0E7RUFDQTtBZHlrQkY7O0FnQnRrQlU7RUZiUjtFQUlBO0Fkb2xCRjs7QWdCM2tCVTtFRmJSO0VBSUE7QWR5bEJGOztBZ0JobEJVO0VGYlI7RUFJQTtBZDhsQkY7O0FnQnJsQlU7RUZiUjtFQUlBO0FkbW1CRjs7QWdCMWxCVTtFRmJSO0VBSUE7QWR3bUJGOztBZ0IvbEJVO0VGYlI7RUFJQTtBZDZtQkY7O0FnQnBtQlU7RUZiUjtFQUlBO0Fka25CRjs7QWdCem1CVTtFRmJSO0VBSUE7QWR1bkJGOztBZ0I5bUJVO0VGYlI7RUFJQTtBZDRuQkY7O0FnQm5uQlU7RUZiUjtFQUlBO0FkaW9CRjs7QWdCeG5CVTtFRmJSO0VBSUE7QWRzb0JGOztBZ0I3bkJVO0VGYlI7RUFJQTtBZDJvQkY7O0FnQjVuQk07RUFBd0I7QWhCZ29COUI7O0FnQjluQk07RUFBdUI7QWhCa29CN0I7O0FnQi9uQlE7RUFBd0IsUUFEYjtBaEJvb0JuQjs7QWdCbm9CUTtFQUF3QixRQURiO0FoQndvQm5COztBZ0J2b0JRO0VBQXdCLFFBRGI7QWhCNG9CbkI7O0FnQjNvQlE7RUFBd0IsUUFEYjtBaEJncEJuQjs7QWdCL29CUTtFQUF3QixRQURiO0FoQm9wQm5COztBZ0JucEJRO0VBQXdCLFFBRGI7QWhCd3BCbkI7O0FnQnZwQlE7RUFBd0IsUUFEYjtBaEI0cEJuQjs7QWdCM3BCUTtFQUF3QixRQURiO0FoQmdxQm5COztBZ0IvcEJRO0VBQXdCLFFBRGI7QWhCb3FCbkI7O0FnQm5xQlE7RUFBd0IsUUFEYjtBaEJ3cUJuQjs7QWdCdnFCUTtFQUF3QixTQURiO0FoQjRxQm5COztBZ0IzcUJRO0VBQXdCLFNBRGI7QWhCZ3JCbkI7O0FnQi9xQlE7RUFBd0IsU0FEYjtBaEJvckJuQjs7QWdCNXFCWTtFRmhCVjtBZGdzQkY7O0FnQmhyQlk7RUZoQlY7QWRvc0JGOztBZ0JwckJZO0VGaEJWO0Fkd3NCRjs7QWdCeHJCWTtFRmhCVjtBZDRzQkY7O0FnQjVyQlk7RUZoQlY7QWRndEJGOztBZ0Joc0JZO0VGaEJWO0Fkb3RCRjs7QWdCcHNCWTtFRmhCVjtBZHd0QkY7O0FnQnhzQlk7RUZoQlY7QWQ0dEJGOztBZ0I1c0JZO0VGaEJWO0FkZ3VCRjs7QWdCaHRCWTtFRmhCVjtBZG91QkY7O0FnQnB0Qlk7RUZoQlY7QWR3dUJGOztBZW51Qkk7RUMzQkU7SUFDRTtJQUNBO0lBQ0E7RWhCa3dCTjs7RWN0dUJBO0lBQ0U7SUFDQTtFZHl1QkY7O0VjM3VCQTtJQUNFO0lBQ0E7RWQ4dUJGOztFY2h2QkE7SUFDRTtJQUNBO0VkbXZCRjs7RWNydkJBO0lBQ0U7SUFDQTtFZHd2QkY7O0VjMXZCQTtJQUNFO0lBQ0E7RWQ2dkJGOztFYy92QkE7SUFDRTtJQUNBO0Vka3dCRjs7RWdCcnhCSTtJRkNKO0lBQ0E7SUFDQTtFZHd4QkE7O0VnQnJ4QlE7SUZiUjtJQUlBO0VkbXlCQTs7RWdCMXhCUTtJRmJSO0lBSUE7RWR3eUJBOztFZ0IveEJRO0lGYlI7SUFJQTtFZDZ5QkE7O0VnQnB5QlE7SUZiUjtJQUlBO0Vka3pCQTs7RWdCenlCUTtJRmJSO0lBSUE7RWR1ekJBOztFZ0I5eUJRO0lGYlI7SUFJQTtFZDR6QkE7O0VnQm56QlE7SUZiUjtJQUlBO0VkaTBCQTs7RWdCeHpCUTtJRmJSO0lBSUE7RWRzMEJBOztFZ0I3ekJRO0lGYlI7SUFJQTtFZDIwQkE7O0VnQmwwQlE7SUZiUjtJQUlBO0VkZzFCQTs7RWdCdjBCUTtJRmJSO0lBSUE7RWRxMUJBOztFZ0I1MEJRO0lGYlI7SUFJQTtFZDAxQkE7O0VnQjMwQkk7SUFBd0I7RWhCKzBCNUI7O0VnQjcwQkk7SUFBdUI7RWhCaTFCM0I7O0VnQjkwQk07SUFBd0IsUUFEYjtFaEJtMUJqQjs7RWdCbDFCTTtJQUF3QixRQURiO0VoQnUxQmpCOztFZ0J0MUJNO0lBQXdCLFFBRGI7RWhCMjFCakI7O0VnQjExQk07SUFBd0IsUUFEYjtFaEIrMUJqQjs7RWdCOTFCTTtJQUF3QixRQURiO0VoQm0yQmpCOztFZ0JsMkJNO0lBQXdCLFFBRGI7RWhCdTJCakI7O0VnQnQyQk07SUFBd0IsUUFEYjtFaEIyMkJqQjs7RWdCMTJCTTtJQUF3QixRQURiO0VoQisyQmpCOztFZ0I5MkJNO0lBQXdCLFFBRGI7RWhCbTNCakI7O0VnQmwzQk07SUFBd0IsUUFEYjtFaEJ1M0JqQjs7RWdCdDNCTTtJQUF3QixTQURiO0VoQjIzQmpCOztFZ0IxM0JNO0lBQXdCLFNBRGI7RWhCKzNCakI7O0VnQjkzQk07SUFBd0IsU0FEYjtFaEJtNEJqQjs7RWdCMzNCVTtJRmhCVjtFZCs0QkE7O0VnQi8zQlU7SUZoQlY7RWRtNUJBOztFZ0JuNEJVO0lGaEJWO0VkdTVCQTs7RWdCdjRCVTtJRmhCVjtFZDI1QkE7O0VnQjM0QlU7SUZoQlY7RWQrNUJBOztFZ0IvNEJVO0lGaEJWO0VkbTZCQTs7RWdCbjVCVTtJRmhCVjtFZHU2QkE7O0VnQnY1QlU7SUZoQlY7RWQyNkJBOztFZ0IzNUJVO0lGaEJWO0VkKzZCQTs7RWdCLzVCVTtJRmhCVjtFZG03QkE7O0VnQm42QlU7SUZoQlY7RWR1N0JBOztFZ0J2NkJVO0lGaEJWO0VkMjdCQTtBQUNGO0FldjdCSTtFQzNCRTtJQUNFO0lBQ0E7SUFDQTtFaEJxOUJOOztFY3o3QkE7SUFDRTtJQUNBO0VkNDdCRjs7RWM5N0JBO0lBQ0U7SUFDQTtFZGk4QkY7O0VjbjhCQTtJQUNFO0lBQ0E7RWRzOEJGOztFY3g4QkE7SUFDRTtJQUNBO0VkMjhCRjs7RWM3OEJBO0lBQ0U7SUFDQTtFZGc5QkY7O0VjbDlCQTtJQUNFO0lBQ0E7RWRxOUJGOztFZ0J4K0JJO0lGQ0o7SUFDQTtJQUNBO0VkMitCQTs7RWdCeCtCUTtJRmJSO0lBSUE7RWRzL0JBOztFZ0I3K0JRO0lGYlI7SUFJQTtFZDIvQkE7O0VnQmwvQlE7SUZiUjtJQUlBO0VkZ2dDQTs7RWdCdi9CUTtJRmJSO0lBSUE7RWRxZ0NBOztFZ0I1L0JRO0lGYlI7SUFJQTtFZDBnQ0E7O0VnQmpnQ1E7SUZiUjtJQUlBO0VkK2dDQTs7RWdCdGdDUTtJRmJSO0lBSUE7RWRvaENBOztFZ0IzZ0NRO0lGYlI7SUFJQTtFZHloQ0E7O0VnQmhoQ1E7SUZiUjtJQUlBO0VkOGhDQTs7RWdCcmhDUTtJRmJSO0lBSUE7RWRtaUNBOztFZ0IxaENRO0lGYlI7SUFJQTtFZHdpQ0E7O0VnQi9oQ1E7SUZiUjtJQUlBO0VkNmlDQTs7RWdCOWhDSTtJQUF3QjtFaEJraUM1Qjs7RWdCaGlDSTtJQUF1QjtFaEJvaUMzQjs7RWdCamlDTTtJQUF3QixRQURiO0VoQnNpQ2pCOztFZ0JyaUNNO0lBQXdCLFFBRGI7RWhCMGlDakI7O0VnQnppQ007SUFBd0IsUUFEYjtFaEI4aUNqQjs7RWdCN2lDTTtJQUF3QixRQURiO0VoQmtqQ2pCOztFZ0JqakNNO0lBQXdCLFFBRGI7RWhCc2pDakI7O0VnQnJqQ007SUFBd0IsUUFEYjtFaEIwakNqQjs7RWdCempDTTtJQUF3QixRQURiO0VoQjhqQ2pCOztFZ0I3akNNO0lBQXdCLFFBRGI7RWhCa2tDakI7O0VnQmprQ007SUFBd0IsUUFEYjtFaEJza0NqQjs7RWdCcmtDTTtJQUF3QixRQURiO0VoQjBrQ2pCOztFZ0J6a0NNO0lBQXdCLFNBRGI7RWhCOGtDakI7O0VnQjdrQ007SUFBd0IsU0FEYjtFaEJrbENqQjs7RWdCamxDTTtJQUF3QixTQURiO0VoQnNsQ2pCOztFZ0I5a0NVO0lGaEJWO0Vka21DQTs7RWdCbGxDVTtJRmhCVjtFZHNtQ0E7O0VnQnRsQ1U7SUZoQlY7RWQwbUNBOztFZ0IxbENVO0lGaEJWO0VkOG1DQTs7RWdCOWxDVTtJRmhCVjtFZGtuQ0E7O0VnQmxtQ1U7SUZoQlY7RWRzbkNBOztFZ0J0bUNVO0lGaEJWO0VkMG5DQTs7RWdCMW1DVTtJRmhCVjtFZDhuQ0E7O0VnQjltQ1U7SUZoQlY7RWRrb0NBOztFZ0JsbkNVO0lGaEJWO0Vkc29DQTs7RWdCdG5DVTtJRmhCVjtFZDBvQ0E7O0VnQjFuQ1U7SUZoQlY7RWQ4b0NBO0FBQ0Y7QWUxb0NJO0VDM0JFO0lBQ0U7SUFDQTtJQUNBO0VoQndxQ047O0VjNW9DQTtJQUNFO0lBQ0E7RWQrb0NGOztFY2pwQ0E7SUFDRTtJQUNBO0Vkb3BDRjs7RWN0cENBO0lBQ0U7SUFDQTtFZHlwQ0Y7O0VjM3BDQTtJQUNFO0lBQ0E7RWQ4cENGOztFY2hxQ0E7SUFDRTtJQUNBO0VkbXFDRjs7RWNycUNBO0lBQ0U7SUFDQTtFZHdxQ0Y7O0VnQjNyQ0k7SUZDSjtJQUNBO0lBQ0E7RWQ4ckNBOztFZ0IzckNRO0lGYlI7SUFJQTtFZHlzQ0E7O0VnQmhzQ1E7SUZiUjtJQUlBO0VkOHNDQTs7RWdCcnNDUTtJRmJSO0lBSUE7RWRtdENBOztFZ0Ixc0NRO0lGYlI7SUFJQTtFZHd0Q0E7O0VnQi9zQ1E7SUZiUjtJQUlBO0VkNnRDQTs7RWdCcHRDUTtJRmJSO0lBSUE7RWRrdUNBOztFZ0J6dENRO0lGYlI7SUFJQTtFZHV1Q0E7O0VnQjl0Q1E7SUZiUjtJQUlBO0VkNHVDQTs7RWdCbnVDUTtJRmJSO0lBSUE7RWRpdkNBOztFZ0J4dUNRO0lGYlI7SUFJQTtFZHN2Q0E7O0VnQjd1Q1E7SUZiUjtJQUlBO0VkMnZDQTs7RWdCbHZDUTtJRmJSO0lBSUE7RWRnd0NBOztFZ0JqdkNJO0lBQXdCO0VoQnF2QzVCOztFZ0JudkNJO0lBQXVCO0VoQnV2QzNCOztFZ0JwdkNNO0lBQXdCLFFBRGI7RWhCeXZDakI7O0VnQnh2Q007SUFBd0IsUUFEYjtFaEI2dkNqQjs7RWdCNXZDTTtJQUF3QixRQURiO0VoQml3Q2pCOztFZ0Jod0NNO0lBQXdCLFFBRGI7RWhCcXdDakI7O0VnQnB3Q007SUFBd0IsUUFEYjtFaEJ5d0NqQjs7RWdCeHdDTTtJQUF3QixRQURiO0VoQjZ3Q2pCOztFZ0I1d0NNO0lBQXdCLFFBRGI7RWhCaXhDakI7O0VnQmh4Q007SUFBd0IsUUFEYjtFaEJxeENqQjs7RWdCcHhDTTtJQUF3QixRQURiO0VoQnl4Q2pCOztFZ0J4eENNO0lBQXdCLFFBRGI7RWhCNnhDakI7O0VnQjV4Q007SUFBd0IsU0FEYjtFaEJpeUNqQjs7RWdCaHlDTTtJQUF3QixTQURiO0VoQnF5Q2pCOztFZ0JweUNNO0lBQXdCLFNBRGI7RWhCeXlDakI7O0VnQmp5Q1U7SUZoQlY7RWRxekNBOztFZ0JyeUNVO0lGaEJWO0VkeXpDQTs7RWdCenlDVTtJRmhCVjtFZDZ6Q0E7O0VnQjd5Q1U7SUZoQlY7RWRpMENBOztFZ0JqekNVO0lGaEJWO0VkcTBDQTs7RWdCcnpDVTtJRmhCVjtFZHkwQ0E7O0VnQnp6Q1U7SUZoQlY7RWQ2MENBOztFZ0I3ekNVO0lGaEJWO0VkaTFDQTs7RWdCajBDVTtJRmhCVjtFZHExQ0E7O0VnQnIwQ1U7SUZoQlY7RWR5MUNBOztFZ0J6MENVO0lGaEJWO0VkNjFDQTs7RWdCNzBDVTtJRmhCVjtFZGkyQ0E7QUFDRjtBZTcxQ0k7RUMzQkU7SUFDRTtJQUNBO0lBQ0E7RWhCMjNDTjs7RWMvMUNBO0lBQ0U7SUFDQTtFZGsyQ0Y7O0VjcDJDQTtJQUNFO0lBQ0E7RWR1MkNGOztFY3oyQ0E7SUFDRTtJQUNBO0VkNDJDRjs7RWM5MkNBO0lBQ0U7SUFDQTtFZGkzQ0Y7O0VjbjNDQTtJQUNFO0lBQ0E7RWRzM0NGOztFY3gzQ0E7SUFDRTtJQUNBO0VkMjNDRjs7RWdCOTRDSTtJRkNKO0lBQ0E7SUFDQTtFZGk1Q0E7O0VnQjk0Q1E7SUZiUjtJQUlBO0VkNDVDQTs7RWdCbjVDUTtJRmJSO0lBSUE7RWRpNkNBOztFZ0J4NUNRO0lGYlI7SUFJQTtFZHM2Q0E7O0VnQjc1Q1E7SUZiUjtJQUlBO0VkMjZDQTs7RWdCbDZDUTtJRmJSO0lBSUE7RWRnN0NBOztFZ0J2NkNRO0lGYlI7SUFJQTtFZHE3Q0E7O0VnQjU2Q1E7SUZiUjtJQUlBO0VkMDdDQTs7RWdCajdDUTtJRmJSO0lBSUE7RWQrN0NBOztFZ0J0N0NRO0lGYlI7SUFJQTtFZG84Q0E7O0VnQjM3Q1E7SUZiUjtJQUlBO0VkeThDQTs7RWdCaDhDUTtJRmJSO0lBSUE7RWQ4OENBOztFZ0JyOENRO0lGYlI7SUFJQTtFZG05Q0E7O0VnQnA4Q0k7SUFBd0I7RWhCdzhDNUI7O0VnQnQ4Q0k7SUFBdUI7RWhCMDhDM0I7O0VnQnY4Q007SUFBd0IsUUFEYjtFaEI0OENqQjs7RWdCMzhDTTtJQUF3QixRQURiO0VoQmc5Q2pCOztFZ0IvOENNO0lBQXdCLFFBRGI7RWhCbzlDakI7O0VnQm45Q007SUFBd0IsUUFEYjtFaEJ3OUNqQjs7RWdCdjlDTTtJQUF3QixRQURiO0VoQjQ5Q2pCOztFZ0IzOUNNO0lBQXdCLFFBRGI7RWhCZytDakI7O0VnQi85Q007SUFBd0IsUUFEYjtFaEJvK0NqQjs7RWdCbitDTTtJQUF3QixRQURiO0VoQncrQ2pCOztFZ0J2K0NNO0lBQXdCLFFBRGI7RWhCNCtDakI7O0VnQjMrQ007SUFBd0IsUUFEYjtFaEJnL0NqQjs7RWdCLytDTTtJQUF3QixTQURiO0VoQm8vQ2pCOztFZ0JuL0NNO0lBQXdCLFNBRGI7RWhCdy9DakI7O0VnQnYvQ007SUFBd0IsU0FEYjtFaEI0L0NqQjs7RWdCcC9DVTtJRmhCVjtFZHdnREE7O0VnQngvQ1U7SUZoQlY7RWQ0Z0RBOztFZ0I1L0NVO0lGaEJWO0VkZ2hEQTs7RWdCaGdEVTtJRmhCVjtFZG9oREE7O0VnQnBnRFU7SUZoQlY7RWR3aERBOztFZ0J4Z0RVO0lGaEJWO0VkNGhEQTs7RWdCNWdEVTtJRmhCVjtFZGdpREE7O0VnQmhoRFU7SUZoQlY7RWRvaURBOztFZ0JwaERVO0lGaEJWO0Vkd2lEQTs7RWdCeGhEVTtJRmhCVjtFZDRpREE7O0VnQjVoRFU7SUZoQlY7RWRnakRBOztFZ0JoaURVO0lGaEJWO0Vkb2pEQTtBQUNGO0FpQnhtREE7RUFDRTtFQUNBLG1CYmlJTztFYWhJUCxXakJMVztBQSttRGI7QWlCdm1ERTs7RUFFRSxnQmJrVjBCO0VhalYxQjtFQUNBO0FqQnltREo7QWlCdG1ERTtFQUNFO0VBQ0E7QWpCd21ESjtBaUJybURFO0VBQ0U7QWpCdW1ESjs7QWlCN2xERTs7RUFFRSxlYjRUMEI7QUpveUM5Qjs7QWlCdmxEQTtFQUNFO0FqQjBsREY7QWlCeGxERTs7RUFFRTtBakIwbERKO0FpQnRsREk7O0VBRUU7QWpCd2xETjs7QWlCbGxERTs7OztFQUlFO0FqQnFsREo7O0FpQjVrREU7RUFDRSxxQ2J3UjBCO0FKdXpDOUI7O0FNOW9ERTtFVzJFSSxXakJyRk87RWlCc0ZQLHNDYjZRd0I7QUowekM5Qjs7QWtCenBESTs7O0VBR0UseUJEMkYrQjtBakJpa0RyQztBa0J4cERNOzs7O0VBSUUscUJEbUZ5RTtBakJ1a0RqRjs7QU0vcERFO0VZaUJNLHlCQUplO0FsQnNwRHZCO0FrQmhwRFE7O0VBRUUseUJBUmE7QWxCMHBEdkI7O0FrQjdxREk7OztFQUdFLHlCRDJGK0I7QWpCcWxEckM7QWtCNXFETTs7OztFQUlFLHFCRG1GeUU7QWpCMmxEakY7O0FNbnJERTtFWWlCTSx5QkFKZTtBbEIwcUR2QjtBa0JwcURROztFQUVFLHlCQVJhO0FsQjhxRHZCOztBa0Jqc0RJOzs7RUFHRSx5QkQyRitCO0FqQnltRHJDO0FrQmhzRE07Ozs7RUFJRSxxQkRtRnlFO0FqQittRGpGOztBTXZzREU7RVlpQk0seUJBSmU7QWxCOHJEdkI7QWtCeHJEUTs7RUFFRSx5QkFSYTtBbEJrc0R2Qjs7QWtCcnRESTs7O0VBR0UseUJEMkYrQjtBakI2bkRyQztBa0JwdERNOzs7O0VBSUUscUJEbUZ5RTtBakJtb0RqRjs7QU0zdERFO0VZaUJNLHlCQUplO0FsQmt0RHZCO0FrQjVzRFE7O0VBRUUseUJBUmE7QWxCc3REdkI7O0FrQnp1REk7OztFQUdFLHlCRDJGK0I7QWpCaXBEckM7QWtCeHVETTs7OztFQUlFLHFCRG1GeUU7QWpCdXBEakY7O0FNL3VERTtFWWlCTSx5QkFKZTtBbEJzdUR2QjtBa0JodURROztFQUVFLHlCQVJhO0FsQjB1RHZCOztBa0I3dkRJOzs7RUFHRSx5QkQyRitCO0FqQnFxRHJDO0FrQjV2RE07Ozs7RUFJRSxxQkRtRnlFO0FqQjJxRGpGOztBTW53REU7RVlpQk0seUJBSmU7QWxCMHZEdkI7QWtCcHZEUTs7RUFFRSx5QkFSYTtBbEI4dkR2Qjs7QWtCanhESTs7O0VBR0UseUJEMkYrQjtBakJ5ckRyQztBa0JoeERNOzs7O0VBSUUscUJEbUZ5RTtBakIrckRqRjs7QU12eERFO0VZaUJNLHlCQUplO0FsQjh3RHZCO0FrQnh3RFE7O0VBRUUseUJBUmE7QWxCa3hEdkI7O0FrQnJ5REk7OztFQUdFLHlCRDJGK0I7QWpCNnNEckM7QWtCcHlETTs7OztFQUlFLHFCRG1GeUU7QWpCbXREakY7O0FNM3lERTtFWWlCTSx5QkFKZTtBbEJreUR2QjtBa0I1eERROztFQUVFLHlCQVJhO0FsQnN5RHZCOztBa0J6ekRJOzs7RUFHRSxzQ2Q0VndCO0FKZytDOUI7O0FNenpERTtFWWlCTSxzQ0FKZTtBbEJnekR2QjtBa0IxeURROztFQUVFLHNDQVJhO0FsQm96RHZCOztBaUI1dERJO0VBQ0UsV2IzR0s7RWE0R0wseUJicEdLO0VhcUdMLHFCYmdRd0I7QUorOUM5QjtBaUIxdERJO0VBQ0UsY2I1R0s7RWE2R0wseUJibEhLO0VhbUhMLHFCYmxISztBSjgwRFg7O0FpQnZ0REE7RUFDRSxXYjNIUztFYTRIVCx5QmJwSFM7QUo4MERYO0FpQnh0REU7OztFQUdFLHFCYjRPMEI7QUo4K0M5QjtBaUJ2dERFO0VBQ0U7QWpCeXRESjtBaUJydERJO0VBQ0UsMkNiZ093QjtBSnUvQzlCO0FNNTFERTtFVzRJTSxXYmpKRztFYWtKSCw0Q2IwTnNCO0FKeS9DOUI7O0FlbnlESTtFRWlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0VqQnFzRE47RWlCbHNETTtJQUNFO0VqQm9zRFI7QUFDRjtBZS95REk7RUVpR0E7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFakJndEROO0VpQjdzRE07SUFDRTtFakIrc0RSO0FBQ0Y7QWUxekRJO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7RWpCMnRETjtFaUJ4dERNO0lBQ0U7RWpCMHREUjtBQUNGO0FlcjBESTtFRWlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0VqQnN1RE47RWlCbnVETTtJQUNFO0VqQnF1RFI7QUFDRjtBaUIvdURJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7QWpCZ3ZEUjtBaUI3dURRO0VBQ0U7QWpCK3VEVjs7QW1CNTVEQTtFQUNFO0VBQ0E7RUFDQSxtQ2YwZXNDO0VlemV0QztFZHFISSxlQXRDYTtFYzVFakIsZ0Jma1I0QjtFZWpSNUIsZ0Jmc1I0QjtFZXJSNUIsY2ZEUztFZUVULHNCZlRTO0VlVVQ7RUFDQTtFUkFFO0VTRkUsd0VEUUo7QW5CMDVERjtBb0I5NURNO0VEZE47SUNlUTtFcEJpNkROO0FBQ0Y7QW1CNTVERTtFQUNFO0VBQ0E7QW5CODVESjtBbUIxNURFO0VBQ0U7RUFDQTtBbkI0NURKO0FxQmw3REU7RUFDRTtFQUNBLHNCakJSTztFaUJTUCxxQmpCcWRvQztFaUJwZHBDO0VBS0UsZ0RqQm9Yd0I7QUo0akQ5QjtBbUI1NURFO0VBQ0UsY2Y5Qk87RWVnQ1A7QW5CNjVESjtBbUJyNURFO0VBRUUseUJmOUNPO0VlZ0RQO0FuQnE1REo7O0FtQjc0REU7Ozs7RUFDRTtBbkJtNURKOztBbUI5NERFO0VBTUUsY2YvRE87RWVnRVAsc0JmdkVPO0FKbTlEWDs7QW1CdjREQTs7RUFFRTtFQUNBO0FuQjA0REY7O0FtQmg0REE7RUFDRTtFQUNBO0VBQ0E7RWQzQkU7RWM2QkYsZ0JmK0w0QjtBSm9zRDlCOztBbUJoNERBO0VBQ0U7RUFDQTtFZHFCSSxrQkF0Q2E7RWNtQmpCLGdCZjZINEI7QUpzd0Q5Qjs7QW1CaDREQTtFQUNFO0VBQ0E7RWRjSSxtQkF0Q2E7RWMwQmpCLGdCZnVINEI7QUo0d0Q5Qjs7QW1CMTNEQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VkREksZUF0Q2E7RWN5Q2pCLGdCZmtLNEI7RWVqSzVCLFduQmpJVztFbUJrSVg7RUFDQTtFQUNBO0FuQjYzREY7QW1CMzNERTtFQUVFO0VBQ0E7QW5CNDNESjs7QW1CaDNEQTtFQUNFLGtDZjRWc0M7RWUzVnRDO0VkMUJJLG1CQXRDYTtFY2tFakIsZ0JmK0U0QjtFT3hOMUI7QVg2L0RKOztBbUJoM0RBO0VBQ0UsZ0NmcVZzQztFZXBWdEM7RWRsQ0ksa0JBdENhO0VjMEVqQixnQmZzRTRCO0VPdk4xQjtBWHFnRUo7O0FtQjkyREU7RUFFRTtBbkJnM0RKOztBbUI1MkRBO0VBQ0U7QW5CKzJERjs7QW1CdjJEQTtFQUNFLG1CZjBVc0M7QUpnaUR4Qzs7QW1CdjJEQTtFQUNFO0VBQ0EsbUJmMlRzQztBSitpRHhDOztBbUJsMkRBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5CcTJERjtBbUJuMkRFOztFQUVFO0VBQ0E7QW5CcTJESjs7QW1CNTFEQTtFQUNFO0VBQ0E7RUFDQSxxQmZnU3NDO0FKK2pEeEM7O0FtQjUxREE7RUFDRTtFQUNBLGtCZjRSc0M7RWUzUnRDO0FuQisxREY7QW1CNTFERTtFQUVFLGNmek5PO0FKc2pFWDs7QW1CejFEQTtFQUNFO0FuQjQxREY7O0FtQnoxREE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxxQmY2UXNDO0FKK2tEeEM7QW1CejFERTtFQUNFO0VBQ0E7RUFDQSx1QmZ3UW9DO0VldlFwQztBbkIyMURKOztBcUJ4aUVFO0VBQ0U7RUFDQTtFQUNBLG1CakIwY29DO0VDamJwQztFZ0J2QkEsY0ZxTnFDO0FuQnMxRHpDOztBcUJ4aUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFaEJtRUUsbUJBdENhO0VnQjNCZixnQmpCc08wQjtFaUJyTzFCO0VBQ0E7RVY5Q0E7QVgwbEVKO0FxQnZpRUk7RUFFRTtBckJ3aUVOOztBcUJuaUVJOzs7O0VBRUU7QXJCd2lFTjs7QXFCdGxFSTtFQW9ERSxxQkZrTG1DO0VFL0tqQyxvQ2pCd1pnQztFaUJ2WmhDO0VBQ0E7RUFDQTtFQUNBO0FyQm9pRVI7QXFCamlFTTtFQUNFLHFCRnVLaUM7RUV0S2pDO0FyQm1pRVI7O0FxQm5tRUk7RUF5RUksb0NqQnNZZ0M7RWlCclloQztBckI4aEVSOztBcUJ4bUVJO0VBaUZFLHFCRnFKbUM7RUVsSmpDLHVDakJ1ZG9DO0VpQnRkcEM7QXJCeWhFUjtBcUJ0aEVNO0VBQ0UscUJGNklpQztFRTVJakM7QXJCd2hFUjs7QXFCamhFTTtFQUNFLGNGb0lpQztBbkJnNUR6QztBcUJqaEVNOzs7RUFFRTtBckJvaEVSOztBcUI3Z0VNO0VBQ0UsY0Z1SGlDO0FuQnk1RHpDO0FxQjlnRVE7RUFDRSxxQkZvSCtCO0FuQjQ1RHpDO0FxQjNnRVE7RUFDRTtFQ2xKTix5QkRtSjJCO0FyQjZnRS9CO0FxQnhnRVE7RUFDRTtBckIwZ0VWO0FxQnZnRVE7RUFDRSxxQkFWcUI7QXJCbWhFL0I7O0FxQmhnRU07RUFDRSxxQkFwQnVCO0FyQnVoRS9CO0FxQi8vRFE7RUFDRSxxQkF6QnFCO0VBMEJyQjtBckJpZ0VWOztBcUJ4b0VFO0VBQ0U7RUFDQTtFQUNBLG1CakIwY29DO0VDamJwQztFZ0J2QkEsY0ZxTnFDO0FuQnM3RHpDOztBcUJ4b0VFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFaEJtRUUsbUJBdENhO0VnQjNCZixnQmpCc08wQjtFaUJyTzFCO0VBQ0E7RVY5Q0E7QVgwckVKO0FxQnZvRUk7RUFFRTtBckJ3b0VOOztBcUJub0VJOzs7O0VBRUU7QXJCd29FTjs7QXFCdHJFSTtFQW9ERSxxQkZrTG1DO0VFL0tqQyxvQ2pCd1pnQztFaUJ2WmhDO0VBQ0E7RUFDQTtFQUNBO0FyQm9vRVI7QXFCam9FTTtFQUNFLHFCRnVLaUM7RUV0S2pDO0FyQm1vRVI7O0FxQm5zRUk7RUF5RUksb0NqQnNZZ0M7RWlCclloQztBckI4bkVSOztBcUJ4c0VJO0VBaUZFLHFCRnFKbUM7RUVsSmpDLHVDakJ1ZG9DO0VpQnRkcEM7QXJCeW5FUjtBcUJ0bkVNO0VBQ0UscUJGNklpQztFRTVJakM7QXJCd25FUjs7QXFCam5FTTtFQUNFLGNGb0lpQztBbkJnL0R6QztBcUJqbkVNOzs7RUFFRTtBckJvbkVSOztBcUI3bUVNO0VBQ0UsY0Z1SGlDO0FuQnkvRHpDO0FxQjltRVE7RUFDRSxxQkZvSCtCO0FuQjQvRHpDO0FxQjNtRVE7RUFDRTtFQ2xKTix5QkRtSjJCO0FyQjZtRS9CO0FxQnhtRVE7RUFDRTtBckIwbUVWO0FxQnZtRVE7RUFDRSxxQkFWcUI7QXJCbW5FL0I7O0FxQmhtRU07RUFDRSxxQkFwQnVCO0FyQnVuRS9CO0FxQi9sRVE7RUFDRSxxQkF6QnFCO0VBMEJyQjtBckJpbUVWOztBbUJsZ0VBO0VBQ0U7RUFDQTtFQUNBO0FuQnFnRUY7QW1CaGdFRTtFQUNFO0FuQmtnRUo7QWVqdUVJO0VJb09BO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RW5CZ2dFSjtFbUI1L0RFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkI4L0RKO0VtQjEvREU7SUFDRTtJQUNBO0lBQ0E7RW5CNC9ESjtFbUJ4L0RFO0lBQ0U7RW5CMC9ESjtFbUJ2L0RFOztJQUVFO0VuQnkvREo7RW1CcC9ERTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RW5Ccy9ESjtFbUJwL0RFO0lBQ0U7SUFDQTtJQUNBO0lBQ0EscUJmK0trQztJZTlLbEM7RW5Ccy9ESjtFbUJuL0RFO0lBQ0U7SUFDQTtFbkJxL0RKO0VtQm4vREU7SUFDRTtFbkJxL0RKO0FBQ0Y7O0F1QnYwRUE7RUFDRTtFQUVBLGdCbkJzUjRCO0VtQnJSNUIsV3ZCUlc7RXVCU1g7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQ3VGQTtFbkJ1QkksZUF0Q2E7RW1CaUJqQixnQnBCMEw0QjtFT2xSMUI7RVNGRSxxSUdHSjtBdkIwMEVGO0FvQnowRU07RUdkTjtJSGVRO0VwQjQwRU47QUFDRjtBTXQxRUU7RWlCVUUsV3ZCcEJTO0V1QnFCVDtBdkIrMEVKO0F1QjUwRUU7RUFFRTtFQUNBLGdEbkI2VzBCO0FKZytEOUI7QXVCejBFRTtFQUVFLGFuQmlaMEI7QUp5N0Q5QjtBdUJ0MEVFO0VBQ0U7QXZCdzBFSjtBdUIxekVBOztFQUVFO0F2QjR6RUY7O0F1Qm56RUU7RUMzREE7RUZBRSx5QmxCc0VXO0VvQnBFYixxQnBCb0VhO0FKOHlFZjtBTTkyRUU7RWtCQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0F4QjAzRXpHO0F3QjkyRUU7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QXhCMjJFTjtBd0J0MkVFO0VBRUU7RUFDQSx5QnBCMENXO0VvQnpDWCxxQnBCeUNXO0FKOHpFZjtBd0JoMkVFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0F4QjA0RTdMO0F3QjMxRUk7RUFLSTtBeEJ5MUVSOztBdUJqMUVFO0VDM0RBO0VGQUUseUJsQnNFVztFb0JwRWIscUJwQm9FYTtBSjQwRWY7QU01NEVFO0VrQkFFO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBeEJ3NUV6RztBd0I1NEVFO0VBRUU7RUZiQSx5QkVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0F4Qnk0RU47QXdCcDRFRTtFQUVFO0VBQ0EseUJwQjBDVztFb0J6Q1gscUJwQnlDVztBSjQxRWY7QXdCOTNFRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBeEJ3NkU3TDtBd0J6M0VJO0VBS0k7QXhCdTNFUjs7QXVCLzJFRTtFQzNEQTtFRkFFLHlCbEJzRVc7RW9CcEViLHFCcEJvRWE7QUowMkVmO0FNMTZFRTtFa0JBRTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QXhCczdFekc7QXdCMTZFRTtFQUVFO0VGYkEseUJFRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBeEJ1NkVOO0F3Qmw2RUU7RUFFRTtFQUNBLHlCcEIwQ1c7RW9CekNYLHFCcEJ5Q1c7QUowM0VmO0F3QjU1RUU7RUFHRTtFQUNBLHlCQXpDK0k7RUE2Qy9JLHFCQTdDeUw7QXhCczhFN0w7QXdCdjVFSTtFQUtJO0F4QnE1RVI7O0F1Qjc0RUU7RUMzREE7RUZBRSx5QmxCc0VXO0VvQnBFYixxQnBCb0VhO0FKdzRFZjtBTXg4RUU7RWtCQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0F4Qm85RXpHO0F3Qng4RUU7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QXhCcThFTjtBd0JoOEVFO0VBRUU7RUFDQSx5QnBCMENXO0VvQnpDWCxxQnBCeUNXO0FKdzVFZjtBd0IxN0VFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0F4Qm8rRTdMO0F3QnI3RUk7RUFLSTtBeEJtN0VSOztBdUIzNkVFO0VDM0RBO0VGQUUseUJsQnNFVztFb0JwRWIscUJwQm9FYTtBSnM2RWY7QU10K0VFO0VrQkFFO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBeEJrL0V6RztBd0J0K0VFO0VBRUU7RUZiQSx5QkVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0F4Qm0rRU47QXdCOTlFRTtFQUVFO0VBQ0EseUJwQjBDVztFb0J6Q1gscUJwQnlDVztBSnM3RWY7QXdCeDlFRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBeEJrZ0Y3TDtBd0JuOUVJO0VBS0k7QXhCaTlFUjs7QXVCejhFRTtFQzNEQTtFRkFFLHlCbEJzRVc7RW9CcEViLHFCcEJvRWE7QUpvOEVmO0FNcGdGRTtFa0JBRTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QXhCZ2hGekc7QXdCcGdGRTtFQUVFO0VGYkEseUJFRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBeEJpZ0ZOO0F3QjUvRUU7RUFFRTtFQUNBLHlCcEIwQ1c7RW9CekNYLHFCcEJ5Q1c7QUpvOUVmO0F3QnQvRUU7RUFHRTtFQUNBLHlCQXpDK0k7RUE2Qy9JLHFCQTdDeUw7QXhCZ2lGN0w7QXdCai9FSTtFQUtJO0F4QisrRVI7O0F1QnYrRUU7RUMzREE7RUZBRSx5QmxCc0VXO0VvQnBFYixxQnBCb0VhO0FKaytFZjtBTWxpRkU7RWtCQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0F4QjhpRnpHO0F3QmxpRkU7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QXhCK2hGTjtBd0IxaEZFO0VBRUU7RUFDQSx5QnBCMENXO0VvQnpDWCxxQnBCeUNXO0FKay9FZjtBd0JwaEZFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0F4QjhqRjdMO0F3Qi9nRkk7RUFLSTtBeEI2Z0ZSOztBdUJyZ0ZFO0VDM0RBO0VGQUUseUJsQnNFVztFb0JwRWIscUJwQm9FYTtBSmdnRmY7QU1oa0ZFO0VrQkFFO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBeEI0a0Z6RztBd0Joa0ZFO0VBRUU7RUZiQSx5QkVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0F4QjZqRk47QXdCeGpGRTtFQUVFO0VBQ0EseUJwQjBDVztFb0J6Q1gscUJwQnlDVztBSmdoRmY7QXdCbGpGRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBeEI0bEY3TDtBd0I3aUZJO0VBS0k7QXhCMmlGUjs7QXVCN2hGRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSjZoRmY7QU03bEZFO0VrQndERSxXQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKa2lGZjtBd0JyaUZFO0VBRUU7QXhCc2lGSjtBd0JuaUZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCb2lGSjtBd0JqaUZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKOGlGZjtBd0IvaEZJO0VBS0k7QXhCNmhGUjs7QXVCdGpGRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSnNqRmY7QU10bkZFO0VrQndERSxXQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKMmpGZjtBd0I5akZFO0VBRUU7QXhCK2pGSjtBd0I1akZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCNmpGSjtBd0IxakZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKdWtGZjtBd0J4akZJO0VBS0k7QXhCc2pGUjs7QXVCL2tGRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSitrRmY7QU0vb0ZFO0VrQndERSxXQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKb2xGZjtBd0J2bEZFO0VBRUU7QXhCd2xGSjtBd0JybEZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCc2xGSjtBd0JubEZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKZ21GZjtBd0JqbEZJO0VBS0k7QXhCK2tGUjs7QXVCeG1GRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSndtRmY7QU14cUZFO0VrQndERSxXQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKNm1GZjtBd0JobkZFO0VBRUU7QXhCaW5GSjtBd0I5bUZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCK21GSjtBd0I1bUZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKeW5GZjtBd0IxbUZJO0VBS0k7QXhCd21GUjs7QXVCam9GRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSmlvRmY7QU1qc0ZFO0VrQndERSxjQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKc29GZjtBd0J6b0ZFO0VBRUU7QXhCMG9GSjtBd0J2b0ZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCd29GSjtBd0Jyb0ZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKa3BGZjtBd0Jub0ZJO0VBS0k7QXhCaW9GUjs7QXVCMXBGRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSjBwRmY7QU0xdEZFO0VrQndERSxXQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKK3BGZjtBd0JscUZFO0VBRUU7QXhCbXFGSjtBd0JocUZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCaXFGSjtBd0I5cEZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKMnFGZjtBd0I1cEZJO0VBS0k7QXhCMHBGUjs7QXVCbnJGRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSm1yRmY7QU1udkZFO0VrQndERSxjQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKd3JGZjtBd0IzckZFO0VBRUU7QXhCNHJGSjtBd0J6ckZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCMHJGSjtBd0J2ckZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKb3NGZjtBd0JyckZJO0VBS0k7QXhCbXJGUjs7QXVCNXNGRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSjRzRmY7QU01d0ZFO0VrQndERSxXQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKaXRGZjtBd0JwdEZFO0VBRUU7QXhCcXRGSjtBd0JsdEZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCbXRGSjtBd0JodEZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKNnRGZjtBd0I5c0ZJO0VBS0k7QXhCNHNGUjs7QXVCMXRGQTtFQUNFLGdCbkI0TTRCO0VtQjNNNUIsY25CMkZ3QztFbUIxRnhDLHFCbkIyRndDO0FKa29GMUM7QU10eUZFO0VpQjRFRSxjbkJ5RnNDO0VtQnhGdEMsMEJuQnlGc0M7QUpvb0YxQztBdUIxdEZFO0VBRUUsMEJuQm9Gc0M7QUp1b0YxQztBdUJ4dEZFO0VBRUUsY25CdEZPO0VtQnVGUDtBdkJ5dEZKOztBdUI5c0ZBO0VDUEU7RW5CdUJJLGtCQXRDYTtFbUJpQmpCLGdCcEIrSDRCO0VPdk4xQjtBWGt6Rko7O0F1Qmp0RkE7RUNYRTtFbkJ1QkksbUJBdENhO0VtQmlCakIsZ0JwQmdJNEI7RU94TjFCO0FYeXpGSjs7QXVCL3NGQTtFQUNFO0VBQ0E7QXZCa3RGRjtBdUIvc0ZFO0VBQ0Usa0JuQnVUMEI7QUowNUU5Qjs7QXVCenNGRTs7O0VBQ0U7QXZCOHNGSjs7QXlCejFGQTtFTGdCTSxnQ0tmSjtBekI0MUZGO0FvQnowRk07RUtwQk47SUxxQlE7RXBCNDBGTjtBQUNGO0F5Qi8xRkU7RUFDRTtBekJpMkZKOztBeUI1MUZFO0VBQ0U7QXpCKzFGSjs7QXlCMzFGQTtFQUNFO0VBQ0E7RUFDQTtFTERJLDZCS0VKO0F6QjgxRkY7QW9CNTFGTTtFS05OO0lMT1E7RXBCKzFGTjtBQUNGOztBMEJwM0ZBOzs7O0VBSUU7QTFCdTNGRjs7QTBCcDNGQTtFQUNFO0ExQnUzRkY7QTJCbjJGSTtFQUNFO0VBQ0Esb0J2QitOd0I7RXVCOU54Qix1QnZCNk53QjtFdUI1TnhCO0VBaENKO0VBQ0E7RUFDQTtFQUNBO0EzQnM0RkY7QTJCajFGSTtFQUNFO0EzQm0xRk47O0EwQjczRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxhdEJ3cEJrQztFc0J2cEJsQztFQUNBO0VBQ0EsZ0J0Qmd1QmtDO0VzQi90QmxDO0VBQ0E7RXJCc0dJLGVBdENhO0VxQjlEakIsVzFCekJXO0UwQjBCWDtFQUNBO0VBQ0Esc0J0QnZCUztFc0J3QlQ7RUFDQTtFZmRFO0FYKzRGSjs7QTBCeDNGSTtFQUNFO0VBQ0E7QTFCMjNGTjs7QTBCeDNGSTtFQUNFO0VBQ0E7QTFCMjNGTjs7QWUvMkZJO0VXbkJBO0lBQ0U7SUFDQTtFMUJzNEZKOztFMEJuNEZFO0lBQ0U7SUFDQTtFMUJzNEZKO0FBQ0Y7QWUzM0ZJO0VXbkJBO0lBQ0U7SUFDQTtFMUJpNUZKOztFMEI5NEZFO0lBQ0U7SUFDQTtFMUJpNUZKO0FBQ0Y7QWV0NEZJO0VXbkJBO0lBQ0U7SUFDQTtFMUI0NUZKOztFMEJ6NUZFO0lBQ0U7SUFDQTtFMUI0NUZKO0FBQ0Y7QWVqNUZJO0VXbkJBO0lBQ0U7SUFDQTtFMUJ1NkZKOztFMEJwNkZFO0lBQ0U7SUFDQTtFMUJ1NkZKO0FBQ0Y7QTBCaDZGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBLHVCdEI4ckJnQztBSm91RXBDO0EyQmo4Rkk7RUFDRTtFQUNBLG9CdkIrTndCO0V1QjlOeEIsdUJ2QjZOd0I7RXVCNU54QjtFQXpCSjtFQUNBO0VBQ0E7RUFDQTtBM0I2OUZGO0EyQi82Rkk7RUFDRTtBM0JpN0ZOOztBMEJ0NkZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxxQnRCZ3JCZ0M7QUp5dkVwQztBMkJ0OUZJO0VBQ0U7RUFDQSxvQnZCK053QjtFdUI5TnhCLHVCdkI2TndCO0V1QjVOeEI7RUFsQko7RUFDQTtFQUNBO0VBQ0E7QTNCMitGRjtBMkJwOEZJO0VBQ0U7QTNCczhGTjtBMEJqN0ZJO0VBQ0U7QTFCbTdGTjs7QTBCNzZGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esc0J0QitwQmdDO0FKaXhFcEM7QTJCOStGSTtFQUNFO0VBQ0Esb0J2QitOd0I7RXVCOU54Qix1QnZCNk53QjtFdUI1TnhCO0EzQmcvRk47QTJCcitGTTtFQUNFO0EzQnUrRlI7QTJCcCtGTTtFQUNFO0VBQ0EscUJ2QjRNc0I7RXVCM010Qix1QnZCME1zQjtFdUJ6TXRCO0VBOUJOO0VBQ0E7RUFDQTtBM0JxZ0dGO0EyQnArRkk7RUFDRTtBM0JzK0ZOO0EwQmg4Rkk7RUFDRTtBMUJrOEZOOztBMEIxN0ZFO0VBSUU7RUFDQTtBMUIwN0ZKOztBMEJyN0ZBO0VFOUdFO0VBQ0E7RUFDQTtFQUNBO0E1QnVpR0Y7O0EwQnI3RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCdEJnSzRCO0VzQi9KNUIsY3RCaEhTO0VzQmlIVDtFQUVBO0VBQ0E7RUFDQTtBMUJ1N0ZGO0FNNWlHRTtFb0JvSUUsY3RCbW5CZ0M7RXNCbG5CaEM7RUovSUEseUJsQkdPO0FKd2pHWDtBMEJ4NkZFO0VBRUUsV3RCcEpPO0VzQnFKUDtFSnRKQSx5QmxCb1AwQjtBSjQwRjlCO0EwQnQ2RkU7RUFFRSxjdEJ0Sk87RXNCdUpQO0VBQ0E7QTFCdTZGSjs7QTBCLzVGQTtFQUNFO0ExQms2RkY7O0EwQjk1RkE7RUFDRTtFQUNBLHNCdEJnbUJrQztFc0IvbEJsQztFckJyREksbUJBdENhO0VxQjZGakIsY3RCektTO0VzQjBLVDtBMUJpNkZGOztBMEI3NUZBO0VBQ0U7RUFDQTtFQUNBLGN0QjlLUztBSjhrR1g7O0E2QjNsR0E7O0VBRUU7RUFDQTtFQUNBO0E3QjhsR0Y7QTZCNWxHRTs7RUFDRTtFQUNBO0E3QitsR0o7QU05bEdFOztFdUJJSTtBN0I4bEdOO0E2QjVsR0k7Ozs7RUFHRTtBN0IrbEdOOztBNkJ6bEdBO0VBQ0U7RUFDQTtFQUNBO0E3QjRsR0Y7QTZCMWxHRTtFQUNFO0E3QjRsR0o7O0E2QnRsR0U7O0VBRUU7QTdCeWxHSjtBNkJybEdFOztFbEJYRTtFQUNBO0FYb21HSjtBNkJybEdFOztFbEJGRTtFQUNBO0FYMmxHSjs7QTZCeGtHQTtFQUNFO0VBQ0E7QTdCMmtHRjtBNkJ6a0dFO0VBR0U7QTdCeWtHSjtBNkJ0a0dFO0VBQ0U7QTdCd2tHSjs7QTZCcGtHQTtFQUNFO0VBQ0E7QTdCdWtHRjs7QTZCcGtHQTtFQUNFO0VBQ0E7QTdCdWtHRjs7QTZCbmpHQTtFQUNFO0VBQ0E7RUFDQTtBN0JzakdGO0E2QnBqR0U7O0VBRUU7QTdCc2pHSjtBNkJuakdFOztFQUVFO0E3QnFqR0o7QTZCampHRTs7RWxCckZFO0VBQ0E7QVgwb0dKO0E2QmpqR0U7O0VsQnhHRTtFQUNBO0FYNnBHSjs7QTZCbGlHRTs7RUFFRTtBN0JxaUdKO0E2Qm5pR0k7Ozs7RUFFRTtFQUNBO0VBQ0E7QTdCdWlHTjs7QThCaHNHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCbXNHRjtBOEJqc0dFOzs7O0VBSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUJtc0dKO0E4QmpzR0k7Ozs7Ozs7Ozs7OztFQUdFO0E5QjRzR047QThCdnNHRTs7O0VBR0U7QTlCeXNHSjtBOEJyc0dFO0VBQ0U7QTlCdXNHSjtBOEJsc0dJOztFbkJJQTtFQUNBO0FYa3NHSjtBOEJsc0dFO0VBQ0U7RUFDQTtBOUJvc0dKO0E4QmxzR0k7RW5CTEE7RUFDQTtBWDBzR0o7QThCanNHSTs7O0VuQnhCQTtFQUNBO0FYOHRHSjtBOEIvckdJOzs7RW5CaENBO0VBQ0E7QVhvdUdKOztBOEJ0ckdBOztFQUVFO0E5QnlyR0Y7QThCcHJHRTs7RUFDRTtFQUNBO0E5QnVyR0o7QThCcnJHSTs7RUFDRTtBOUJ3ckdOO0E4QnByR0U7Ozs7Ozs7O0VBSUU7QTlCMHJHSjs7QThCdHJHQTtFQUF1QjtBOUIwckd2Qjs7QThCenJHQTtFQUFzQjtBOUI2ckd0Qjs7QThCcnJHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0V6QlNJLGVBdENhO0V5QitCakIsZ0IxQnVLNEI7RTBCdEs1QixnQjFCMks0QjtFMEIxSzVCLGMxQjVHUztFMEI2R1Q7RUFDQTtFQUNBLHlCMUJwSFM7RTBCcUhUO0VuQjVHRTtBWHF5R0o7QThCcnJHRTs7RUFFRTtBOUJ1ckdKOztBOEI3cUdBOztFQUVFLGdDMUJxV3NDO0FKMjBGeEM7O0E4QjdxR0E7Ozs7OztFQU1FO0V6QjFCSSxrQkF0Q2E7RXlCa0VqQixnQjFCOEU0QjtFT3ZOMUI7QVgwekdKOztBOEI3cUdBOztFQUVFLGtDMUJtVnNDO0FKNjFGeEM7O0E4QjdxR0E7Ozs7OztFQU1FO0V6QjNDSSxtQkF0Q2E7RXlCbUZqQixnQjFCOEQ0QjtFT3hOMUI7QVgyMEdKOztBOEI3cUdBOztFQUVFO0E5QmdyR0Y7O0E4QnJxR0E7Ozs7Ozs7O0VuQjNKSTtFQUNBO0FYMjBHSjs7QThCdHFHQTs7Ozs7O0VuQnhKSTtFQUNBO0FYdTBHSjs7QStCLzJHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0JrM0dGOztBK0IvMkdBO0VBQ0U7RUFDQSxrQjNCd2ZzQztBSjAzRnhDOztBK0IvMkdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsVzNCb2ZzQztFMkJuZnRDO0VBQ0E7QS9CazNHRjtBK0JoM0dFO0VBQ0UsVzNCekJPO0UyQjBCUCxxQjNCeU4wQjtFa0JwUDFCLHlCbEJvUDBCO0FKMHBHOUI7QStCOTJHRTtFQUtJLGdEM0IrVndCO0FKNmdHOUI7QStCeDJHRTtFQUNFLHFCM0JxYm9DO0FKcTdGeEM7QStCdjJHRTtFQUNFLFczQjdDTztFMkI4Q1AseUIzQmlmNEM7RTJCaGY1QyxxQjNCZ2Y0QztBSnkzRmhEO0ErQmwyR0k7RUFDRSxjM0JqREs7QUpxNUdYO0ErQmwyR007RUFDRSx5QjNCeERHO0FKNDVHWDs7QStCMTFHQTtFQUNFO0VBQ0E7RUFFQTtBL0I0MUdGO0ErQngxR0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFczQnVib0M7RTJCdGJwQyxZM0JzYm9DO0UyQnJicEM7RUFDQTtFQUNBLHNCM0JyRk87RTJCc0ZQO0EvQjAxR0o7QStCcjFHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVzNCd2FvQztFMkJ2YXBDLFkzQnVhb0M7RTJCdGFwQztFQUNBO0EvQnUxR0o7O0ErQjcwR0U7RXBCbEdFO0FYbTdHSjtBK0I1MEdJO0VBQ0U7QS9CODBHTjtBK0J6MEdJO0VBQ0UscUIzQjBId0I7RWtCcFAxQix5QmxCb1AwQjtBSmt0RzlCO0ErQngwR0k7RUFDRTtBL0IwMEdOO0ErQnIwR0k7RVRwSUEsd0NsQndoQjRDO0FKbzdGaEQ7QStCcjBHSTtFVHZJQSx3Q2xCd2hCNEM7QUp1N0ZoRDs7QStCN3pHRTtFQUVFLGtCM0J5WjRDO0FKczZGaEQ7QStCM3pHSTtFQUNFO0EvQjZ6R047QStCeHpHSTtFVDlKQSx3Q2xCd2hCNEM7QUppOEZoRDs7QStCaHpHQTtFQUNFO0EvQm16R0Y7QStCaHpHSTtFQUNFO0VBQ0EsYzNCaVkwQztFMkJoWTFDO0VBRUEscUIzQitYMEM7QUprN0ZoRDtBK0I5eUdJO0VBQ0U7RUFDQTtFQUNBLHVCM0IwWDBDO0UyQnpYMUMsd0IzQnlYMEM7RTJCeFgxQyx5QjNCcExLO0UyQnNMTCxxQjNCcVgwQztFZ0J2aUIxQyx5SVdtTEE7QS9CK3lHTjtBb0I5OUdNO0VXdUtGO0lYdEtJO0VwQmkrR047QUFDRjtBK0IveUdJO0VBQ0Usc0IzQmxNSztFMkJtTUw7QS9CaXpHTjtBK0I1eUdJO0VUek1BLHdDbEJ3aEI0QztBSmcrRmhEOztBK0JseUdBO0VBQ0U7RUFDQTtFQUNBLG1DM0JvUnNDO0UyQm5SdEM7RTFCakdJLGVBdENhO0UwQjBJakIsZ0IzQjRENEI7RTJCM0Q1QixnQjNCZ0U0QjtFMkIvRDVCLGMzQnZOUztFMkJ3TlQ7RUFDQTtFQUNBO0VwQnRORTtFb0J5TkY7QS9CbXlHRjtBK0JqeUdFO0VBQ0UscUIzQnVQb0M7RTJCdFBwQztFQUtFLGdEM0JrVzhCO0FKNjdGcEM7QStCNXhHSTtFQU1FLGMzQi9PSztFMkJnUEwsc0IzQnZQSztBSmdoSFg7QStCcnhHRTtFQUVFO0VBQ0Esc0IzQjhIMEI7RTJCN0gxQjtBL0JzeEdKO0ErQm54R0U7RUFDRSxjM0I3UE87RTJCOFBQLHlCM0JsUU87QUp1aEhYO0ErQmp4R0U7RUFDRTtBL0JteEdKO0ErQi93R0U7RUFDRTtFQUNBO0EvQml4R0o7O0ErQjd3R0E7RUFDRSxrQzNCeU5zQztFMkJ4TnRDLG9CM0JnSDRCO0UyQi9HNUIsdUIzQitHNEI7RTJCOUc1QixvQjNCK0c0QjtFQzlReEIsbUJBdENhO0FMczlHbkI7O0ErQjd3R0E7RUFDRSxnQzNCa05zQztFMkJqTnRDLG1CM0I2RzRCO0UyQjVHNUIsc0IzQjRHNEI7RTJCM0c1QixrQjNCNEc0QjtFQ25SeEIsa0JBdENhO0FMODlHbkI7O0ErQnh3R0E7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQzNCZ01zQztFMkIvTHRDO0EvQjJ3R0Y7O0ErQnh3R0E7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQzNCd0xzQztFMkJ2THRDO0VBQ0E7RUFDQTtBL0Iyd0dGO0ErQnp3R0U7RUFDRSxxQjNCb0tvQztFMkJuS3BDLGdEM0J3RTBCO0FKbXNHOUI7QStCdndHRTtFQUVFLHlCM0IvVE87QUp1a0hYO0ErQnB3R0k7RUFDRSxpQjNCMFRhO0FKNDhGbkI7QStCbHdHRTtFQUNFO0EvQm93R0o7O0ErQmh3R0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUMzQnVKc0M7RTJCdEp0QztFQUNBO0VBRUEsZ0IzQmpFNEI7RTJCa0U1QixnQjNCN0Q0QjtFMkI4RDVCLGMzQnBWUztFMkJxVlQsc0IzQjVWUztFMkI2VlQ7RXBCbFZFO0FYcWxISjtBK0IvdkdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkIzQmdJb0M7RTJCL0hwQztFQUNBLGdCM0I3RTBCO0UyQjhFMUIsYzNCcFdPO0UyQnFXUDtFVDdXQSx5QmxCR087RTJCNFdQO0VwQm5XQTtBWHFtSEo7O0ErQnZ2R0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQjB2R0Y7QStCeHZHRTtFQUNFO0EvQjB2R0o7QStCdHZHSTtFQUEwQixnRTNCbU9lO0FKc2hHN0M7QStCeHZHSTtFQUEwQixnRTNCa09lO0FKeWhHN0M7QStCMXZHSTtFQUEwQixnRTNCaU9lO0FKNGhHN0M7QStCMXZHRTtFQUNFO0EvQjR2R0o7QStCenZHRTtFQUNFLFczQm1OeUM7RTJCbE56QyxZM0JrTnlDO0UyQmpOekM7RVRsWkEseUJsQm9QMEI7RTJCZ0sxQixTM0JrTnlDO0VPMWxCekM7RVNGRSw0R1c2WUY7RUFDQTtBL0IwdkdKO0FvQnBvSE07RVdpWUo7SVhoWU07RXBCdW9ITjtBQUNGO0ErQjd2R0k7RVQxWkEseUJsQjJtQnlDO0FKK2lHN0M7QStCM3ZHRTtFQUNFLFczQjRMZ0M7RTJCM0xoQyxjM0I0TGdDO0UyQjNMaEM7RUFDQSxlM0IyTGdDO0UyQjFMaEMseUIzQmhhTztFMkJpYVA7RXBCelpBO0FYdXBISjtBK0J6dkdFO0VBQ0UsVzNCd0x5QztFMkJ2THpDLFkzQnVMeUM7RWtCbm1CekMseUJsQm9QMEI7RTJCMEwxQixTM0J3THlDO0VPMWxCekM7RVNGRSw0R1d1YUY7RUFDQTtBL0IwdkdKO0FvQjlwSE07RVc0Wko7SVgzWk07RXBCaXFITjtBQUNGO0ErQjd2R0k7RVRwYkEseUJsQjJtQnlDO0FKeWtHN0M7QStCM3ZHRTtFQUNFLFczQmtLZ0M7RTJCaktoQyxjM0JrS2dDO0UyQmpLaEM7RUFDQSxlM0JpS2dDO0UyQmhLaEMseUIzQjFiTztFMkIyYlA7RXBCbmJBO0FYaXJISjtBK0J6dkdFO0VBQ0UsVzNCOEp5QztFMkI3SnpDLFkzQjZKeUM7RTJCNUp6QztFQUNBLG9CM0J0RTBCO0UyQnVFMUIsbUIzQnZFMEI7RWtCbFkxQix5QmxCb1AwQjtFMkJ1TjFCLFMzQjJKeUM7RU8xbEJ6QztFU0ZFLDRHV29jRjtFQUNBO0EvQjB2R0o7QW9CM3JITTtFV3NiSjtJWHJiTTtFcEI4ckhOO0FBQ0Y7QStCN3ZHSTtFVGpkQSx5QmxCMm1CeUM7QUpzbUc3QztBK0IzdkdFO0VBQ0UsVzNCcUlnQztFMkJwSWhDLGMzQnFJZ0M7RTJCcEloQztFQUNBLGUzQm9JZ0M7RTJCbkloQztFQUNBO0VBQ0E7QS9CNnZHSjtBK0J6dkdFO0VBQ0UseUIzQjlkTztFT1FQO0FYa3RISjtBK0J4dkdFO0VBQ0U7RUFDQSx5QjNCcGVPO0VPUVA7QVh1dEhKO0ErQnR2R0k7RUFDRSx5QjNCeGVLO0FKZ3VIWDtBK0JydkdJO0VBQ0U7QS9CdXZHTjtBK0JwdkdJO0VBQ0UseUIzQmhmSztBSnN1SFg7QStCbnZHSTtFQUNFO0EvQnF2R047QStCbHZHSTtFQUNFLHlCM0J4Zks7QUo0dUhYOztBK0IvdUdBOzs7RVh6Zk0sNEdXNGZKO0EvQmt2R0Y7QW9CMXVITTtFV3FmTjs7O0lYcGZRO0VwQit1SE47QUFDRjs7QWdDaHdIQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhDbXdIRjs7QWdDaHdIQTtFQUNFO0VBQ0E7QWhDbXdIRjtBTWx3SEU7RTBCR0U7QWhDa3dISjtBZ0M5dkhFO0VBQ0UsYzVCWE87RTRCWVA7RUFDQTtBaENnd0hKOztBZ0N4dkhBO0VBQ0U7QWhDMnZIRjtBZ0N6dkhFO0VBQ0U7RUFDQTtFckJaQTtFQUNBO0FYd3dISjtBTXB4SEU7RTBCMkJJLHFDNUJtcEI4QjtBSnltR3BDO0FnQ3p2SEk7RUFDRSxjNUJsQ0s7RTRCbUNMO0VBQ0E7QWhDMnZITjtBZ0N2dkhFOztFQUVFLGM1QnpDTztFNEIwQ1Asc0JoQ3ZETTtFZ0N3RE4sa0M1QndvQmdDO0FKaW5HcEM7QWdDdHZIRTtFQUVFO0VyQm5DQTtFQUNBO0FYMnhISjs7QWdDN3VIRTtFckJ4REU7QVh5eUhKO0FnQzd1SEU7O0VBRUUsVzVCekVPO0U0QjBFUCx5QjVCeUswQjtBSnNrSDlCOztBZ0NydUhFOztFQUVFO0VBQ0E7QWhDd3VISjs7QWdDbnVIRTs7RUFFRTtFQUNBO0VBQ0E7QWhDc3VISjs7QWdDNXRIRTtFQUNFO0FoQyt0SEo7QWdDN3RIRTtFQUNFO0FoQyt0SEo7O0FpQ24wSEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDczBIRjtBaUNsMEhFOzs7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakN5MEhKO0FpQ3J6SEE7RUFDRTtFQUNBLHNCN0JpcUJrQztFNkJocUJsQyx5QjdCZ3FCa0M7RTZCL3BCbEMsa0I3QmdGTztFQ1JILGtCQXRDYTtFNEJoQ2pCO0VBQ0E7QWpDdXpIRjtBTWoySEU7RTJCNkNFO0FqQ3V6SEo7O0FpQzl5SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ2l6SEY7QWlDL3lIRTtFQUNFO0VBQ0E7QWpDaXpISjtBaUM5eUhFO0VBQ0U7RUFDQTtBakNnekhKOztBaUN2eUhBO0VBQ0U7RUFDQSxtQjdCd2xCa0M7RTZCdmxCbEMsc0I3QnVsQmtDO0FKbXRHcEM7O0FpQzl4SEE7RUFDRTtFQUNBO0VBR0E7QWpDK3hIRjs7QWlDM3hIQTtFQUNFO0U1QlNJLGtCQXRDYTtFNEIrQmpCO0VBQ0E7RUFDQTtFdEJ4R0U7QVh1NEhKO0FNejRIRTtFMkI4R0U7QWpDOHhISjs7QWlDeHhIQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakMyeEhGOztBaUN4eEhBO0VBQ0UsZ0I3QitrQmtDO0U2QjlrQmxDO0FqQzJ4SEY7O0FlajJISTtFa0JrRkk7Ozs7OztJQUNFO0lBQ0E7RWpDd3hIUjtBQUNGO0FlMTNISTtFa0I2RkE7SUFvQkk7SUFDQTtFakM2d0hOO0VpQzN3SE07SUFDRTtFakM2d0hSO0VpQzN3SFE7SUFDRTtFakM2d0hWO0VpQzF3SFE7SUFDRSxxQjdCd2hCd0I7STZCdmhCeEIsb0I3QnVoQndCO0VKcXZHbEM7RWlDdndITTs7Ozs7O0lBQ0U7RWpDOHdIUjtFaUNod0hNO0lBQ0U7RWpDa3dIUjtFaUMvdkhNO0lBQ0U7SUFHQTtFakMrdkhSO0VpQzV2SE07SUFDRTtFakM4dkhSO0FBQ0Y7QWUvNEhJO0VrQmtGSTs7Ozs7O0lBQ0U7SUFDQTtFakNxMEhSO0FBQ0Y7QWV2NkhJO0VrQjZGQTtJQW9CSTtJQUNBO0VqQzB6SE47RWlDeHpITTtJQUNFO0VqQzB6SFI7RWlDeHpIUTtJQUNFO0VqQzB6SFY7RWlDdnpIUTtJQUNFLHFCN0J3aEJ3QjtJNkJ2aEJ4QixvQjdCdWhCd0I7RUpreUdsQztFaUNwekhNOzs7Ozs7SUFDRTtFakMyekhSO0VpQzd5SE07SUFDRTtFakMreUhSO0VpQzV5SE07SUFDRTtJQUdBO0VqQzR5SFI7RWlDenlITTtJQUNFO0VqQzJ5SFI7QUFDRjtBZTU3SEk7RWtCa0ZJOzs7Ozs7SUFDRTtJQUNBO0VqQ2szSFI7QUFDRjtBZXA5SEk7RWtCNkZBO0lBb0JJO0lBQ0E7RWpDdTJITjtFaUNyMkhNO0lBQ0U7RWpDdTJIUjtFaUNyMkhRO0lBQ0U7RWpDdTJIVjtFaUNwMkhRO0lBQ0UscUI3QndoQndCO0k2QnZoQnhCLG9CN0J1aEJ3QjtFSiswR2xDO0VpQ2oySE07Ozs7OztJQUNFO0VqQ3cySFI7RWlDMTFITTtJQUNFO0VqQzQxSFI7RWlDejFITTtJQUNFO0lBR0E7RWpDeTFIUjtFaUN0MUhNO0lBQ0U7RWpDdzFIUjtBQUNGO0FleitISTtFa0JrRkk7Ozs7OztJQUNFO0lBQ0E7RWpDKzVIUjtBQUNGO0FlamdJSTtFa0I2RkE7SUFvQkk7SUFDQTtFakNvNUhOO0VpQ2w1SE07SUFDRTtFakNvNUhSO0VpQ2w1SFE7SUFDRTtFakNvNUhWO0VpQ2o1SFE7SUFDRSxxQjdCd2hCd0I7STZCdmhCeEIsb0I3QnVoQndCO0VKNDNHbEM7RWlDOTRITTs7Ozs7O0lBQ0U7RWpDcTVIUjtFaUN2NEhNO0lBQ0U7RWpDeTRIUjtFaUN0NEhNO0lBQ0U7SUFHQTtFakNzNEhSO0VpQ240SE07SUFDRTtFakNxNEhSO0FBQ0Y7QWlDdDhISTtFQW9CSTtFQUNBO0FqQ3E3SFI7QWlDeDhIUTs7Ozs7O0VBQ0U7RUFDQTtBakMrOEhWO0FpQzU3SFE7RUFDRTtBakM4N0hWO0FpQzU3SFU7RUFDRTtBakM4N0haO0FpQzM3SFU7RUFDRSxxQjdCd2hCd0I7RTZCdmhCeEIsb0I3QnVoQndCO0FKczZHcEM7QWlDeDdIUTs7Ozs7O0VBQ0U7QWpDKzdIVjtBaUNqN0hRO0VBQ0U7QWpDbTdIVjtBaUNoN0hRO0VBQ0U7RUFHQTtBakNnN0hWO0FpQzc2SFE7RUFDRTtBakMrNkhWOztBaUNqNkhFO0VBQ0UseUI3QmdnQmdDO0FKbzZHcEM7QU01bklFO0UyQjJOSSx5QjdCNmY4QjtBSnU2R3BDO0FpQy81SEk7RUFDRSx5QjdCcWY4QjtBSjQ2R3BDO0FNbG9JRTtFMkJvT00seUI3Qm1mNEI7QUo4NkdwQztBaUM5NUhNO0VBQ0UseUI3QmlmNEI7QUorNkdwQztBaUM1NUhJOzs7O0VBSUUseUI3QndlOEI7QUpzN0dwQztBaUMxNUhFO0VBQ0UseUI3QmllZ0M7RTZCaGVoQyxnQzdCcWVnQztBSnU3R3BDO0FpQ3o1SEU7RUFDRTtBakMyNUhKO0FpQ3g1SEU7RUFDRSx5QjdCd2RnQztBSms4R3BDO0FpQ3o1SEk7RUFDRSx5QjdCd2Q4QjtBSm04R3BDO0FNM3BJRTtFMkJtUU0seUI3QnFkNEI7QUpzOEdwQzs7QWlDbjVIRTtFQUNFLFc3QnJSTztBSjJxSVg7QU1scUlFO0UyQitRSSxXN0J4Uks7QUo4cUlYO0FpQ2o1SEk7RUFDRSwrQjdCMGI4QjtBSnk5R3BDO0FNeHFJRTtFMkJ3Uk0sZ0M3QndiNEI7QUoyOUdwQztBaUNoNUhNO0VBQ0UsZ0M3QnNiNEI7QUo0OUdwQztBaUM5NEhJOzs7O0VBSUUsVzdCN1NLO0FKNnJJWDtBaUM1NEhFO0VBQ0UsK0I3QnNhZ0M7RTZCcmFoQyxzQzdCMGFnQztBSm8rR3BDO0FpQzM0SEU7RUFDRTtBakM2NEhKO0FpQzE0SEU7RUFDRSwrQjdCNlpnQztBSisrR3BDO0FpQzM0SEk7RUFDRSxXN0I3VEs7QUowc0lYO0FNanNJRTtFMkJ1VE0sVzdCaFVHO0FKNnNJWDs7QWtDaHRJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQSxzQjlCSlM7RThCS1Q7RUFDQTtFdkJLRTtBWDhzSUo7QWtDaHRJRTtFQUNFO0VBQ0E7QWxDa3RJSjtBa0Mvc0lFO0VBQ0U7RUFDQTtBbENpdElKO0FrQy9zSUk7RUFDRTtFdkJDRjtFQUNBO0FYaXRJSjtBa0Mvc0lJO0VBQ0U7RXZCVUY7RUFDQTtBWHdzSUo7QWtDNXNJRTs7RUFFRTtBbEM4c0lKOztBa0Mxc0lBO0VBR0U7RUFHQTtFQUNBLGdCOUI4d0JrQztBSjI3R3BDOztBa0Nyc0lBO0VBQ0Usc0I5Qnd3QmtDO0FKZzhHcEM7O0FrQ3JzSUE7RUFDRTtFQUNBO0FsQ3dzSUY7O0FrQ3JzSUE7RUFDRTtBbEN3c0lGOztBTTd2SUU7RTRCMERFO0FsQ3VzSUo7QWtDcHNJRTtFQUNFLG9COUJ1dkJnQztBSis4R3BDOztBa0M5cklBO0VBQ0U7RUFDQTtFQUVBLHFDOUJndkJrQztFOEIvdUJsQztBbENnc0lGO0FrQzlySUU7RXZCdkVFO0FYd3dJSjs7QWtDNXJJQTtFQUNFO0VBRUEscUM5QnF1QmtDO0U4QnB1QmxDO0FsQzhySUY7QWtDNXJJRTtFdkJsRkU7QVhpeElKOztBa0NycklBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxDd3JJRjs7QWtDcnJJQTtFQUNFO0VBQ0E7QWxDd3JJRjs7QWtDcHJJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQjlCMnNCa0M7RU8xekJoQztBWHV5SUo7O0FrQ3BySUE7OztFQUdFO0VBQ0E7QWxDdXJJRjs7QWtDcHJJQTs7RXZCakhJO0VBQ0E7QVgweUlKOztBa0NycklBOztFdkJ4R0k7RUFDQTtBWGt5SUo7O0FrQ2xySUU7RUFDRSxtQjlCbXJCZ0M7QUprZ0hwQztBZXB4SUk7RW1CNkZKO0lBTUk7SUFDQTtJQUNBO0lBQ0E7RWxDcXJJRjtFa0NucklFO0lBRUU7SUFDQSxrQjlCdXFCOEI7SThCdHFCOUI7SUFDQSxpQjlCcXFCOEI7RUorZ0hsQztBQUNGOztBa0N4cUlFO0VBQ0UsbUI5QnVwQmdDO0FKb2hIcEM7QWV0eUlJO0VtQnVISjtJQVFJO0lBQ0E7RWxDMnFJRjtFa0N4cUlFO0lBRUU7SUFDQTtFbEN5cUlKO0VrQ3ZxSUk7SUFDRTtJQUNBO0VsQ3lxSU47RWtDcHFJTTtJdkJ6S0o7SUFDQTtFWGcxSUY7RWtDcnFJUTs7SUFHRTtFbENzcUlWO0VrQ3BxSVE7O0lBR0U7RWxDcXFJVjtFa0NqcUlNO0l2QjFLSjtJQUNBO0VYODBJRjtFa0NscUlROztJQUdFO0VsQ21xSVY7RWtDanFJUTs7SUFHRTtFbENrcUlWO0FBQ0Y7O0FrQ3JwSUU7RUFDRSxzQjlCNGtCZ0M7QUo0a0hwQztBZWgxSUk7RW1Cc0xKO0lBTUksZTlCeWxCZ0M7SThCeGxCaEMsbUI5QnlsQmdDO0k4QnhsQmhDO0lBQ0E7RWxDd3BJRjtFa0N0cElFO0lBQ0U7SUFDQTtFbEN3cElKO0FBQ0Y7O0FrQy9vSUE7RUFDRTtBbENrcElGO0FrQ2hwSUU7RUFDRTtBbENrcElKO0FrQ2hwSUk7RUFDRTtFdkJ2T0Y7RUFDQTtBWDAzSUo7QWtDaHBJSTtFdkJ6UEE7RUFDQTtBWDQ0SUo7QWtDaHBJSTtFdkJ0UUE7RXVCd1FFO0FsQ2twSU47O0FtQzU2SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQi9CbWlDa0M7RStCamlDbEM7RUFDQSx5Qi9CRVM7RU9TUDtBWG82SUo7O0FtQ3o2SUU7RUFDRSxvQi9CdWhDZ0M7QUpxNUdwQztBbUMxNklJO0VBQ0U7RUFDQSxxQi9CbWhDOEI7RStCbGhDOUIsYy9CTks7RStCT0w7QW5DNDZJTjtBbUNsNklFO0VBQ0U7QW5DbzZJSjtBbUNqNklFO0VBQ0U7QW5DbTZJSjtBbUNoNklFO0VBQ0UsYy9CMUJPO0FKNDdJWDs7QW9DejhJQTtFQUNFO0U1QkdBO0VBQ0E7RUdhRTtBWDg3SUo7O0FvQzE4SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGlCaENteEJrQztFZ0NseEJsQyxjaENtS3dDO0VnQ2pLeEMsc0JoQ1BTO0VnQ1FUO0FwQzQ4SUY7QW9DMThJRTtFQUNFO0VBQ0EsY2hDOEpzQztFZ0M3SnRDO0VBQ0EseUJoQ1pPO0VnQ2FQLHFCaENaTztBSnc5SVg7QW9DejhJRTtFQUNFO0VBQ0EsVWhDMndCZ0M7RWdDMXdCaEMsZ0RoQzhXMEI7QUo2bEk5Qjs7QW9DcjhJSTtFQUNFO0V6QmFGO0VBQ0E7QVg0N0lKO0FvQ3I4SUk7RXpCTkE7RUFDQTtBWDg4SUo7QW9DcDhJRTtFQUNFO0VBQ0EsV2hDeENPO0VnQ3lDUCx5QmhDME0wQjtFZ0N6TTFCLHFCaEN5TTBCO0FKNnZJOUI7QW9DbjhJRTtFQUNFLGNoQ3hDTztFZ0N5Q1A7RUFFQTtFQUNBLHNCaENsRE87RWdDbURQLHFCaENoRE87QUpvL0lYOztBcUMzL0lFO0VBQ0U7RWhDMkhFLGtCQXRDYTtFZ0NuRmYsZ0JqQ21PMEI7QUoyeEk5QjtBcUN6L0lNO0UxQnFDRjtFQUNBO0FYdTlJSjtBcUN4L0lNO0UxQmtCRjtFQUNBO0FYeStJSjs7QXFDemdKRTtFQUNFO0VoQzJIRSxtQkF0Q2E7RWdDbkZmLGdCakNvTzBCO0FKd3lJOUI7QXFDdmdKTTtFMUJxQ0Y7RUFDQTtBWHErSUo7QXFDdGdKTTtFMUJrQkY7RUFDQTtBWHUvSUo7O0FzQ3JoSkE7RUFDRTtFQUNBO0VqQ2lFRTtFaUMvREYsZ0JsQ3VSNEI7RWtDdFI1QjtFQUNBO0VBQ0E7RUFDQTtFM0JLRTtFU0ZFLHFJa0JESjtBdEN3aEpGO0FvQm5oSk07RWtCZk47SWxCZ0JRO0VwQnNoSk47QUFDRjtBTTVoSkU7RWdDR0k7QXRDNGhKTjs7QXNDdmhKRTtFQUNFO0F0QzBoSko7O0FzQ3JoSkE7RUFDRTtFQUNBO0F0Q3doSkY7O0FzQ2poSkE7RUFDRSxvQmxDKzNCa0M7RWtDOTNCbEMsbUJsQzgzQmtDO0VPcjVCaEM7QVg0aUpKOztBc0M1Z0pFO0VDakRBO0VBQ0EseUJuQzBFYTtBSnUvSWY7QU1uakpFO0VpQ1ZJO0VBQ0E7QXZDZ2tKTjtBdUM3akpJO0VBRUU7RUFDQTtBdkM4akpOOztBc0N6aEpFO0VDakRBO0VBQ0EseUJuQzBFYTtBSm9nSmY7QU1oa0pFO0VpQ1ZJO0VBQ0E7QXZDNmtKTjtBdUMxa0pJO0VBRUU7RUFDQTtBdkMya0pOOztBc0N0aUpFO0VDakRBO0VBQ0EseUJuQzBFYTtBSmloSmY7QU03a0pFO0VpQ1ZJO0VBQ0E7QXZDMGxKTjtBdUN2bEpJO0VBRUU7RUFDQTtBdkN3bEpOOztBc0NuakpFO0VDakRBO0VBQ0EseUJuQzBFYTtBSjhoSmY7QU0xbEpFO0VpQ1ZJO0VBQ0E7QXZDdW1KTjtBdUNwbUpJO0VBRUU7RUFDQTtBdkNxbUpOOztBc0Noa0pFO0VDakRBO0VBQ0EseUJuQzBFYTtBSjJpSmY7QU12bUpFO0VpQ1ZJO0VBQ0E7QXZDb25KTjtBdUNqbkpJO0VBRUU7RUFDQTtBdkNrbkpOOztBc0M3a0pFO0VDakRBO0VBQ0EseUJuQzBFYTtBSndqSmY7QU1wbkpFO0VpQ1ZJO0VBQ0E7QXZDaW9KTjtBdUM5bkpJO0VBRUU7RUFDQTtBdkMrbkpOOztBc0MxbEpFO0VDakRBO0VBQ0EseUJuQzBFYTtBSnFrSmY7QU1qb0pFO0VpQ1ZJO0VBQ0E7QXZDOG9KTjtBdUMzb0pJO0VBRUU7RUFDQTtBdkM0b0pOOztBc0N2bUpFO0VDakRBO0VBQ0EseUJuQzBFYTtBSmtsSmY7QU05b0pFO0VpQ1ZJO0VBQ0E7QXZDMnBKTjtBdUN4cEpJO0VBRUU7RUFDQTtBdkN5cEpOOztBd0N0cUpBO0VBQ0U7RUFDQSxtQnBDdXpCa0M7RW9DcnpCbEMseUJwQ0tTO0VPU1A7QVgycEpKO0Flam5KSTtFeUI1REo7SUFRSTtFeEN5cUpGO0FBQ0Y7O0F3Q3RxSkE7RUFDRTtFQUNBO0U3QklFO0FYc3FKSjs7QXlDcHJKQTtFQUNFO0VBQ0E7RUFDQSxtQnJDdTlCa0M7RXFDdDlCbEM7RTlCVUU7QVg4cUpKOztBeUNuckpBO0VBRUU7QXpDcXJKRjs7QXlDanJKQTtFQUNFLGdCckM0UTRCO0FKdzZJOUI7O0F5QzVxSkE7RUFDRTtBekMrcUpGO0F5QzVxSkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpDOHFKSjs7QXlDcHFKRTtFQy9DQSxjRGdEcUg7RW5CM0NuSCx5Qm1CMkN1QjtFQzlDekIscUJEOENxRTtBekN5cUp2RTtBMENydEpFO0VBQ0U7QTFDdXRKSjtBMENwdEpFO0VBQ0U7QTFDc3RKSjs7QXlDaHJKRTtFQy9DQSxjRGdEcUg7RW5CM0NuSCx5Qm1CMkN1QjtFQzlDekIscUJEOENxRTtBekNxckp2RTtBMENqdUpFO0VBQ0U7QTFDbXVKSjtBMENodUpFO0VBQ0U7QTFDa3VKSjs7QXlDNXJKRTtFQy9DQSxjRGdEcUg7RW5CM0NuSCx5Qm1CMkN1QjtFQzlDekIscUJEOENxRTtBekNpc0p2RTtBMEM3dUpFO0VBQ0U7QTFDK3VKSjtBMEM1dUpFO0VBQ0U7QTFDOHVKSjs7QXlDeHNKRTtFQy9DQSxjRGdEcUg7RW5CM0NuSCx5Qm1CMkN1QjtFQzlDekIscUJEOENxRTtBekM2c0p2RTtBMEN6dkpFO0VBQ0U7QTFDMnZKSjtBMEN4dkpFO0VBQ0U7QTFDMHZKSjs7QXlDcHRKRTtFQy9DQSxjRGdEcUg7RW5CM0NuSCx5Qm1CMkN1QjtFQzlDekIscUJEOENxRTtBekN5dEp2RTtBMENyd0pFO0VBQ0U7QTFDdXdKSjtBMENwd0pFO0VBQ0U7QTFDc3dKSjs7QXlDaHVKRTtFQy9DQSxjRGdEcUg7RW5CM0NuSCx5Qm1CMkN1QjtFQzlDekIscUJEOENxRTtBekNxdUp2RTtBMENqeEpFO0VBQ0U7QTFDbXhKSjtBMENoeEpFO0VBQ0U7QTFDa3hKSjs7QXlDNXVKRTtFQy9DQSxjRGdEcUg7RW5CM0NuSCx5Qm1CMkN1QjtFQzlDekIscUJEOENxRTtBekNpdkp2RTtBMEM3eEpFO0VBQ0U7QTFDK3hKSjtBMEM1eEpFO0VBQ0U7QTFDOHhKSjs7QXlDeHZKRTtFQy9DQSxjRGdEcUg7RW5CM0NuSCx5Qm1CMkN1QjtFQzlDekIscUJEOENxRTtBekM2dkp2RTtBMEN6eUpFO0VBQ0U7QTFDMnlKSjtBMEN4eUpFO0VBQ0U7QTFDMHlKSjs7QTJDbHpKRTtFQUNFO0lBQU87RTNDc3pKVDtFMkNyekpFO0lBQUs7RTNDd3pKUDtBQUNGO0EyQ3J6SkE7RUFDRTtFQUNBLFl2Q2crQmtDO0V1Qy85QmxDO0VBQ0E7RXRDbUhJLGtCQXRDYTtFc0MzRWpCLHlCdkNMUztFT1NQO0FYb3pKSjs7QTJDbnpKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV3ZDakJTO0V1Q2tCVDtFQUNBO0VBQ0EseUJ2Q3E5QmtDO0VnQmgrQjlCLDJCdUJZSjtBM0NzekpGO0FvQjl6Sk07RXVCRE47SXZCRVE7RXBCaTBKTjtBQUNGOztBMkN4ekpBO0VyQllFO0VxQlZBO0EzQzJ6SkY7O0EyQ3Z6SkU7RUFDRTtBM0MwekpKO0EyQ3Z6Sk07RUFKSjtJQUtNO0UzQzB6Sk47QUFDRjs7QTRDcjJKQTtFQUNFO0VBQ0E7QTVDdzJKRjs7QTRDcjJKQTtFQUNFO0E1Q3cySkY7O0E2QzEySkE7RUFDRTtFQUNBO0VBR0E7RUFDQTtFbENRRTtBWG8ySko7O0E2Q2wySkE7RUFDRTtFQUNBLGN6Q1JTO0V5Q1NUO0E3Q3EySkY7QU01MkpFO0V1Q1dFO0VBQ0EsY3pDZE87RXlDZVA7RUFDQSx5QnpDdEJPO0FKMDNKWDtBNkNqMkpFO0VBQ0UsVzdDaENTO0U2Q2lDVCx5QnpDMUJPO0FKNjNKWDs7QTZDMTFKQTtFQUNFO0VBQ0E7RUFDQTtFQUdBLHNCekMzQ1M7RXlDNENUO0E3QzIxSkY7QTZDejFKRTtFbEMxQkU7RUFDQTtBWHMzSko7QTZDejFKRTtFbENoQkU7RUFDQTtBWDQySko7QTZDejFKRTtFQUVFLGN6Q2xETztFeUNtRFA7RUFDQSxzQnpDMURPO0FKbzVKWDtBNkN0MUpFO0VBQ0U7RUFDQSxXekNoRU87RXlDaUVQLHlCekNrTDBCO0V5Q2pMMUIscUJ6Q2lMMEI7QUp1cUo5QjtBNkNyMUpFO0VBQ0U7QTdDdTFKSjtBNkNyMUpJO0VBQ0U7RUFDQSxxQnpDMkp3QjtBSjRySjlCOztBNkN6MEpJO0VBQ0U7QTdDNDBKTjtBNkN6MEpRO0VsQzFCSjtFQVpBO0FYbTNKSjtBNkN4MEpRO0VsQzNDSjtFQVlBO0FYMjJKSjtBNkN2MEpRO0VBQ0U7QTdDeTBKVjtBNkN0MEpRO0VBQ0UscUJ6QzBIb0I7RXlDekhwQjtBN0N3MEpWO0E2Q3QwSlU7RUFDRTtFQUNBLHNCekNxSGtCO0FKbXRKOUI7O0FlbjRKSTtFOEJtQ0E7SUFDRTtFN0NvMkpKO0U2Q2oySk07SWxDMUJKO0lBWkE7RVgyNEpGO0U2Q2gySk07SWxDM0NKO0lBWUE7RVhtNEpGO0U2Qy8xSk07SUFDRTtFN0NpMkpSO0U2QzkxSk07SUFDRSxxQnpDMEhvQjtJeUN6SHBCO0U3Q2cySlI7RTZDOTFKUTtJQUNFO0lBQ0Esc0J6Q3FIa0I7RUoydUo1QjtBQUNGO0FlNTVKSTtFOEJtQ0E7SUFDRTtFN0M0M0pKO0U2Q3ozSk07SWxDMUJKO0lBWkE7RVhtNkpGO0U2Q3gzSk07SWxDM0NKO0lBWUE7RVgyNUpGO0U2Q3YzSk07SUFDRTtFN0N5M0pSO0U2Q3QzSk07SUFDRSxxQnpDMEhvQjtJeUN6SHBCO0U3Q3czSlI7RTZDdDNKUTtJQUNFO0lBQ0Esc0J6Q3FIa0I7RUptd0o1QjtBQUNGO0FlcDdKSTtFOEJtQ0E7SUFDRTtFN0NvNUpKO0U2Q2o1Sk07SWxDMUJKO0lBWkE7RVgyN0pGO0U2Q2g1Sk07SWxDM0NKO0lBWUE7RVhtN0pGO0U2Qy80Sk07SUFDRTtFN0NpNUpSO0U2Qzk0Sk07SUFDRSxxQnpDMEhvQjtJeUN6SHBCO0U3Q2c1SlI7RTZDOTRKUTtJQUNFO0lBQ0Esc0J6Q3FIa0I7RUoyeEo1QjtBQUNGO0FlNThKSTtFOEJtQ0E7SUFDRTtFN0M0NkpKO0U2Q3o2Sk07SWxDMUJKO0lBWkE7RVhtOUpGO0U2Q3g2Sk07SWxDM0NKO0lBWUE7RVgyOEpGO0U2Q3Y2Sk07SUFDRTtFN0N5NkpSO0U2Q3Q2Sk07SUFDRSxxQnpDMEhvQjtJeUN6SHBCO0U3Q3c2SlI7RTZDdDZKUTtJQUNFO0lBQ0Esc0J6Q3FIa0I7RUpteko1QjtBQUNGO0E2QzM1SkE7RWxDbkhJO0FYaWhLSjtBNkMzNUpFO0VBQ0U7QTdDNjVKSjtBNkMzNUpJO0VBQ0U7QTdDNjVKTjs7QThDdGlLRTtFQUNFLGNEb0pzRTtFQ25KdEUseUJEbUp1QztBN0NzNUozQztBTTloS0U7RXdDUE0sY0QrSWtFO0VDOUlsRTtBOUN3aUtSO0E4Q3JpS007RUFDRSxXMUNQRztFMENRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0E3Qys1SjFFOztBOENwaktFO0VBQ0UsY0RvSnNFO0VDbkp0RSx5QkRtSnVDO0E3Q282SjNDO0FNNWlLRTtFd0NQTSxjRCtJa0U7RUM5SWxFO0E5Q3NqS1I7QThDbmpLTTtFQUNFLFcxQ1BHO0UwQ1FILHlCRHlJa0U7RUN4SWxFLHFCRHdJa0U7QTdDNjZKMUU7O0E4Q2xrS0U7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QTdDazdKM0M7QU0xaktFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QTlDb2tLUjtBOENqa0tNO0VBQ0UsVzFDUEc7RTBDUUgseUJEeUlrRTtFQ3hJbEUscUJEd0lrRTtBN0MyN0oxRTs7QThDaGxLRTtFQUNFLGNEb0pzRTtFQ25KdEUseUJEbUp1QztBN0NnOEozQztBTXhrS0U7RXdDUE0sY0QrSWtFO0VDOUlsRTtBOUNrbEtSO0E4Qy9rS007RUFDRSxXMUNQRztFMENRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0E3Q3k4SjFFOztBOEM5bEtFO0VBQ0UsY0RvSnNFO0VDbkp0RSx5QkRtSnVDO0E3Qzg4SjNDO0FNdGxLRTtFd0NQTSxjRCtJa0U7RUM5SWxFO0E5Q2dtS1I7QThDN2xLTTtFQUNFLFcxQ1BHO0UwQ1FILHlCRHlJa0U7RUN4SWxFLHFCRHdJa0U7QTdDdTlKMUU7O0E4QzVtS0U7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QTdDNDlKM0M7QU1wbUtFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QTlDOG1LUjtBOEMzbUtNO0VBQ0UsVzFDUEc7RTBDUUgseUJEeUlrRTtFQ3hJbEUscUJEd0lrRTtBN0NxK0oxRTs7QThDMW5LRTtFQUNFLGNEb0pzRTtFQ25KdEUseUJEbUp1QztBN0MwK0ozQztBTWxuS0U7RXdDUE0sY0QrSWtFO0VDOUlsRTtBOUM0bktSO0E4Q3puS007RUFDRSxXMUNQRztFMENRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0E3Q20vSjFFOztBOEN4b0tFO0VBQ0UsY0RvSnNFO0VDbkp0RSx5QkRtSnVDO0E3Q3cvSjNDO0FNaG9LRTtFd0NQTSxjRCtJa0U7RUM5SWxFO0E5QzBvS1I7QThDdm9LTTtFQUNFLFcxQ1BHO0UwQ1FILHlCRHlJa0U7RUN4SWxFLHFCRHdJa0U7QTdDaWdLMUU7O0ErQ3pwS0E7RUFDRTtFMUM4SEksaUJBdENhO0UwQ3RGakIsZ0IzQzZSNEI7RTJDNVI1QjtFQUNBLFczQ1lTO0UyQ1hULHlCM0NzbENrQztFMkNybENsQztBL0M0cEtGO0FNdnBLRTtFeUNERSxXM0NNTztFMkNMUDtBL0MycEtKO0FNdnBLRTtFeUNDSTtBL0N5cEtOOztBK0M5b0tBO0VBQ0U7RUFDQTtFQUNBO0EvQ2lwS0Y7O0ErQzNvS0E7RUFDRTtBL0M4b0tGOztBZ0RwcktBO0VBR0UsaUI1Q3k0QmtDO0U0Q3g0QmxDLGdCNUN3NEJrQztFQzd3QjlCLG1CQXRDYTtFMkNsRmpCLDJDNUMwNEJrQztFNEN6NEJsQztFQUNBO0VBQ0EsZ0Q1QzI0QmtDO0U0QzE0QmxDO0VyQ09FO0FYOHFLSjtBZ0RscktFO0VBQ0Usc0I1QzgzQmdDO0FKc3pJcEM7QWdEanJLRTtFQUNFO0FoRG1yS0o7QWdEaHJLRTtFQUNFO0VBQ0E7QWhEa3JLSjtBZ0QvcUtFO0VBQ0U7QWhEaXJLSjs7QWdEN3FLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGM1Q3ZCUztFNEN3QlQsMkM1Q20zQmtDO0U0Q2wzQmxDO0VBQ0E7RXJDWkU7RUFDQTtBWDZyS0o7O0FnRDlxS0E7RUFDRSxnQjVDaTJCa0M7QUpnMUlwQzs7QWlEdnRLQTtFQUVFO0FqRHl0S0Y7QWlEdnRLRTtFQUNFO0VBQ0E7QWpEeXRLSjs7QWlEcHRLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGE3QzJwQmtDO0U2QzFwQmxDO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QWpEcXRLRjs7QWlEOXNLQTtFQUNFO0VBQ0E7RUFDQSxjN0MrNEJrQztFNkM3NEJsQztBakRndEtGO0FpRDdzS0U7RTdCM0JJLG1DNkI0QkY7RUFDQSw4QjdDcTZCZ0M7QUoweUlwQztBb0J4dUtNO0U2QnVCSjtJN0J0Qk07RXBCMnVLTjtBQUNGO0FpRGx0S0U7RUFDRSxlN0NtNkJnQztBSml6SXBDO0FpRGh0S0U7RUFDRSxzQjdDZzZCZ0M7QUpreklwQzs7QWlEOXNLQTtFQUNFO0VBQ0E7QWpEaXRLRjtBaUQvc0tFO0VBQ0U7RUFDQTtBakRpdEtKO0FpRDlzS0U7O0VBRUU7QWpEZ3RLSjtBaUQ3c0tFO0VBQ0U7QWpEK3NLSjs7QWlEM3NLQTtFQUNFO0VBQ0E7RUFDQTtBakQ4c0tGO0FpRDNzS0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakQ2c0tKO0FpRHpzS0U7RUFDRTtFQUNBO0VBQ0E7QWpEMnNLSjtBaUR6c0tJO0VBQ0U7QWpEMnNLTjtBaUR4c0tJO0VBQ0U7QWpEMHNLTjs7QWlEcHNLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQSxzQjdDM0dTO0U2QzRHVDtFQUNBO0V0Q2xHRTtFc0NzR0Y7QWpEbXNLRjs7QWlEL3JLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGE3QytpQmtDO0U2QzlpQmxDO0VBQ0E7RUFDQSxzQjdDbEhTO0FKb3pLWDtBaUQvcktFO0VBQVM7QWpEa3NLWDtBaURqc0tFO0VBQVMsWTdDNnpCeUI7QUp1NElwQzs7QWlEL3JLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGtCN0MyekJrQztFNkMxekJsQztFdEN0SEU7RUFDQTtBWHl6S0o7QWlEanNLRTtFQUNFLGtCN0NzekJnQztFNkNwekJoQztBakRrc0tKOztBaUQ3cktBO0VBQ0U7RUFDQSxnQjdDc0k0QjtBSjBqSzlCOztBaUQzcktBO0VBQ0U7RUFHQTtFQUNBLGE3Q3d3QmtDO0FKbzdJcEM7O0FpRHhyS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXRDeklFO0VBQ0E7QVhxMEtKO0FpRHZyS0U7RUFDRTtBakR5cktKOztBaURwcktBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakR1cktGOztBZTl6S0k7RWtDNklGO0lBQ0UsZ0I3Q3F3QmdDO0k2Q3B3QmhDO0VqRHFyS0Y7O0VpRGxyS0E7SUFDRTtFakRxcktGO0VpRG5yS0U7SUFDRTtFakRxcktKOztFaURqcktBO0lBQ0U7RWpEb3JLRjtFaURscktFO0lBQ0U7SUFDQTtFakRvcktKOztFaUQ1cUtBO0lBQVksZ0I3QzZ1QnNCO0VKbThJbEM7QUFDRjtBZXgxS0k7RWtDMktGOztJQUVFLGdCN0NxdUJnQztFSjI4SWxDO0FBQ0Y7QWU5MUtJO0VrQ2tMRjtJQUFZLGlCN0MrdEJzQjtFSmk5SWxDO0FBQ0Y7QWtEOTVLQTtFQUNFO0VBQ0EsYTlDK3FCa0M7RThDOXFCbEM7RUFDQSxTOUMyMUJrQztFK0MvMUJsQyxxTi9DbVI0QjtFK0NqUjVCO0VBQ0EsZ0IvQzJSNEI7RStDMVI1QixnQi9DK1I0QjtFK0M5UjVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U5Q2dISSxtQkF0Q2E7RTZDOUVqQjtFQUNBO0FsRDA2S0Y7QWtEeDZLRTtFQUFTLFk5QyswQnlCO0FKNGxKcEM7QWtEejZLRTtFQUNFO0VBQ0E7RUFDQSxhOUMrMEJnQztFOEM5MEJoQyxjOUMrMEJnQztBSjRsSnBDO0FrRHo2S0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEQyNktOOztBa0R0NktBO0VBQ0U7QWxEeTZLRjtBa0R2NktFO0VBQ0U7QWxEeTZLSjtBa0R2NktJO0VBQ0U7RUFDQTtFQUNBLHNCOUN2Qks7QUpnOEtYOztBa0RwNktBO0VBQ0U7QWxEdTZLRjtBa0RyNktFO0VBQ0U7RUFDQSxhOUNpekJnQztFOENoekJoQyxjOUMreUJnQztBSnduSnBDO0FrRHI2S0k7RUFDRTtFQUNBO0VBQ0Esd0I5Q3ZDSztBSjg4S1g7O0FrRGw2S0E7RUFDRTtBbERxNktGO0FrRG42S0U7RUFDRTtBbERxNktKO0FrRG42S0k7RUFDRTtFQUNBO0VBQ0EseUI5Q3JESztBSjA5S1g7O0FrRGg2S0E7RUFDRTtBbERtNktGO0FrRGo2S0U7RUFDRTtFQUNBLGE5Q214QmdDO0U4Q2x4QmhDLGM5Q2l4QmdDO0FKa3BKcEM7QWtEajZLSTtFQUNFO0VBQ0E7RUFDQSx1QjlDckVLO0FKdytLWDs7QWtEOTRLQTtFQUNFLGdCOUM2dUJrQztFOEM1dUJsQztFQUNBLFc5Q3ZHUztFOEN3R1Q7RUFDQSxzQjlDL0ZTO0VPQ1A7QVhnL0tKOztBb0RsZ0xBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYWhENnFCa0M7RWdENXFCbEM7RUFDQSxnQmhENjJCa0M7RStDbDNCbEMscU4vQ21SNEI7RStDalI1QjtFQUNBLGdCL0MyUjRCO0UrQzFSNUIsZ0IvQytSNEI7RStDOVI1QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFOUNnSEksbUJBdENhO0UrQzdFakI7RUFDQSxzQmhETlM7RWdET1Q7RUFDQTtFekNHRTtBWDZnTEo7QW9ENWdMRTtFQUNFO0VBQ0E7RUFDQSxXaEQ2MkJnQztFZ0Q1MkJoQyxjaEQ2MkJnQztFZ0Q1MkJoQztBcEQ4Z0xKO0FvRDVnTEk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRDZnTE47O0FvRHhnTEE7RUFDRSxxQmhEODFCa0M7QUo2cUpwQztBb0R6Z0xFO0VBQ0U7QXBEMmdMSjtBb0R6Z0xJO0VBQ0U7RUFDQTtFQUNBLHFDaER5MUI4QjtBSmtySnBDO0FvRHhnTEk7RUFDRSxXaEQwTHdCO0VnRHpMeEI7RUFDQSxzQmhEN0NLO0FKdWpMWDs7QW9EcmdMQTtFQUNFLG1CaEQwMEJrQztBSjhySnBDO0FvRHRnTEU7RUFDRTtFQUNBLGFoRHMwQmdDO0VnRHIwQmhDLFloRG8wQmdDO0VnRG4wQmhDO0FwRHdnTEo7QW9EdGdMSTtFQUNFO0VBQ0E7RUFDQSx1Q2hEazBCOEI7QUpzc0pwQztBb0RyZ0xJO0VBQ0UsU2hEbUt3QjtFZ0RsS3hCO0VBQ0Esd0JoRHBFSztBSjJrTFg7O0FvRGxnTEE7RUFDRSxrQmhEbXpCa0M7QUprdEpwQztBb0RuZ0xFO0VBQ0U7QXBEcWdMSjtBb0RuZ0xJO0VBQ0U7RUFDQTtFQUNBLHdDaEQ4eUI4QjtBSnV0SnBDO0FvRGxnTEk7RUFDRSxRaEQrSXdCO0VnRDlJeEI7RUFDQSx5QmhEeEZLO0FKNGxMWDtBb0QvL0tFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXaEQweEJnQztFZ0R6eEJoQztFQUNBO0VBQ0E7QXBEaWdMSjs7QW9ENy9LQTtFQUNFLG9CaERteEJrQztBSjZ1SnBDO0FvRDkvS0U7RUFDRTtFQUNBLGFoRCt3QmdDO0VnRDl3QmhDLFloRDZ3QmdDO0VnRDV3QmhDO0FwRGdnTEo7QW9EOS9LSTtFQUNFO0VBQ0E7RUFDQSxzQ2hEMndCOEI7QUpxdkpwQztBb0Q3L0tJO0VBQ0UsVWhENEd3QjtFZ0QzR3hCO0VBQ0EsdUJoRDNISztBSjBuTFg7O0FvRHorS0E7RUFDRTtFQUNBO0UvQzNCSSxlQXRDYTtFK0NvRWpCLHlCaEQ2dEJrQztFZ0Q1dEJsQztFekNuSUU7RUFDQTtBWCttTEo7QW9EMStLRTtFQUNFO0FwRDQrS0o7O0FvRHgrS0E7RUFDRTtFQUNBLFdwRHRLVztBQWlwTGI7O0FxRHRvTEE7RUFDRTtBckR5b0xGOztBcUR0b0xBO0VBQ0U7QXJEeW9MRjs7QXFEdG9MQTtFQUNFO0VBQ0E7RUFDQTtBckR5b0xGO0FzRGhxTEU7RUFDRTtFQUNBO0VBQ0E7QXREa3FMSjs7QXFEMW9MQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakNsQkksc0NpQ21CSjtBckQ2b0xGO0FvQjVwTE07RWlDUU47SWpDUFE7RXBCK3BMTjtBQUNGOztBcUQvb0xBOzs7RUFHRTtBckRrcExGOztBcUQvb0xBOztFQUVFO0FyRGtwTEY7O0FxRC9vTEE7O0VBRUU7QXJEa3BMRjs7QXFEem9MRTtFQUNFO0VBQ0E7RUFDQTtBckQ0b0xKO0FxRHpvTEU7OztFQUdFO0VBQ0E7QXJEMm9MSjtBcUR4b0xFOztFQUVFO0VBQ0E7RWpDNURFLDJCaUM2REY7QXJEMG9MSjtBb0Juc0xNO0VpQ3FESjs7SWpDcERNO0VwQnVzTE47QUFDRjs7QXFEdm9MQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBLFVqRG85Qm1DO0VpRG45Qm5DLFdqRDFGUztFaUQyRlQ7RUFDQSxZakRrOUJtQztFZ0JyaUMvQiw4QmlDb0ZKO0FyRHlvTEY7QW9CenRMTTtFaUNrRU47O0lqQ2pFUTtFcEI2dExOO0FBQ0Y7QU1udUxFOzs7RStDd0ZFLFdqRGpHTztFaURrR1A7RUFDQTtFQUNBLFlqRDI4QmlDO0FKcXNKckM7O0FxRDdvTEE7RUFDRTtBckRncExGOztBcUQzb0xBO0VBQ0U7QXJEOG9MRjs7QXFEdm9MQTs7RUFFRTtFQUNBLFdqRG84Qm1DO0VpRG44Qm5DLFlqRG04Qm1DO0VpRGw4Qm5DO0FyRDBvTEY7O0FxRHhvTEE7RUFDRTtBckQyb0xGOztBcUR6b0xBO0VBQ0U7QXJENG9MRjs7QXFEbm9MQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxpQmpEMDVCbUM7RWlEejVCbkMsZ0JqRHk1Qm1DO0VpRHg1Qm5DO0FyRHFvTEY7QXFEbm9MRTtFQUNFO0VBQ0E7RUFDQSxXakR3NUJpQztFaUR2NUJqQyxXakR3NUJpQztFaUR2NUJqQyxpQmpEeTVCaUM7RWlEeDVCakMsZ0JqRHc1QmlDO0VpRHY1QmpDO0VBQ0E7RUFDQSxzQmpEaEtPO0VpRGlLUDtFQUVBO0VBQ0E7RUFDQTtFakM1SkUsNkJpQzZKRjtBckRvb0xKO0FvQjd4TE07RWlDMElKO0lqQ3pJTTtFcEJneUxOO0FBQ0Y7QXFEdG9MRTtFQUNFO0FyRHdvTEo7O0FxRC9uTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdqRDNMUztFaUQ0TFQ7QXJEa29MRjs7QXVEajBMQTtFQUNFO0lBQUs7RXZEcTBMTDtBQUNGO0F1RG4wTEE7RUFDRTtFQUNBLFduRG9rQ3NCO0VtRG5rQ3RCLFluRG1rQ3NCO0VtRGxrQ3RCO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QXZEbzBMRjs7QXVEajBMQTtFQUNFLFduRDZqQ3dCO0VtRDVqQ3hCLFluRDRqQ3dCO0VtRDNqQ3hCLG1CbkQ2akN3QjtBSnV3SjFCOztBdUQ3ekxBO0VBQ0U7SUFDRTtFdkRnMExGO0V1RDl6TEE7SUFDRTtJQUNBO0V2RGcwTEY7QUFDRjtBdUQ3ekxBO0VBQ0U7RUFDQSxXbkRvaUNzQjtFbURuaUN0QixZbkRtaUNzQjtFbURsaUN0QjtFQUNBO0VBRUE7RUFDQTtFQUNBO0F2RDh6TEY7O0F1RDN6TEE7RUFDRSxXbkQ2aEN3QjtFbUQ1aEN4QixZbkQ0aEN3QjtBSmt5SjFCOztBdUQxekxFO0VBQ0U7O0lBRUU7RXZENnpMSjtBQUNGO0F3RHozTEE7RUFBcUI7QXhENDNMckI7O0F3RDMzTEE7RUFBcUI7QXhEKzNMckI7O0F3RDkzTEE7RUFBcUI7QXhEazRMckI7O0F3RGo0TEE7RUFBcUI7QXhEcTRMckI7O0F3RHA0TEE7RUFBcUI7QXhEdzRMckI7O0F3RHY0TEE7RUFBcUI7QXhEMjRMckI7O0F5RDc0TEU7RUFDRTtBekRnNUxKOztBTXQ0TEU7OztFbURMSTtBekRpNUxOOztBeUR2NUxFO0VBQ0U7QXpEMDVMSjs7QU1oNUxFOzs7RW1ETEk7QXpEMjVMTjs7QXlEajZMRTtFQUNFO0F6RG82TEo7O0FNMTVMRTs7O0VtRExJO0F6RHE2TE47O0F5RDM2TEU7RUFDRTtBekQ4NkxKOztBTXA2TEU7OztFbURMSTtBekQrNkxOOztBeURyN0xFO0VBQ0U7QXpEdzdMSjs7QU05NkxFOzs7RW1ETEk7QXpEeTdMTjs7QXlELzdMRTtFQUNFO0F6RGs4TEo7O0FNeDdMRTs7O0VtRExJO0F6RG04TE47O0F5RHo4TEU7RUFDRTtBekQ0OExKOztBTWw4TEU7OztFbURMSTtBekQ2OExOOztBeURuOUxFO0VBQ0U7QXpEczlMSjs7QU01OExFOzs7RW1ETEk7QXpEdTlMTjs7QTBEdDlMQTtFQUNFO0ExRHk5TEY7O0EwRHQ5TEE7RUFDRTtBMUR5OUxGOztBMkRwK0xBO0VBQWtCO0EzRHcrTGxCOztBMkR2K0xBO0VBQWtCO0EzRDIrTGxCOztBMkQxK0xBO0VBQWtCO0EzRDgrTGxCOztBMkQ3K0xBO0VBQWtCO0EzRGkvTGxCOztBMkRoL0xBO0VBQWtCO0EzRG8vTGxCOztBMkRsL0xBO0VBQW1CO0EzRHMvTG5COztBMkRyL0xBO0VBQW1CO0EzRHkvTG5COztBMkR4L0xBO0VBQW1CO0EzRDQvTG5COztBMkQzL0xBO0VBQW1CO0EzRCsvTG5COztBMkQ5L0xBO0VBQW1CO0EzRGtnTW5COztBMkQvL0xFO0VBQ0U7QTNEa2dNSjs7QTJEbmdNRTtFQUNFO0EzRHNnTUo7O0EyRHZnTUU7RUFDRTtBM0QwZ01KOztBMkQzZ01FO0VBQ0U7QTNEOGdNSjs7QTJEL2dNRTtFQUNFO0EzRGtoTUo7O0EyRG5oTUU7RUFDRTtBM0RzaE1KOztBMkR2aE1FO0VBQ0U7QTNEMGhNSjs7QTJEM2hNRTtFQUNFO0EzRDhoTUo7O0EyRDFoTUE7RUFDRTtBM0Q2aE1GOztBMkR0aE1BO0VBQ0U7QTNEeWhNRjs7QTJEdGhNQTtFQUNFO0EzRHloTUY7O0EyRHRoTUE7RUFDRTtFQUNBO0EzRHloTUY7O0EyRHRoTUE7RUFDRTtFQUNBO0EzRHloTUY7O0EyRHRoTUE7RUFDRTtFQUNBO0EzRHloTUY7O0EyRHRoTUE7RUFDRTtFQUNBO0EzRHloTUY7O0EyRHRoTUE7RUFDRTtBM0R5aE1GOztBMkR0aE1BO0VBQ0U7QTNEeWhNRjs7QTJEdGhNQTtFQUNFO0EzRHloTUY7O0EyRHRoTUE7RUFDRTtBM0R5aE1GOztBc0RqbU1FO0VBQ0U7RUFDQTtFQUNBO0F0RG9tTUo7O0E0RDdsTU07RUFBd0I7QTVEaW1NOUI7O0E0RGptTU07RUFBd0I7QTVEcW1NOUI7O0E0RHJtTU07RUFBd0I7QTVEeW1NOUI7O0E0RHptTU07RUFBd0I7QTVENm1NOUI7O0E0RDdtTU07RUFBd0I7QTVEaW5NOUI7O0E0RGpuTU07RUFBd0I7QTVEcW5NOUI7O0E0RHJuTU07RUFBd0I7QTVEeW5NOUI7O0E0RHpuTU07RUFBd0I7QTVENm5NOUI7O0E0RDduTU07RUFBd0I7QTVEaW9NOUI7O0FlaGxNSTtFNkNqREU7SUFBd0I7RTVEc29NNUI7O0U0RHRvTUk7SUFBd0I7RTVEMG9NNUI7O0U0RDFvTUk7SUFBd0I7RTVEOG9NNUI7O0U0RDlvTUk7SUFBd0I7RTVEa3BNNUI7O0U0RGxwTUk7SUFBd0I7RTVEc3BNNUI7O0U0RHRwTUk7SUFBd0I7RTVEMHBNNUI7O0U0RDFwTUk7SUFBd0I7RTVEOHBNNUI7O0U0RDlwTUk7SUFBd0I7RTVEa3FNNUI7O0U0RGxxTUk7SUFBd0I7RTVEc3FNNUI7QUFDRjtBZXRuTUk7RTZDakRFO0lBQXdCO0U1RDJxTTVCOztFNEQzcU1JO0lBQXdCO0U1RCtxTTVCOztFNEQvcU1JO0lBQXdCO0U1RG1yTTVCOztFNERuck1JO0lBQXdCO0U1RHVyTTVCOztFNER2ck1JO0lBQXdCO0U1RDJyTTVCOztFNEQzck1JO0lBQXdCO0U1RCtyTTVCOztFNEQvck1JO0lBQXdCO0U1RG1zTTVCOztFNERuc01JO0lBQXdCO0U1RHVzTTVCOztFNER2c01JO0lBQXdCO0U1RDJzTTVCO0FBQ0Y7QWUzcE1JO0U2Q2pERTtJQUF3QjtFNURndE01Qjs7RTREaHRNSTtJQUF3QjtFNURvdE01Qjs7RTREcHRNSTtJQUF3QjtFNUR3dE01Qjs7RTREeHRNSTtJQUF3QjtFNUQ0dE01Qjs7RTRENXRNSTtJQUF3QjtFNURndU01Qjs7RTREaHVNSTtJQUF3QjtFNURvdU01Qjs7RTREcHVNSTtJQUF3QjtFNUR3dU01Qjs7RTREeHVNSTtJQUF3QjtFNUQ0dU01Qjs7RTRENXVNSTtJQUF3QjtFNURndk01QjtBQUNGO0FlaHNNSTtFNkNqREU7SUFBd0I7RTVEcXZNNUI7O0U0RHJ2TUk7SUFBd0I7RTVEeXZNNUI7O0U0RHp2TUk7SUFBd0I7RTVENnZNNUI7O0U0RDd2TUk7SUFBd0I7RTVEaXdNNUI7O0U0RGp3TUk7SUFBd0I7RTVEcXdNNUI7O0U0RHJ3TUk7SUFBd0I7RTVEeXdNNUI7O0U0RHp3TUk7SUFBd0I7RTVENndNNUI7O0U0RDd3TUk7SUFBd0I7RTVEaXhNNUI7O0U0RGp4TUk7SUFBd0I7RTVEcXhNNUI7QUFDRjtBNEQ1d01BO0VBRUk7SUFBcUI7RTVEOHdNdkI7O0U0RDl3TUU7SUFBcUI7RTVEa3hNdkI7O0U0RGx4TUU7SUFBcUI7RTVEc3hNdkI7O0U0RHR4TUU7SUFBcUI7RTVEMHhNdkI7O0U0RDF4TUU7SUFBcUI7RTVEOHhNdkI7O0U0RDl4TUU7SUFBcUI7RTVEa3lNdkI7O0U0RGx5TUU7SUFBcUI7RTVEc3lNdkI7O0U0RHR5TUU7SUFBcUI7RTVEMHlNdkI7O0U0RDF5TUU7SUFBcUI7RTVEOHlNdkI7QUFDRjtBNkRwME1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0RzME1GO0E2RHAwTUU7RUFDRTtFQUNBO0E3RHMwTUo7QTZEbjBNRTs7Ozs7RUFLRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0RxME1KOztBNkQ1ek1JO0VBQ0U7QTdEK3pNTjs7QTZEaDBNSTtFQUNFO0E3RG0wTU47O0E2RHAwTUk7RUFDRTtBN0R1ME1OOztBNkR4ME1JO0VBQ0U7QTdEMjBNTjs7QThEcDJNSTtFQUFnQztBOUR3Mk1wQzs7QThEdjJNSTtFQUFnQztBOUQyMk1wQzs7QThEMTJNSTtFQUFnQztBOUQ4Mk1wQzs7QThENzJNSTtFQUFnQztBOURpM01wQzs7QThELzJNSTtFQUE4QjtBOURtM01sQzs7QThEbDNNSTtFQUE4QjtBOURzM01sQzs7QThEcjNNSTtFQUE4QjtBOUR5M01sQzs7QThEeDNNSTtFQUE4QjtBOUQ0M01sQzs7QThEMzNNSTtFQUE4QjtBOUQrM01sQzs7QThEOTNNSTtFQUE4QjtBOURrNE1sQzs7QThEajRNSTtFQUE4QjtBOURxNE1sQzs7QThEcDRNSTtFQUE4QjtBOUR3NE1sQzs7QThEdDRNSTtFQUFvQztBOUQwNE14Qzs7QThEejRNSTtFQUFvQztBOUQ2NE14Qzs7QThENTRNSTtFQUFvQztBOURnNU14Qzs7QThELzRNSTtFQUFvQztBOURtNU14Qzs7QThEbDVNSTtFQUFvQztBOURzNU14Qzs7QThEcDVNSTtFQUFpQztBOUR3NU1yQzs7QThEdjVNSTtFQUFpQztBOUQyNU1yQzs7QThEMTVNSTtFQUFpQztBOUQ4NU1yQzs7QThENzVNSTtFQUFpQztBOURpNk1yQzs7QThEaDZNSTtFQUFpQztBOURvNk1yQzs7QThEbDZNSTtFQUFrQztBOURzNk10Qzs7QThEcjZNSTtFQUFrQztBOUR5Nk10Qzs7QThEeDZNSTtFQUFrQztBOUQ0Nk10Qzs7QThEMzZNSTtFQUFrQztBOUQrNk10Qzs7QThEOTZNSTtFQUFrQztBOURrN010Qzs7QThEajdNSTtFQUFrQztBOURxN010Qzs7QThEbjdNSTtFQUFnQztBOUR1N01wQzs7QThEdDdNSTtFQUFnQztBOUQwN01wQzs7QThEejdNSTtFQUFnQztBOUQ2N01wQzs7QThENTdNSTtFQUFnQztBOURnOE1wQzs7QThELzdNSTtFQUFnQztBOURtOE1wQzs7QThEbDhNSTtFQUFnQztBOURzOE1wQzs7QWUxN01JO0UrQ2xEQTtJQUFnQztFOURpL01sQzs7RThEaC9NRTtJQUFnQztFOURvL01sQzs7RThEbi9NRTtJQUFnQztFOUR1L01sQzs7RThEdC9NRTtJQUFnQztFOUQwL01sQzs7RThEeC9NRTtJQUE4QjtFOUQ0L01oQzs7RThEMy9NRTtJQUE4QjtFOUQrL01oQzs7RThEOS9NRTtJQUE4QjtFOURrZ05oQzs7RThEamdORTtJQUE4QjtFOURxZ05oQzs7RThEcGdORTtJQUE4QjtFOUR3Z05oQzs7RThEdmdORTtJQUE4QjtFOUQyZ05oQzs7RThEMWdORTtJQUE4QjtFOUQ4Z05oQzs7RThEN2dORTtJQUE4QjtFOURpaE5oQzs7RThEL2dORTtJQUFvQztFOURtaE50Qzs7RThEbGhORTtJQUFvQztFOURzaE50Qzs7RThEcmhORTtJQUFvQztFOUR5aE50Qzs7RThEeGhORTtJQUFvQztFOUQ0aE50Qzs7RThEM2hORTtJQUFvQztFOUQraE50Qzs7RThEN2hORTtJQUFpQztFOURpaU5uQzs7RThEaGlORTtJQUFpQztFOURvaU5uQzs7RThEbmlORTtJQUFpQztFOUR1aU5uQzs7RThEdGlORTtJQUFpQztFOUQwaU5uQzs7RThEemlORTtJQUFpQztFOUQ2aU5uQzs7RThEM2lORTtJQUFrQztFOUQraU5wQzs7RThEOWlORTtJQUFrQztFOURrak5wQzs7RThEampORTtJQUFrQztFOURxak5wQzs7RThEcGpORTtJQUFrQztFOUR3ak5wQzs7RThEdmpORTtJQUFrQztFOUQyak5wQzs7RThEMWpORTtJQUFrQztFOUQ4ak5wQzs7RThENWpORTtJQUFnQztFOURna05sQzs7RThEL2pORTtJQUFnQztFOURta05sQzs7RThEbGtORTtJQUFnQztFOURza05sQzs7RThEcmtORTtJQUFnQztFOUR5a05sQzs7RThEeGtORTtJQUFnQztFOUQ0a05sQzs7RThEM2tORTtJQUFnQztFOUQra05sQztBQUNGO0FlcGtOSTtFK0NsREE7SUFBZ0M7RTlEMG5ObEM7O0U4RHpuTkU7SUFBZ0M7RTlENm5ObEM7O0U4RDVuTkU7SUFBZ0M7RTlEZ29ObEM7O0U4RC9uTkU7SUFBZ0M7RTlEbW9ObEM7O0U4RGpvTkU7SUFBOEI7RTlEcW9OaEM7O0U4RHBvTkU7SUFBOEI7RTlEd29OaEM7O0U4RHZvTkU7SUFBOEI7RTlEMm9OaEM7O0U4RDFvTkU7SUFBOEI7RTlEOG9OaEM7O0U4RDdvTkU7SUFBOEI7RTlEaXBOaEM7O0U4RGhwTkU7SUFBOEI7RTlEb3BOaEM7O0U4RG5wTkU7SUFBOEI7RTlEdXBOaEM7O0U4RHRwTkU7SUFBOEI7RTlEMHBOaEM7O0U4RHhwTkU7SUFBb0M7RTlENHBOdEM7O0U4RDNwTkU7SUFBb0M7RTlEK3BOdEM7O0U4RDlwTkU7SUFBb0M7RTlEa3FOdEM7O0U4RGpxTkU7SUFBb0M7RTlEcXFOdEM7O0U4RHBxTkU7SUFBb0M7RTlEd3FOdEM7O0U4RHRxTkU7SUFBaUM7RTlEMHFObkM7O0U4RHpxTkU7SUFBaUM7RTlENnFObkM7O0U4RDVxTkU7SUFBaUM7RTlEZ3JObkM7O0U4RC9xTkU7SUFBaUM7RTlEbXJObkM7O0U4RGxyTkU7SUFBaUM7RTlEc3JObkM7O0U4RHByTkU7SUFBa0M7RTlEd3JOcEM7O0U4RHZyTkU7SUFBa0M7RTlEMnJOcEM7O0U4RDFyTkU7SUFBa0M7RTlEOHJOcEM7O0U4RDdyTkU7SUFBa0M7RTlEaXNOcEM7O0U4RGhzTkU7SUFBa0M7RTlEb3NOcEM7O0U4RG5zTkU7SUFBa0M7RTlEdXNOcEM7O0U4RHJzTkU7SUFBZ0M7RTlEeXNObEM7O0U4RHhzTkU7SUFBZ0M7RTlENHNObEM7O0U4RDNzTkU7SUFBZ0M7RTlEK3NObEM7O0U4RDlzTkU7SUFBZ0M7RTlEa3RObEM7O0U4RGp0TkU7SUFBZ0M7RTlEcXRObEM7O0U4RHB0TkU7SUFBZ0M7RTlEd3RObEM7QUFDRjtBZTdzTkk7RStDbERBO0lBQWdDO0U5RG13TmxDOztFOERsd05FO0lBQWdDO0U5RHN3TmxDOztFOERyd05FO0lBQWdDO0U5RHl3TmxDOztFOER4d05FO0lBQWdDO0U5RDR3TmxDOztFOEQxd05FO0lBQThCO0U5RDh3TmhDOztFOEQ3d05FO0lBQThCO0U5RGl4TmhDOztFOERoeE5FO0lBQThCO0U5RG94TmhDOztFOERueE5FO0lBQThCO0U5RHV4TmhDOztFOER0eE5FO0lBQThCO0U5RDB4TmhDOztFOER6eE5FO0lBQThCO0U5RDZ4TmhDOztFOEQ1eE5FO0lBQThCO0U5RGd5TmhDOztFOEQveE5FO0lBQThCO0U5RG15TmhDOztFOERqeU5FO0lBQW9DO0U5RHF5TnRDOztFOERweU5FO0lBQW9DO0U5RHd5TnRDOztFOER2eU5FO0lBQW9DO0U5RDJ5TnRDOztFOEQxeU5FO0lBQW9DO0U5RDh5TnRDOztFOEQ3eU5FO0lBQW9DO0U5RGl6TnRDOztFOEQveU5FO0lBQWlDO0U5RG16Tm5DOztFOERsek5FO0lBQWlDO0U5RHN6Tm5DOztFOERyek5FO0lBQWlDO0U5RHl6Tm5DOztFOER4ek5FO0lBQWlDO0U5RDR6Tm5DOztFOEQzek5FO0lBQWlDO0U5RCt6Tm5DOztFOEQ3ek5FO0lBQWtDO0U5RGkwTnBDOztFOERoME5FO0lBQWtDO0U5RG8wTnBDOztFOERuME5FO0lBQWtDO0U5RHUwTnBDOztFOER0ME5FO0lBQWtDO0U5RDAwTnBDOztFOER6ME5FO0lBQWtDO0U5RDYwTnBDOztFOEQ1ME5FO0lBQWtDO0U5RGcxTnBDOztFOEQ5ME5FO0lBQWdDO0U5RGsxTmxDOztFOERqMU5FO0lBQWdDO0U5RHExTmxDOztFOERwMU5FO0lBQWdDO0U5RHcxTmxDOztFOER2MU5FO0lBQWdDO0U5RDIxTmxDOztFOEQxMU5FO0lBQWdDO0U5RDgxTmxDOztFOEQ3MU5FO0lBQWdDO0U5RGkyTmxDO0FBQ0Y7QWV0MU5JO0UrQ2xEQTtJQUFnQztFOUQ0NE5sQzs7RThEMzRORTtJQUFnQztFOUQrNE5sQzs7RThEOTRORTtJQUFnQztFOURrNU5sQzs7RThEajVORTtJQUFnQztFOURxNU5sQzs7RThEbjVORTtJQUE4QjtFOUR1NU5oQzs7RThEdDVORTtJQUE4QjtFOUQwNU5oQzs7RThEejVORTtJQUE4QjtFOUQ2NU5oQzs7RThENTVORTtJQUE4QjtFOURnNk5oQzs7RThELzVORTtJQUE4QjtFOURtNk5oQzs7RThEbDZORTtJQUE4QjtFOURzNk5oQzs7RThEcjZORTtJQUE4QjtFOUR5Nk5oQzs7RThEeDZORTtJQUE4QjtFOUQ0Nk5oQzs7RThEMTZORTtJQUFvQztFOUQ4Nk50Qzs7RThENzZORTtJQUFvQztFOURpN050Qzs7RThEaDdORTtJQUFvQztFOURvN050Qzs7RThEbjdORTtJQUFvQztFOUR1N050Qzs7RThEdDdORTtJQUFvQztFOUQwN050Qzs7RThEeDdORTtJQUFpQztFOUQ0N05uQzs7RThEMzdORTtJQUFpQztFOUQrN05uQzs7RThEOTdORTtJQUFpQztFOURrOE5uQzs7RThEajhORTtJQUFpQztFOURxOE5uQzs7RThEcDhORTtJQUFpQztFOUR3OE5uQzs7RThEdDhORTtJQUFrQztFOUQwOE5wQzs7RThEejhORTtJQUFrQztFOUQ2OE5wQzs7RThENThORTtJQUFrQztFOURnOU5wQzs7RThELzhORTtJQUFrQztFOURtOU5wQzs7RThEbDlORTtJQUFrQztFOURzOU5wQzs7RThEcjlORTtJQUFrQztFOUR5OU5wQzs7RThEdjlORTtJQUFnQztFOUQyOU5sQzs7RThEMTlORTtJQUFnQztFOUQ4OU5sQzs7RThENzlORTtJQUFnQztFOURpK05sQzs7RThEaCtORTtJQUFnQztFOURvK05sQzs7RThEbitORTtJQUFnQztFOUR1K05sQzs7RThEdCtORTtJQUFnQztFOUQwK05sQztBQUNGO0ErRHJoT0k7RUFBd0I7QS9Ed2hPNUI7O0ErRHZoT0k7RUFBd0I7QS9EMmhPNUI7O0ErRDFoT0k7RUFBd0I7QS9EOGhPNUI7O0FlMStOSTtFZ0R0REE7SUFBd0I7RS9EcWlPMUI7O0UrRHBpT0U7SUFBd0I7RS9Ed2lPMUI7O0UrRHZpT0U7SUFBd0I7RS9EMmlPMUI7QUFDRjtBZXgvTkk7RWdEdERBO0lBQXdCO0UvRGtqTzFCOztFK0Rqak9FO0lBQXdCO0UvRHFqTzFCOztFK0Rwak9FO0lBQXdCO0UvRHdqTzFCO0FBQ0Y7QWVyZ09JO0VnRHREQTtJQUF3QjtFL0Qrak8xQjs7RStEOWpPRTtJQUF3QjtFL0Rra08xQjs7RStEamtPRTtJQUF3QjtFL0Rxa08xQjtBQUNGO0FlbGhPSTtFZ0R0REE7SUFBd0I7RS9ENGtPMUI7O0UrRDNrT0U7SUFBd0I7RS9EK2tPMUI7O0UrRDlrT0U7SUFBd0I7RS9Ea2xPMUI7QUFDRjtBZ0V4bE9FO0VBQXlCO0FoRTJsTzNCOztBZ0UzbE9FO0VBQXlCO0FoRStsTzNCOztBZ0UvbE9FO0VBQXlCO0FoRW1tTzNCOztBaUVubU9FO0VBQXNCO0FqRXVtT3hCOztBaUV2bU9FO0VBQXNCO0FqRTJtT3hCOztBa0UxbU9FO0VBQXlCO0FsRThtTzNCOztBa0U5bU9FO0VBQXlCO0FsRWtuTzNCOztBa0Vsbk9FO0VBQXlCO0FsRXNuTzNCOztBa0V0bk9FO0VBQXlCO0FsRTBuTzNCOztBa0Uxbk9FO0VBQXlCO0FsRThuTzNCOztBa0V6bk9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhOURncUJrQztBSjQ5TXBDOztBa0V6bk9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhOUR3cEJrQztBSm8rTXBDOztBa0V4bk9FO0VBREY7SUFFSTtJQUNBO0lBQ0EsYTlEZ3BCZ0M7RUo0K01sQztBQUNGOztBbUV0cE9BO0VDRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRXdwT0Y7O0FvRTlvT0U7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBFZ3BPSjs7QXFFN3FPQTtFQUFhO0FyRWlyT2I7O0FxRWhyT0E7RUFBVTtBckVvck9WOztBcUVuck9BO0VBQWE7QXJFdXJPYjs7QXFFdHJPQTtFQUFlO0FyRTByT2Y7O0FzRXpyT0k7RUFBdUI7QXRFNnJPM0I7O0FzRTdyT0k7RUFBdUI7QXRFaXNPM0I7O0FzRWpzT0k7RUFBdUI7QXRFcXNPM0I7O0FzRXJzT0k7RUFBdUI7QXRFeXNPM0I7O0FzRXpzT0k7RUFBdUI7QXRFNnNPM0I7O0FzRTdzT0k7RUFBdUI7QXRFaXRPM0I7O0FzRWp0T0k7RUFBdUI7QXRFcXRPM0I7O0FzRXJ0T0k7RUFBdUI7QXRFeXRPM0I7O0FzRXp0T0k7RUFBdUI7QXRFNnRPM0I7O0FzRTd0T0k7RUFBdUI7QXRFaXVPM0I7O0FzRTd0T0E7RUFBVTtBdEVpdU9WOztBc0VodU9BO0VBQVU7QXRFb3VPVjs7QXNFaHVPQTtFQUFjO0F0RW91T2Q7O0FzRW51T0E7RUFBYztBdEV1dU9kOztBc0VydU9BO0VBQVU7QXRFeXVPVjs7QXNFeHVPQTtFQUFVO0F0RTR1T1Y7O0F1RXJ2T1E7RUFBZ0M7QXZFeXZPeEM7O0F1RXh2T1E7O0VBRUU7QXZFMnZPVjs7QXVFenZPUTs7RUFFRTtBdkU0dk9WOztBdUUxdk9ROztFQUVFO0F2RTZ2T1Y7O0F1RTN2T1E7O0VBRUU7QXZFOHZPVjs7QXVFN3dPUTtFQUFnQztBdkVpeE94Qzs7QXVFaHhPUTs7RUFFRTtBdkVteE9WOztBdUVqeE9ROztFQUVFO0F2RW94T1Y7O0F1RWx4T1E7O0VBRUU7QXZFcXhPVjs7QXVFbnhPUTs7RUFFRTtBdkVzeE9WOztBdUVyeU9RO0VBQWdDO0F2RXl5T3hDOztBdUV4eU9ROztFQUVFO0F2RTJ5T1Y7O0F1RXp5T1E7O0VBRUU7QXZFNHlPVjs7QXVFMXlPUTs7RUFFRTtBdkU2eU9WOztBdUUzeU9ROztFQUVFO0F2RTh5T1Y7O0F1RTd6T1E7RUFBZ0M7QXZFaTBPeEM7O0F1RWgwT1E7O0VBRUU7QXZFbTBPVjs7QXVFajBPUTs7RUFFRTtBdkVvME9WOztBdUVsME9ROztFQUVFO0F2RXEwT1Y7O0F1RW4wT1E7O0VBRUU7QXZFczBPVjs7QXVFcjFPUTtFQUFnQztBdkV5MU94Qzs7QXVFeDFPUTs7RUFFRTtBdkUyMU9WOztBdUV6MU9ROztFQUVFO0F2RTQxT1Y7O0F1RTExT1E7O0VBRUU7QXZFNjFPVjs7QXVFMzFPUTs7RUFFRTtBdkU4MU9WOztBdUU3Mk9RO0VBQWdDO0F2RWkzT3hDOztBdUVoM09ROztFQUVFO0F2RW0zT1Y7O0F1RWozT1E7O0VBRUU7QXZFbzNPVjs7QXVFbDNPUTs7RUFFRTtBdkVxM09WOztBdUVuM09ROztFQUVFO0F2RXMzT1Y7O0F1RXI0T1E7RUFBZ0M7QXZFeTRPeEM7O0F1RXg0T1E7O0VBRUU7QXZFMjRPVjs7QXVFejRPUTs7RUFFRTtBdkU0NE9WOztBdUUxNE9ROztFQUVFO0F2RTY0T1Y7O0F1RTM0T1E7O0VBRUU7QXZFODRPVjs7QXVFNzVPUTtFQUFnQztBdkVpNk94Qzs7QXVFaDZPUTs7RUFFRTtBdkVtNk9WOztBdUVqNk9ROztFQUVFO0F2RW82T1Y7O0F1RWw2T1E7O0VBRUU7QXZFcTZPVjs7QXVFbjZPUTs7RUFFRTtBdkVzNk9WOztBdUVyN09RO0VBQWdDO0F2RXk3T3hDOztBdUV4N09ROztFQUVFO0F2RTI3T1Y7O0F1RXo3T1E7O0VBRUU7QXZFNDdPVjs7QXVFMTdPUTs7RUFFRTtBdkU2N09WOztBdUUzN09ROztFQUVFO0F2RTg3T1Y7O0F1RTc4T1E7RUFBZ0M7QXZFaTlPeEM7O0F1RWg5T1E7O0VBRUU7QXZFbTlPVjs7QXVFajlPUTs7RUFFRTtBdkVvOU9WOztBdUVsOU9ROztFQUVFO0F2RXE5T1Y7O0F1RW45T1E7O0VBRUU7QXZFczlPVjs7QXVFcitPUTtFQUFnQztBdkV5K094Qzs7QXVFeCtPUTs7RUFFRTtBdkUyK09WOztBdUV6K09ROztFQUVFO0F2RTQrT1Y7O0F1RTErT1E7O0VBRUU7QXZFNitPVjs7QXVFMytPUTs7RUFFRTtBdkU4K09WOztBdUU3L09RO0VBQWdDO0F2RWlnUHhDOztBdUVoZ1BROztFQUVFO0F2RW1nUFY7O0F1RWpnUFE7O0VBRUU7QXZFb2dQVjs7QXVFbGdQUTs7RUFFRTtBdkVxZ1BWOztBdUVuZ1BROztFQUVFO0F2RXNnUFY7O0F1RTkvT1E7RUFBd0I7QXZFa2dQaEM7O0F1RWpnUFE7O0VBRUU7QXZFb2dQVjs7QXVFbGdQUTs7RUFFRTtBdkVxZ1BWOztBdUVuZ1BROztFQUVFO0F2RXNnUFY7O0F1RXBnUFE7O0VBRUU7QXZFdWdQVjs7QXVFdGhQUTtFQUF3QjtBdkUwaFBoQzs7QXVFemhQUTs7RUFFRTtBdkU0aFBWOztBdUUxaFBROztFQUVFO0F2RTZoUFY7O0F1RTNoUFE7O0VBRUU7QXZFOGhQVjs7QXVFNWhQUTs7RUFFRTtBdkUraFBWOztBdUU5aVBRO0VBQXdCO0F2RWtqUGhDOztBdUVqalBROztFQUVFO0F2RW9qUFY7O0F1RWxqUFE7O0VBRUU7QXZFcWpQVjs7QXVFbmpQUTs7RUFFRTtBdkVzalBWOztBdUVwalBROztFQUVFO0F2RXVqUFY7O0F1RXRrUFE7RUFBd0I7QXZFMGtQaEM7O0F1RXprUFE7O0VBRUU7QXZFNGtQVjs7QXVFMWtQUTs7RUFFRTtBdkU2a1BWOztBdUUza1BROztFQUVFO0F2RThrUFY7O0F1RTVrUFE7O0VBRUU7QXZFK2tQVjs7QXVFOWxQUTtFQUF3QjtBdkVrbVBoQzs7QXVFam1QUTs7RUFFRTtBdkVvbVBWOztBdUVsbVBROztFQUVFO0F2RXFtUFY7O0F1RW5tUFE7O0VBRUU7QXZFc21QVjs7QXVFcG1QUTs7RUFFRTtBdkV1bVBWOztBdUVqbVBJO0VBQW1CO0F2RXFtUHZCOztBdUVwbVBJOztFQUVFO0F2RXVtUE47O0F1RXJtUEk7O0VBRUU7QXZFd21QTjs7QXVFdG1QSTs7RUFFRTtBdkV5bVBOOztBdUV2bVBJOztFQUVFO0F2RTBtUE47O0Flbm5QSTtFd0RsREk7SUFBZ0M7RXZFMHFQdEM7O0V1RXpxUE07O0lBRUU7RXZFNHFQUjs7RXVFMXFQTTs7SUFFRTtFdkU2cVBSOztFdUUzcVBNOztJQUVFO0V2RThxUFI7O0V1RTVxUE07O0lBRUU7RXZFK3FQUjs7RXVFOXJQTTtJQUFnQztFdkVrc1B0Qzs7RXVFanNQTTs7SUFFRTtFdkVvc1BSOztFdUVsc1BNOztJQUVFO0V2RXFzUFI7O0V1RW5zUE07O0lBRUU7RXZFc3NQUjs7RXVFcHNQTTs7SUFFRTtFdkV1c1BSOztFdUV0dFBNO0lBQWdDO0V2RTB0UHRDOztFdUV6dFBNOztJQUVFO0V2RTR0UFI7O0V1RTF0UE07O0lBRUU7RXZFNnRQUjs7RXVFM3RQTTs7SUFFRTtFdkU4dFBSOztFdUU1dFBNOztJQUVFO0V2RSt0UFI7O0V1RTl1UE07SUFBZ0M7RXZFa3ZQdEM7O0V1RWp2UE07O0lBRUU7RXZFb3ZQUjs7RXVFbHZQTTs7SUFFRTtFdkVxdlBSOztFdUVudlBNOztJQUVFO0V2RXN2UFI7O0V1RXB2UE07O0lBRUU7RXZFdXZQUjs7RXVFdHdQTTtJQUFnQztFdkUwd1B0Qzs7RXVFendQTTs7SUFFRTtFdkU0d1BSOztFdUUxd1BNOztJQUVFO0V2RTZ3UFI7O0V1RTN3UE07O0lBRUU7RXZFOHdQUjs7RXVFNXdQTTs7SUFFRTtFdkUrd1BSOztFdUU5eFBNO0lBQWdDO0V2RWt5UHRDOztFdUVqeVBNOztJQUVFO0V2RW95UFI7O0V1RWx5UE07O0lBRUU7RXZFcXlQUjs7RXVFbnlQTTs7SUFFRTtFdkVzeVBSOztFdUVweVBNOztJQUVFO0V2RXV5UFI7O0V1RXR6UE07SUFBZ0M7RXZFMHpQdEM7O0V1RXp6UE07O0lBRUU7RXZFNHpQUjs7RXVFMXpQTTs7SUFFRTtFdkU2elBSOztFdUUzelBNOztJQUVFO0V2RTh6UFI7O0V1RTV6UE07O0lBRUU7RXZFK3pQUjs7RXVFOTBQTTtJQUFnQztFdkVrMVB0Qzs7RXVFajFQTTs7SUFFRTtFdkVvMVBSOztFdUVsMVBNOztJQUVFO0V2RXExUFI7O0V1RW4xUE07O0lBRUU7RXZFczFQUjs7RXVFcDFQTTs7SUFFRTtFdkV1MVBSOztFdUV0MlBNO0lBQWdDO0V2RTAyUHRDOztFdUV6MlBNOztJQUVFO0V2RTQyUFI7O0V1RTEyUE07O0lBRUU7RXZFNjJQUjs7RXVFMzJQTTs7SUFFRTtFdkU4MlBSOztFdUU1MlBNOztJQUVFO0V2RSsyUFI7O0V1RTkzUE07SUFBZ0M7RXZFazRQdEM7O0V1RWo0UE07O0lBRUU7RXZFbzRQUjs7RXVFbDRQTTs7SUFFRTtFdkVxNFBSOztFdUVuNFBNOztJQUVFO0V2RXM0UFI7O0V1RXA0UE07O0lBRUU7RXZFdTRQUjs7RXVFdDVQTTtJQUFnQztFdkUwNVB0Qzs7RXVFejVQTTs7SUFFRTtFdkU0NVBSOztFdUUxNVBNOztJQUVFO0V2RTY1UFI7O0V1RTM1UE07O0lBRUU7RXZFODVQUjs7RXVFNTVQTTs7SUFFRTtFdkUrNVBSOztFdUU5NlBNO0lBQWdDO0V2RWs3UHRDOztFdUVqN1BNOztJQUVFO0V2RW83UFI7O0V1RWw3UE07O0lBRUU7RXZFcTdQUjs7RXVFbjdQTTs7SUFFRTtFdkVzN1BSOztFdUVwN1BNOztJQUVFO0V2RXU3UFI7O0V1RS82UE07SUFBd0I7RXZFbTdQOUI7O0V1RWw3UE07O0lBRUU7RXZFcTdQUjs7RXVFbjdQTTs7SUFFRTtFdkVzN1BSOztFdUVwN1BNOztJQUVFO0V2RXU3UFI7O0V1RXI3UE07O0lBRUU7RXZFdzdQUjs7RXVFdjhQTTtJQUF3QjtFdkUyOFA5Qjs7RXVFMThQTTs7SUFFRTtFdkU2OFBSOztFdUUzOFBNOztJQUVFO0V2RTg4UFI7O0V1RTU4UE07O0lBRUU7RXZFKzhQUjs7RXVFNzhQTTs7SUFFRTtFdkVnOVBSOztFdUUvOVBNO0lBQXdCO0V2RW0rUDlCOztFdUVsK1BNOztJQUVFO0V2RXErUFI7O0V1RW4rUE07O0lBRUU7RXZFcytQUjs7RXVFcCtQTTs7SUFFRTtFdkV1K1BSOztFdUVyK1BNOztJQUVFO0V2RXcrUFI7O0V1RXYvUE07SUFBd0I7RXZFMi9QOUI7O0V1RTEvUE07O0lBRUU7RXZFNi9QUjs7RXVFMy9QTTs7SUFFRTtFdkU4L1BSOztFdUU1L1BNOztJQUVFO0V2RSsvUFI7O0V1RTcvUE07O0lBRUU7RXZFZ2dRUjs7RXVFL2dRTTtJQUF3QjtFdkVtaFE5Qjs7RXVFbGhRTTs7SUFFRTtFdkVxaFFSOztFdUVuaFFNOztJQUVFO0V2RXNoUVI7O0V1RXBoUU07O0lBRUU7RXZFdWhRUjs7RXVFcmhRTTs7SUFFRTtFdkV3aFFSOztFdUVsaFFFO0lBQW1CO0V2RXNoUXJCOztFdUVyaFFFOztJQUVFO0V2RXdoUUo7O0V1RXRoUUU7O0lBRUU7RXZFeWhRSjs7RXVFdmhRRTs7SUFFRTtFdkUwaFFKOztFdUV4aFFFOztJQUVFO0V2RTJoUUo7QUFDRjtBZXJpUUk7RXdEbERJO0lBQWdDO0V2RTJsUXRDOztFdUUxbFFNOztJQUVFO0V2RTZsUVI7O0V1RTNsUU07O0lBRUU7RXZFOGxRUjs7RXVFNWxRTTs7SUFFRTtFdkUrbFFSOztFdUU3bFFNOztJQUVFO0V2RWdtUVI7O0V1RS9tUU07SUFBZ0M7RXZFbW5RdEM7O0V1RWxuUU07O0lBRUU7RXZFcW5RUjs7RXVFbm5RTTs7SUFFRTtFdkVzblFSOztFdUVwblFNOztJQUVFO0V2RXVuUVI7O0V1RXJuUU07O0lBRUU7RXZFd25RUjs7RXVFdm9RTTtJQUFnQztFdkUyb1F0Qzs7RXVFMW9RTTs7SUFFRTtFdkU2b1FSOztFdUUzb1FNOztJQUVFO0V2RThvUVI7O0V1RTVvUU07O0lBRUU7RXZFK29RUjs7RXVFN29RTTs7SUFFRTtFdkVncFFSOztFdUUvcFFNO0lBQWdDO0V2RW1xUXRDOztFdUVscVFNOztJQUVFO0V2RXFxUVI7O0V1RW5xUU07O0lBRUU7RXZFc3FRUjs7RXVFcHFRTTs7SUFFRTtFdkV1cVFSOztFdUVycVFNOztJQUVFO0V2RXdxUVI7O0V1RXZyUU07SUFBZ0M7RXZFMnJRdEM7O0V1RTFyUU07O0lBRUU7RXZFNnJRUjs7RXVFM3JRTTs7SUFFRTtFdkU4clFSOztFdUU1clFNOztJQUVFO0V2RStyUVI7O0V1RTdyUU07O0lBRUU7RXZFZ3NRUjs7RXVFL3NRTTtJQUFnQztFdkVtdFF0Qzs7RXVFbHRRTTs7SUFFRTtFdkVxdFFSOztFdUVudFFNOztJQUVFO0V2RXN0UVI7O0V1RXB0UU07O0lBRUU7RXZFdXRRUjs7RXVFcnRRTTs7SUFFRTtFdkV3dFFSOztFdUV2dVFNO0lBQWdDO0V2RTJ1UXRDOztFdUUxdVFNOztJQUVFO0V2RTZ1UVI7O0V1RTN1UU07O0lBRUU7RXZFOHVRUjs7RXVFNXVRTTs7SUFFRTtFdkUrdVFSOztFdUU3dVFNOztJQUVFO0V2RWd2UVI7O0V1RS92UU07SUFBZ0M7RXZFbXdRdEM7O0V1RWx3UU07O0lBRUU7RXZFcXdRUjs7RXVFbndRTTs7SUFFRTtFdkVzd1FSOztFdUVwd1FNOztJQUVFO0V2RXV3UVI7O0V1RXJ3UU07O0lBRUU7RXZFd3dRUjs7RXVFdnhRTTtJQUFnQztFdkUyeFF0Qzs7RXVFMXhRTTs7SUFFRTtFdkU2eFFSOztFdUUzeFFNOztJQUVFO0V2RTh4UVI7O0V1RTV4UU07O0lBRUU7RXZFK3hRUjs7RXVFN3hRTTs7SUFFRTtFdkVneVFSOztFdUUveVFNO0lBQWdDO0V2RW16UXRDOztFdUVselFNOztJQUVFO0V2RXF6UVI7O0V1RW56UU07O0lBRUU7RXZFc3pRUjs7RXVFcHpRTTs7SUFFRTtFdkV1elFSOztFdUVyelFNOztJQUVFO0V2RXd6UVI7O0V1RXYwUU07SUFBZ0M7RXZFMjBRdEM7O0V1RTEwUU07O0lBRUU7RXZFNjBRUjs7RXVFMzBRTTs7SUFFRTtFdkU4MFFSOztFdUU1MFFNOztJQUVFO0V2RSswUVI7O0V1RTcwUU07O0lBRUU7RXZFZzFRUjs7RXVFLzFRTTtJQUFnQztFdkVtMlF0Qzs7RXVFbDJRTTs7SUFFRTtFdkVxMlFSOztFdUVuMlFNOztJQUVFO0V2RXMyUVI7O0V1RXAyUU07O0lBRUU7RXZFdTJRUjs7RXVFcjJRTTs7SUFFRTtFdkV3MlFSOztFdUVoMlFNO0lBQXdCO0V2RW8yUTlCOztFdUVuMlFNOztJQUVFO0V2RXMyUVI7O0V1RXAyUU07O0lBRUU7RXZFdTJRUjs7RXVFcjJRTTs7SUFFRTtFdkV3MlFSOztFdUV0MlFNOztJQUVFO0V2RXkyUVI7O0V1RXgzUU07SUFBd0I7RXZFNDNROUI7O0V1RTMzUU07O0lBRUU7RXZFODNRUjs7RXVFNTNRTTs7SUFFRTtFdkUrM1FSOztFdUU3M1FNOztJQUVFO0V2RWc0UVI7O0V1RTkzUU07O0lBRUU7RXZFaTRRUjs7RXVFaDVRTTtJQUF3QjtFdkVvNVE5Qjs7RXVFbjVRTTs7SUFFRTtFdkVzNVFSOztFdUVwNVFNOztJQUVFO0V2RXU1UVI7O0V1RXI1UU07O0lBRUU7RXZFdzVRUjs7RXVFdDVRTTs7SUFFRTtFdkV5NVFSOztFdUV4NlFNO0lBQXdCO0V2RTQ2UTlCOztFdUUzNlFNOztJQUVFO0V2RTg2UVI7O0V1RTU2UU07O0lBRUU7RXZFKzZRUjs7RXVFNzZRTTs7SUFFRTtFdkVnN1FSOztFdUU5NlFNOztJQUVFO0V2RWk3UVI7O0V1RWg4UU07SUFBd0I7RXZFbzhROUI7O0V1RW44UU07O0lBRUU7RXZFczhRUjs7RXVFcDhRTTs7SUFFRTtFdkV1OFFSOztFdUVyOFFNOztJQUVFO0V2RXc4UVI7O0V1RXQ4UU07O0lBRUU7RXZFeThRUjs7RXVFbjhRRTtJQUFtQjtFdkV1OFFyQjs7RXVFdDhRRTs7SUFFRTtFdkV5OFFKOztFdUV2OFFFOztJQUVFO0V2RTA4UUo7O0V1RXg4UUU7O0lBRUU7RXZFMjhRSjs7RXVFejhRRTs7SUFFRTtFdkU0OFFKO0FBQ0Y7QWV0OVFJO0V3RGxESTtJQUFnQztFdkU0Z1J0Qzs7RXVFM2dSTTs7SUFFRTtFdkU4Z1JSOztFdUU1Z1JNOztJQUVFO0V2RStnUlI7O0V1RTdnUk07O0lBRUU7RXZFZ2hSUjs7RXVFOWdSTTs7SUFFRTtFdkVpaFJSOztFdUVoaVJNO0lBQWdDO0V2RW9pUnRDOztFdUVuaVJNOztJQUVFO0V2RXNpUlI7O0V1RXBpUk07O0lBRUU7RXZFdWlSUjs7RXVFcmlSTTs7SUFFRTtFdkV3aVJSOztFdUV0aVJNOztJQUVFO0V2RXlpUlI7O0V1RXhqUk07SUFBZ0M7RXZFNGpSdEM7O0V1RTNqUk07O0lBRUU7RXZFOGpSUjs7RXVFNWpSTTs7SUFFRTtFdkUralJSOztFdUU3alJNOztJQUVFO0V2RWdrUlI7O0V1RTlqUk07O0lBRUU7RXZFaWtSUjs7RXVFaGxSTTtJQUFnQztFdkVvbFJ0Qzs7RXVFbmxSTTs7SUFFRTtFdkVzbFJSOztFdUVwbFJNOztJQUVFO0V2RXVsUlI7O0V1RXJsUk07O0lBRUU7RXZFd2xSUjs7RXVFdGxSTTs7SUFFRTtFdkV5bFJSOztFdUV4bVJNO0lBQWdDO0V2RTRtUnRDOztFdUUzbVJNOztJQUVFO0V2RThtUlI7O0V1RTVtUk07O0lBRUU7RXZFK21SUjs7RXVFN21STTs7SUFFRTtFdkVnblJSOztFdUU5bVJNOztJQUVFO0V2RWluUlI7O0V1RWhvUk07SUFBZ0M7RXZFb29SdEM7O0V1RW5vUk07O0lBRUU7RXZFc29SUjs7RXVFcG9STTs7SUFFRTtFdkV1b1JSOztFdUVyb1JNOztJQUVFO0V2RXdvUlI7O0V1RXRvUk07O0lBRUU7RXZFeW9SUjs7RXVFeHBSTTtJQUFnQztFdkU0cFJ0Qzs7RXVFM3BSTTs7SUFFRTtFdkU4cFJSOztFdUU1cFJNOztJQUVFO0V2RStwUlI7O0V1RTdwUk07O0lBRUU7RXZFZ3FSUjs7RXVFOXBSTTs7SUFFRTtFdkVpcVJSOztFdUVoclJNO0lBQWdDO0V2RW9yUnRDOztFdUVuclJNOztJQUVFO0V2RXNyUlI7O0V1RXByUk07O0lBRUU7RXZFdXJSUjs7RXVFcnJSTTs7SUFFRTtFdkV3clJSOztFdUV0clJNOztJQUVFO0V2RXlyUlI7O0V1RXhzUk07SUFBZ0M7RXZFNHNSdEM7O0V1RTNzUk07O0lBRUU7RXZFOHNSUjs7RXVFNXNSTTs7SUFFRTtFdkUrc1JSOztFdUU3c1JNOztJQUVFO0V2RWd0UlI7O0V1RTlzUk07O0lBRUU7RXZFaXRSUjs7RXVFaHVSTTtJQUFnQztFdkVvdVJ0Qzs7RXVFbnVSTTs7SUFFRTtFdkVzdVJSOztFdUVwdVJNOztJQUVFO0V2RXV1UlI7O0V1RXJ1Uk07O0lBRUU7RXZFd3VSUjs7RXVFdHVSTTs7SUFFRTtFdkV5dVJSOztFdUV4dlJNO0lBQWdDO0V2RTR2UnRDOztFdUUzdlJNOztJQUVFO0V2RTh2UlI7O0V1RTV2Uk07O0lBRUU7RXZFK3ZSUjs7RXVFN3ZSTTs7SUFFRTtFdkVnd1JSOztFdUU5dlJNOztJQUVFO0V2RWl3UlI7O0V1RWh4Uk07SUFBZ0M7RXZFb3hSdEM7O0V1RW54Uk07O0lBRUU7RXZFc3hSUjs7RXVFcHhSTTs7SUFFRTtFdkV1eFJSOztFdUVyeFJNOztJQUVFO0V2RXd4UlI7O0V1RXR4Uk07O0lBRUU7RXZFeXhSUjs7RXVFanhSTTtJQUF3QjtFdkVxeFI5Qjs7RXVFcHhSTTs7SUFFRTtFdkV1eFJSOztFdUVyeFJNOztJQUVFO0V2RXd4UlI7O0V1RXR4Uk07O0lBRUU7RXZFeXhSUjs7RXVFdnhSTTs7SUFFRTtFdkUweFJSOztFdUV6eVJNO0lBQXdCO0V2RTZ5UjlCOztFdUU1eVJNOztJQUVFO0V2RSt5UlI7O0V1RTd5Uk07O0lBRUU7RXZFZ3pSUjs7RXVFOXlSTTs7SUFFRTtFdkVpelJSOztFdUUveVJNOztJQUVFO0V2RWt6UlI7O0V1RWowUk07SUFBd0I7RXZFcTBSOUI7O0V1RXAwUk07O0lBRUU7RXZFdTBSUjs7RXVFcjBSTTs7SUFFRTtFdkV3MFJSOztFdUV0MFJNOztJQUVFO0V2RXkwUlI7O0V1RXYwUk07O0lBRUU7RXZFMDBSUjs7RXVFejFSTTtJQUF3QjtFdkU2MVI5Qjs7RXVFNTFSTTs7SUFFRTtFdkUrMVJSOztFdUU3MVJNOztJQUVFO0V2RWcyUlI7O0V1RTkxUk07O0lBRUU7RXZFaTJSUjs7RXVFLzFSTTs7SUFFRTtFdkVrMlJSOztFdUVqM1JNO0lBQXdCO0V2RXEzUjlCOztFdUVwM1JNOztJQUVFO0V2RXUzUlI7O0V1RXIzUk07O0lBRUU7RXZFdzNSUjs7RXVFdDNSTTs7SUFFRTtFdkV5M1JSOztFdUV2M1JNOztJQUVFO0V2RTAzUlI7O0V1RXAzUkU7SUFBbUI7RXZFdzNSckI7O0V1RXYzUkU7O0lBRUU7RXZFMDNSSjs7RXVFeDNSRTs7SUFFRTtFdkUyM1JKOztFdUV6M1JFOztJQUVFO0V2RTQzUko7O0V1RTEzUkU7O0lBRUU7RXZFNjNSSjtBQUNGO0FldjRSSTtFd0RsREk7SUFBZ0M7RXZFNjdSdEM7O0V1RTU3Uk07O0lBRUU7RXZFKzdSUjs7RXVFNzdSTTs7SUFFRTtFdkVnOFJSOztFdUU5N1JNOztJQUVFO0V2RWk4UlI7O0V1RS83Uk07O0lBRUU7RXZFazhSUjs7RXVFajlSTTtJQUFnQztFdkVxOVJ0Qzs7RXVFcDlSTTs7SUFFRTtFdkV1OVJSOztFdUVyOVJNOztJQUVFO0V2RXc5UlI7O0V1RXQ5Uk07O0lBRUU7RXZFeTlSUjs7RXVFdjlSTTs7SUFFRTtFdkUwOVJSOztFdUV6K1JNO0lBQWdDO0V2RTYrUnRDOztFdUU1K1JNOztJQUVFO0V2RSsrUlI7O0V1RTcrUk07O0lBRUU7RXZFZy9SUjs7RXVFOStSTTs7SUFFRTtFdkVpL1JSOztFdUUvK1JNOztJQUVFO0V2RWsvUlI7O0V1RWpnU007SUFBZ0M7RXZFcWdTdEM7O0V1RXBnU007O0lBRUU7RXZFdWdTUjs7RXVFcmdTTTs7SUFFRTtFdkV3Z1NSOztFdUV0Z1NNOztJQUVFO0V2RXlnU1I7O0V1RXZnU007O0lBRUU7RXZFMGdTUjs7RXVFemhTTTtJQUFnQztFdkU2aFN0Qzs7RXVFNWhTTTs7SUFFRTtFdkUraFNSOztFdUU3aFNNOztJQUVFO0V2RWdpU1I7O0V1RTloU007O0lBRUU7RXZFaWlTUjs7RXVFL2hTTTs7SUFFRTtFdkVraVNSOztFdUVqalNNO0lBQWdDO0V2RXFqU3RDOztFdUVwalNNOztJQUVFO0V2RXVqU1I7O0V1RXJqU007O0lBRUU7RXZFd2pTUjs7RXVFdGpTTTs7SUFFRTtFdkV5alNSOztFdUV2alNNOztJQUVFO0V2RTBqU1I7O0V1RXprU007SUFBZ0M7RXZFNmtTdEM7O0V1RTVrU007O0lBRUU7RXZFK2tTUjs7RXVFN2tTTTs7SUFFRTtFdkVnbFNSOztFdUU5a1NNOztJQUVFO0V2RWlsU1I7O0V1RS9rU007O0lBRUU7RXZFa2xTUjs7RXVFam1TTTtJQUFnQztFdkVxbVN0Qzs7RXVFcG1TTTs7SUFFRTtFdkV1bVNSOztFdUVybVNNOztJQUVFO0V2RXdtU1I7O0V1RXRtU007O0lBRUU7RXZFeW1TUjs7RXVFdm1TTTs7SUFFRTtFdkUwbVNSOztFdUV6blNNO0lBQWdDO0V2RTZuU3RDOztFdUU1blNNOztJQUVFO0V2RStuU1I7O0V1RTduU007O0lBRUU7RXZFZ29TUjs7RXVFOW5TTTs7SUFFRTtFdkVpb1NSOztFdUUvblNNOztJQUVFO0V2RWtvU1I7O0V1RWpwU007SUFBZ0M7RXZFcXBTdEM7O0V1RXBwU007O0lBRUU7RXZFdXBTUjs7RXVFcnBTTTs7SUFFRTtFdkV3cFNSOztFdUV0cFNNOztJQUVFO0V2RXlwU1I7O0V1RXZwU007O0lBRUU7RXZFMHBTUjs7RXVFenFTTTtJQUFnQztFdkU2cVN0Qzs7RXVFNXFTTTs7SUFFRTtFdkUrcVNSOztFdUU3cVNNOztJQUVFO0V2RWdyU1I7O0V1RTlxU007O0lBRUU7RXZFaXJTUjs7RXVFL3FTTTs7SUFFRTtFdkVrclNSOztFdUVqc1NNO0lBQWdDO0V2RXFzU3RDOztFdUVwc1NNOztJQUVFO0V2RXVzU1I7O0V1RXJzU007O0lBRUU7RXZFd3NTUjs7RXVFdHNTTTs7SUFFRTtFdkV5c1NSOztFdUV2c1NNOztJQUVFO0V2RTBzU1I7O0V1RWxzU007SUFBd0I7RXZFc3NTOUI7O0V1RXJzU007O0lBRUU7RXZFd3NTUjs7RXVFdHNTTTs7SUFFRTtFdkV5c1NSOztFdUV2c1NNOztJQUVFO0V2RTBzU1I7O0V1RXhzU007O0lBRUU7RXZFMnNTUjs7RXVFMXRTTTtJQUF3QjtFdkU4dFM5Qjs7RXVFN3RTTTs7SUFFRTtFdkVndVNSOztFdUU5dFNNOztJQUVFO0V2RWl1U1I7O0V1RS90U007O0lBRUU7RXZFa3VTUjs7RXVFaHVTTTs7SUFFRTtFdkVtdVNSOztFdUVsdlNNO0lBQXdCO0V2RXN2UzlCOztFdUVydlNNOztJQUVFO0V2RXd2U1I7O0V1RXR2U007O0lBRUU7RXZFeXZTUjs7RXVFdnZTTTs7SUFFRTtFdkUwdlNSOztFdUV4dlNNOztJQUVFO0V2RTJ2U1I7O0V1RTF3U007SUFBd0I7RXZFOHdTOUI7O0V1RTd3U007O0lBRUU7RXZFZ3hTUjs7RXVFOXdTTTs7SUFFRTtFdkVpeFNSOztFdUUvd1NNOztJQUVFO0V2RWt4U1I7O0V1RWh4U007O0lBRUU7RXZFbXhTUjs7RXVFbHlTTTtJQUF3QjtFdkVzeVM5Qjs7RXVFcnlTTTs7SUFFRTtFdkV3eVNSOztFdUV0eVNNOztJQUVFO0V2RXl5U1I7O0V1RXZ5U007O0lBRUU7RXZFMHlTUjs7RXVFeHlTTTs7SUFFRTtFdkUyeVNSOztFdUVyeVNFO0lBQW1CO0V2RXl5U3JCOztFdUV4eVNFOztJQUVFO0V2RTJ5U0o7O0V1RXp5U0U7O0lBRUU7RXZFNHlTSjs7RXVFMXlTRTs7SUFFRTtFdkU2eVNKOztFdUUzeVNFOztJQUVFO0V2RTh5U0o7QUFDRjtBd0UvMlNFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0F4RSsyU0o7O0F5RXozU0E7RUFBa0I7QXpFNjNTbEI7O0F5RXozU0E7RUFBaUI7QXpFNjNTakI7O0F5RTUzU0E7RUFBaUI7QXpFZzRTakI7O0F5RS8zU0E7RUFBaUI7QXpFbTRTakI7O0F5RWw0U0E7RUNURTtFQUNBO0VBQ0E7QTFFKzRTRjs7QXlFaDRTSTtFQUF3QjtBekVvNFM1Qjs7QXlFbjRTSTtFQUF3QjtBekV1NFM1Qjs7QXlFdDRTSTtFQUF3QjtBekUwNFM1Qjs7QWVyMlNJO0UwRHZDQTtJQUF3QjtFekVpNVMxQjs7RXlFaDVTRTtJQUF3QjtFekVvNVMxQjs7RXlFbjVTRTtJQUF3QjtFekV1NVMxQjtBQUNGO0FlbjNTSTtFMER2Q0E7SUFBd0I7RXpFODVTMUI7O0V5RTc1U0U7SUFBd0I7RXpFaTZTMUI7O0V5RWg2U0U7SUFBd0I7RXpFbzZTMUI7QUFDRjtBZWg0U0k7RTBEdkNBO0lBQXdCO0V6RTI2UzFCOztFeUUxNlNFO0lBQXdCO0V6RTg2UzFCOztFeUU3NlNFO0lBQXdCO0V6RWk3UzFCO0FBQ0Y7QWU3NFNJO0UwRHZDQTtJQUF3QjtFekV3N1MxQjs7RXlFdjdTRTtJQUF3QjtFekUyN1MxQjs7RXlFMTdTRTtJQUF3QjtFekU4N1MxQjtBQUNGO0F5RXo3U0E7RUFBbUI7QXpFNDdTbkI7O0F5RTM3U0E7RUFBbUI7QXpFKzdTbkI7O0F5RTk3U0E7RUFBbUI7QXpFazhTbkI7O0F5RTk3U0E7RUFBdUI7QXpFazhTdkI7O0F5RWo4U0E7RUFBdUI7QXpFcThTdkI7O0F5RXA4U0E7RUFBdUI7QXpFdzhTdkI7O0F5RXY4U0E7RUFBdUI7QXpFMjhTdkI7O0F5RTE4U0E7RUFBdUI7QXpFODhTdkI7O0F5RTc4U0E7RUFBdUI7QXpFaTlTdkI7O0F5RTc4U0E7RUFBYztBekVpOVNkOztBMkV4L1NFO0VBQ0U7QTNFMi9TSjs7QU1qL1NFO0VxRUxNO0EzRTAvU1I7O0EyRWhnVEU7RUFDRTtBM0VtZ1RKOztBTXovU0U7RXFFTE07QTNFa2dUUjs7QTJFeGdURTtFQUNFO0EzRTJnVEo7O0FNamdURTtFcUVMTTtBM0UwZ1RSOztBMkVoaFRFO0VBQ0U7QTNFbWhUSjs7QU16Z1RFO0VxRUxNO0EzRWtoVFI7O0EyRXhoVEU7RUFDRTtBM0UyaFRKOztBTWpoVEU7RXFFTE07QTNFMGhUUjs7QTJFaGlURTtFQUNFO0EzRW1pVEo7O0FNemhURTtFcUVMTTtBM0VraVRSOztBMkV4aVRFO0VBQ0U7QTNFMmlUSjs7QU1qaVRFO0VxRUxNO0EzRTBpVFI7O0EyRWhqVEU7RUFDRTtBM0VtalRKOztBTXppVEU7RXFFTE07QTNFa2pUUjs7QXlFM2dUQTtFQUFhO0F6RStnVGI7O0F5RTlnVEE7RUFBYztBekVraFRkOztBeUVoaFRBO0VBQWlCO0F6RW9oVGpCOztBeUVuaFRBO0VBQWlCO0F6RXVoVGpCOztBeUVuaFRBO0VHdkRFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVFOGtURjs7QXlFdmhUQTtFQUF3QjtBekUyaFR4Qjs7QXlFemhUQTtFQUNFO0VBQ0E7QXpFNGhURjs7QXlFdmhUQTtFQUFjO0F6RTJoVGQ7O0E2RTVsVEE7RUFDRTtBN0UrbFRGOztBNkU1bFRBO0VBQ0U7QTdFK2xURjs7QThFL2xURTtFQUNFOzs7SUFLRTtJQUVBO0U5RStsVEo7O0U4RTNsVEk7SUFDRTtFOUU4bFROOztFOEVybFRFO0lBQ0U7RTlFd2xUSjs7RThFMWtURTtJQUNFO0U5RTZrVEo7O0U4RTNrVEU7O0lBRUU7SUFDQTtFOUU4a1RKOztFOEV0a1RFO0lBQ0U7RTlFeWtUSjs7RThFdGtURTs7SUFFRTtFOUV5a1RKOztFOEV0a1RFOzs7SUFHRTtJQUNBO0U5RXlrVEo7O0U4RXRrVEU7O0lBRUU7RTlFeWtUSjs7RThFamtURTtJQUNFLFExRStoQzhCO0VKcWlSbEM7RThFbGtURTtJQUNFO0U5RW9rVEo7O0U4RWxrVEU7SUFDRTtFOUVxa1RKOztFOEVqa1RFO0lBQ0U7RTlFb2tUSjs7RThFbGtURTtJQUNFO0U5RXFrVEo7O0U4RWxrVEU7SUFDRTtFOUVxa1RKO0U4RW5rVEk7O0lBRUU7RTlFcWtUTjs7RThFaGtUSTs7SUFFRTtFOUVta1ROOztFOEUvalRFO0lBQ0U7RTlFa2tUSjtFOEVoa1RJOzs7O0lBSUUscUIxRXZIRztFSnlyVFQ7O0U4RTlqVEU7SUFDRTtJQUNBLHFCMUU3SEs7RUo4clRUO0FBQ0Y7QStFaHNURTtFQUNFO0EvRWtzVEo7O0Flbm9USTtFZ0V6REU7SUFDRTtFL0Vnc1ROO0FBQ0Y7QWV6b1RJO0VnRXpERTtJQUNFO0UvRXFzVE47QUFDRjtBZTlvVEk7RWdFekRFO0lBQ0U7RS9FMHNUTjtBQUNGO0FlbnBUSTtFZ0V6REU7SUFDRTtFL0Urc1ROO0FBQ0Y7QStFanRUTTtFQUNFO0EvRW10VFI7O0FnRjV0VEU7RUFDRSxjNUVLTztFNEVKUCxzQjVFSE87RTRFSVAscUI1RTBkb0M7RTRFemRwQztFQUlFLGdENUUwWHdCO0FKazJTOUI7QWdGenRUSTtFQUNFLHFCNUU0bkI4QjtFNEUzbkI5QjtBaEYydFROO0FnRnh0VEk7RUFDRSxxQjVFd25COEI7RTRFdm5COUI7QWhGMHRUTjs7QWlGbHZUQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhQ3FKYztFRHBKZCxjQ29KYztFRG5KZDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGcXZURjtBaUZsdlRFO0VBQ0U7QWpGb3ZUSjtBaUZqdlRFO0VBRUU7RUFDQTtBakZrdlRKO0FpRmh2VEk7RUFDRTtBakZrdlROO0FpRi91VEk7RUFDRTtBakZpdlROO0FpRjl1VFE7RUFDRTtBakZndlRWO0FpRjF1VEU7RUFHRSxhN0VvWTBCO0U2RW5ZMUI7QWpGMHVUSjtBaUZ2dVRFOzs7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FqRnd1VEo7QWlGcnVURTtFQUNFO0VBQ0E7QWpGdXVUSjtBaUZwdVRFO0VBQ0U7QWpGc3VUSjtBaUZudVRFO0VBQ0U7RUFDQTtFQUNBO0FqRnF1VEo7QWlGbHVURTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QWpGa3VUSjtBaUYvdFRFO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRmd1VEo7O0FpRjV0VEE7RUFDRSxhQ29EaUI7RURuRGpCLGNDbURpQjtBbEY0cVRuQjtBaUY3dFRFO0VBQ0U7QWpGK3RUSjtBaUY1dFRFO0VBQ0U7QWpGOHRUSjs7QWlGMXRUQTtFQUNFLGFDd0NpQjtFRHZDakIsY0N1Q2lCO0FsRnNyVG5CO0FpRjN0VEU7RUFDRTtBakY2dFRKO0FpRjF0VEU7RUFDRTtBakY0dFRKOztBaUZ2dFRFO0VBQ0U7RUFDQTtBakYwdFRKO0FpRnZ0VEU7RUFDRTtBakZ5dFRKO0FpRnB0VEk7O0VBQ0U7QWpGdXRUTjs7QW1GcjJUQTtFQUNFO0FuRncyVEY7QW1GdDJURTtFQUVFO0FuRnUyVEo7QW1GcDJURTs7RUFFRTtBbkZzMlRKO0FtRm4yVEU7RUFDRTtBbkZxMlRKO0FtRmwyVEU7RUFDRTtFQUNBO0FuRm8yVEo7QW1GbDJUSTtFQUNFLHlCL0VmSztFK0VnQkw7QW5GbzJUTjtBbUZoMlRFO0VBQ0U7QW5GazJUSjtBbUYvMVRFO0VBQ0U7RUFDQTtFQUdBO0FuRisxVEo7QW1GNzFUSTtFQUVFO0FuRjgxVE47QW1GMTFURTtFQUNFO0FuRjQxVEo7QW1GcjFUTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkZ1MVRSO0FtRjcwVEk7RUFHRTtFQUNBO0FuRjYwVE47O0FvRnY1VEE7RXpFZ0RJO0VBQ0E7QVgyMlRKOztBb0Z4NVRBO0V6RThCSTtFQUNBO0FYODNUSjs7QXFGcjVUUTtFQUNFO0FyRnc1VFY7QXFGaDVUUTtFQUNFO0FyRms1VFY7QXFGMTRUSTtFQUNFO0FyRjQ0VE47O0FzRm42VEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCbEZrUjBCO0FKb3BUOUI7QXNGcDZUSTtFQU1FO0VBQ0E7QXRGaTZUTjtBc0Y5NVRJO0VBRUU7RUFDQSxjbEZoQks7RWtGaUJMO0F0Ris1VE47O0F1RnA3VEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esb0JuRitRMEI7QUp3cVQ5Qjs7QXdGbjhUQTs7RUFFRSxrQnBGc1I0QjtFb0ZyUjVCLGdCcEZvTzRCO0VvRm5PNUI7QXhGczhURjtBd0ZwOFRFOztFQUNFO0VBQ0E7RUFDQSxjTkRpQztFTUVqQyxlTkZpQztFdkVRakM7QVhrOFRKO0F3RnA4VEU7O0VBQ0U7RUFDQTtFQUNBLGNOVGlDO0VNVWpDLGVOVmlDO0VNV2pDLHdCcEY2Zm9DO0FKMDhTeEM7O0F3Rm44VEE7O0VBRUUsbUJwRmdRNEI7RW9GL1A1QixnQnBGOE00QjtFb0Y3TTVCO0F4RnM4VEY7QXdGcDhURTs7RUFDRTtFQUNBO0VBQ0EsZU52QmlDO0VNd0JqQyxnQk54QmlDO0V2RU9qQztBWHk5VEo7QXdGcDhURTs7RUFDRTtFQUNBO0VBQ0EsZU4vQmlDO0VNZ0NqQyxnQk5oQ2lDO0VNaUNqQyx3QnBGc2VvQztBSmkrU3hDOztBd0ZuOFRBOztFQUVFO0F4RnM4VEY7QXdGcDhURTs7RUFDRSxrQnBGcU8wQjtFb0ZwTzFCLGdCcEZtTDBCO0FKb3hUOUI7QXdGcjhUSTs7RUFDRTtFQUNBLGVOaEQrQjtFTWlEL0I7RUFDQSxnQk45QnFCO0VNK0JyQix1Qk43QnVDO0FsRnErVDdDO0F3RnI4VEk7O0VBQ0U7RUFJQTtFQUlBLDRCTnZDOEI7RU13QzlCLDZCTnhDOEI7RU15QzlCLHVCTjNDdUM7RU00Q3ZDLHdCcEZzY2tDO0FKNC9TeEM7QXdGNzdUSTs7RUFDRTtBeEZnOFROOztBd0YzN1RBOztFQUVFO0F4Rjg3VEY7QXdGNTdURTs7RUFDRSxtQnBGK0wwQjtFb0Y5TDFCLGdCcEY2STBCO0FKa3pUOUI7QXdGNzdUSTs7RUFDRTtFQUNBO0VBQ0EsaUJObkVxQjtFTW9FckIsZ0JOeEYrQjtFTXlGL0Isd0JObkV1QztBbEZtZ1U3QztBd0Y3N1RJOztFQUNFO0VBSUE7RUFJQSw2Qk4zRThCO0VNNEU5Qiw4Qk41RThCO0VNNkU5Qix3Qk5qRnVDO0VNa0Z2Qyx3QnBGK1prQztBSjJoVHhDO0F3RnI3VEk7O0VBQ0U7QXhGdzdUTjs7QXlGcGlVTTs7O0VBQ0U7RUFDQTtBekZ5aVVSO0F5RmxpVU07OztFQUNFO0VBQ0E7QXpGc2lVUjs7QTBGcmpVRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QTFGc2pVSjtBMEZsalVNO0VBQ0U7QTFGb2pVUjs7QTBGOWlVTTtFQUVFO0ExRmdqVVI7QTBGOWlVUTtFQUNFO0ExRmdqVVY7O0EwRjNpVUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBMUY4aVVOO0EwRjVpVU07RUFDRTtBMUY4aVVSO0EwRjFpVUk7RUFDRSxjdEYrbEI4QjtBSjY4U3BDO0EwRnppVUk7RUFDRSxjdEY0bEI4QjtBSis4U3BDO0EwRnhpVUk7RUFDRTtBMUYwaVVOO0EwRnZpVUk7RUFDRTtFQUlBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVFO0ExRnFpVVI7QTBGbGlVTTtFQUNFO0ExRm9pVVI7QTBGamlVTTtFQUNFO0ExRm1pVVI7QTBGOWhVUTtFQUNFO0VBQ0Esb0J0RmtUb0I7RXNGalRwQix1QnRGaVRvQjtBSit1VDlCOztBMEY3aFVRO0VBQ0U7RUFDQSxtQnRGaVRvQjtFc0ZoVHBCLHNCdEZnVG9CO0FKZ3ZUOUI7O0EwRjFoVUk7RUFFRSx5QnRGaEdLO0VzRmlHTDtBMUY0aFVOO0EwRnpoVUk7RUFDRTtBMUYyaFVOO0EwRnpoVU07RUFDRTtBMUYyaFVSOztBMEZwaFVJO0VBQ0U7QTFGdWhVTjs7QTJGM29VQTtFQUNFO0VBQ0E7QTNGOG9VRjs7QTJGem9VRTs7Ozs7O0VBR0Usa0J2RjJRMEI7RXVGMVExQixnQ3ZGcWVvQztBSjBxVHhDO0EyRjVvVUU7Ozs7RUFFRTtFQUNBLGdCdkZtTjBCO0FKNjdUOUI7QTJGN29VRTs7RWhGUEU7QVh3cFVKO0EyRjlvVUk7O0VBQ0U7RUFDQSw0QlR3QjBCO0V2RXBDNUI7QVg4cFVKOztBMkYxb1VFOzs7Ozs7RUFHRSxtQnZGa1AwQjtFdUZqUDFCLGtDdkYwY29DO0FKc3NUeEM7QTJGN29VRTs7OztFQUVFO0VBQ0EsZ0J2RjBMMEI7QUp1OVQ5QjtBMkY5b1VFOztFaEZqQ0U7QVhtclVKO0EyRi9vVUk7O0VBQ0U7RUFDQSw4QlRDMEI7RXZFdkM1QjtBWHlyVUo7O0E0RnRzVUk7RUFJRTtBNUZzc1VOOztBNEYvclVBO0VBQ0UsbUN4Rmtlc0M7RXdGaGV0QztBNUZpc1VGOztBNEY5clVBOztFQUVFLGtDeEY0ZHNDO0V3RjFkdEM7QTVGZ3NVRjs7QTRGN3JVQTs7RUFFRSxnQ3hGc2RzQztFd0ZyZHRDO0E1RmdzVUY7O0E0RjdyVUE7RUFFRSx5QnhGekJTO0V3RjBCVCxheEY4WTRCO0FKaXpUOUI7O0E0RjFyVUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUY2clVKO0E0RjNyVUk7Ozs7O0VBS0U7QTVGNnJVTjtBNEZwclVJOzs7OztFQUNFO0E1RjByVU47QTRGdHJVRTtFQUNFO0E1RndyVUo7QTRGcHJVSTtFakZ2Q0E7RUFDQTtBWDh0VUo7QTRGcnJVSTtFakY1QkE7RUFDQTtBWG90VUo7QTRGcHJVRTtFQUNFLG1DeEZpYW9DO0V3RmhhcEM7RUFDQSxzQnhGN0VPO0V3RjhFUDtFQUNBO0VBQ0EsbUN4RjRab0M7RXdGelpsQyxzQnhGcUp3QjtFZ0IvTnhCLHdFd0VnRkY7QTVGK3FVSjtBb0IzdlVNO0V3RTZESjtJeEU1RE07RXBCOHZVTjtBQUNGO0E0RmhyVUk7RUFDRSxjeEZ2Rks7RXdGd0ZMLHNCeEYvRks7RXdGZ0dMLHFCeEY4WGtDO0V3RjdYbEM7RUFJRSxnRHhGOFJzQjtBSmk1VDlCO0E0RjNxVUk7RUFFRSx5QnhGekdLO0FKcXhVWDs7QTRGdnFVQTtFQUNFLGdDeEY2WHNDO0V3RjVYdEM7RWpGdkdFO0FYa3hVSjs7QTRGdnFVQTtFQUNFLGtDeEZzWHNDO0V3RnJYdEM7RWpGN0dFO0FYd3hVSjs7QTRGbnFVSTtFQUVFLHFCeEZ1Z0I4QjtBSjhwVHBDO0E0Rm5xVU07RUFDRSxxQnhGb2dCNEI7RXdGbmdCNUI7QTVGcXFVUjs7QTRGM3BVUTtFQUNFO0E1RjhwVVY7QTRGNXBVUTtFQUNFO0E1RjhwVVY7QTRGNXBVUTtFQUNFO0E1RjhwVVY7QTRGMXBVTTtFQUNFLHlCeEY2ZTRCO0V3RjVlNUI7QTVGNHBVUjtBNEYxcFVRO0VBQ0U7RUFDQTtBNUY0cFVWO0E0RnhwVU07RUFDRTtBNUYwcFVSO0E0RnZwVU07RUFDRSx5QnhGK2Q0QjtFd0Y5ZDVCO0E1RnlwVVI7QTRGdnBVUTtFQUNFO0VBQ0E7QTVGeXBVVjtBNEZycFVNO0VBQ0U7QTVGdXBVUjtBNEZwcFVNOzs7RUFFRTtBNUZ1cFVSO0E0RnBwVU07RUFDRSx5QnhGNGM0QjtFd0YzYzVCO0E1RnNwVVI7QTRGcHBVUTtFQUNFO0VBQ0E7QTVGc3BVVjtBNEZscFVNO0VBQ0U7QTVGb3BVUjtBNEZscFVNO0VBQ0U7QTVGb3BVUjs7QTRGOXRVSTtFQUVFLHFCeEZ3Z0I4QjtBSnd0VHBDO0E0Rjl0VU07RUFDRSxxQnhGcWdCNEI7RXdGcGdCNUI7QTVGZ3VVUjs7QTRGdHRVUTtFQUNFO0E1Rnl0VVY7QTRGdnRVUTtFQUNFO0E1Rnl0VVY7QTRGdnRVUTtFQUNFO0E1Rnl0VVY7QTRGcnRVTTtFQUNFLHlCeEY4ZTRCO0V3RjdlNUI7QTVGdXRVUjtBNEZydFVRO0VBQ0U7RUFDQTtBNUZ1dFVWO0E0Rm50VU07RUFDRTtBNUZxdFVSO0E0Rmx0VU07RUFDRSx5QnhGZ2U0QjtFd0YvZDVCO0E1Rm90VVI7QTRGbHRVUTtFQUNFO0VBQ0E7QTVGb3RVVjtBNEZodFVNO0VBQ0U7QTVGa3RVUjtBNEYvc1VNOzs7RUFFRTtBNUZrdFVSO0E0Ri9zVU07RUFDRSx5QnhGNmM0QjtFd0Y1YzVCO0E1Rml0VVI7QTRGL3NVUTtFQUNFO0VBQ0E7QTVGaXRVVjtBNEY3c1VNO0VBQ0U7QTVGK3NVUjtBNEY3c1VNO0VBQ0U7QTVGK3NVUjs7QTZGOTVVQTs7RUFFRSxrQnpGc1I0QjtFeUZyUjVCLGdCekZvTzRCO0V5Rm5PNUI7QTdGaTZVRjtBNkYvNVVFOztFQUNFO0VBQ0E7RUFDQSxjWERpQztFV0VqQyxlWEZpQztFV0dqQyxrQnpGc2lCNEM7QUo0M1RoRDtBNkYvNVVFOztFQUNFO0VBQ0E7RUFDQSxjWFRpQztFV1VqQyxlWFZpQztFV1dqQztBN0ZrNlVKOztBNkY5NVVBOztFQUVFLG1CekZnUTRCO0V5Ri9QNUIsZ0J6RjhNNEI7RXlGN001QjtBN0ZpNlVGO0E2Ri81VUU7O0VBQ0U7RUFDQTtFQUNBLGVYdkJpQztFV3dCakMsZ0JYeEJpQztFV3lCakMsa0J6RitnQjRDO0FKbTVUaEQ7QTZGLzVVRTs7RUFDRTtFQUNBO0VBQ0EsZVgvQmlDO0VXZ0NqQyxnQlhoQ2lDO0VXaUNqQztBN0ZrNlVKOztBOEY5OFVBO0VBQ0U7QTlGaTlVRjtBOEYvOFVFO0VBQ0U7QTlGaTlVSjtBOEY5OFVFOztFQUVFO0E5Rmc5VUo7QThGNzhVRTtFQUVFO0E5Rjg4VUo7QThGMzhVRTtFQUNFO0VBQ0E7RUFDQTtBOUY2OFVKO0E4RjM4VUk7RUFDRTtFQUNBO0E5RjY4VU47QThGejhVRTtFQUVFLHlCMUZyQk87RTBGc0JQLGMxRmxCTztBSjQ5VVg7QThGdDhVSTtFQUNFO0E5Rnc4VU47QThGbDhVTTs7RUFDRTtBOUZxOFVSO0E4RjU3VUk7RUFDRTtBOUY4N1VOOztBK0ZuL1VBO0VBQ0U7RUFFQTtFQUVBO0VBQ0E7QS9Gby9VRjtBK0ZoL1VJO0VBRUU7QS9GaS9VTjs7QStGNytVRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRmcvVUo7QStGOStVSTs7RUFFRTtFQUNBO0VBRUE7QS9GKytVTjtBK0YzK1VFO0VBQ0U7RUFDQTtBL0Y2K1VKO0ErRjMrVUk7RUFDRTtFQUNBO0EvRjYrVU47QStGeitVRTtFQUVJO0EvRjArVU47QStGdCtVRTtFQUNFO0EvRncrVUo7QStGcitVRTtFQUNFO0VBQ0E7QS9GdStVSjtBK0ZyK1VJO0VBQ0U7QS9GdStVTjtBK0ZwK1VJO0VBQ0U7QS9GcytVTjtBK0ZsK1VFO0VBRUUseUIzRjVETztBSitoVlg7QStGaCtVRTtFQUNFO0EvRmsrVUo7O0FnRzFpVkU7RUFDRTtBaEc2aVZKO0FnRzNpVkk7O0VBRUU7QWhHNmlWTjtBZ0d6aVZFO0VBQ0UsYzVGR087RTRGRlAsc0I1RkxPO0U0Rk1QLHFCNUZ3ZG9DO0U0RnZkcEM7RUFJRSxnRDVGd1h3QjtBSmdyVTlCO0FnR3JpVkk7RUFDRSxxQjVGMG5COEI7RTRGem5COUI7QWhHdWlWTjtBZ0dwaVZJO0VBQ0UscUI1RnNuQjhCO0U0RnJuQjlCO0FoR3NpVk47QWdHbGlWRTtFQUNFLHlCNUZ4Qk87QUo0alZYOztBZ0doaVZBO0VBR0U7RUFDQTtFQUNBLGdCNUYwUDRCO0U0RnpQNUI7QWhHaWlWRjtBZ0cvaFZFO0VBQ0U7QWhHaWlWSjtBZ0c3aFZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEcraFZKOztBZ0czaFZBO0VBQ0UsZ0I1RjhLNEI7QUpnM1U5Qjs7QWdHM2hWQTtFQUNFLGdCNUZ5SzRCO0FKcTNVOUI7O0FpRzlsVkE7RUFDRTtFQUNBO0FqR2ltVkY7O0FpRzlsVkE7RUFDRTtFQUNBO0FqR2ltVkY7O0FrR3RtVkE7RUFDRSxZOUZpOEJrQztBSndxVHBDOztBbUdobVZNO0VBQ0U7RUFDQTtFQUNBO0FuR21tVlI7QW1HL2xWUTtFQUNFO0FuR2ltVlY7O0FvR3BuVkE7RUFDRTtFQUNBO0VBRUE7QXBHc25WRjtBb0dwblZFO0VBQ0U7QXBHc25WSjtBb0dublZFO0VBQ0U7QXBHcW5WSjs7QW9Hcm1WTTtFQUNFLHlCQVZZO0VBV1oscUJBVmdCO0FwR2tuVnhCO0FvR25tVlU7RUFDRSx5QkFWaUI7QXBHK21WN0I7QW9HbG1WVTtFQUNFLHlCQXJCUTtBcEd5blZwQjtBb0c3bFZVO0VBQ0UsMkJBdEJpQjtBcEdxblY3QjtBb0c1bFZVO0VBQ0UsMkJBakNRO0FwRytuVnBCO0FvR3ZsVlU7RUFDRSw0QkFsQ2lCO0FwRzJuVjdCO0FvR3RsVlU7RUFFRSw0QkEzQ1M7QXBHa29WckI7QW9HbmxWUTtFQUNFLDRCQWhEVztBcEdxb1ZyQjtBb0cva1ZVO0VBQ0UsMEJBbkRpQjtBcEdvb1Y3QjtBb0c5a1ZVO0VBQ0UsMEJBOURRO0FwRzhvVnBCO0FvRzVqVk07RUFDRSxjQS9FZ0I7RUFnRmhCLHlCQWpGYTtFQWtGYjtBcEc4alZSO0FvRzNqVk07RUFDRSxjQXZGUztBcEdvcFZqQjs7QW9HN29WTTtFQUNFLHlCQVZZO0VBV1oscUJBVmdCO0FwRzBwVnhCO0FvRzNvVlU7RUFDRSx5QkFWaUI7QXBHdXBWN0I7QW9HMW9WVTtFQUNFLHlCQXJCUTtBcEdpcVZwQjtBb0dyb1ZVO0VBQ0UsMkJBdEJpQjtBcEc2cFY3QjtBb0dwb1ZVO0VBQ0UsMkJBakNRO0FwR3VxVnBCO0FvRy9uVlU7RUFDRSw0QkFsQ2lCO0FwR21xVjdCO0FvRzluVlU7RUFFRSw0QkEzQ1M7QXBHMHFWckI7QW9HM25WUTtFQUNFLDRCQWhEVztBcEc2cVZyQjtBb0d2blZVO0VBQ0UsMEJBbkRpQjtBcEc0cVY3QjtBb0d0blZVO0VBQ0UsMEJBOURRO0FwR3NyVnBCO0FvR3BtVk07RUFDRSxjQS9FZ0I7RUFnRmhCLHlCQWpGYTtFQWtGYjtBcEdzbVZSO0FvR25tVk07RUFDRSxjQXZGUztBcEc0clZqQjs7QW9HcnJWTTtFQUNFLHlCQVZZO0VBV1oscUJBVmdCO0FwR2tzVnhCO0FvR25yVlU7RUFDRSx5QkFWaUI7QXBHK3JWN0I7QW9HbHJWVTtFQUNFLHlCQXJCUTtBcEd5c1ZwQjtBb0c3cVZVO0VBQ0UsMkJBdEJpQjtBcEdxc1Y3QjtBb0c1cVZVO0VBQ0UsMkJBakNRO0FwRytzVnBCO0FvR3ZxVlU7RUFDRSw0QkFsQ2lCO0FwRzJzVjdCO0FvR3RxVlU7RUFFRSw0QkEzQ1M7QXBHa3RWckI7QW9HbnFWUTtFQUNFLDRCQWhEVztBcEdxdFZyQjtBb0cvcFZVO0VBQ0UsMEJBbkRpQjtBcEdvdFY3QjtBb0c5cFZVO0VBQ0UsMEJBOURRO0FwRzh0VnBCO0FvRzVvVk07RUFDRSxjQS9FZ0I7RUFnRmhCLHlCQWpGYTtFQWtGYjtBcEc4b1ZSO0FvRzNvVk07RUFDRSxjQXZGUztBcEdvdVZqQjs7QW9HN3RWTTtFQUNFLHlCQVZZO0VBV1oscUJBVmdCO0FwRzB1VnhCO0FvRzN0VlU7RUFDRSx5QkFWaUI7QXBHdXVWN0I7QW9HMXRWVTtFQUNFLHlCQXJCUTtBcEdpdlZwQjtBb0dydFZVO0VBQ0UsMkJBdEJpQjtBcEc2dVY3QjtBb0dwdFZVO0VBQ0UsMkJBakNRO0FwR3V2VnBCO0FvRy9zVlU7RUFDRSw0QkFsQ2lCO0FwR212VjdCO0FvRzlzVlU7RUFFRSw0QkEzQ1M7QXBHMHZWckI7QW9HM3NWUTtFQUNFLDRCQWhEVztBcEc2dlZyQjtBb0d2c1ZVO0VBQ0UsMEJBbkRpQjtBcEc0dlY3QjtBb0d0c1ZVO0VBQ0UsMEJBOURRO0FwR3N3VnBCO0FvR3ByVk07RUFDRSxjQS9FZ0I7RUFnRmhCLHlCQWpGYTtFQWtGYjtBcEdzclZSO0FvR25yVk07RUFDRSxjQXZGUztBcEc0d1ZqQjs7QW9HcndWTTtFQUNFLHlCQVZZO0VBV1oscUJBVmdCO0FwR2t4VnhCO0FvR253VlU7RUFDRSx5QkFWaUI7QXBHK3dWN0I7QW9HbHdWVTtFQUNFLHlCQXJCUTtBcEd5eFZwQjtBb0c3dlZVO0VBQ0UsMkJBdEJpQjtBcEdxeFY3QjtBb0c1dlZVO0VBQ0UsMkJBakNRO0FwRyt4VnBCO0FvR3Z2VlU7RUFDRSw0QkFsQ2lCO0FwRzJ4VjdCO0FvR3R2VlU7RUFFRSw0QkEzQ1M7QXBHa3lWckI7QW9HbnZWUTtFQUNFLDRCQWhEVztBcEdxeVZyQjtBb0cvdVZVO0VBQ0UsMEJBbkRpQjtBcEdveVY3QjtBb0c5dVZVO0VBQ0UsMEJBOURRO0FwRzh5VnBCO0FvRzV0Vk07RUFDRSxjQS9FZ0I7RUFnRmhCLHlCQWpGYTtFQWtGYjtBcEc4dFZSO0FvRzN0Vk07RUFDRSxjQXZGUztBcEdvelZqQjs7QW9HN3lWTTtFQUNFLHlCQVZZO0VBV1oscUJBVmdCO0FwRzB6VnhCO0FvRzN5VlU7RUFDRSx5QkFWaUI7QXBHdXpWN0I7QW9HMXlWVTtFQUNFLHlCQXJCUTtBcEdpMFZwQjtBb0dyeVZVO0VBQ0UsMkJBdEJpQjtBcEc2elY3QjtBb0dweVZVO0VBQ0UsMkJBakNRO0FwR3UwVnBCO0FvRy94VlU7RUFDRSw0QkFsQ2lCO0FwR20wVjdCO0FvRzl4VlU7RUFFRSw0QkEzQ1M7QXBHMDBWckI7QW9HM3hWUTtFQUNFLDRCQWhEVztBcEc2MFZyQjtBb0d2eFZVO0VBQ0UsMEJBbkRpQjtBcEc0MFY3QjtBb0d0eFZVO0VBQ0UsMEJBOURRO0FwR3MxVnBCO0FvR3B3Vk07RUFDRSxjQS9FZ0I7RUFnRmhCLHlCQWpGYTtFQWtGYjtBcEdzd1ZSO0FvR253Vk07RUFDRSxjQXZGUztBcEc0MVZqQjs7QW9HcjFWTTtFQUNFLHlCQVZZO0VBV1oscUJBVmdCO0FwR2syVnhCO0FvR24xVlU7RUFDRSx5QkFWaUI7QXBHKzFWN0I7QW9HbDFWVTtFQUNFLHlCQXJCUTtBcEd5MlZwQjtBb0c3MFZVO0VBQ0UsMkJBdEJpQjtBcEdxMlY3QjtBb0c1MFZVO0VBQ0UsMkJBakNRO0FwRysyVnBCO0FvR3YwVlU7RUFDRSw0QkFsQ2lCO0FwRzIyVjdCO0FvR3QwVlU7RUFFRSw0QkEzQ1M7QXBHazNWckI7QW9HbjBWUTtFQUNFLDRCQWhEVztBcEdxM1ZyQjtBb0cvelZVO0VBQ0UsMEJBbkRpQjtBcEdvM1Y3QjtBb0c5elZVO0VBQ0UsMEJBOURRO0FwRzgzVnBCO0FvRzV5Vk07RUFDRSxjQS9FZ0I7RUFnRmhCLHlCQWpGYTtFQWtGYjtBcEc4eVZSO0FvRzN5Vk07RUFDRSxjQXZGUztBcEdvNFZqQjs7QW9HNzNWTTtFQUNFLHlCQVZZO0VBV1oscUJBVmdCO0FwRzA0VnhCO0FvRzMzVlU7RUFDRSx5QkFWaUI7QXBHdTRWN0I7QW9HMTNWVTtFQUNFLHlCQXJCUTtBcEdpNVZwQjtBb0dyM1ZVO0VBQ0UsMkJBdEJpQjtBcEc2NFY3QjtBb0dwM1ZVO0VBQ0UsMkJBakNRO0FwR3U1VnBCO0FvRy8yVlU7RUFDRSw0QkFsQ2lCO0FwR201VjdCO0FvRzkyVlU7RUFFRSw0QkEzQ1M7QXBHMDVWckI7QW9HMzJWUTtFQUNFLDRCQWhEVztBcEc2NVZyQjtBb0d2MlZVO0VBQ0UsMEJBbkRpQjtBcEc0NVY3QjtBb0d0MlZVO0VBQ0UsMEJBOURRO0FwR3M2VnBCO0FvR3AxVk07RUFDRSxjQS9FZ0I7RUFnRmhCLHlCQWpGYTtFQWtGYjtBcEdzMVZSO0FvR24xVk07RUFDRSxjQXZGUztBcEc0NlZqQjs7QXFHajhWQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHVCbkJ3RWlCO0FsRjQzVm5COztBcUdqOFZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHbzhWRjs7QXFHajhWQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWW5Cb0RnQjtFbUJuRGhCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckdvOFZGO0FxR2w4VkU7RUFDRTtBckdvOFZKO0FxR244Vkk7RUFGRjtJQUdJO0VyR3M4Vko7QUFDRjtBcUduOFZFO0VBQ0U7RUFDQTtBckdxOFZKO0FxR244Vkk7RUFDRTtBckdxOFZOO0FxR2w4Vkk7RUFDRTtBckdvOFZOO0FxR2g4VkU7RUFDRTtFQUNBO0FyR2s4Vko7QXFHaDhWSTtFQUNFO0FyR2s4Vk47QXFHLzdWSTtFQUNFO0FyR2k4Vk47QXFHNzdWRTtFQUNFLGlCbkJheUI7RW1CWnpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHKzdWSjtBcUczN1ZNO0VBQ0U7QXJHNjdWUjs7QXFHejdWSTtFQUNFO0VBQ0EsaUJuQkh1QjtBbEYrN1Y3QjtBcUd4N1ZFO0VBQ0U7RUFDQTtFQUNBO0FyRzA3Vko7QXFHdjdWRTtFQUNFO0FyR3k3Vko7O0FzR3RoV0E7RUFDRSxZcEJvSzBCO0FsRnEzVjVCOztBc0dyaFdBO0VBQ0U7RUFDQTtFQUNBLHFDcEI0SjRCO0VvQjNKNUIsWXBCNEowQjtFb0IxSjFCO0F0R3VoV0Y7QXNHcGhXRTtFQUNFO0F0R3NoV0o7O0FzR2poV0E7RUFDRSxZbEdtUTRCO0VrR2xRNUIsc0JwQmlKd0I7RW9COUl0QjtBdEdraFdKOztBc0c3Z1dBO0VBQ0UsV3BCeUlxQjtFb0J4SXJCO0VBQ0EsZWxHdVA0QjtFa0d0UDVCLGdCbEdpUTRCO0VrRzlQMUIsc0JsR3lNMEI7QUpxMFY5Qjs7QXNHemdXQTtFQUNFO0VBQ0E7RUFDQTtBdEc0Z1dGOztBc0d4Z1dBO0VBQ0UsbUNsR2djc0M7RWtHL2J0QztFQUNBLGdCbEcrTzRCO0VrRzlPNUI7RUFHRSxzQmxHc0wwQjtBSm0xVjlCOztBc0duZ1dFO0VBQ0UsMEJwQnFHMEI7QWxGaTZWOUI7O0FzR2pnV0E7RUFDRTtFQUNBO0F0R29nV0Y7O0FzRy8vVkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QXRHaWdXSjtBc0cvL1ZJO0VBWkY7SUFhSTtJQUNBO0V0R2tnV0o7QUFDRjs7QXNHOS9WQTtFQUNFO0lBQ0U7RXRHaWdXRjtFc0cvL1ZBO0lBQ0U7RXRHaWdXRjtBQUNGO0FzRzcvVkE7RUFDRTtBdEcrL1ZGO0FzRzUvVkU7RUFKRjtJQUtJO0V0RysvVkY7QUFDRjs7QXNHNS9WQTtFQUNFO0lBQ0U7RXRHKy9WRjtFc0c3L1ZBO0lBQ0U7RXRHKy9WRjtBQUNGO0FzRzMvVkE7RUFDRTtBdEc2L1ZGO0FzRzEvVkU7RUFKRjtJQUtJO0V0RzYvVkY7QUFDRjs7QXNHMS9WQTtFQUNFO0lBQ0U7RXRHNi9WRjtFc0czL1ZBO0lBQ0U7RXRHNi9WRjtBQUNGO0F1R3BvV0U7RUFFRTtBdkdxb1dKO0F1R2hvV0U7RUFDRTtFQUNBO0F2R2tvV0o7QXVHOW5XRTtFQUNFLGFyQnFFbUI7QWxGMmpXdkI7QXVHNW5XRTtFQUNFO0F2RzhuV0o7QXVHMW5XRTtFQUNFO0F2RzRuV0o7QXVHeG5XSTtFQUNFO0F2RzBuV047QXVHbG5XSTs7O0VBR0Usc0NuR3lUd0I7QUoyelY5QjtBdUc5bVdJOztFQUVFLFd2R2xETztFdUdzRFA7RUFDQTtBdkc2bVdOO0F1R3JtV0k7OztFQUtFO0F2R3FtV047QXVHL2xXSTs7RUFFRSxXbkd2RUs7RW1HMkVMO0VBQ0E7QXZHOGxXTjs7QXVHdGxXRTs7O0VBSUUsbUJuR3dDSztBSmdqV1Q7QXVHdGxXSTs7O0VBR0U7QXZHd2xXTjs7QXVHcGxXRTtFQUNFO0VBTUEsaUJyQk4rQjtBbEZ3bFduQzs7QXVHL2tXRTtFQUdFO0lBQ0U7SUFDQTtFdkdnbFdKO0FBQ0Y7QXVHN2tXRTtFQUVFO0lBRUU7SUFDQTtJQUNBO0V2RzZrV0o7O0V1R2hrV1E7Ozs7Ozs7OztJQUNFO0lBQ0E7RXZHMmtXVjtFdUd0a1dROzs7SUFHRTtFdkd3a1dWO0V1R2xrV1E7Ozs7OztJQUdFO0V2R3VrV1Y7O0V1R3BqV007OztJQUVFLFd2R3BMRztJdUd1TEg7RXZHc2pXUjtFdUc5aVdROzs7SUFFRSxXbkc1TEQ7SW1HOExDLHlCbkd0TEQ7RUpzdVdUO0V1R3hpV007SUFJRTtJQUNBO0V2R3VpV1I7RXVHbmlXUTtJQUlFO0lBQ0E7RXZHa2lXVjtFdUcxaFdNO0lBQ0UsV3ZHbE9HO0l1R3NPSDtJQUNBO0V2R3loV1I7RXVHcmhXUTtJQUNFLFduR3ZPRDtJbUcyT0M7SUFDQTtFdkdvaFdWO0FBQ0Y7QXVHdC9WTTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdkd5L1ZSO0F1R3YvVlE7O0VBRUU7RUFDQTtBdkd5L1ZWO0F1R3QvVlE7O0VBRUU7RUFDQTtBdkd3L1ZWO0F1R3AvVk07O0VBQ0U7QXZHdS9WUjtBdUdwL1ZNOztFQUNFO0F2R3UvVlI7QXVHcC9WTTs7RUFDRTtBdkd1L1ZSO0F1RzkrVkk7O0VBQ0U7QXZHaS9WTjtBdUc5K1ZJOztFQUNFO0F2R2kvVk47QXVHOStWSTs7RUFDRTtBdkdpL1ZOO0F1RzErVkk7O0VBQ0U7QXZHNitWTjtBdUcxK1ZJOztFQUNFO0F2RzYrVk47QXVHMStWSTs7RUFDRTtBdkc2K1ZOO0F1R3ArVlE7O0VBRUU7RUFDQTtBdkdzK1ZWO0F1R24rVlE7O0VBRUU7RUFDQTtBdkdxK1ZWOztBdUczOVZJO0VBQ0U7QXZHODlWTjtBdUd4OVZNO0VBQ0U7QXZHMDlWUjs7QWVyd1dJO0V3RnlUSTtJQUVJO0lBQ0E7RXZHKzhWVjtFdUc1OFZVOzs7OztJQUtFO0V2Rzg4Vlo7RXVHMThWVTs7SUFFRTtFdkc0OFZaO0V1RzE4Vlk7Ozs7SUFFRTtFdkc4OFZkO0V1R3o4VlU7SUFDRTtFdkcyOFZaO0V1R244VmdCO0lBQ0U7SUFDQSxVckJ6VFk7SXFCMFRaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V2R3E4VmxCO0V1R2o4VmdCO0lBQ0U7SUFDQTtJQUNBO0V2R204VmxCO0V1Ry83VmdCO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7RXZHZzhWbEI7RXVHMzdWYztJQUVFO0V2RzQ3VmhCO0V1R3g3VmM7SUFDRTtFdkcwN1ZoQjtFdUd0N1ZjOztJQUVFO0V2R3c3VmhCO0FBQ0Y7QWVoMFdJO0V3RnlUSTtJQUVJO0lBQ0E7RXZHeWdXVjtFdUd0Z1dVOzs7OztJQUtFO0V2R3dnV1o7RXVHcGdXVTs7SUFFRTtFdkdzZ1daO0V1R3BnV1k7Ozs7SUFFRTtFdkd3Z1dkO0V1R25nV1U7SUFDRTtFdkdxZ1daO0V1RzcvVmdCO0lBQ0U7SUFDQSxVckJ6VFk7SXFCMFRaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V2RysvVmxCO0V1RzMvVmdCO0lBQ0U7SUFDQTtJQUNBO0V2RzYvVmxCO0V1R3ovVmdCO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7RXZHMC9WbEI7RXVHci9WYztJQUVFO0V2R3MvVmhCO0V1R2wvVmM7SUFDRTtFdkdvL1ZoQjtFdUdoL1ZjOztJQUVFO0V2R2svVmhCO0FBQ0Y7QWUxM1dJO0V3RnlUSTtJQUVJO0lBQ0E7RXZHbWtXVjtFdUdoa1dVOzs7OztJQUtFO0V2R2trV1o7RXVHOWpXVTs7SUFFRTtFdkdna1daO0V1RzlqV1k7Ozs7SUFFRTtFdkdra1dkO0V1RzdqV1U7SUFDRTtFdkcraldaO0V1R3ZqV2dCO0lBQ0U7SUFDQSxVckJ6VFk7SXFCMFRaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V2R3lqV2xCO0V1R3JqV2dCO0lBQ0U7SUFDQTtJQUNBO0V2R3VqV2xCO0V1R25qV2dCO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7RXZHb2pXbEI7RXVHL2lXYztJQUVFO0V2R2dqV2hCO0V1RzVpV2M7SUFDRTtFdkc4aVdoQjtFdUcxaVdjOztJQUVFO0V2RzRpV2hCO0FBQ0Y7QWVwN1dJO0V3RnlUSTtJQUVJO0lBQ0E7RXZHNm5XVjtFdUcxbldVOzs7OztJQUtFO0V2RzRuV1o7RXVHeG5XVTs7SUFFRTtFdkcwbldaO0V1R3huV1k7Ozs7SUFFRTtFdkc0bldkO0V1R3ZuV1U7SUFDRTtFdkd5bldaO0V1R2puV2dCO0lBQ0U7SUFDQSxVckJ6VFk7SXFCMFRaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V2R21uV2xCO0V1Ry9tV2dCO0lBQ0U7SUFDQTtJQUNBO0V2R2luV2xCO0V1RzdtV2dCO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7RXZHOG1XbEI7RXVHem1XYztJQUVFO0V2RzBtV2hCO0V1R3RtV2M7SUFDRTtFdkd3bVdoQjtFdUdwbVdjOztJQUVFO0V2R3NtV2hCO0FBQ0Y7QXVHcnJXUTtFQUVJO0VBQ0E7QXZHc3JXWjtBdUducldZOzs7OztFQUtFO0F2R3FyV2Q7QXVHanJXWTs7RUFFRTtBdkdtcldkO0F1R2pyV2M7Ozs7RUFFRTtBdkdxcldoQjtBdUdocldZO0VBQ0U7QXZHa3JXZDtBdUcxcVdrQjtFQUNFO0VBQ0EsVXJCelRZO0VxQjBUWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkc0cVdwQjtBdUd4cVdrQjtFQUNFO0VBQ0E7RUFDQTtBdkcwcVdwQjtBdUd0cVdrQjtFQUNFO0VBQ0E7RUFFQTtFQUNBO0F2R3VxV3BCO0F1R2xxV2dCO0VBRUU7QXZHbXFXbEI7QXVHL3BXZ0I7RUFDRTtBdkdpcVdsQjtBdUc3cFdnQjs7RUFFRTtBdkcrcFdsQjs7QXdHN21YQTtFQUNFO0F4R2duWEY7QXdHOW1YRTs7RUFHRSx5QnBHQ087RW9HQVA7QXhHK21YSjtBd0c1bVhFO0VBQ0U7QXhHOG1YSjtBd0d4bVhJO0VBQ0U7QXhHMG1YTjs7QXdHdG1YRTtFQUNFO0F4R3ltWEo7QXdHdm1YSTtFQUNFO0VBQ0E7QXhHeW1YTjtBd0dybVhFO0VBQ0U7QXhHdW1YSjtBd0dwbVhFO0VBQ0U7QXhHc21YSjs7QXlHem9YQTtFQUNFO0VBQ0E7RUFDQSxnQnJHczRCa0M7RXFHcjRCbEM7RUFDQTtFQUVBO0U5RlFFO0FYb29YSjtBeUd6b1hFO0VBR0U7QXpHeW9YSjtBeUd0b1hFO0VBQ0Usc0JyR3kzQmdDO0FKK3dWcEM7QXlHcG9YSTtFQUNFO0F6R3NvWE47QXlHbG9YRTtFQUdFO0F6R2tvWEo7QXlHaG9YSTtFQUNFO0F6R2tvWE47QXlHL25YSTtFQUNFO0F6R2lvWE47O0F5RzFuWEU7RUFDRTtFQUNBO0VBQ0EsY0EwQkU7QXpHbW1YTjtBeUczblhJO0VBQ0UsY0F1QkE7RUF0QkE7RUFDQTtBekc2blhOO0F5R3BuWEk7RUFDRTtBekdzblhOOztBeUd4b1hFO0VBQ0U7RUFDQTtFQUNBLGNBMEJFO0F6R2luWE47QXlHem9YSTtFQUNFLGNBdUJBO0VBdEJBO0VBQ0E7QXpHMm9YTjtBeUdsb1hJO0VBQ0U7QXpHb29YTjs7QXlHdHBYRTtFQUNFO0VBQ0E7RUFDQSxjQTBCRTtBekcrblhOO0F5R3ZwWEk7RUFDRSxjQXVCQTtFQXRCQTtFQUNBO0F6R3lwWE47QXlHaHBYSTtFQUNFO0F6R2twWE47O0F5R3BxWEU7RUFDRTtFQUNBO0VBQ0EsY0EwQkU7QXpHNm9YTjtBeUdycVhJO0VBQ0UsY0F1QkE7RUF0QkE7RUFDQTtBekd1cVhOO0F5RzlwWEk7RUFDRTtBekdncVhOOztBeUdsclhFO0VBQ0U7RUFDQTtFQUNBLGNBMEJFO0F6RzJwWE47QXlHbnJYSTtFQUNFLGNBdUJBO0VBdEJBO0VBQ0E7QXpHcXJYTjtBeUc1cVhJO0VBQ0U7QXpHOHFYTjs7QXlHaHNYRTtFQUNFO0VBQ0E7RUFDQSxjQTBCRTtBekd5cVhOO0F5R2pzWEk7RUFDRSxjQXVCQTtFQXRCQTtFQUNBO0F6R21zWE47QXlHMXJYSTtFQUNFO0F6RzRyWE47O0F5RzlzWEU7RUFDRTtFQUNBO0VBQ0EsY0EwQkU7QXpHdXJYTjtBeUcvc1hJO0VBQ0UsY0F1QkE7RUF0QkE7RUFDQTtBekdpdFhOO0F5R3hzWEk7RUFDRTtBekcwc1hOOztBeUc1dFhFO0VBQ0U7RUFDQTtFQUNBLGNBMEJFO0F6R3FzWE47QXlHN3RYSTtFQUNFLGNBdUJBO0VBdEJBO0VBQ0E7QXpHK3RYTjtBeUd0dFhJO0VBQ0U7QXpHd3RYTjs7QTBHcnhYQTtFQUNFLGF4Qm9IaUI7QWxGb3FYbkI7QTBHdHhYRTtFQUNFO0VBQ0E7QTFHd3hYSjtBMEd0eFhJO0VBQ0U7QTFHd3hYTjs7QTBHendYRTtFQVFFO0VBQ0EsWXhCc0ZtQjtFd0JyRm5CLGF4QnFGbUI7RXdCcEZuQjtFQUNBO0VBQ0E7RUFDQTtBMUdxd1hKO0EwR253WEk7RUFDRTtFQUNBLGdCdEdnMkI4QjtFc0cvMUI5QjtFQUFhO0VBQ2I7RUFDQTtFQUNBO0VBQ0E7QTFHc3dYTjtBMEdod1hJO0VBQ0U7RUFDQTtBMUdrd1hOO0EwR2h3WE07OztFQUdFO0VBQ0E7QTFHa3dYUjtBMEc3dlhFO0VBSUU7QTFHNHZYSjtBMEcxdlhJO0VBQ0UsV3hCOENpQjtBbEY4c1h2QjtBMEd4dlhFO0VBSUU7QTFHdXZYSjtBMEdydlhJO0VBQ0UsY3hCbUNpQjtBbEZvdFh2QjtBMEcvdVhJO0VBQ0U7QTFHaXZYTjtBMEd6dVhJO0VBQ0U7QTFHMnVYTjs7QTJHejBYTTtFQUdFO0EzRzAwWFI7QTJHbDBYUTtFQUdFO0EzR2swWFY7QTJHM3pYTTtFQUNFO0VBQ0E7QTNHNnpYUjtBMkczelhRO0VBQ0U7QTNHNnpYVjtBNEdoMlhBO0VBQ0U7RUFDQSxZeEcwMUJrQztFd0d4MUJsQztBNUdpMlhGO0E0Ry8xWEU7RUFDRTtBNUdpMlhKO0E0RzkxWEU7RUFDRSxZeEdpMUJnQztBSitnV3BDO0E0RzMxWEU7RUFDRTtBNUc2MVhKO0E0RzExWEU7RUFDRTtBNUc0MVhKO0E0R3YxWEk7RUFDRTtBNUd5MVhOOztBNEc1MFhRO0VBQ0UseUJBTFc7QTVHbzFYckI7QTRHMTBYUTtFQUNFLDJCQVhXO0E1R3UxWHJCO0E0R3YwWFE7RUFDRSw0QkFqQlc7QTVHMDFYckI7QTRHcDBYUTtFQUNFLDBCQXZCVztBNUc2MVhyQjtBNEduelhNO0VBQ0UsV0ExQ2U7RUEyQ2YseUJBNUNhO0E1R2kyWHJCOztBNEc3MVhRO0VBQ0UseUJBTFc7QTVHcTJYckI7QTRHMzFYUTtFQUNFLDJCQVhXO0E1R3cyWHJCO0E0R3gxWFE7RUFDRSw0QkFqQlc7QTVHMjJYckI7QTRHcjFYUTtFQUNFLDBCQXZCVztBNUc4MlhyQjtBNEdwMFhNO0VBQ0UsV0ExQ2U7RUEyQ2YseUJBNUNhO0E1R2szWHJCOztBNEc5MlhRO0VBQ0UseUJBTFc7QTVHczNYckI7QTRHNTJYUTtFQUNFLDJCQVhXO0E1R3kzWHJCO0E0R3oyWFE7RUFDRSw0QkFqQlc7QTVHNDNYckI7QTRHdDJYUTtFQUNFLDBCQXZCVztBNUcrM1hyQjtBNEdyMVhNO0VBQ0UsV0ExQ2U7RUEyQ2YseUJBNUNhO0E1R200WHJCOztBNEcvM1hRO0VBQ0UseUJBTFc7QTVHdTRYckI7QTRHNzNYUTtFQUNFLDJCQVhXO0E1RzA0WHJCO0E0RzEzWFE7RUFDRSw0QkFqQlc7QTVHNjRYckI7QTRHdjNYUTtFQUNFLDBCQXZCVztBNUdnNVhyQjtBNEd0MlhNO0VBQ0UsV0ExQ2U7RUEyQ2YseUJBNUNhO0E1R281WHJCOztBNEdoNVhRO0VBQ0UseUJBTFc7QTVHdzVYckI7QTRHOTRYUTtFQUNFLDJCQVhXO0E1RzI1WHJCO0E0RzM0WFE7RUFDRSw0QkFqQlc7QTVHODVYckI7QTRHeDRYUTtFQUNFLDBCQXZCVztBNUdpNlhyQjtBNEd2M1hNO0VBQ0UsY0ExQ2U7RUEyQ2YseUJBNUNhO0E1R3E2WHJCOztBNEdqNlhRO0VBQ0UseUJBTFc7QTVHeTZYckI7QTRHLzVYUTtFQUNFLDJCQVhXO0E1RzQ2WHJCO0E0RzU1WFE7RUFDRSw0QkFqQlc7QTVHKzZYckI7QTRHejVYUTtFQUNFLDBCQXZCVztBNUdrN1hyQjtBNEd4NFhNO0VBQ0UsV0ExQ2U7RUEyQ2YseUJBNUNhO0E1R3M3WHJCOztBNEdsN1hRO0VBQ0UseUJBTFc7QTVHMDdYckI7QTRHaDdYUTtFQUNFLDJCQVhXO0E1RzY3WHJCO0E0Rzc2WFE7RUFDRSw0QkFqQlc7QTVHZzhYckI7QTRHMTZYUTtFQUNFLDBCQXZCVztBNUdtOFhyQjtBNEd6NVhNO0VBQ0UsY0ExQ2U7RUEyQ2YseUJBNUNhO0E1R3U4WHJCOztBNEduOFhRO0VBQ0UseUJBTFc7QTVHMjhYckI7QTRHajhYUTtFQUNFLDJCQVhXO0E1Rzg4WHJCO0E0Rzk3WFE7RUFDRSw0QkFqQlc7QTVHaTlYckI7QTRHMzdYUTtFQUNFLDBCQXZCVztBNUdvOVhyQjtBNEcxNlhNO0VBQ0UsV0ExQ2U7RUEyQ2YseUJBNUNhO0E1R3c5WHJCOztBNkczL1hFO0VBQ0U7RUFDQTtFQUdBLHVCM0J3RHFCO0FsRm84WHpCO0E2R3ovWEU7RUFFRTtFQUNBO0E3RzAvWEo7QTZHdi9YSTtFQU5GO0lBT0k7RTdHMC9YSjtBQUNGO0E2R3YvWEU7RUFFRTtFQUNBO0E3R3cvWEo7QTZHci9YSTtFQU5GO0lBT0k7RTdHdy9YSjtBQUNGO0E2R3IvWEU7RUFFRTtFQUNBO0E3R3MvWEo7QTZHcC9YSTtFQUxGO0lBTUk7RTdHdS9YSjtBQUNGO0E2R3AvWEU7RUFFRTtFQUNBO0E3R3EvWEo7QTZHbi9YSTtFQUxGO0lBTUk7RTdHcy9YSjtBQUNGO0E2R24vWEU7RUFFRTtFQUNBO0E3R28vWEo7QTZHbC9YSTtFQUxGO0lBTUk7RTdHcS9YSjtBQUNGO0E2R2wvWEU7RUFFRTtFQUNBO0E3R20vWEo7QTZHai9YSTtFQUxGO0lBTUk7RTdHby9YSjtBQUNGO0E2R2ovWEU7RUFFRTtFQUNBO0E3R2svWEo7QTZHLytYSTtFQU5GO0lBT0k7RTdHay9YSjtBQUNGO0E2Ry8rWEU7RUFFRTtFQUNBO0E3R2cvWEo7QTZHNytYSTtFQU5GO0lBT0k7RTdHZy9YSjtBQUNGOztBNkczK1hBO0VBQ0U7SUFDRTtFN0c4K1hGO0U2RzUrWEE7SUFDRTtFN0c4K1hGO0FBQ0Y7QTZHMytYQTtFQUNFO0lBQ0U7RTdHNitYRjtFNkczK1hBO0lBQ0U7RTdHNitYRjtBQUNGO0E2RzErWEE7RUFDRTtJQUNFO0U3RzQrWEY7RTZHMStYQTtJQUNFO0U3RzQrWEY7QUFDRjtBNkd6K1hBO0VBQ0U7SUFDRTtFN0cyK1hGO0U2R3orWEE7SUFDRTtFN0cyK1hGO0FBQ0Y7QTZHeCtYQTtFQUNFO0lBQ0U7SUFDQTtFN0cwK1hGO0U2R3grWEE7SUFDRTtJQUNBO0U3RzArWEY7QUFDRjtBNkdoK1hJOzs7OztFQUNFO0VBQ0E7QTdHcytYTjs7QUF0bllBO0VBQU87QUEwbllQOztBQXRuWUk7RUFDSSx5QkFIVTtFQUlWO0FBeW5ZUjtBQXZuWVE7RUFDSTtFQUNBO0FBeW5ZWjtBQXBuWVE7RUFDSTtBQXNuWVo7QUFsbllRO0VBSUk7RUFDQTtFQUNBO0FBaW5ZWjtBQTdtWVE7RUFJSTtFQUNBO0VBQ0E7QUE0bVlaOztBQXJtWUk7RUFDSTtBQXdtWVI7QUF0bVlJO0VBQ0k7QUF3bVlSO0FBdG1ZSTtFQUNFO0FBd21ZTixDO0E4RzNxV0k7RUFDRTtBQXQvQk47QUEyL0JFO0VBQ0U7QUF6L0JKLEM7QUMwUEU7RUFDRTtBQTlQSixDO0FDd0RBO0VBQ0U7QUF6REYsQyIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRGVmaW5lIHZhcmlhYmxlIGRlZmF1bHRzXG4kYm9keS1iZzogI2ZmZjtcbiRib2R5LWNvbG9yOiAjMTExO1xuXG4vLyBUaGVuIGltcG9ydCBCb290c3RyYXAgYW4gQm9vdHN0cmFwVnVlIFNDU1MgZmlsZXMgKG9yZGVyIGlzIGltcG9ydGFudClcbkBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAuc2Nzcyc7XG5AaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9zcmMvaW5kZXguc2Nzcyc7XG5cbmh0bWwgeyBmb250LXNpemU6IDE0cHg7fVxuXG4kYXBwLXRoZW1lLWNvbG9yOiAjNTM1MzUzO1xuI2FwcC1ib2R5IHtcbiAgICAuYXBwLWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhcHAtdGhlbWUtY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwO1xuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMnJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICNhcHAtbG9naW57XG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMFxuICAgICAgICB9ICAgICAgICBcbiAgICB9XG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIC53YXMtdmFsaWRhdGVkICY6aW52YWxpZCxcbiAgICAgICAgLndhcy12YWxpZGF0ZWQgJjp2YWxpZCxcbiAgICAgICAgJi5pcy1pbnZhbGlkLFxuICAgICAgICAmLmlzLXZhbGlkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICAgIC53YXMtdmFsaWRhdGVkICY6aW52YWxpZCxcbiAgICAgICAgLndhcy12YWxpZGF0ZWQgJjp2YWxpZCxcbiAgICAgICAgJi5pcy1pbnZhbGlkLFxuICAgICAgICAmLmlzLXZhbGlkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8g5Lya5ZOh55m76Yyy55S76Z2i5bmF5Zu65a6aXG4jbWVtYmVyLXJlZ2lzdGVyIHtcbiAgICAubW9kYWwtZGlhbG9ne1xuICAgICAgICBtaW4td2lkdGg6IDkwMHB4O1xuICAgIH1cbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgfVxuICAgIC5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICAgIH1cbn1cbiIsIi8qIVxuICogQm9vdHN0cmFwIHY0LjYuMCAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMjEgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIxIFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICovXG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJyb290XCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJ0b2FzdHNcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJzcGlubmVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuQGltcG9ydCBcInByaW50XCI7XG4iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBydWxlOiBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUsIHN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lXG4vLyBvbiBlbGVtZW50cyB0aGF0IHByb2dyYW1tYXRpY2FsbHkgcmVjZWl2ZSBmb2N1cyBidXQgd291bGRuJ3Qgbm9ybWFsbHkgc2hvdyBhIHZpc2libGVcbi8vIGZvY3VzIG91dGxpbmUuIEluIGdlbmVyYWwsIHRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBvdXRsaW5lIGlzIG9ubHkgYXBwbGllZCBpZiB0aGVcbi8vIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBlbGVtZW50IHJlY2VpdmluZyBwcm9ncmFtbWF0aWMgZm9jdXMgd2FzIGEga2V5Ym9hcmQgaW50ZXJhY3Rpb24sXG4vLyBvciB0aGUgYnJvd3NlciBoYXMgc29tZWhvdyBkZXRlcm1pbmVkIHRoYXQgdGhlIHVzZXIgaXMgcHJpbWFyaWx5IGEga2V5Ym9hcmQgdXNlciBhbmQvb3Jcbi8vIHdhbnRzIGZvY3VzIG91dGxpbmVzIHRvIGFsd2F5cyBiZSBwcmVzZW50ZWQuXG4vL1xuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86Zm9jdXMtdmlzaWJsZVxuLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wMy9mb2N1cy12aXNpYmxlLWFuZC1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gRGlzYWJsZSBhdXRvLWhpZGluZyBzY3JvbGxiYXIgaW4gSUUgJiBsZWdhY3kgRWRnZSB0byBhdm9pZCBvdmVybGFwLFxuICAvLyBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBjb250ZW50XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRXhwbGljaXRseSByZW1vdmUgZm9jdXMgb3V0bGluZSBpbiBDaHJvbWl1bSB3aGVuIGl0IHNob3VsZG4ndCBiZVxuLy8gdmlzaWJsZSAoZS5nLiBhcyByZXN1bHQgb2YgbW91c2UgY2xpY2sgb3IgdG91Y2ggdGFwKS4gSXQgYWxyZWFkeVxuLy8gc2hvdWxkIGJlIGRvaW5nIHRoaXMgYXV0b21hdGljYWxseSwgYnV0IHNlZW1zIHRvIGN1cnJlbnRseSBiZVxuLy8gY29uZnVzZWQgYW5kIGFwcGxpZXMgaXRzIHZlcnkgdmlzaWJsZSB0d28tdG9uZSBvdXRsaW5lIGFueXdheS5cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjVyZW0pO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15IC8gMikgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1sZyAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplIC8gMiAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplIG5vLXJlcGVhdCAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwidmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgKSxcbiAgICBcImludmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICksXG4gICksXG4gICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDogICAgICA3NXZoICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRuYXYtZGl2aWRlci1tYXJnaW4teSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uICFkZWZhdWx0O1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbi8vIE1hcmdpbiBiZXR3ZWVuIGVsZW1lbnRzIGluIGZvb3RlciwgbXVzdCBiZSBsb3dlciB0aGFuIG9yIGVxdWFsIHRvIDIgKiAkbW9kYWwtaW5uZXItcGFkZGluZ1xuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuJHVzZXItc2VsZWN0czogYWxsLCBhdXRvLCBub25lICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCBmb250LXJlc2l6aW5nXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmc1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbi8vIFJlc2l6ZSBmb250LXNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250LXNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBWYXJpYWJsZXMgZm9yIHN0b3Jpbmcgc3RhdGljIGFuZCBmbHVpZCByZXNjYWxpbmdcbiAgICAkcmZzLXN0YXRpYzogbnVsbDtcbiAgICAkcmZzLWZsdWlkOiBudWxsO1xuXG4gICAgLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIEBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnMgLyAkcmZzLXJlbS12YWx1ZX1yZW0jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSBweCB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnN9cHgjeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xuICAgIH1cblxuICAgIC8vIE9ubHkgYWRkIG1lZGlhIHF1ZXJ5IGlmIGZvbnQtc2l6ZSBpcyBiaWdnZXIgYXMgdGhlIG1pbmltdW0gZm9udC1zaXplXG4gICAgLy8gSWYgJHJmcy1mYWN0b3IgPT0gMSwgbm8gcmVzY2FsaW5nIHdpbGwgdGFrZSBwbGFjZVxuICAgIEBpZiAkZnMgPiAkcmZzLWJhc2UtZm9udC1zaXplIGFuZCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICAkbWluLXdpZHRoOiBudWxsO1xuICAgICAgJHZhcmlhYmxlLXVuaXQ6IG51bGw7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUpIC8gJHJmcy1mYWN0b3I7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gZ2l2ZW4gZm9udC1zaXplIGFuZCBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgLy8gTm8gbmVlZCB0byBjaGVjayBpZiB0aGUgdW5pdCBpcyB2YWxpZCwgYmVjYXVzZSB3ZSBkaWQgdGhhdCBiZWZvcmVcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAjeyRmcy1taW4gLyAkcmZzLXJlbS12YWx1ZX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIElmIHR3by1kaW1lbnNpb25hbCwgdXNlIHNtYWxsZXN0IG9mIHNjcmVlbiB3aWR0aCBhbmQgaGVpZ2h0XG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAjeyRmcy1kaWZmICogMTAwIC8gJHJmcy1icmVha3BvaW50fSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplLlxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcbiAgICB9XG5cbiAgICAvLyBSZW5kZXJpbmdcbiAgICBAaWYgJHJmcy1mbHVpZCA9PSBudWxsIHtcbiAgICAgIC8vIE9ubHkgcmVuZGVyIHN0YXRpYyBmb250LXNpemUgaWYgbm8gZmx1aWQgZm9udC1zaXplIGlzIGF2YWlsYWJsZVxuICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJG1xLXZhbHVlOiBudWxsO1xuXG4gICAgICAvLyBSRlMgYnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICBAaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcmVtIHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludCAvICRyZnMtcmVtLXZhbHVlfSN7JHJmcy1icmVha3BvaW50LXVuaXR9O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50fXB4O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgICAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LFxuICAgICAgICAvLyB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICAgICAmLFxuICAgICAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbiB1c2VzIFJGUyB0byByZXNjYWxlIGZvbnQgc2l6ZXNcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cygpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzKCkge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxLCAuaDEgeyBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7IH1cbmgyLCAuaDIgeyBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7IH1cbmgzLCAuaDMgeyBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7IH1cbmg0LCAuaDQgeyBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7IH1cbmg1LCAuaDUgeyBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7IH1cbmg2LCAuaDYgeyBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7IH1cblxuLmxlYWQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlYWQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuLmRpc3BsYXktMSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTEtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5Mi1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTMge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkzLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkzLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktNCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJGhyLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkaHItbWFyZ2luLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDkwJSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCgpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyIC8gMjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkKCkge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuIiwiLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgka2JkLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygka2JkLWJveC1zaGFkb3cpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTAwJSk7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgLyAyO1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgLyAyO1xufVxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG1ha2UtY29udGFpbmVyLW1heC13aWR0aHNgIG1peGluXCIsIFwidjQuNS4yXCIsIFwidjVcIik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCUgLyAkY291bnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlIC8gJGNvdW50O1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogJHRhYmxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgsXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWRhcmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIFJlbW92ZSBzZWxlY3Qgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkaW5wdXQtY29sb3I7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZSwgYXMgaXQgbG9va3MgYmFkIGFuZCBjYW5ub3QgYmUgbWFkZSB0b1xuICAgIC8vIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICB9XG59XG5cbi8vIE1ha2UgZmlsZSBpbnB1dHMgYmV0dGVyIG1hdGNoIHRleHQgaW5wdXRzIGJ5IGZvcmNpbmcgdGhlbSB0byBuZXcgbGluZXMuXG4uZm9ybS1jb250cm9sLWZpbGUsXG4uZm9ybS1jb250cm9sLXJhbmdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXG4vLyB0ZXh0IHRvIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsYWJlbD4vPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xufVxuXG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJltzaXplXSxcbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbn1cblxuXG4vLyBGb3JtIGdyaWRcbi8vXG4vLyBTcGVjaWFsIHJlcGxhY2VtZW50IGZvciBvdXIgZ3JpZCBzeXN0ZW0ncyBgLnJvd2AgZm9yIHRpZ2h0ZXIgZm9ybSBsYXlvdXRzLlxuXG4uZm9ybS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG5cbiAgPiAuY29sLFxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgZm9yIHdvcmthcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5mb3JtLWNoZWNrLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xufVxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCxcbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZm9ybS1jb250cm9sLWZvY3VzKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMxNTU3XG4gICAgLy8gQWxpZ24gdG9vbHRpcCB0byBmb3JtIGVsZW1lbnRzXG4gICAgLmZvcm0tcm93ID4gLmNvbCA+ICYsXG4gICAgLmZvcm0tcm93ID4gW2NsYXNzKj1cImNvbC1cIl0gPiAmIHtcbiAgICAgIGxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsICRjdXN0b20tc2VsZWN0LWJnIGVzY2FwZS1zdmcoJGljb24pICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemUgbm8tcmVwZWF0O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXksICRidG4tcGFkZGluZy14LCAkYnRuLWZvbnQtc2l6ZSwgJGJ0bi1saW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAkYnRuLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogaWYoJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucywgcG9pbnRlciwgbnVsbCk7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWZvY3VzLWJveC1zaGFkb3csICRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1saW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbiAgfVxufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xufVxuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3ByaWdodCxcbi5kcm9wZG93bixcbi5kcm9wbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLXBhZGRpbmcteDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBAaW5jbHVkZSBmb250LXNpemUoJGRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1sZWZ0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcHJpZ2h0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChyaWdodCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wbGVmdCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiBQb3BwZXIgaXMgZW5hYmxlZCwgcmVzZXQgdGhlIGJhc2ljIGRyb3Bkb3duIHBvc2l0aW9uXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLmRyb3Bkb3duLW1lbnUge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0sXG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnLCAkZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSwgdHJ1ZSk7XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICAvLyBQcmV2ZW50IGRyb3Bkb3duIG92ZXJmbG93IGlmIHRoZXJlJ3Mgbm8gcGFkZGluZ1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjc3MDNcbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWhvdmVyLWJnKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xufVxuIiwiQG1peGluIGNhcmV0LWRvd24oKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bigpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXAoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wcmlnaHQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BsZWZ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuLmJ0bi1ncm91cC10b2dnbGUge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIHZhbHVlXG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmN1c3RvbS1zZWxlY3QsXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY3VzdG9tIGZpbGUgaW5wdXQgYWJvdmUgdGhlIGxhYmVsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgLy8gQ3VzdG9tIGZpbGUgaW5wdXRzIGhhdmUgbW9yZSBjb21wbGV4IG1hcmt1cCwgdGh1cyByZXF1aXJpbmcgZGlmZmVyZW50XG4gIC8vIGJvcmRlci1yYWRpdXMgb3ZlcnJpZGVzLlxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgJjpub3QoLmhhcy12YWxpZGF0aW9uKSB7XG4gICAgPiAuZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpLFxuICAgID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXZhbGlkYXRpb24ge1xuICAgID4gLmZvcm0tY29udHJvbDpudGgtbGFzdC1jaGlsZChuICsgMyksXG4gICAgPiAuY3VzdG9tLXNlbGVjdDpudGgtbGFzdC1jaGlsZChuICsgMyksXG4gICAgPiAuY3VzdG9tLWZpbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmRcbi8vXG4vLyBXaGlsZSBpdCByZXF1aXJlcyBvbmUgZXh0cmEgbGF5ZXIgb2YgSFRNTCBmb3IgZWFjaCwgZGVkaWNhdGVkIHByZXBlbmQgYW5kXG4vLyBhcHBlbmQgZWxlbWVudHMgYWxsb3cgdXMgdG8gMSkgYmUgbGVzcyBjbGV2ZXIsIDIpIHNpbXBsaWZ5IG91ciBzZWxlY3RvcnMsIGFuZFxuLy8gMykgc3VwcG9ydCBIVE1MNSBmb3JtIHZhbGlkYXRpb24uXG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kLFxuLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gIH1cblxuICAuYnRuICsgLmJ0bixcbiAgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgfVxufVxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7IG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cbi5pbnB1dC1ncm91cC1hcHBlbmQgeyBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBBbGxvdyB1c2Ugb2YgPGxhYmVsPiBlbGVtZW50cyBieSBvdmVycmlkaW5nIG91ciBkZWZhdWx0IG1hcmdpbi1ib3R0b21cbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpOyAvLyBNYXRjaCBpbnB1dHNcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZCByb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmJ0bixcbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4iLCIvLyBFbWJlZGRlZCBpY29ucyBmcm9tIE9wZW4gSWNvbmljLlxuLy8gUmVsZWFzZWQgdW5kZXIgTUlUIGFuZCBjb3B5cmlnaHQgMjAxNCBXYXlidXJ5LlxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBjb2xvci1hZGp1c3Q6IGV4YWN0OyAvLyBLZWVwIHRoZW1lZCBhcHBlYXJhbmNlIGZvciBwcmludFxufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xOyAvLyBQdXQgdGhlIGlucHV0IGJlaGluZCB0aGUgbGFiZWwgc28gaXQgZG9lc24ndCBvdmVybGF5IHRleHRcbiAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgaGVpZ2h0OiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgb3BhY2l0eTogMDtcblxuICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gdGhlIG1peGluIGlzIG5vdCB1c2VkIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIGZlZWRiYWNrXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIHRvIHdvcmsgYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEN1c3RvbSBjb250cm9sIGluZGljYXRvcnNcbi8vXG4vLyBCdWlsZCB0aGUgY3VzdG9tIGNvbnRyb2xzIG91dCBvZiBwc2V1ZG8tZWxlbWVudHMuXG5cbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY3Vyc29yOiAkY3VzdG9tLWNvbnRyb2wtY3Vyc29yO1xuXG4gIC8vIEJhY2tncm91bmQtY29sb3IgYW5kICh3aGVuIGVuYWJsZWQpIGdyYWRpZW50XG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDI7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICBib3JkZXI6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yIHNvbGlkICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIEZvcmVncm91bmQgKGljb24pXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiA1MCUgLyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZX0gbm8tcmVwZWF0O1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uY3VzdG9tLWNoZWNrYm94IHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZSk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgICAmOmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgcmFkaW9zLlxuXG4uY3VzdG9tLXJhZGlvIHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gc3dpdGNoZXNcbi8vXG4vLyBUd2VhayBhIGZldyB0aGluZ3MgZm9yIHN3aXRjaGVzXG5cbi5jdXN0b20tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXI7XG5cbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLXdpZHRoO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogYWRkKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgbGVmdDogYWRkKC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGhlaWdodDogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gLjE1cyBlYXNlLWluLW91dCwgJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkY3VzdG9tLXN3aXRjaC13aWR0aCAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHBzOi8vcHJpbWVyLmdpdGh1Yi5pby8uXG4vL1xuXG4uY3VzdG9tLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iZyAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1cywgMCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdyk7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdywgJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cblxuICAgICY6Oi1tcy12YWx1ZSB7XG4gICAgICAvLyBGb3IgdmlzdWFsIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgcGxhdGZvcm1zL2Jyb3dzZXJzLFxuICAgICAgLy8gc3VwcHJlc3MgdGhlIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAgIH1cbiAgfVxuXG4gICZbbXVsdGlwbGVdLFxuICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBIaWRlcyB0aGUgZGVmYXVsdCBjYXJldCBpbiBJRTExXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbSk7XG59XG5cbi5jdXN0b20tc2VsZWN0LWxnIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc7XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbn1cblxuXG4vLyBGaWxlXG4vL1xuLy8gQ3VzdG9tIGZpbGUgaW5wdXQuXG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcblxuICAmOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgYm94LXNoYWRvdzogJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIHRvIHdvcmsgYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0gfiAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdmFsdWUgaW4gJGN1c3RvbS1maWxlLXRleHQge1xuICAgICY6bGFuZygjeyRsYW5nfSkgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICR2YWx1ZTtcbiAgICB9XG4gIH1cblxuICB+IC5jdXN0b20tZmlsZS1sYWJlbFtkYXRhLWJyb3dzZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtYnJvd3NlKTtcbiAgfVxufVxuXG4uY3VzdG9tLWZpbGUtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LWZhbWlseTogJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1maWxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYmc7XG4gIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtYm94LXNoYWRvdyk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyO1xuICAgIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgYm9yZGVyLWxlZnQ6IGluaGVyaXQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzIDApO1xuICB9XG59XG5cbi8vIFJhbmdlXG4vL1xuLy8gU3R5bGUgcmFuZ2UgaW5wdXRzIHRoZSBzYW1lIGFjcm9zcyBicm93c2Vycy4gVmVuZG9yLXNwZWNpZmljIHJ1bGVzIGZvciBwc2V1ZG9cbi8vIGVsZW1lbnRzIGNhbm5vdCBiZSBtaXhlZC4gQXMgc3VjaCwgdGhlcmUgYXJlIG5vIHNoYXJlZCBzdHlsZXMgZm9yIGZvY3VzIG9yXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cblxuLmN1c3RvbS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGFkZCgkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCwgJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoICogMik7XG4gIHBhZGRpbmc6IDA7IC8vIE5lZWQgdG8gcmVzZXQgcGFkZGluZ1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuXG4gICAgLy8gUHNldWRvLWVsZW1lbnRzIG11c3QgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIHJ1bGVzZXRzIHRvIGhhdmUgYW4gZWZmZWN0LlxuICAgIC8vIE5vIGJveC1zaGFkb3coKSBtaXhpbiBmb3IgZm9jdXMgYWNjZXNzaWJpbGl0eS5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1zLXRodW1iICAgICAgICAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICgkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodCAtICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0KSAvIDI7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXG4gICAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7IC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7ICAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1zLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCAvIDI7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgLy8gYXJiaXRyYXJ5P1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbi5jdXN0b20tZmlsZS1sYWJlbCxcbi5jdXN0b20tc2VsZWN0IHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzLCBgPHVsPmBzIG9yIGA8b2w+YHMuXG5cbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nLXkgJG5hdi1saW5rLXBhZGRpbmcteDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcblxuICAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy8gQ29udGVudHNcbi8vXG4vLyBOYXZiYXJcbi8vIE5hdmJhciBicmFuZFxuLy8gTmF2YmFyIG5hdlxuLy8gTmF2YmFyIHRleHRcbi8vIE5hdmJhciBkaXZpZGVyXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy8gTmF2YmFyIHBvc2l0aW9uXG4vLyBOYXZiYXIgdGhlbWVzXG5cblxuLy8gTmF2YmFyXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy15ICRuYXZiYXItcGFkZGluZy14O1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmNvbnRhaW5lcixcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6ICRuYXZiYXItbmF2LXNjcm9sbC1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvciBuZXN0aW5nIGNvbnRhaW5lcnMsIGhhdmUgdG8gcmVkZWNsYXJlIGZvciBhbGlnbm1lbnQgcHVycG9zZXNcbiAgICAgICAgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgIC8vIENoYW5nZXMgZmxleC1iYXNlcyB0byBhdXRvIGJlY2F1c2Ugb2YgYW4gSUUxMCBidWdcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRoZW1lc1xuLy9cbi8vIFN0eWxlcyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbmF2YmFycyB3aXRoIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC5cblxuLy8gRGFyayBsaW5rcyBhZ2FpbnN0IGEgbGlnaHQgYmFja2dyb3VuZFxuLm5hdmJhci1saWdodCB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2hpdGUgbGlua3MgYWdhaW5zdCBhIGRhcmsgYmFja2dyb3VuZFxuLm5hdmJhci1kYXJrIHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjI3NDAjaXNzdWVjb21tZW50LTMwNTg2ODEwNlxuICBoZWlnaHQ6ICRjYXJkLWhlaWdodDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cCB7XG4gICAgYm9yZGVyLXRvcDogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHVlIHRvIHNwZWNpZmljaXR5IG9mIHRoZSBhYm92ZSBzZWxlY3RvciAoYC5jYXJkID4gLmxpc3QtZ3JvdXBgKSwgd2UgbXVzdFxuICAvLyB1c2UgYSBjaGlsZCBzZWxlY3RvciBoZXJlIHRvIHByZXZlbnQgZG91YmxlIGJvcmRlcnMuXG4gID4gLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAsXG4gID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIGltYWdlIHNpemUgYnVnIGluIElFXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjg4NTVcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNvbG9yO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0kY2FyZC1zcGFjZXIteSAvIDI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzIDAgMCk7XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jYXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLXRvcDogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG5cbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRicmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC8vIE9waW5pb25hdGVkOiByZW1vdmUgdGhlIFwiaGFuZFwiIGN1cnNvciBzZXQgcHJldmlvdXNseSBmb3IgLnBhZ2UtbGlua1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXkgJGJhZGdlLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRiYWRnZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRiYWRnZS10cmFuc2l0aW9uKTtcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4vLyBQaWxsIGJhZGdlc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENvbG9yc1xuLy9cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGJhZGdlcyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmFkZ2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBjb2xvcjogJGp1bWJvdHJvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjbG9zZS1mb250LXNpemUgKyAkYWxlcnQtcGFkZGluZy14ICogMjtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5hbGVydC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQodGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1ib3JkZXItbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1jb2xvci1sZXZlbCkpO1xuICB9XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWRcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gICAgZnJvbSB7IGJhY2tncm91bmQtcG9zaXRpb246ICRwcm9ncmVzcy1oZWlnaHQgMDsgfVxuICAgIHRvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIH1cbn1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcHJvZ3Jlc3MtZm9udC1zaXplKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcHJvZ3Jlc3MtYm94LXNoYWRvdyk7XG59XG5cbi5wcm9ncmVzcy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iZztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb24pO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHByb2dyZXNzLWhlaWdodCAkcHJvZ3Jlc3MtaGVpZ2h0O1xufVxuXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIC5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbjogJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nIHByb2dyZXNzLWJhci1zdHJpcGVzO1xuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWVkaWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLm1lZGlhLWJvZHkge1xuICBmbGV4OiAxO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgei1pbmRleDogMTsgLy8gUGxhY2UgaG92ZXIvZm9jdXMgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWhvdmVyLWJnO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJiArICYge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIDYpKTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnRvYXN0IHtcbiAgLy8gUHJldmVudHMgZnJvbSBzaHJpbmtpbmcgaW4gSUUxMSwgd2hlbiBpbiBhIGZsZXggY29udGFpbmVyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MzQxXG4gIGZsZXgtYmFzaXM6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIG1heC13aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b2FzdC1mb250LXNpemUpO1xuICBjb2xvcjogJHRvYXN0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6ICR0b2FzdC1ib3gtc2hhZG93O1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoc3VidHJhY3QoJHRvYXN0LWJvcmRlci1yYWRpdXMsICR0b2FzdC1ib3JkZXItd2lkdGgpKTtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4ubW9kYWwtb3BlbiB7XG4gIC8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5tb2RhbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IC8vIElFMTAvMTFcbiAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7IC8vIElFMTAvMTFcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAvLyBFbnN1cmUgYG1vZGFsLWRpYWxvZy1jZW50ZXJlZGAgZXh0ZW5kcyB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXcgKElFMTAvMTEpXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIElFMTBcbiAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7IC8vIFJlc2V0IGhlaWdodCB0byAwIGV4Y2VwdCBvbiBJRVxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAvLyBFbnN1cmUgYC5tb2RhbC1ib2R5YCBzaG93cyBzY3JvbGxiYXIgKElFMTAvMTEpXG4gICYubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiAkbW9kYWwtY29udGVudC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nIC0gJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAvIDI7XG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgPiAqIHtcbiAgICBtYXJnaW46ICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1sZWZ0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGxlZnQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoIC8gMjtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICByaWdodDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kOiA1MCUgLyAxMDAlIDEwMCUgbm8tcmVwZWF0O1xufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpO1xufVxuXG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIG9yZGVyZWQgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhIGxpc3QgaXRlbSBmb3IgZWFjaFxuLy8gc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBvdmVycmlkZSA8b2w+IGRlZmF1bHRcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIC8vIFVzZSB0cmFuc3BhcmVudCBib3JkZXJzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgIGJvcmRlci10b3A6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IC41O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMjtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBib3JkZXI6ICRzcGlubmVyLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItYm9yZGVyO1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xuICBib3JkZXItd2lkdGg6ICRzcGlubmVyLWJvcmRlci13aWR0aC1zbTtcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLnNwaW5uZXItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItZ3Jvdztcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG59XG5cbkBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5zcGlubmVyLWJvcmRlcixcbiAgICAuc3Bpbm5lci1ncm93IHtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy12YXJpYW50YCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLWdyYWRpZW50LXZhcmlhbnRgIG1peGluXCIsIFwidjQuNS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5iZy0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgQGluY2x1ZGUgYmctZ3JhZGllbnQtdmFyaWFudChcIi5iZy1ncmFkaWVudC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbiAgfVxufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdCwgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBCb3JkZXJcbi8vXG5cbi5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wICAgICB7IGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0ICAgeyBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0ICAgIHsgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG4ucm91bmRlZC1zbSB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGVmdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGcgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXBpbGwge1xuICBib3JkZXItcmFkaXVzOiAkcm91bmRlZC1waWxsICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15IC8gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEZsZXggdmFyaWF0aW9uXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBmbGV4IGFsaWdubWVudCBvcHRpb25zLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxleCN7JGluZml4fS1yb3cgICAgICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbiAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tcm93LXJldmVyc2UgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAgICAgICAgICB7IGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tbm93cmFwICAgICAgIHsgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1maWxsICAgICAgICAgeyBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0wICAgICAgIHsgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTEgICAgICAgeyBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0wICAgICB7IGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMSAgICAgeyBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG5cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWF1dG8gICAgIHsgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tcmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1ub25lICB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkdXNlci1zZWxlY3RzIHtcbiAgLnVzZXItc2VsZWN0LSN7JHZhbHVlfSB7IHVzZXItc2VsZWN0OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkb3ZlcmZsb3dzIHtcbiAgLm92ZXJmbG93LSN7JHZhbHVlfSB7IG92ZXJmbG93OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbW1vbiB2YWx1ZXNcbkBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zIHtcbiAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7IHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDsgfVxufVxuXG4vLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLnN0aWNreS10b3Age1xuICBAc3VwcG9ydHMgKHBvc2l0aW9uOiBzdGlja3kpIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgfVxufVxuIiwiLy9cbi8vIFNjcmVlbnJlYWRlcnNcbi8vXG5cbi5zci1vbmx5IHtcbiAgQGluY2x1ZGUgc3Itb25seSgpO1xufVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpO1xufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUoKSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW5zIChlLmcuLCB3aGVyZSBgLm1iLW4xYCBpcyBuZWdhdGl2ZSB2ZXJzaW9uIG9mIGAubWItMWApXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgQGlmICRzaXplICE9IDAge1xuICAgICAgICAubSN7JGluZml4fS1uI3skc2l6ZX0geyBtYXJnaW46IC0kbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm10I3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubXIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1iI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWwjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbWUgc3BlY2lhbCBtYXJnaW4gdXRpbHNcbiAgICAubSN7JGluZml4fS1hdXRvIHsgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAubXQjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tciN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWIjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tbCN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gU3RyZXRjaGVkIGxpbmtcbi8vXG5cbi5zdHJldGNoZWQtbGluayB7XG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgLy8gSnVzdCBpbiBjYXNlIGBwb2ludGVyLWV2ZW50czogbm9uZWAgaXMgc2V0IG9uIGEgcGFyZW50XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgY29udGVudDogXCJcIjtcbiAgICAvLyBJRTEwIGJ1Z2ZpeCwgc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE2OTQ3OTY3L2llMTAtaG92ZXItcHNldWRvLWNsYXNzLWRvZXNudC13b3JrLXdpdGhvdXQtYmFja2dyb3VuZC1jb2xvclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVGV4dFxuLy9cblxuLnRleHQtbW9ub3NwYWNlIHsgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWltcG9ydGFudDsgfVxuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdyYXAgICAgIHsgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG4udGV4dC1ub3dyYXAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuLnRleHQtdHJ1bmNhdGUgeyBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnRleHQjeyRpbmZpeH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtdXBwZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1saWdodCAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbGlnaHRlciB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHRlciAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbm9ybWFsICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkICAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkZXIgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtaXRhbGljICAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuXG4udGV4dC13aGl0ZSB7IGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KFwiLnRleHQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbi50ZXh0LWJvZHkgeyBjb2xvcjogJGJvZHktY29sb3IgIWltcG9ydGFudDsgfVxuLnRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ibGFjay01MCB7IGNvbG9yOiByZ2JhKCRibGFjaywgLjUpICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdoaXRlLTUwIHsgY29sb3I6IHJnYmEoJHdoaXRlLCAuNSkgIWltcG9ydGFudDsgfVxuXG4vLyBNaXNjXG5cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcbn1cblxuLnRleHQtZGVjb3JhdGlvbi1ub25lIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYnJlYWsge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIERlcHJlY2F0ZWQsIGJ1dCBhdm9pZHMgaXNzdWVzIHdpdGggZmxleCBjb250YWluZXJzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBVc2VkIGluc3RlYWQgb2YgYG92ZXJmbG93LXdyYXBgIGZvciBJRSAmIEVkZ2UgTGVnYWN5XG59XG5cbi8vIFJlc2V0XG5cbi50ZXh0LXJlc2V0IHsgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1lbXBoYXNpcy12YXJpYW50KClgXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtaGlkZSgpYFwiLCBcInY0LjEuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9tYWluLmNzcy9ibG9iL21hc3Rlci9zcmMvX3ByaW50LmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwczovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYgJGVuYWJsZS1wcmludC1zdHlsZXMge1xuICBAbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCBvdXQgYGNvbG9yYCBhbmQgYGJhY2tncm91bmRgXG4gICAgICAvL2NvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ3JheS01MDA7IC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmludGluZyBUYWJsZXM6XG4gICAgLy8gaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTgwODE1MTUwOTM0L2h0dHA6Ly9jc3MtZGlzY3Vzcy5pbmN1dGlvLmNvbS93aWtpL1ByaW50aW5nX1RhYmxlc1xuICAgIC8vXG5cbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAgIC8vIFNwZWNpZnkgYSBzaXplIGFuZCBtaW4td2lkdGggdG8gbWFrZSBwcmludGluZyBjbG9zZXIgYWNyb3NzIGJyb3dzZXJzLlxuICAgIC8vIFdlIGRvbid0IHNldCBtYXJnaW4gaGVyZSBiZWNhdXNlIGl0IGJyZWFrcyBgc2l6ZWAgaW4gQ2hyb21lLiBXZSBhbHNvXG4gICAgLy8gZG9uJ3QgdXNlIGAhaW1wb3J0YW50YCBvbiBgc2l6ZWAgYXMgaXQgYnJlYWtzIGluIENocm9tZS5cbiAgICBAcGFnZSB7XG4gICAgICBzaXplOiAkcHJpbnQtcGFnZS1zaXplO1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYmxhY2s7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWRhcmsge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxuICB9XG59XG4iLCIvLyAtLS0gQm9vdHN0cmFwVnVlIHV0aWxpdHkgLyBoZWxwZXIgY2xhc3NlcyAtLS1cblxuJGJ2LXV0aWxpdHktY2xhc3Nlcy1kZWZpbmVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gTWFrZSBzdXJlIHRvIGluY2x1ZGUgdGhlc2Ugc3R5bGUgZGVmaW5pdGlvbnMgb25seSBvbmNlXG5AaWYgJGJ2LXV0aWxpdHktY2xhc3Nlcy1kZWZpbmVkID09IGZhbHNlIHtcbiAgJGJ2LXV0aWxpdHktY2xhc3Nlcy1kZWZpbmVkOiB0cnVlO1xuXG4gIC8vIE5vIGZvY3VzIG91dGxpbmUgaGVscGVyICh1c2Ugc3BhcmluZ2x5KVxuICAuYnYtbm8tZm9jdXMtcmluZzpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC8vIENyZWF0ZSBgLmJ2LWQtPGJwPi1kb3duLW5vbmVgIGhlbHBlciBjbGFzc2VzXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAuYnYtZC0jeyRicmVha3BvaW50fS1kb3duLW5vbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBTcGVjaWFsIHN0eWxpbmcgZm9yIHNvbWUgQm9vdHN0cmFwVnVlIGN1c3RvbSBmb3JtIGNvbnRyb2xzIHRoYXQgZG9cbi8vIG5vdCBoYXZlIGEgbmF0aXZlIEhUTUwgaW5wdXQgdHlwZSByb290IGVsZW1lbnQgKG9yIHRhYmluZGV4KVxuLy8gVXNlZCBieSBCRm9ybVNwaW5idXR0b24sIEJGb3JtRGF0ZXBpY2tlciwgQkZvcm1UaW1lcGlja2VyLCBCVGltZSwgQkNhbGVuZGFyXG4uZm9ybS1jb250cm9sIHtcbiAgLy8gQWRkcyBmb2N1cyBzdHlsaW5nIHRvIHRoZSBmb3JtLWNvbnRyb2wgY2xhc3MgKHZpYSB0aGUgZm9jdXMgY2xhc3MpXG4gIC8vIFNwZWNpZmljYWxseSB3aGVuIHdlIGFyZSB1c2luZyBub24gZm9jdXNhYmxlIGVsZW1lbnRzLCBvciB3aGVuIHRydWUgZm9jdXNcbiAgLy8gaXMgd2l0aGluIHRoZSBgLmZvcm0tY29udHJvbGAgZWxlbWVudC5cbiAgLy8gTWltaWNzIHRoZSBgLmZvcm0tY29udHJvbDpmb2N1c2Agc3R5bGluZ1xuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cblxuICAgICYuaXMtdmFsaWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLCAwLjI1KTtcbiAgICB9XG5cbiAgICAmLmlzLWludmFsaWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciwgMC4yNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBCQXZhdGFyIGN1c3RvbSBzdHlsZXNcblxuLmItYXZhdGFyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6ICRiLWF2YXRhci1zaXplO1xuICBoZWlnaHQ6ICRiLWF2YXRhci1zaXplO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsXG4gICAgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJi5idG4sXG4gICZbaHJlZl0ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgLmItYXZhdGFyLWltZyBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5iLWF2YXRhci1pbWcgaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC5iLWF2YXRhci1jdXN0b20sXG4gIC5iLWF2YXRhci10ZXh0LFxuICAuYi1hdmF0YXItaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9heWFtZmxvdy9iNjAyYWI0MzZhYzlmMDU2NjBkOWMxNTE5MGY0ZmQ3YlxuICAgIG1hc2staW1hZ2U6IHJhZGlhbC1ncmFkaWVudCh3aGl0ZSwgYmxhY2spO1xuICB9XG5cbiAgLmItYXZhdGFyLXRleHQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gICZbaHJlZl0ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gID4gLmItaWNvbiB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmItYXZhdGFyLWltZyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgLy8gVGhpcyBpcyBub3Qgc3VwcG9ydGVkIGluIElFMTEgYW5kIEVkZ2UgPDE2XG4gICAgLy8gaHR0cHM6Ly9jYW5pdXNlLmNvbS9vYmplY3QtZml0XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cblxuICAuYi1hdmF0YXItYmFkZ2Uge1xuICAgIC8vIFBvc2l0aW9uaW5nIHdpbGwgYmUgaGFuZGxlZCB2aWEgaW5saW5lIHN0eWxlc1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtaW4taGVpZ2h0OiAxLjVlbTtcbiAgICBtaW4td2lkdGg6IDEuNWVtO1xuICAgIHBhZGRpbmc6IDAuMjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAxMGVtO1xuICAgIGZvbnQtc2l6ZTogNzAlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4uYi1hdmF0YXItc20ge1xuICB3aWR0aDogJGItYXZhdGFyLXNpemUtc207XG4gIGhlaWdodDogJGItYXZhdGFyLXNpemUtc207XG5cbiAgLmItYXZhdGFyLXRleHQge1xuICAgIGZvbnQtc2l6ZTogY2FsYygjeyRiLWF2YXRhci1zaXplLXNtICogJGItYXZhdGFyLWZvbnQtc2l6ZS1zY2FsZX0pO1xuICB9XG5cbiAgLmItYXZhdGFyLWJhZGdlIHtcbiAgICBmb250LXNpemU6IGNhbGMoI3skYi1hdmF0YXItc2l6ZS1zbSAqICRiLWF2YXRhci1iYWRnZS1mb250LXNpemUtc2NhbGV9KTtcbiAgfVxufVxuXG4uYi1hdmF0YXItbGcge1xuICB3aWR0aDogJGItYXZhdGFyLXNpemUtbGc7XG4gIGhlaWdodDogJGItYXZhdGFyLXNpemUtbGc7XG5cbiAgLmItYXZhdGFyLXRleHQge1xuICAgIGZvbnQtc2l6ZTogY2FsYygjeyRiLWF2YXRhci1zaXplLWxnICogJGItYXZhdGFyLWZvbnQtc2l6ZS1zY2FsZX0pO1xuICB9XG5cbiAgLmItYXZhdGFyLWJhZGdlIHtcbiAgICBmb250LXNpemU6IGNhbGMoI3skYi1hdmF0YXItc2l6ZS1sZyAqICRiLWF2YXRhci1iYWRnZS1mb250LXNpemUtc2NhbGV9KTtcbiAgfVxufVxuXG4uYi1hdmF0YXItZ3JvdXAge1xuICAuYi1hdmF0YXItZ3JvdXAtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLmItYXZhdGFyIHtcbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIGEsXG4gIC5idG4ge1xuICAgICYuYi1hdmF0YXI6aG92ZXI6bm90KC5kaXNhYmxlZCk6bm90KGRpc2FibGVkKSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tIEJvb3RzdHJhcFZ1ZSBjdXN0b20gU0NTUyB2YXJpYWJsZXMgLS0tXG4vL1xuLy8gVXNlcnMgY2FuIG92ZXJyaWRlIHRoZXNlIHZhcmlhYmxlcyBpbiB0aGVpciBjdXN0b20gU0NTU1xuLy9cbi8vIFZhcmlhYmxlcyBiZWdpbm5pbmcgd2l0aCBgJGJ2LWAgYXJlIHVzZWQgdG8gZW5hYmxlL2Rpc2FibGUgc3BlY2lmaWMgc2VjdGlvbiBDU1MgZ2VuZXJhdGlvblxuLy8gVmFyaWFibGVzIGJlZ2lubmluZyB3aXRoIGAkYi1gIGFyZSB1c2VkIHRvIGNvbnRyb2wgdmFsdWVzIHdpdGhpbiB0aGUgQ1NTIGdlbmVyYXRpb25cblxuLy8gLS0tIEN1c3RvbSBpbnB1dHMgKGFkZHMgc2l6aW5nIHN1cHBvcnQpIC0tLVxuXG4vLyBJbmRpY2F0b3IgaGVpZ2h0IChhbmQgc29tZXRpbWVzIHdpZHRoKVxuJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtbGc6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG4kYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1zbTogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMC44NzUgIWRlZmF1bHQ7XG5cbi8vIEluZGljYXRvciBiYWNrZ3JvdW5kXG4kYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZS1sZzogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplICFkZWZhdWx0O1xuJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemUtc206ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZSAhZGVmYXVsdDtcblxuLy8gR3V0dGVyIHdpZHRoc1xuJGItY3VzdG9tLWNvbnRyb2wtZ3V0dGVyLWxnOiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICogMS4yNSAhZGVmYXVsdDtcbiRiLWN1c3RvbS1jb250cm9sLWd1dHRlci1zbTogJGN1c3RvbS1jb250cm9sLWd1dHRlciAqIDAuODc1ICFkZWZhdWx0O1xuXG4vLyBDdXN0b20gcmFkaW8gc2l6ZXMgKHVzZXMgZGVmYXVsdHMgb2YgNTAlLCBzaW5jZSByYWRpb3MgYXJlIHJvdW5kKVxuJGItY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzLWxnOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGItY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzLXNtOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4vLyBDdXN0b20gY2hlY2tib3ggc2l6ZXNcbiRiLWN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cy1sZzogJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYi1jdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMtc206ICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4vLyBDdXN0b20gc3dpdGNoIHNpemVzXG4kYi1jdXN0b20tc3dpdGNoLXdpZHRoLWxnOiAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1sZyAqIDEuNzUgIWRlZmF1bHQ7XG4kYi1jdXN0b20tc3dpdGNoLXdpZHRoLXNtOiAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1zbSAqIDEuNzUgIWRlZmF1bHQ7XG4kYi1jdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzLWxnOiAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1sZyAvIDIgIWRlZmF1bHQ7XG4kYi1jdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzLXNtOiAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1zbSAvIDIgIWRlZmF1bHQ7XG4kYi1jdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplLWxnOiBjYWxjKFxuICAjeyRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLWxnfSAtICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0fVxuKSAhZGVmYXVsdDtcbiRiLWN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemUtc206IGNhbGMoXG4gICN7JGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtc219IC0gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDR9XG4pICFkZWZhdWx0O1xuXG4vLyBDdXN0b20gZmlsZSBzaXplc1xuJGItY3VzdG9tLWZpbGUtZm9udC1zaXplLWxnOiAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGItY3VzdG9tLWZpbGUtZm9udC1zaXplLXNtOiAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGItY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQtbGc6ICRpbnB1dC1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcbiRiLWN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0LXNtOiAkaW5wdXQtbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG4kYi1jdXN0b20tZmlsZS1oZWlnaHQtbGc6ICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG4kYi1jdXN0b20tZmlsZS1oZWlnaHQtc206ICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG4kYi1jdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzLWxnOiAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRiLWN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMtc206ICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJGItY3VzdG9tLWZpbGUtcGFkZGluZy15LWxnOiAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGItY3VzdG9tLWZpbGUtcGFkZGluZy15LXNtOiAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGItY3VzdG9tLWZpbGUtcGFkZGluZy14LWxnOiAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGItY3VzdG9tLWZpbGUtcGFkZGluZy14LXNtOiAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGItY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyLWxnOiBjYWxjKFxuICAjeyRiLWN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0LWxnICogMWVtfSArICN7JGItY3VzdG9tLWZpbGUtcGFkZGluZy15LWxnICogMn1cbikgIWRlZmF1bHQ7XG4kYi1jdXN0b20tZmlsZS1oZWlnaHQtaW5uZXItc206IGNhbGMoXG4gICN7JGItY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQtc20gKiAxZW19ICsgI3skYi1jdXN0b20tZmlsZS1wYWRkaW5nLXktc20gKiAyfVxuKSAhZGVmYXVsdDtcblxuLy8gLS0tIEljb25zIC0tLVxuXG4kYi1pY29uLXZlcnRpY2FsLW9mZnNldDogLTAuMTVlbTtcblxuLy8gQW5pbWF0aW9uc1xuJGItaWNvbi1hbmltYXRpb24tY3lsb24tZHVyYXRpb246IDAuNzVzICFkZWZhdWx0O1xuJGItaWNvbi1hbmltYXRpb24tY3lsb24tdmVydGljYWwtZHVyYXRpb246ICRiLWljb24tYW5pbWF0aW9uLWN5bG9uLWR1cmF0aW9uICFkZWZhdWx0O1xuJGItaWNvbi1hbmltYXRpb24tZmFkZS1kdXJhdGlvbjogMC43NXMgIWRlZmF1bHQ7XG4kYi1pY29uLWFuaW1hdGlvbi1zcGluLWR1cmF0aW9uOiAycyAhZGVmYXVsdDtcbiRiLWljb24tYW5pbWF0aW9uLXNwaW4tcmV2ZXJzZS1kdXJhdGlvbjogJGItaWNvbi1hbmltYXRpb24tc3Bpbi1kdXJhdGlvbiAhZGVmYXVsdDtcbiRiLWljb24tYW5pbWF0aW9uLXNwaW4tcHVsc2UtZHVyYXRpb246IDFzICFkZWZhdWx0O1xuJGItaWNvbi1hbmltYXRpb24tc3Bpbi1yZXZlcnNlLXB1bHNlLWR1cmF0aW9uOiAkYi1pY29uLWFuaW1hdGlvbi1zcGluLXB1bHNlLWR1cmF0aW9uICFkZWZhdWx0O1xuJGItaWNvbi1hbmltYXRpb24tdGhyb2ItZHVyYXRpb246IDAuNzVzICFkZWZhdWx0O1xuXG4vLyAtLS0gU2lkZWJhciAtLS1cblxuJGItc2lkZWJhci13aWR0aDogMzIwcHggIWRlZmF1bHQ7XG4kYi1zaWRlYmFyLXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3MgIWRlZmF1bHQ7XG4kYi1zaWRlYmFyLXppbmRleDogY2FsYygjeyR6aW5kZXgtZml4ZWR9ICsgNSkgIWRlZmF1bHQ7XG4kYi1zaWRlYmFyLWhlYWRlci1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRiLXNpZGViYXItaGVhZGVyLXBhZGRpbmcteTogJG5hdmJhci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYi1zaWRlYmFyLWhlYWRlci1wYWRkaW5nLXg6ICRuYXZiYXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4vLyAtLS0gVGFibGVzIC0tLVxuXG4vLyBUYWJsZSBidXN5IHN0YXRlXG4kYi10YWJsZS1idXN5LW9wYWNpdHk6IDAuNTUgIWRlZmF1bHQ7XG5cbi8vIFRhYmxlIHNvcnRpbmdcbiRiLXRhYmxlLXNvcnQtaWNvbi1iZy13aWR0aDogMC42NWVtICFkZWZhdWx0O1xuJGItdGFibGUtc29ydC1pY29uLWJnLWhlaWdodDogMWVtICFkZWZhdWx0O1xuLy8gU29ydCBpY29ucyBhcmUgc3F1YXJlLCBidXQgXCJzcXVpc2hlZFwiIGhvcml6b250YWxseSBieSB0aGUgYWJvdmUgdmFyaWFibGVzXG4kYi10YWJsZS1zb3J0LWljb24tYmctbm90LXNvcnRlZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAxJyBoZWlnaHQ9JzEwMScgdmlldy1ib3g9JzAgMCAxMDEgMTAxJyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSdub25lJz48cGF0aCBmaWxsPSdibGFjaycgb3BhY2l0eT0nLjMnIGQ9J001MSAxbDI1IDIzIDI0IDIySDFsMjUtMjJ6TTUxIDEwMWwyNS0yMyAyNC0yMkgxbDI1IDIyeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRiLXRhYmxlLXNvcnQtaWNvbi1iZy1hc2NlbmRpbmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwMScgaGVpZ2h0PScxMDEnIHZpZXctYm94PScwIDAgMTAxIDEwMScgcHJlc2VydmVBc3BlY3RSYXRpbz0nbm9uZSc+PHBhdGggZmlsbD0nYmxhY2snIGQ9J001MSAxbDI1IDIzIDI0IDIySDFsMjUtMjJ6Jy8+PHBhdGggZmlsbD0nYmxhY2snIG9wYWNpdHk9Jy4zJyBkPSdNNTEgMTAxbDI1LTIzIDI0LTIySDFsMjUgMjJ6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGItdGFibGUtc29ydC1pY29uLWJnLWRlc2NlbmRpbmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwMScgaGVpZ2h0PScxMDEnIHZpZXctYm94PScwIDAgMTAxIDEwMScgcHJlc2VydmVBc3BlY3RSYXRpbz0nbm9uZSc+PHBhdGggZmlsbD0nYmxhY2snIG9wYWNpdHk9Jy4zJyBkPSdNNTEgMWwyNSAyMyAyNCAyMkgxbDI1LTIyeicvPjxwYXRoIGZpbGw9J2JsYWNrJyBkPSdNNTEgMTAxbDI1LTIzIDI0LTIySDFsMjUgMjJ6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gSWNvbnMgdG8gdXNlIG9uIGRhcmsgdGFibGUgb3IgZGFyayBoZWFkZXIvZm9vdGVyIChsaWdodGVyIGNvbG9yIGljb25zKVxuLy8gV2Ugc2ltcGx5IGp1c3QgcmVwbGFjZSB0aGUgZmlsbCBjb2xvciAnYmxhY2snIHdoaXRlICd3aGl0ZSdcbiRiLXRhYmxlLXNvcnQtaWNvbi1iZy1kYXJrLW5vdC1zb3J0ZWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwMScgaGVpZ2h0PScxMDEnIHZpZXctYm94PScwIDAgMTAxIDEwMScgcHJlc2VydmVBc3BlY3RSYXRpbz0nbm9uZSc+PHBhdGggZmlsbD0nd2hpdGUnIG9wYWNpdHk9Jy4zJyBkPSdNNTEgMWwyNSAyMyAyNCAyMkgxbDI1LTIyek01MSAxMDFsMjUtMjMgMjQtMjJIMWwyNSAyMnonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYi10YWJsZS1zb3J0LWljb24tYmctZGFyay1hc2NlbmRpbmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwMScgaGVpZ2h0PScxMDEnIHZpZXctYm94PScwIDAgMTAxIDEwMScgcHJlc2VydmVBc3BlY3RSYXRpbz0nbm9uZSc+PHBhdGggZmlsbD0nd2hpdGUnIGQ9J001MSAxbDI1IDIzIDI0IDIySDFsMjUtMjJ6Jy8+PHBhdGggZmlsbD0nd2hpdGUnIG9wYWNpdHk9Jy4zJyBkPSdNNTEgMTAxbDI1LTIzIDI0LTIySDFsMjUgMjJ6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGItdGFibGUtc29ydC1pY29uLWJnLWRhcmstZGVzY2VuZGluZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAxJyBoZWlnaHQ9JzEwMScgdmlldy1ib3g9JzAgMCAxMDEgMTAxJyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSdub25lJz48cGF0aCBmaWxsPSd3aGl0ZScgb3BhY2l0eT0nLjMnIGQ9J001MSAxbDI1IDIzIDI0IDIySDFsMjUtMjJ6Jy8+PHBhdGggZmlsbD0nd2hpdGUnIGQ9J001MSAxMDFsMjUtMjMgMjQtMjJIMWwyNSAyMnonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbi8vIEZsYWcgdG8gZW5hYmxlIHN0aWNreSB0YWJsZSBoZWFkZXIgYW5kIGNvbHVtbiBDU1MgZ2VuZXJhdGlvblxuJGJ2LWVuYWJsZS10YWJsZS1zdGlja3k6IHRydWUgIWRlZmF1bHQ7XG4vLyBEZWZhdWx0IG1heC1oZWlnaHQgZm9yIHRhYmxlcyB3aXRoIHN0aWNreSBoZWFkZXJzXG4kYi10YWJsZS1zdGlja3ktaGVhZGVyLW1heC1oZWlnaHQ6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLyBGbGFnIHRvIGVuYWJsZSB0YWJsZSBzdGFja2VkIENTUyBnZW5lcmF0aW9uXG4kYnYtZW5hYmxlLXRhYmxlLXN0YWNrZWQ6IHRydWUgIWRlZmF1bHQ7XG4vLyBUYWJsZSBzdGFja2VkIGRlZmF1bHRzXG4kYi10YWJsZS1zdGFja2VkLWhlYWRpbmctd2lkdGg6IDQwJSAhZGVmYXVsdDtcbiRiLXRhYmxlLXN0YWNrZWQtZ2FwOiAxcmVtICFkZWZhdWx0O1xuXG4vLyBCb290c3RyYXAgdjQuMyBpcyBtaXNzaW5nIHRoZSBcImFjdGl2ZVwiIHZhcmlhbnQgZm9yIGRhcmsgdGFibGVzXG4vLyBXaGljaCB0cmFuc2xhdGVzIHRvIGBiZy1hY3RpdmVgLCBidXQgb25seSBmb3IgdGFibGVzXG4kdGFibGUtZGFyay1hY3RpdmUtYmc6ICR0YWJsZS1kYXJrLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4vLyAtLS0gVG9hc3RzIC0tLVxuXG4vLyBUb2FzdGVyIGRlZmF1bHRzXG4kYi10b2FzdGVyLXppbmRleDogMTEwMCAhZGVmYXVsdDtcbiRiLXRvYXN0ZXItb2Zmc2V0LXRvcDogMC41cmVtICFkZWZhdWx0O1xuJGItdG9hc3Rlci1vZmZzZXQtYm90dG9tOiAkYi10b2FzdGVyLW9mZnNldC10b3AgIWRlZmF1bHQ7XG4kYi10b2FzdGVyLW9mZnNldC1sZWZ0OiAkYi10b2FzdGVyLW9mZnNldC10b3AgIWRlZmF1bHQ7XG4kYi10b2FzdGVyLW9mZnNldC1yaWdodDogJGItdG9hc3Rlci1vZmZzZXQtdG9wICFkZWZhdWx0O1xuXG4vLyBEZWZhdWx0IHRvYXN0IG9wYWNpdHlcbi8vIFZhbHVlIGZyb20gMCB0byAxLCBvciAwJSB0byAxMDAlXG4vLyBCb290c3RyYXAgZGVmYXVsdCBpcyAwLjg1IChleHRyYWN0ZWQgZnJvbSB0aGUgYCR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yYCB2YWx1ZSlcbi8vIEJvb3RzdHJhcCBkb2VzIG5vdCBoYXZlIHRoaXMgYXMgYSB2YXJpYWJsZSwgc28gd2UgYWRkIGl0IGluLlxuJGItdG9hc3QtYmFja2dyb3VuZC1vcGFjaXR5OiBhbHBoYSgkdG9hc3QtYmFja2dyb3VuZC1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vIFRvYXN0IHZhcmlhbnQgbGV2ZWxzIHdydCB0aGVtZSBjb2xvciB2YWx1ZVxuJGItdG9hc3QtYmctbGV2ZWw6ICRhbGVydC1iZy1sZXZlbCAhZGVmYXVsdDtcbiRiLXRvYXN0LWJvcmRlci1sZXZlbDogJGFsZXJ0LWJvcmRlci1sZXZlbCAhZGVmYXVsdDtcbiRiLXRvYXN0LWNvbG9yLWxldmVsOiAkYWxlcnQtY29sb3ItbGV2ZWwgIWRlZmF1bHQ7XG5cbi8vIC0tLSBUb29sdGlwcyAtLS1cblxuLy8gRmxhZyB0byBlbmFibGUgdG9vbHRpcCB2YXJpYW50IENTUyBnZW5lcmF0aW9uXG4kYnYtZW5hYmxlLXRvb2x0aXAtdmFyaWFudHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFRvb2x0aXAgYmFja2dyb3VuZCB2YXJpYW50IGxldmVsIHdydCB0aGVtZSBjb2xvciB2YWx1ZVxuJGItdG9vbHRpcC1iZy1sZXZlbDogMCAhZGVmYXVsdDtcblxuLy8gLS0tIFBvcG92ZXJzIC0tLVxuXG4vLyBGbGFnIHRvIGVuYWJsZSBwb3BvdmVyIHZhcmlhbnQgQ1NTIGdlbmVyYXRpb25cbiRidi1lbmFibGUtcG9wb3Zlci12YXJpYW50czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gUG9wb3ZlciB2YXJpYW50IGxldmVscyB3cnQgdGhlbWUgY29sb3IgdmFsdWVcbiRiLXBvcG92ZXItYmctbGV2ZWw6ICRhbGVydC1iZy1sZXZlbCAhZGVmYXVsdDtcbiRiLXBvcG92ZXItYm9yZGVyLWxldmVsOiAkYWxlcnQtYm9yZGVyLWxldmVsICFkZWZhdWx0O1xuJGItcG9wb3Zlci1jb2xvci1sZXZlbDogJGFsZXJ0LWNvbG9yLWxldmVsICFkZWZhdWx0O1xuXG4vLyAtLS0gQXZhdGFyIC0tLVxuXG4kYi1hdmF0YXItc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuJGItYXZhdGFyLXNpemUtc206IDEuNXJlbSAhZGVmYXVsdDtcbiRiLWF2YXRhci1zaXplLWxnOiAzLjVyZW0gIWRlZmF1bHQ7XG4kYi1hdmF0YXItZm9udC1zaXplLXNjYWxlOiAwLjQgIWRlZmF1bHQ7XG4kYi1hdmF0YXItYmFkZ2UtZm9udC1zaXplLXNjYWxlOiAkYi1hdmF0YXItZm9udC1zaXplLXNjYWxlICogMC43ICFkZWZhdWx0O1xuXG4vLyAtLS0gU2tlbGV0b24gLS0tXG5cbiRiLXNrZWxldG9uLWJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMikgIWRlZmF1bHQ7XG4kYi1za2VsZXRvbi1sb2FkaW5nLWN1cnNvcjogd2FpdCAhZGVmYXVsdDtcbiRiLXNrZWxldG9uLWFuaW1hdGlvbi1kdXJhdGlvbjogMS43NXMgIWRlZmF1bHQ7XG4kYi1za2VsZXRvbi10ZXh0LXNwYWNpbmc6IG1hcC1nZXQoJHNwYWNlcnMsIDEpICFkZWZhdWx0O1xuJGItc2tlbGV0b24tYnRuLXdpZHRoOiA3NXB4ICFkZWZhdWx0O1xuIiwiLy8gQkNhbGVuZGFyIGN1c3RvbSBzdHlsZXNcblxuLmItY2FsZW5kYXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAuYi1jYWxlbmRhci1pbm5lciB7XG4gICAgLy8gUHJldmVudCBjYWxlbmRhciBmcm9tIGdvaW5nIGJlbG93IHRoaXMgd2lkdGhcbiAgICBtaW4td2lkdGg6IDI1MHB4O1xuICB9XG5cbiAgLmItY2FsZW5kYXItaGVhZGVyLFxuICAuYi1jYWxlbmRhci1uYXYge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIH1cblxuICAuYi1jYWxlbmRhci1uYXYgLmJ0biB7XG4gICAgcGFkZGluZzogMC4yNXJlbTtcbiAgfVxuXG4gIG91dHB1dCB7XG4gICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICBmb250LXNpemU6IDgwJTtcblxuICAgICYucmVhZG9ubHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAuYi1jYWxlbmRhci1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgfVxuXG4gIC5iLWNhbGVuZGFyLWdyaWQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIC8vIEVhc3kgcm91bmRlZCBjb3JuZXJzIG9uIGNvbnRhaW5lZCBlbGVtZW50cyxcbiAgICAvLyBzcGVjaWZpY2FsbHkgdGhlIGZvb3RlciBvZiB0aGUgY2FsZW5kYXIgZ3JpZFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAucm93IHtcbiAgICAgIC8vIFByZXZlbnQgZ3JpZCByb3dzIGZyb20gd3JhcHBpbmdcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gIC5iLWNhbGVuZGFyLWdyaWQtY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC4yNXJlbTtcbiAgfVxuXG4gIC5iLWNhbGVuZGFyLWdyaWQtYm9keSB7XG4gICAgLmNvbFtkYXRhLWRhdGVdIHtcbiAgICAgIC8vIFdlIGhhcmQgY29kZSB0aGUgc2l6ZXMgaW4gYHB4YCB0byBmaXRcbiAgICAgIC8vIGNvcnJlY3RseSBvbiBzbWFsbCBtb2JpbGUgZGV2aWNlIHNjcmVlbnNcbiAgICAgIC5idG4ge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDNweCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiA5cHggMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZSB0byBnZXQgYXJvdW5kIEJvb3RzdHJhcCB2NC40IGJ1Z1xuICAvLyB3aXRoIGhhbmQgY3Vyc29yIG9uIGRpc2FibGVkIGJ1dHRvbnNcbiAgLy8gQXMgd2VsbCwgd2hlbiBhIGJ1dHRvbiBpcyBzdGlsbCBmb2N1c2FibGUsIGJ1dCBpc1xuICAvLyBgYXJpYS1kaXNhYmxlZGAgd2Ugd2FudCBgcG9pbnRlci1ldmVudHM6IG5vbmVgXG4gIC5idG4ge1xuICAgICY6ZGlzYWJsZWQsXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLmNhcmQtaW1nLWxlZnQge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZy1yaWdodCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG4iLCIkYnYtZHJvcGRvd24tZGVmaW5lZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIE1ha2Ugc3VyZSB0byBpbmNsdWRlIHRoZXNlIHN0eWxlIGRlZmluaXRpb25zIG9ubHkgb25jZVxuQGlmICRidi1kcm9wZG93bi1kZWZpbmVkID09IGZhbHNlIHtcbiAgJGJ2LWRyb3Bkb3duLWRlZmluZWQ6IHRydWU7XG5cbiAgLy8gSGlkZSB0aGUgY2FyZXQgZm9yIGBuby1jYXJldGAgc2V0dGluZ1xuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ib290c3RyYXAtdnVlL2Jvb3RzdHJhcC12dWUvaXNzdWVzLzE0NzNcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzIzNzI0XG4gIC5kcm9wZG93biB7XG4gICAgJjpub3QoLmRyb3BsZWZ0KSB7XG4gICAgICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgJi5kcm9wZG93bi10b2dnbGUtbm8tY2FyZXQ6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ib290c3RyYXAtdnVlL2Jvb3RzdHJhcC12dWUvaXNzdWVzLzI5MDlcbiAgICAmLmRyb3BsZWZ0IHtcbiAgICAgIC5kcm9wZG93bi10b2dnbGUge1xuICAgICAgICAmLmRyb3Bkb3duLXRvZ2dsZS1uby1jYXJldDo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBmb2N1cyByaW5nIGludHJvZHVjZWQgYnkgQm9vdHN0cmF0cCB2NC40IHJlYm9vdFxuICAgIC8vIG9uIGl0ZW1zIHdpdGggdGFiaW5kZXg9XCItMVwiLCBhcyB3ZSBrbm93IGhvdyB1c2VycyBmZWVsXG4gICAgLy8gYWJvdXQgYmx1ZSByaW5ncyB3aGVyZSB0aGV5IGRvbid0IGV4cGVjdCB0aGVtLlxuICAgIC5kcm9wZG93bi1tZW51OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gUHJldmVudCBkcm9wZG93biBiYWNrZ3JvdW5kIG92ZXJmbG93IGlmIHRoZXJlJ3Mgbm8gcGFkZGluZ1xuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yNzcwM1xuICAgIC8vIEFkZGVkIGhlcmUgdG8gYWRkcmVzcyA8bGk+IHdyYXBwaW5nIG9mIGl0ZW1zXG4gICAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAuZHJvcGRvd24taXRlbSxcbiAgICAgICAgICAuZHJvcGRvd24tZm9ybSxcbiAgICAgICAgICAuZHJvcGRvd24tdGV4dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgLmRyb3Bkb3duLWl0ZW0sXG4gICAgICAgICAgLmRyb3Bkb3duLWZvcm0sXG4gICAgICAgICAgLmRyb3Bkb3duLXRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJGJ2LWRyb3Bkb3duLWZvcm0tZGVmaW5lZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiAkYnYtZHJvcGRvd24tZm9ybS1kZWZpbmVkID09IGZhbHNlIHtcbiAgLy8gVGhpcyB0ZXN0IHdpbGwgb25seSBpbmNsdWRlIHRoZXNlIHN0eWxlIGRlZmluaXRpb25zIG9uY2VcbiAgJGJ2LWRyb3Bkb3duLWZvcm0tZGVmaW5lZDogdHJ1ZTtcblxuICAvLyBDdXN0b20gc3R5bGVzIGZvciA8Yi1kcm9wZG93bi1mb3JtPlxuICAvLyBCYXNlZCBvbiBjbGFzcyBgLmRyb3Bkb3duLWl0ZW1gXG4gIC5iLWRyb3Bkb3duLWZvcm0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBGcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9zY3NzL19yZWJvb3Quc2Nzc1xuICAgICAgLy8gbWltaWNraW5nIGJ1dHRvbjpmb2N1cyBzdHlsaW5nLlxuICAgICAgLy8gV2UgYWRkIGltcG9ydGFudCBoZXJlIGFzIGFueXRoaW5nIHdpdGggdGFiaW5kZXggYC0xYCBhbmQgZm9jdXNlZCB3aWxsIG5vdFxuICAgICAgLy8gaGF2ZSBhIGZvY3VzIHJpbmcgZHVlIHRvIHJlYm9vdC5zY3NzIGFuZCBpdHMgYCFpbXBvcnRhbnRgIG92ZXJyaWRlLlxuICAgICAgLy8gTmVlZGVkIGZvciBrZXlib2FyZCBuYXZpZ2F0aW9uIGhpZ2gtbGlnaHRpbmdcbiAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgIWltcG9ydGFudDtcbiAgICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQsXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgICAvLyBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgLy8gICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgLy8gfVxuICAgIH1cbiAgfVxufVxuIiwiJGJ2LWRyb3Bkb3duLXRleHQtZGVmaW5lZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiAkYnYtZHJvcGRvd24tdGV4dC1kZWZpbmVkID09IGZhbHNlIHtcbiAgLy8gVGhpcyB0ZXN0IHdpbGwgb25seSBpbmNsdWRlIHRoZXNlIHN0eWxlIGRlZmluaXRpb25zIG9uY2VcbiAgJGJ2LWRyb3Bkb3duLXRleHQtZGVmaW5lZDogdHJ1ZTtcblxuICAvLyBDdXN0b20gc3R5bGVzIGZvciA8Yi1kcm9wZG93bi10ZXh0PlxuICAvLyBCYXNlZCBvbiBjbGFzcyBgLmRyb3Bkb3duLWl0ZW1gXG4gIC5iLWRyb3Bkb3duLXRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyO1xuICB9XG59XG4iLCIvLyBBZGRzIGNvbnRyb2wgc2l6aW5nIHRvIEJvb3RzdHJhcCBjdXN0b20gY2hlY2tib3gvc3dpdGNoIGlucHV0c1xuXG4uY3VzdG9tLWNoZWNrYm94LmItY3VzdG9tLWNvbnRyb2wtbGcsXG4uaW5wdXQtZ3JvdXAtbGcgLmN1c3RvbS1jaGVja2JveCB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1sZztcbiAgcGFkZGluZy1sZWZ0OiAkYi1jdXN0b20tY29udHJvbC1ndXR0ZXItbGcgKyAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1sZztcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZyAtICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLWxnKSAvIDI7XG4gICAgbGVmdDogLSgkYi1jdXN0b20tY29udHJvbC1ndXR0ZXItbGcgKyAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1sZyk7XG4gICAgd2lkdGg6ICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLWxnO1xuICAgIGhlaWdodDogJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtbGc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYi1jdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMtbGcpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZyAtICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLWxnKSAvIDI7XG4gICAgbGVmdDogLSgkYi1jdXN0b20tY29udHJvbC1ndXR0ZXItbGcgKyAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1sZyk7XG4gICAgd2lkdGg6ICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLWxnO1xuICAgIGhlaWdodDogJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtbGc7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZS1sZztcbiAgfVxufVxuXG4uY3VzdG9tLWNoZWNrYm94LmItY3VzdG9tLWNvbnRyb2wtc20sXG4uaW5wdXQtZ3JvdXAtc20gLmN1c3RvbS1jaGVja2JveCB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkYi1jdXN0b20tY29udHJvbC1ndXR0ZXItc20gKyAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1zbTtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1zbSAqICRsaW5lLWhlaWdodC1zbSAtICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLXNtKSAvIDI7XG4gICAgbGVmdDogLSgkYi1jdXN0b20tY29udHJvbC1ndXR0ZXItc20gKyAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1zbSk7XG4gICAgd2lkdGg6ICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLXNtO1xuICAgIGhlaWdodDogJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtc207XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYi1jdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMtc20pO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1zbSAqICRsaW5lLWhlaWdodC1zbSAtICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLXNtKSAvIDI7XG4gICAgbGVmdDogLSgkYi1jdXN0b20tY29udHJvbC1ndXR0ZXItc20gKyAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1zbSk7XG4gICAgd2lkdGg6ICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLXNtO1xuICAgIGhlaWdodDogJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtc207XG4gICAgYmFja2dyb3VuZC1zaXplOiAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZS1zbTtcbiAgfVxufVxuXG4uY3VzdG9tLXN3aXRjaC5iLWN1c3RvbS1jb250cm9sLWxnLFxuLmlucHV0LWdyb3VwLWxnIC5jdXN0b20tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAkYi1jdXN0b20tc3dpdGNoLXdpZHRoLWxnICsgJGItY3VzdG9tLWNvbnRyb2wtZ3V0dGVyLWxnO1xuXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGc7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZyAtICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLWxnKSAvIDI7XG4gICAgICBoZWlnaHQ6ICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLWxnO1xuICAgICAgbGVmdDogLSgkYi1jdXN0b20tc3dpdGNoLXdpZHRoLWxnICsgJGItY3VzdG9tLWNvbnRyb2wtZ3V0dGVyLWxnKTtcbiAgICAgIHdpZHRoOiAkYi1jdXN0b20tc3dpdGNoLXdpZHRoLWxnO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGItY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cy1sZztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGNhbGMoXG4gICAgICAgICN7KCgkZm9udC1zaXplLWxnICogJGxpbmUtaGVpZ2h0LWxnIC0gJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtbGcpIC8gMil9ICsgI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqXG4gICAgICAgICAgMn1cbiAgICAgICk7XG4gICAgICBsZWZ0OiBjYWxjKFxuICAgICAgICAjey0gKCRiLWN1c3RvbS1zd2l0Y2gtd2lkdGgtbGcgKyAkYi1jdXN0b20tY29udHJvbC1ndXR0ZXItbGcpfSArICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKlxuICAgICAgICAgIDJ9XG4gICAgICApO1xuICAgICAgd2lkdGg6ICRiLWN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemUtbGc7XG4gICAgICBoZWlnaHQ6ICRiLWN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemUtbGc7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYi1jdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzLWxnO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZS1sZztcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRiLWN1c3RvbS1zd2l0Y2gtd2lkdGgtbGcgLSAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1sZyk7XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b20tc3dpdGNoLmItY3VzdG9tLWNvbnRyb2wtc20sXG4uaW5wdXQtZ3JvdXAtc20gLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRiLWN1c3RvbS1zd2l0Y2gtd2lkdGgtc20gKyAkYi1jdXN0b20tY29udHJvbC1ndXR0ZXItc207XG5cbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1zbTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6ICgkZm9udC1zaXplLXNtICogJGxpbmUtaGVpZ2h0LXNtIC0gJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtc20pIC8gMjtcbiAgICAgIGxlZnQ6IC0oJGItY3VzdG9tLXN3aXRjaC13aWR0aC1zbSArICRiLWN1c3RvbS1jb250cm9sLWd1dHRlci1zbSk7XG4gICAgICB3aWR0aDogJGItY3VzdG9tLXN3aXRjaC13aWR0aC1zbTtcbiAgICAgIGhlaWdodDogJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtc207XG4gICAgICBib3JkZXItcmFkaXVzOiAkYi1jdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzLXNtO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogY2FsYyhcbiAgICAgICAgI3soKCRmb250LXNpemUtc20gKiAkbGluZS1oZWlnaHQtc20gLSAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1zbSkgLyAyKX0gKyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICpcbiAgICAgICAgICAyfVxuICAgICAgKTtcbiAgICAgIGxlZnQ6IGNhbGMoXG4gICAgICAgICN7LSAoJGItY3VzdG9tLXN3aXRjaC13aWR0aC1zbSArICRiLWN1c3RvbS1jb250cm9sLWd1dHRlci1zbSl9ICsgI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqXG4gICAgICAgICAgMn1cbiAgICAgICk7XG4gICAgICB3aWR0aDogJGItY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZS1zbTtcbiAgICAgIGhlaWdodDogJGItY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZS1zbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRiLWN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMtc207XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6ICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplLXNtO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGItY3VzdG9tLXN3aXRjaC13aWR0aC1zbSAtICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLXNtKTtcbiAgICB9XG4gIH1cbn1cbiIsIiRidi1pbnB1dC1ncm91cC1kcm9wZG93bi1wYXRjaGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gTWFrZSBzdXJlIHRvIGluY2x1ZGUgdGhlc2Ugc3R5bGUgZGVmaW5pdGlvbnMgb25seSBvbmNlXG5AaWYgJGJ2LWlucHV0LWdyb3VwLWRyb3Bkb3duLXBhdGNoZWQgPT0gZmFsc2Uge1xuICAkYnYtaW5wdXQtZ3JvdXAtZHJvcGRvd24tcGF0Y2hlZDogdHJ1ZTtcblxuICAvLyBXb3JrYXJvdW5kIGZvciBodHRwczovL2dpdGh1Yi5jb20vYm9vdHN0cmFwLXZ1ZS9ib290c3RyYXAtdnVlL2lzc3Vlcy8xNTYwXG4gIC8vIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9ib290c3RyYXAtdnVlL2Jvb3RzdHJhcC12dWUvaXNzdWVzLzIxMTQgKi9cbiAgLy8gQmFzZWQgb246IGB+Ym9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3NgXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4tZ3JvdXAsXG4gICAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLWdyb3VwLFxuICAgID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gICAgICA+IC5idG4ge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bi1ncm91cCxcbiAgICA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bi1ncm91cCxcbiAgICA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICA+IC5idG4ge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJGJ2LWZvcm0tYnRuLWxhYmVsLWNvbnRyb2wtZGVmaW5lZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIE1ha2Ugc3VyZSB0byBpbmNsdWRlIHRoZXNlIHN0eWxlIGRlZmluaXRpb25zIG9ubHkgb25jZVxuQGlmICRidi1mb3JtLWJ0bi1sYWJlbC1jb250cm9sLWRlZmluZWQgPT0gZmFsc2Uge1xuICAkYnYtZm9ybS1idG4tbGFiZWwtY29udHJvbC1kZWZpbmVkOiB0cnVlO1xuXG4gIC8vIEN1c3RvbSBCVkZvcm1CdG5MYWJlbENvbnRyb2wgc3R5bGluZ1xuICAvLyBDdXJyZW50bHkgdXNlZCBieSBCRm9ybVRpbWVwaWNrZXIgYW5kIEJGb3JtRGF0ZXBpY2tlclxuICAvLyBEb2VzIG5vdCBhcHBseSB0byBidXR0b24tb25seSBzdHlsaW5nXG4gIC5iLWZvcm0tYnRuLWxhYmVsLWNvbnRyb2wuZm9ybS1jb250cm9sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIC8vIFJlbW92ZSBiYWNrZ3JvdW5kIHZhbGlkYXRpb24gaW1hZ2VzIGFuZCBwYWRkaW5nIGZyb21cbiAgICAvLyBtYWluIHdyYXBwZXIgYXMgdGhleSB3aWxsIGJlIHByZXNlbnQgaW4gdGhlIGlubmVyIGxhYmVsIGVsZW1lbnRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXG4gICAgQGF0LXJvb3Qge1xuICAgICAgLy8gSGFuZGxlIGAuaW5wdXQtZ3JvdXBgIHBhZGRpbmcgb3ZlcnJpZGVzXG4gICAgICAuaW5wdXQtZ3JvdXAgJiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGF0LXJvb3Qge1xuICAgICAgLy8gUHJldmVudCB0aGUgYnV0dG9uL2xhYmVsIGZyb20gcmV2ZXJzaW5nIG9yZGVyIG9uIGluIGhvcml6b250YWwgUlRMIG1vZGVcbiAgICAgIFtkaXI9XCJydGxcIl0gJixcbiAgICAgICZbZGlyPVwicnRsXCJdIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgID4gbGFiZWwge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAuYnRuIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy12YWxpZCA+IC5idG4ge1xuICAgICAgY29sb3I6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yO1xuICAgIH1cblxuICAgICYuaXMtaW52YWxpZCA+IC5idG4ge1xuICAgICAgY29sb3I6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I7XG4gICAgfVxuXG4gICAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgfVxuXG4gICAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIC8vIFNldCBhIG1pbmltdW0gaGVpZ2h0LCBhcyB3ZSBoYXZlIGhlaWdodCBzZXQgdG8gYGF1dG9gXG4gICAgICAvLyAodG8gYWxsb3cgdGhlIGNvbnRlbnQgdG8gd3JhcCwgaWYgbmVlZGVkKVxuICAgICAgLy8gV2Ugc3VidHJhY3Qgb2ZmIHRoZSBib3JkZXIsIGFzIHdlIGhhdmUgYm9yZGVyIHNldCB0byBgMGBcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skaW5wdXQtaGVpZ2h0fSAtICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgICYuZm9ybS1jb250cm9sLXNtIHtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygjeyRpbnB1dC1oZWlnaHQtc219IC0gI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pO1xuICAgICAgfVxuXG4gICAgICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWxnfSAtICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KTtcbiAgICAgIH1cblxuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAvLyBIYW5kbGUgaW5wdXQgZ3JvdXAgc2l6aW5nXG4gICAgICAgIC5pbnB1dC1ncm91cC5pbnB1dC1ncm91cC1zbSAmIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGlucHV0LWhlaWdodC1zbX0gLSAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSk7XG4gICAgICAgICAgcGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nLXktc207XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXktc207XG4gICAgICAgIH1cblxuICAgICAgICAuaW5wdXQtZ3JvdXAuaW5wdXQtZ3JvdXAtbGcgJiB7XG4gICAgICAgICAgbWluLWhlaWdodDogY2FsYygjeyRpbnB1dC1oZWlnaHQtbGd9IC0gI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAkaW5wdXQtcGFkZGluZy15LWxnO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtcGFkZGluZy15LWxnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBzdHlsaW5nXG4gICAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSxcbiAgICAmW2FyaWEtcmVhZG9ubHk9XCJ0cnVlXCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgPiBsYWJlbCB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBCdXR0b24gb25seSBtb2RlIG1lbnUgcGFkZGluZyBvdmVycmlkZXNcbiAgLmItZm9ybS1idG4tbGFiZWwtY29udHJvbC5idG4tZ3JvdXAge1xuICAgID4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQWRkcyBpbiBzaXplcyBmb3IgY3VzdG9tLWZpbGVcblxuLy8gUHJldmVudCBmaWxlIG5hbWVzIGZyb20gb3ZlcmZsb3dpbmcgdGhlIGZpbGUgaW5wdXRcbi8vIFRoZXNlIHN0eWxlcyBjYW4gYmUgcmVtb3ZlZCB3aGVuIHRoZSByZWxhdGVkIEJvb3RzdHJhcCBidWcgZ2V0cyBmaXhlZDpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMzE1Nzdcbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLmItY3VzdG9tLWNvbnRyb2wtbGcsXG4uaW5wdXQtZ3JvdXAtbGcge1xuICAmLmN1c3RvbS1maWxlLFxuICAuY3VzdG9tLWZpbGUtaW5wdXQsXG4gIC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAkYi1jdXN0b20tZmlsZS1mb250LXNpemUtbGc7XG4gICAgaGVpZ2h0OiAkYi1jdXN0b20tZmlsZS1oZWlnaHQtbGc7XG4gIH1cblxuICAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gIC5jdXN0b20tZmlsZS1sYWJlbDphZnRlciB7XG4gICAgcGFkZGluZzogJGItY3VzdG9tLWZpbGUtcGFkZGluZy15LWxnICRiLWN1c3RvbS1maWxlLXBhZGRpbmcteC1sZztcbiAgICBsaW5lLWhlaWdodDogJGItY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQtbGc7XG4gIH1cblxuICAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGItY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBoZWlnaHQ6ICRiLWN1c3RvbS1maWxlLWhlaWdodC1pbm5lci1sZztcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkYi1jdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzLWxnICRiLWN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMtbGcgMCk7XG4gICAgfVxuICB9XG59XG5cbi5iLWN1c3RvbS1jb250cm9sLXNtLFxuLmlucHV0LWdyb3VwLXNtIHtcbiAgJi5jdXN0b20tZmlsZSxcbiAgLmN1c3RvbS1maWxlLWlucHV0LFxuICAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogJGItY3VzdG9tLWZpbGUtZm9udC1zaXplLXNtO1xuICAgIGhlaWdodDogJGItY3VzdG9tLWZpbGUtaGVpZ2h0LXNtO1xuICB9XG5cbiAgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAuY3VzdG9tLWZpbGUtbGFiZWw6YWZ0ZXIge1xuICAgIHBhZGRpbmc6ICRiLWN1c3RvbS1maWxlLXBhZGRpbmcteS1zbSAkYi1jdXN0b20tZmlsZS1wYWRkaW5nLXgtc207XG4gICAgbGluZS1oZWlnaHQ6ICRiLWN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0LXNtO1xuICB9XG5cbiAgLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiLWN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMtc20pO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgaGVpZ2h0OiAkYi1jdXN0b20tZmlsZS1oZWlnaHQtaW5uZXItc207XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGItY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cy1zbSAkYi1jdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzLXNtIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVGVtcG9yYXJ5IGZpeCBmb3IgY3NzbmFubyBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9jc3NuYW5vL2Nzc25hbm8vaXNzdWVzLzcxMlxuLy8gQnkgbW92aW5nIGNlbnRlciB0byBsYXN0IHZhbHVlIGluIGBiYWNrZ3JvdW5kLXBvc2l0aW9uYCBwcm9wZXJ0eVxuLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYm9vdHN0cmFwLXZ1ZS9ib290c3RyYXAtdnVlL2lzc3Vlcy8yNTk5XG5AaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjppbnZhbGlkLFxuICAgIC53YXMtdmFsaWRhdGVkICY6dmFsaWQsXG4gICAgJi5pcy1pbnZhbGlkLFxuICAgICYuaXMtdmFsaWQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gQm9vdHN0cmFwIHY0LnggZG9lcyBub3QgaGF2ZSBzcGVjaWFsIHN0eWxpbmcgZm9yIGNvbG9yIGlucHV0XG4vLyBTbyB3ZSBkZWZpbmUgc29tZSBiYXNpYyBzdHlsZXMgdG8gY29tcGVuc2F0ZVxuaW5wdXRbdHlwZT1cImNvbG9yXCJdLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgLy8gV2UgdXNlIHRoZSBzbWFsbGVyIHBhZGRpbmcgdG8gbWFrZSB0aGUgY29sb3IgYmxvY2sgbGFyZ2VyXG4gIHBhZGRpbmc6ICgkaW5wdXQtcGFkZGluZy15LXNtIC8gMikgKCRpbnB1dC1wYWRkaW5nLXgtc20gLyAyKTtcbn1cblxuaW5wdXRbdHlwZT1cImNvbG9yXCJdLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc20sXG4uaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT1cImNvbG9yXCJdLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgLy8gV2UgdXNlIHRoZSBzbWFsbGVyIHBhZGRpbmcgdG8gbWFrZSB0aGUgY29sb3IgYmxvY2sgbGFyZ2VyXG4gIHBhZGRpbmc6ICgkaW5wdXQtcGFkZGluZy15LXNtIC8gMikgKCRpbnB1dC1wYWRkaW5nLXgtc20gLyAyKTtcbn1cblxuaW5wdXRbdHlwZT1cImNvbG9yXCJdLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtbGcsXG4uaW5wdXQtZ3JvdXAtbGcgaW5wdXRbdHlwZT1cImNvbG9yXCJdLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogKCRpbnB1dC1wYWRkaW5nLXktc20gLyAyKSAoJGlucHV0LXBhZGRpbmcteC1zbSAvIDIpO1xufVxuXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0uZm9ybS1jb250cm9sOmRpc2FibGVkIHtcbiAgLy8gRGlzYWJsZWQgc3R5bGluZyBuZWVkcyB0byBiZSBhIGJpdCBkaWZmZXJlbnQgdGhhbiByZWd1bGFyIGlucHV0c1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS01MDA7XG4gIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbn1cblxuLy8gLS0tIEJhc2UgYC5pbnB1dC1ncm91cCA+IC5jdXN0b20tcmFuZ2VgIHN0eWxpbmcgKG5vIFBSIHlldCBvbiBCb290c3RyYXAgdjQpIC0tLVxuLmlucHV0LWdyb3VwIHtcbiAgPiAuY3VzdG9tLXJhbmdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1yYW5nZSxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5jdXN0b20tc2VsZWN0LFxuICA+IC5jdXN0b20tcmFuZ2UsXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICArIC5jdXN0b20tcmFuZ2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gID4gLmN1c3RvbS1yYW5nZTpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gID4gLmN1c3RvbS1yYW5nZSB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gID4gLmN1c3RvbS1yYW5nZSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG5cbiAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcbiAgICAvLyBCb290c3RyYXAgdjQuMy4yIGhhcyBkZXByZWNhdGVkIHRoaXMgbWl4aW5cbiAgICAvLyBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoKTtcbiAgICAvLyBTbyB3ZSBtYW51YWxseSBhZGQgaXRzIGNvbnRlbnQgaGVyZVxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjsgLy8gb25seSBuZWVkZWQgZm9yIGZhbGxiYWNrIHRvIHRleHQgaW5wdXRcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXJhbmdlIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAwICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXJhbmdlIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAwICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4vLyAtLS0gPGItZm9ybS1pbnB1dD46IGN1c3RvbS1yYW5nZSB2YWxpZGF0aW9uIHN0eWxpbmcgLSB2YWxpZCAobm8gUFIgeWV0IGZvciBCb290c3RyYXAgdjQuMikgLS0tXG4vLyBNaXhpbiBmb3IgZ2VuZXJhdGluZyBgLmlucHV0LWdyb3VwIC5jdXN0b20tcmFuZ2VgIHZhbGlkYXRpb24gc3R5bGluZ1xuQG1peGluIGJ2LWN1c3RvbS1yYW5nZS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG4gIC5pbnB1dC1ncm91cCAuY3VzdG9tLXJhbmdlIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIDAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tcmFuZ2Uge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGFmZmVjdFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJvZHktYmcsIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggbGlnaHRlbigkY29sb3IsIDM1JSk7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRib2R5LWJnLCAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoIGxpZ2h0ZW4oJGNvbG9yLCAzNSUpO1xuICAgICAgICB9XG4gICAgICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRib2R5LWJnLCAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoIGxpZ2h0ZW4oJGNvbG9yLCAzNSUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMzUlKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIDAuMzUpO1xuICAgICAgfVxuXG4gICAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMzUlKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgMC4zNSk7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3IsIDM1JSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjotbXMtdHJhY2stbG93ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgMC4zNSk7XG4gICAgICB9XG4gICAgICAmOjotbXMtdHJhY2stdXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgMC4zNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGJ2LWN1c3RvbS1yYW5nZS12YWxpZGF0aW9uLXN0YXRlKFwidmFsaWRcIiwgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IpO1xuQGluY2x1ZGUgYnYtY3VzdG9tLXJhbmdlLXZhbGlkYXRpb24tc3RhdGUoXCJpbnZhbGlkXCIsICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IpO1xuIiwiLy8gQWRkcyBjb250cm9sIHNpemluZyB0byBCb290c3RyYXAgY3VzdG9tIHJhZGlvIGlucHV0c1xuXG4uY3VzdG9tLXJhZGlvLmItY3VzdG9tLWNvbnRyb2wtbGcsXG4uaW5wdXQtZ3JvdXAtbGcgLmN1c3RvbS1yYWRpbyB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1sZztcbiAgcGFkZGluZy1sZWZ0OiAkYi1jdXN0b20tY29udHJvbC1ndXR0ZXItbGcgKyAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1sZztcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZyAtICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLWxnKSAvIDI7XG4gICAgbGVmdDogLSgkYi1jdXN0b20tY29udHJvbC1ndXR0ZXItbGcgKyAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1sZyk7XG4gICAgd2lkdGg6ICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLWxnO1xuICAgIGhlaWdodDogJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtbGc7XG4gICAgYm9yZGVyLXJhZGl1czogJGItY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzLWxnO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZyAtICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLWxnKSAvIDI7XG4gICAgbGVmdDogLSgkYi1jdXN0b20tY29udHJvbC1ndXR0ZXItbGcgKyAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1sZyk7XG4gICAgd2lkdGg6ICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLWxnO1xuICAgIGhlaWdodDogJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtbGc7XG4gICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJSAvICN7JGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemUtbGd9O1xuICB9XG59XG5cbi5jdXN0b20tcmFkaW8uYi1jdXN0b20tY29udHJvbC1zbSxcbi5pbnB1dC1ncm91cC1zbSAuY3VzdG9tLXJhZGlvIHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRiLWN1c3RvbS1jb250cm9sLWd1dHRlci1zbSArICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLXNtO1xuXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICB0b3A6ICgkZm9udC1zaXplLXNtICogJGxpbmUtaGVpZ2h0LXNtIC0gJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtc20pIC8gMjtcbiAgICBsZWZ0OiAtKCRiLWN1c3RvbS1jb250cm9sLWd1dHRlci1zbSArICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLXNtKTtcbiAgICB3aWR0aDogJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtc207XG4gICAgaGVpZ2h0OiAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1zbTtcbiAgICBib3JkZXItcmFkaXVzOiAkYi1jdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXMtc207XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgICB0b3A6ICgkZm9udC1zaXplLXNtICogJGxpbmUtaGVpZ2h0LXNtIC0gJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtc20pIC8gMjtcbiAgICBsZWZ0OiAtKCRiLWN1c3RvbS1jb250cm9sLWd1dHRlci1zbSArICRiLWN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLXNtKTtcbiAgICB3aWR0aDogJGItY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUtc207XG4gICAgaGVpZ2h0OiAkYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZS1zbTtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgNTAlIC8gI3skYi1jdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZS1zbX07XG4gIH1cbn1cbiIsIi5iLXJhdGluZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmLmQtaW5saW5lLWZsZXgge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLmItcmF0aW5nLXN0YXIsXG4gIC5iLXJhdGluZy12YWx1ZSB7XG4gICAgcGFkZGluZzogMCAwLjI1ZW07XG4gIH1cblxuICAuYi1yYXRpbmctdmFsdWUge1xuICAgIC8vIEtlZXAgdGhlIHN0YXJzIGZyb20gbW92aW5nIHdoZW4gdmFsdWUgY2hhbmdlcyAodXN1YWxseSlcbiAgICBtaW4td2lkdGg6IDIuNWVtO1xuICB9XG5cbiAgLmItcmF0aW5nLXN0YXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAuYi1yYXRpbmctaWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB9XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB9XG5cbiAgJjpub3QoLmRpc2FibGVkKTpub3QoLnJlYWRvbmx5KSB7XG4gICAgLmItcmF0aW5nLXN0YXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC8vIFpvb20gZm9jdXNlZCBvciBob3ZlcmVkIGljb25zXG4gICAgJjpmb2N1czpub3QoOmhvdmVyKSAuYi1yYXRpbmctc3Rhci5mb2N1c2VkLFxuICAgIC5iLXJhdGluZy1zdGFyOmhvdmVyIHtcbiAgICAgIC5iLXJhdGluZy1pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEZsaXAgdGhlIGhhbGYgaWNvbiBpZiBSVEwgbW9kZVxuICAvLyBXZSB0cmFuc2Zvcm0gdGhlIG91dGVyIHN0YXIgd3JhcHBlciBzbyB0aGF0IHdlIGRvIG5vdFxuICAvLyBpbnRlcmZlcmUgd2l0aCB0aGUgaG92ZXIvZm9jdXMgdHJhbnNmb3JtIGFib3ZlXG4gICZbZGlyPVwicnRsXCJdIHtcbiAgICAuYi1yYXRpbmctc3Rhci1oYWxmIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLmItZm9ybS1zcGluYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvLyBRdWljayB3YXkgdG8gZ2V0IGVuZCBidXR0b25zIHJvdW5kZWQgb24gb3V0c2lkZSBlZGdlc1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBIaWRlIHZhbGlkYXRpb24gaWNvbiwgYXMgdGhlcmUgaXMgbm8gcm9vbSBmb3IgaXRcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgcGFkZGluZzogMDtcblxuICBAYXQtcm9vdCB7XG4gICAgLy8gUHJldmVudCB0aGUgYnV0dG9ucyBmcm9tIHJldmVyc2luZyBvcmRlciBvbiBpbiBob3Jpem9udGFsIFJUTCBtb2RlXG4gICAgW2Rpcj1cInJ0bFwiXSAmOm5vdCguZmxleC1jb2x1bW4pLFxuICAgICZbZGlyPVwicnRsXCJdOm5vdCguZmxleC1jb2x1bW4pIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICB9XG4gIH1cblxuICBvdXRwdXQge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwLjI1cmVtO1xuXG4gICAgPiBkaXYsXG4gICAgPiBiZGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtaW4td2lkdGg6IDIuMjVlbTtcbiAgICAgIC8vIFdlIHNldCBhIGhlaWdodCB0byBlbnN1cmUgYW4gZW1wdHkgdmFsdWUgaXNuJ3QgY29sbGFwc2VkXG4gICAgICBoZWlnaHQ6IDFlbSAqICRpbnB1dC1saW5lLWhlaWdodDtcbiAgICB9XG4gIH1cblxuICAmLmZsZXgtY29sdW1uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICBvdXRwdXQge1xuICAgICAgbWFyZ2luOiAwIDAuMjVyZW07XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLmQtaW5saW5lLWZsZXgpOm5vdCguZmxleC1jb2x1bW4pIHtcbiAgICBvdXRwdXQ6IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICYuZC1pbmxpbmUtZmxleDpub3QoLmZsZXgtY29sdW1uKSB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAuYnRuIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkgPiBkaXYgPiAuYi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJi5yZWFkb25seSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cbiIsIi5iLWZvcm0tdGFncyB7XG4gIC5iLWZvcm0tdGFncy1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbTtcblxuICAgIC5iLWZyb20tdGFncy1maWVsZCxcbiAgICAuYi1mb3JtLXRhZyB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJi5pcy12YWxpZCB7XG4gICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsIDAuMjUpO1xuICAgIH1cblxuICAgICYuaXMtaW52YWxpZCB7XG4gICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLCAwLjI1KTtcbiAgICB9XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gIH1cbn1cblxuLmItZm9ybS10YWcge1xuICAvLyBPdmVycmlkZSBkZWZhdWx0IGJhZGdlIHNldHRpbmdzXG4gIC8vIER1ZSB0byB1c2luZyB0ZXh0LXRydW5jYXRlIG9uIHRoZSBpbm5lciBjb250ZW50XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgfVxuXG4gIC8vIE92ZXJyaWRlIGRlZmF1bHQgY2xvc2UgYnV0dG9uIHNldHRpbmdzXG4gID4gYnV0dG9uLmItZm9ybS10YWctcmVtb3ZlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDEyNSU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC1zbSAuYi1mb3JtLXRhZyB7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcgLmItZm9ybS10YWcge1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuIiwiLm1lZGlhLWFzaWRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4ubWVkaWEtYXNpZGUtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuIiwiLy8gTmVlZGVkIHRvIGFsbG93IFZ1ZSB0cmFuc2l0aW9uIHN5c3RlbSB0byB3b3JrIHdpdGggQm9vdHN0cmFwIHY0IC5tb2RhbC1iYWNrZHJvcFxuLy8gYXMgbW9kYWwgb3BhY2l0eSBpcyAxIGJ5IGRlZmF1bHRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5O1xufVxuIiwiLy8gPHBhZ2luYXRpb24+IGFuZCA8cGFnaW5hdGlvbi1uYXY+IHJlcXVpcmUgdGhlIGhlbHBlciB1dGlsaXR5IGNsYXNzZXNcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXNcIjtcblxuJGJ2LXBhZ2luYXRpb24tY2xhc3Nlcy1kZWZpbmVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gTWFrZSBzdXJlIHRvIGluY2x1ZGUgdGhlc2Ugc3R5bGUgZGVmaW5pdGlvbnMgb25seSBvbmNlXG5AaWYgJGJ2LXBhZ2luYXRpb24tY2xhc3Nlcy1kZWZpbmVkID09IGZhbHNlIHtcbiAgJGJ2LXBhZ2luYXRpb24tY2xhc3Nlcy1kZWZpbmVkOiB0cnVlO1xuXG4gIC8vIFBhZ2luYXRpb24gcGlsbCBzdHlsZVxuICAuYi1wYWdpbmF0aW9uLXBpbGxzIHtcbiAgICAucGFnZS1pdGVtIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHJlbSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gU29tZSBvdmVycmlkZXMgdG8gbWFrZSBwb3BvdmVyIHRyYW5zaXRpb25zIHdvcmsgd2l0aCBWdWUgYDx0cmFuc2l0aW9uPmBcbi5wb3BvdmVyLmItcG9wb3ZlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAxO1xuICAvLyBOZWVkZWQgZHVlIHRvIEJvb3RzdHJhcCB2NC40IHJlYm9vdC5jc3MgY2hhbmdlc1xuICBvdXRsaW5lOiAwO1xuXG4gICYuZmFkZTpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBpZiAkYnYtZW5hYmxlLXBvcG92ZXItdmFyaWFudHMge1xuICBAZWFjaCAkdmFyaWFudCwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC5iLXBvcG92ZXItI3skdmFyaWFudH0ge1xuICAgICAgJHBvLWJnLWNvbG9yOiB0aGVtZS1jb2xvci1sZXZlbCgkdmFyaWFudCwgJGItcG9wb3Zlci1iZy1sZXZlbCk7XG4gICAgICAkcG8tYm9yZGVyLWNvbG9yOiB0aGVtZS1jb2xvci1sZXZlbCgkdmFyaWFudCwgJGItcG9wb3Zlci1ib3JkZXItbGV2ZWwpO1xuICAgICAgJHBvLWNvbG9yOiB0aGVtZS1jb2xvci1sZXZlbCgkdmFyaWFudCwgJGItcG9wb3Zlci1jb2xvci1sZXZlbCk7XG4gICAgICAkcG8taGVhZGVyLWJnOiBkYXJrZW4oJHBvLWJnLWNvbG9yLCAzJSk7XG4gICAgICAkcG8taGVhZGVyLWNvbG9yOiBjb2xvci15aXEoJHBvLWhlYWRlci1iZyk7XG4gICAgICAkcG8tYXJyb3ctY29sb3I6ICRwby1iZy1jb2xvcjtcbiAgICAgICRwby1hcnJvdy1jb2xvci1ib3R0b206ICRwby1oZWFkZXItYmc7XG4gICAgICAkcG8tYXJyb3ctb3V0ZXItY29sb3I6IGZhZGUtaW4oJHBvLWJvcmRlci1jb2xvciwgMC4wNSk7XG5cbiAgICAgICYucG9wb3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwby1iZy1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcG8tYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmJzLXBvcG92ZXItdG9wIHtcbiAgICAgICAgPiAuYXJyb3cge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG8tYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvLWFycm93LWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmJzLXBvcG92ZXItcmlnaHQge1xuICAgICAgICA+IC5hcnJvdyB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvLWFycm93LW91dGVyLWNvbG9yO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvLWFycm93LWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgICAgICAgPiAuYXJyb3cge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG8tYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgLy8gVXNlIHRoZSBoZWFkZXIgYmcgY29sb3JcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwby1hcnJvdy1jb2xvci1ib3R0b207XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwby1oZWFkZXItYmc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5icy1wb3BvdmVyLWxlZnQge1xuICAgICAgICA+IC5hcnJvdyB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG8tYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwby1hcnJvdy1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5icy1wb3BvdmVyLWF1dG8ge1xuICAgICAgICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgICAgICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gICAgICAgIH1cbiAgICAgICAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgICAgICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgICAgICAgfVxuICAgICAgICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgICAgICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gICAgICAgIH1cbiAgICAgICAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICAgICAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBvcG92ZXItaGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRwby1oZWFkZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwby1oZWFkZXItYmc7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGRhcmtlbigkcG8taGVhZGVyLWJnLCA1JSk7XG4gICAgICB9XG5cbiAgICAgIC5wb3BvdmVyLWJvZHkge1xuICAgICAgICBjb2xvcjogJHBvLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmItc2lkZWJhci1vdXRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgei1pbmRleDogJGItc2lkZWJhci16aW5kZXg7XG59XG5cbi5iLXNpZGViYXItYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4uYi1zaWRlYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAkYi1zaWRlYmFyLXdpZHRoO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3V0bGluZTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXG4gICYuc2xpZGUge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkYi1zaWRlYmFyLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQ7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLmItc2lkZWJhci1yaWdodCkge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG5cbiAgICAmLnNsaWRlOm5vdCguc2hvdykge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG5cbiAgICA+IC5iLXNpZGViYXItaGVhZGVyIC5jbG9zZSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLmItc2lkZWJhci1yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcblxuICAgICYuc2xpZGU6bm90KC5zaG93KSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgfVxuXG4gICAgPiAuYi1zaWRlYmFyLWhlYWRlciAuY2xvc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gID4gLmItc2lkZWJhci1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogJGItc2lkZWJhci1oZWFkZXItZm9udC1zaXplO1xuICAgIHBhZGRpbmc6ICRiLXNpZGViYXItaGVhZGVyLXBhZGRpbmcteSAkYi1zaWRlYmFyLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgQGF0LXJvb3Qge1xuICAgICAgLy8gS2VlcCB0aGUgYnV0dG9ucyBvbiB0aGUgY29ycmVjdCBlbmQgd2hlbiBpbiBSVEwgbW9kZVxuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jbG9zZSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogJGItc2lkZWJhci1oZWFkZXItZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gID4gLmItc2lkZWJhci1ib2R5IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICA+IC5iLXNpZGViYXItZm9vdGVyIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gIH1cbn1cbiIsIi8vIFdyYXBwZXJcbi5iLXNrZWxldG9uLXdyYXBwZXIge1xuICBjdXJzb3I6ICRiLXNrZWxldG9uLWxvYWRpbmctY3Vyc29yO1xufVxuXG4vLyBCYXNlXG4uYi1za2VsZXRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGItc2tlbGV0b24tYmFja2dyb3VuZC1jb2xvcjtcbiAgY3Vyc29yOiAkYi1za2VsZXRvbi1sb2FkaW5nLWN1cnNvcjtcbiAgLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vYXlhbWZsb3cvYjYwMmFiNDM2YWM5ZjA1NjYwZDljMTUxOTBmNGZkN2JcbiAgbWFzay1pbWFnZTogcmFkaWFsLWdyYWRpZW50KHdoaXRlLCBibGFjayk7XG5cbiAgLy8gVXNlIGA6OmJlZm9yZWAgc2luY2UgYDo6YWZ0ZXJgIGlzIHVzZWQgZm9yIHRoZSB3YXZlLWFuaW1hdGlvblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwwMGEwXCI7XG4gIH1cbn1cblxuLy8gVGV4dFxuLmItc2tlbGV0b24tdGV4dCB7XG4gIGhlaWdodDogJGZvbnQtc2l6ZS1iYXNlO1xuICBtYXJnaW4tYm90dG9tOiAkYi1za2VsZXRvbi10ZXh0LXNwYWNpbmc7XG5cbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgfVxufVxuXG4vLyBCdXR0b25cbi5iLXNrZWxldG9uLWJ1dHRvbiB7XG4gIHdpZHRoOiAkYi1za2VsZXRvbi1idG4td2lkdGg7XG4gIHBhZGRpbmc6ICRidG4tcGFkZGluZy15ICRidG4tcGFkZGluZy14O1xuICBmb250LXNpemU6ICRidG4tZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGJ0bi1saW5lLWhlaWdodDtcblxuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuLy8gQXZhdGFyXG4uYi1za2VsZXRvbi1hdmF0YXIge1xuICB3aWR0aDogMi41ZW07XG4gIGhlaWdodDogMi41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLy8gSW5wdXRcbi5iLXNrZWxldG9uLWlucHV0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci1jb2xvciBzb2xpZCAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuXG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbi8vIEljb25cbi5iLXNrZWxldG9uLWljb24td3JhcHBlciB7XG4gIHN2ZyB7XG4gICAgY29sb3I6ICRiLXNrZWxldG9uLWJhY2tncm91bmQtY29sb3I7XG4gIH1cbn1cblxuLy8gSW1hZ2Vcbi5iLXNrZWxldG9uLWltZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFdhdmUgYW5pbWF0aW9uXG4uYi1za2VsZXRvbi1hbmltYXRlLXdhdmUge1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCBoc2xhKDAsIDAlLCAxMDAlLCAwLjQpLCB0cmFuc3BhcmVudCk7XG4gICAgYW5pbWF0aW9uOiBiLXNrZWxldG9uLWFuaW1hdGUtd2F2ZSAkYi1za2VsZXRvbi1hbmltYXRpb24tZHVyYXRpb24gbGluZWFyIGluZmluaXRlO1xuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgYi1za2VsZXRvbi1hbmltYXRlLXdhdmUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbn1cblxuLy8gRmFkZSBhbmltYXRpb25cbi5iLXNrZWxldG9uLWFuaW1hdGUtZmFkZSB7XG4gIGFuaW1hdGlvbjogYi1za2VsZXRvbi1hbmltYXRlLWZhZGUgKCRiLXNrZWxldG9uLWFuaW1hdGlvbi1kdXJhdGlvbiAvIDIpIGVhc2UtaW4tb3V0IGFsdGVybmF0ZVxuICAgIGluZmluaXRlO1xuXG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYi1za2VsZXRvbi1hbmltYXRlLWZhZGUge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gIH1cbn1cblxuLy8gVGhyb2IgYW5pbWF0aW9uXG4uYi1za2VsZXRvbi1hbmltYXRlLXRocm9iIHtcbiAgYW5pbWF0aW9uOiBiLXNrZWxldG9uLWFuaW1hdGUtdGhyb2IgKCRiLXNrZWxldG9uLWFuaW1hdGlvbi1kdXJhdGlvbiAvIDIpIGVhc2UtaW4gYWx0ZXJuYXRlXG4gICAgaW5maW5pdGU7XG5cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBiLXNrZWxldG9uLWFuaW1hdGUtdGhyb2Ige1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTc1KTtcbiAgfVxufVxuIiwiLy8gLS0tIEdlbmVyYWwgc3R5bGluZyAtLS1cblxuLnRhYmxlLmItdGFibGUge1xuICAvLyBUYWJsZSBmaXhlZCBoZWFkZXIgd2lkdGggbGF5b3V0XG4gICYuYi10YWJsZS1maXhlZCB7XG4gICAgLy8gRml4ZWQgd2lkdGggY29sdW1uc1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBib3JkZXItY29sbGFwc2VcbiAgLy8gTWFpbmx5IGZvciB1c2Ugd2l0aCBzdGlja3kgaGVhZGVycyBhbmQgY29sdW1uc1xuICAmLmItdGFibGUtbm8tYm9yZGVyLWNvbGxhcHNlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICB9XG5cbiAgLy8gVGFibGUgYnVzeSBzdHlsaW5nXG4gICZbYXJpYS1idXN5PVwidHJ1ZVwiXSB7XG4gICAgb3BhY2l0eTogJGItdGFibGUtYnVzeS1vcGFjaXR5O1xuICB9XG5cbiAgLy8gRGV0YWlscyByb3cgc3R5bGluZ1xuICA+IHRib2R5ID4gdHIuYi10YWJsZS1kZXRhaWxzID4gdGQge1xuICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIENhcHRpb24gcG9zaXRpb25pbmdcbiAgPiBjYXB0aW9uIHtcbiAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgfVxuXG4gICYuYi10YWJsZS1jYXB0aW9uLXRvcCB7XG4gICAgPiBjYXB0aW9uIHtcbiAgICAgIGNhcHRpb24tc2lkZTogdG9wICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmUtZGVjbGFyZSBgdGFibGUtYWN0aXZlYCBjbGFzcyBoZXJlIHNvIHRoYXQgaXQgY2FuIHRha2VcbiAgLy8gcHJlY2VkZW5jZSBvdmVyIHJvdyB2YXJpYW50cyB3aGVuIHVzZWQgb24gc2VsZWN0YWJsZSByb3dzXG4gIC8vIENsYXNzIGNhbiBvbmx5IGJlIGFwcGxpZWQgdG8gcm93cyBhbmQgbm90IGluZGl2aWR1YWwgY2VsbHNcbiAgPiB0Ym9keSA+IC50YWJsZS1hY3RpdmUge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY3RpdmUtYmc7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkIHNwZWNpYWwgaG92ZXIgc3R5bGluZyBmb3IgYHRhYmxlLWFjdGl2ZWAgcm93IHZhcmlhbnRcbiAgJi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIudGFibGUtYWN0aXZlOmhvdmVyIHtcbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgLy8gYCR0YWJsZS1ob3Zlci1iZ2AgZGVmYXVsdCBpcyBhIHZlcnkgdHJhbnNwYXJlbnQgYmxhY2tcbiAgICAgIC8vIFdlIG92ZXJsYXkgaXQgb3ZlciB0aGUgYmFja2dyb3VuZCBjb2xvciB0byBhY2hpZXZlIHRoZVxuICAgICAgLy8gc2FtZSBjb2xvciBlZmZlY3Qgd2hpbGUga2VlcGluZyB0aGUgYmFja2dyb3VuZCBzb2xpZFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCR0YWJsZS1ob3Zlci1iZywgJHRhYmxlLWhvdmVyLWJnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkIGluIG1pc3NpbmcgYGJnLWFjdGl2ZWAgY2xhc3MgZm9yIHRhYmxlIHRib2R5IHJvd3NcbiAgLy8gQm9vdHN0cmFwIHY0LjMgaXMgbWlzc2luZyB0aGlzIGZvciBkYXJrIHRhYmxlc1xuICAvLyBgYmctYWN0aXZlYCBjbGFzcyBjYW5ub3QgYmUgYXBwbGllZCB0byBpbmRpdmlkdWFsIGNlbGxzXG4gID4gdGJvZHkgPiAuYmctYWN0aXZlIHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICAvLyBJbXBvcnRhbnQgaXMgbmVlZGVkIHRvIG92ZXJyaWRlIHRoZSBzdGFuZGFyZCBgYmctdmFyaWFudHNgXG4gICAgICAvLyBhcyB0aGUgYWxzbyB1c2UgYCFpbXBvcnRhbnRgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1hY3RpdmUtYmcgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBBZGQgc3BlY2lhbCBob3ZlciBzdHlsaW5nIGZvciBgYmctYWN0aXZlYCByb3cgdmFyaWFudCAoZGFyayB0YWJsZXMpXG4gICYudGFibGUtaG92ZXIudGFibGUtZGFyayA+IHRib2R5ID4gdHIuYmctYWN0aXZlOmhvdmVyIHtcbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstaG92ZXItY29sb3I7XG4gICAgICAvLyBgJHRhYmxlLWRhcmstaG92ZXItYmdgIGRlZmF1bHQgaXMgYSB2ZXJ5IHRyYW5zcGFyZW50IHdoaXRlXG4gICAgICAvLyBXZSBvdmVybGF5IGl0IG92ZXIgdGhlIGJhY2tncm91bmQgY29sb3IgdG8gYWNoaWV2ZSB0aGVcbiAgICAgIC8vIHNhbWUgY29sb3IgZWZmZWN0IHdoaWxlIGtlZXBpbmcgdGhlIGJhY2tncm91bmQgc29saWRcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkdGFibGUtZGFyay1ob3Zlci1iZywgJHRhYmxlLWRhcmstaG92ZXItYmcpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tIFRhYmxlIHN0aWNreSBoZWFkZXIgc3R5bGluZyAtLS1cblxuQGlmICRidi1lbmFibGUtdGFibGUtc3RpY2t5IHtcbiAgLmItdGFibGUtc3RpY2t5LWhlYWRlcixcbiAgLnRhYmxlLXJlc3BvbnNpdmUsXG4gIFtjbGFzcyo9XCJ0YWJsZS1yZXNwb25zaXZlLVwiXSB7XG4gICAgLy8gTW92ZSB0aGUgdGFibGUgYm90dG9tIG1hcmdpbiB0byB0aGUgd3JhcHBlclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG5cbiAgICA+IC50YWJsZSB7XG4gICAgICAvLyBSZXNldCBgbWFyZ2luLWJvdHRvbWAgdG8gd2UgZG9uJ3QgZ2V0IGEgc3BhY2UgYWZ0ZXJcbiAgICAgIC8vIHRoZSB0YWJsZSBpbnNpZGUgdGhlIHNjcm9sbCBhcmVhXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5iLXRhYmxlLXN0aWNreS1oZWFkZXIge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLy8gQW5ub3lpbmdseSwgd2hlbiBvdmVyZmxvdy15IGlzIHNldCwgYnJvd3NlcnMgY29udmVydFxuICAgIC8vICdvdmVyZmxvdy14OiB2aXNpYmxlJyB0byAnb3ZlcmZsb3cteDogYXV0bycgLSBzbyBpdCBiZWNvbWVzXG4gICAgLy8gcmVzcG9uc2l2ZSBpbiB0aGUgeCBheGlzIGF1dG9tYXRpY2FsbHlcbiAgICAvLyBEZWZhdWx0IGBtYXgtaGVpZ2h0YCBiZWZvcmUgYSBzY3JvbGxiYXIgd2lsbCBzaG93XG4gICAgLy8gV2UgZG9uJ3QgdXNlIGBoZWlnaHRgIGFzIHRhYmxlIGNvdWxkIGJlIHNob3J0ZXIgdGhhbiB0aGlzIHZhbHVlXG4gICAgbWF4LWhlaWdodDogJGItdGFibGUtc3RpY2t5LWhlYWRlci1tYXgtaGVpZ2h0O1xuICB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAvLyBPdmVycmlkZSBhbnkgc3R5bGVzIChpbmNsdWRpbmcgaW5saW5lIHN0eWxlcylcbiAgICAvLyB3aGVuIHByaW50aW5nXG4gICAgLmItdGFibGUtc3RpY2t5LWhlYWRlciB7XG4gICAgICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgLy8gUG9zaXRpb25pbmcgb2Ygc3RpY2t5IGhlYWRlcnNcbiAgICAuYi10YWJsZS1zdGlja3ktaGVhZGVyID4gLnRhYmxlLmItdGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgICAgLy8gSGVhZGVyIGNlbGxzIG5lZWQgdG8gYmUgc3RpY2t5IG9uIHRvcFxuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmcgb2Ygc3RpY2t5IGNvbHVtbnNcbiAgICAvLyBTdGlja3kgY29sdW1ucyBvbmx5IHdvcmsgd2hlbiB0YWJsZSBoYXMgc3RpY2t5XG4gICAgLy8gaGVhZGVycyBhbmQvb3IgaXMgcmVzcG9uc2l2ZVxuICAgIC5iLXRhYmxlLXN0aWNreS1oZWFkZXIsXG4gICAgLnRhYmxlLXJlc3BvbnNpdmUsXG4gICAgW2NsYXNzKj1cInRhYmxlLXJlc3BvbnNpdmUtXCJdIHtcbiAgICAgID4gLnRhYmxlLmItdGFibGUge1xuICAgICAgICA+IHRoZWFkLFxuICAgICAgICA+IHRib2R5LFxuICAgICAgICA+IHRmb290IHtcbiAgICAgICAgICA+IHRyID4gLmItdGFibGUtc3RpY2t5LWNvbHVtbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IHRoZWFkIHtcbiAgICAgICAgICA+IHRyID4gLmItdGFibGUtc3RpY2t5LWNvbHVtbiB7XG4gICAgICAgICAgICAvLyB6LWluZGV4IG5lZWRzIHRvIGJlIGhpZ2hlciB0aGFuIHN0aWNreSBjb2x1bW5zIGFuZFxuICAgICAgICAgICAgLy8gc3RpY2t5IGhlYWRlcnMgZm9yIGNvcnJlY3QgbGF5ZXJpbmdcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiB0Ym9keSxcbiAgICAgICAgPiB0Zm9vdCB7XG4gICAgICAgICAgPiB0ciA+IC5iLXRhYmxlLXN0aWNreS1jb2x1bW4ge1xuICAgICAgICAgICAgLy8gei1pbmRleCBuZWVkcyB0byBiZSBsb3dlciB0aGFuIHN0aWNreSBoZWFkZXIgdGhhdFxuICAgICAgICAgICAgLy8gaXMgYWxzbyBhIHN0aWNreSBjb2x1bW5cbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGVmYXVsdCB0aGVtZSBjb2xvciBiYWNrZ3JvdW5kIGZvciB0YWJsZSBjZWxscyB0aGF0IGFyZSBzdGlja3lcbiAgICAvLyBBcHBsaWVkIG9ubHkgd2hlbiBubyB2YXJpYW50IGlzIGFwcGxpZWQgdG8gdGhlIHJvd3MsIG9yIG5vIGhlYWQtdmFyaWFudFxuICAgIC8vIE5lZWRlZCBiZWNhdXNlIEJvb3RzdHJhcCB2NCBkb2VzIG5vdCBoYXZlIHRhYmxlIGNoaWxkIGVsZW1lbnRzIHNldCB1cFxuICAgIC8vIHRvIGluaGVyaXQgdGhlaXIgYmFja2dyb3VuZCBjb2xvciBmcm9tIHBhcmVudCBlbGVtZW50IGJ5IGRlZmF1bHRcbiAgICAvL1xuICAgIC8vIEFuIGlzc3VlIG1hZGUgYXQgdHdicy9ib290c3RyYXAgcmVwbyBmb3IgdGFibGVcbiAgICAvLyBiYWNrZ3JvdW5kIGNvbG9yIGluaGVyaXRhbmNlOlxuICAgIC8vICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTI0NFxuICAgIC8vIElmIGltcGxlbWVudGVkLCB3b3VsZCBuZWdhdGUgdGhlIG5lZWQgZm9yIGFsbCB0aGUgYmVsb3cgU0NTU1xuICAgIC50YWJsZS5iLXRhYmxlIHtcbiAgICAgID4gdGhlYWQsXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIgPiAudGFibGUtYi10YWJsZS1kZWZhdWx0IHtcbiAgICAgICAgICAvLyBEZWZhdWx0IGNlbGwgY29sb3JcbiAgICAgICAgICBjb2xvcjogJHRhYmxlLWNvbG9yO1xuICAgICAgICAgIC8vIGAkdGFibGUtYmdgIGlzIG51bGwgYnkgZGVmYXVsdCBpbiBCb290c3RyYXAgdjQgdmFyaWFibGVzXG4gICAgICAgICAgLy8gYnV0IGNvdWxkIGhhdmUgYSB2YWx1ZSBzZXQgYnkgdGhlIGNvbnN1bWVyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJHRhYmxlLWJnLCAkdGFibGUtYmcsICRib2R5LWJnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnRhYmxlLWRhcmsge1xuICAgICAgICA+IHRoZWFkLFxuICAgICAgICA+IHRib2R5LFxuICAgICAgICA+IHRmb290IHtcbiAgICAgICAgICA+IHRyID4gLmJnLWItdGFibGUtZGVmYXVsdCB7XG4gICAgICAgICAgICAvLyBEZWZhdWx0IGNlbGwgY29sb3IgaW4gdGFibGUgZGFyayBtb2RlXG4gICAgICAgICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICAgICAgICAvLyBEZWZhdWx0IGNlbGwgYmFja2dyb3VuZCBjb2xvciBpbiB0YWJsZSBkYXJrIG1vZGVcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgY2FzZSBvZiB6ZWJyYSBzdHJpcGluZ1xuICAgICAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICAgICAgLy8gXCJmYWtlXCIgemVicmEgc3RyaXBpbmcgdmlhIHVzZSBvZiBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQgaW1hZ2VcbiAgICAgICAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSA+IC50YWJsZS1iLXRhYmxlLWRlZmF1bHQge1xuICAgICAgICAgIC8vIGAkdGFibGUtYWNjZW50LWJnYCAodXNlZCBmb3Igc3RyaXBpbmcpIGRlZmF1bHQgaXMgYSB2ZXJ5IHRyYW5zcGFyZW50IGJsYWNrXG4gICAgICAgICAgLy8gV2Ugb3ZlcmxheSBpdCBvdmVyIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHRvIGFjaGlldmUgdGhlIHNhbWUgY29sb3JcbiAgICAgICAgICAvLyBlZmZlY3Qgd2hpbGUga2VlcGluZyB0aGUgYmFja2dyb3VuZCBzb2xpZC5cbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHRhYmxlLWFjY2VudC1iZywgJHRhYmxlLWFjY2VudC1iZyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuXG4gICAgICAgICYudGFibGUtZGFyayB7XG4gICAgICAgICAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSA+IC5iZy1iLXRhYmxlLWRlZmF1bHQge1xuICAgICAgICAgICAgLy8gYCR0YWJsZS1kYXJrLWFjY2VudC1iZ2AgKHVzZWQgZm9yIHN0cmlwaW5nKSBkZWZhdWx0IGlzIGEgdmVyeSB0cmFuc3BhcmVudCB3aGl0ZVxuICAgICAgICAgICAgLy8gV2Ugb3ZlcmxheSBpdCBvdmVyIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHRvIGFjaGlldmUgdGhlIHNhbWUgY29sb3JcbiAgICAgICAgICAgIC8vIGVmZmVjdCB3aGlsZSBrZWVwaW5nIHRoZSBiYWNrZ3JvdW5kIHNvbGlkLlxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCR0YWJsZS1kYXJrLWFjY2VudC1iZywgJHRhYmxlLWRhcmstYWNjZW50LWJnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSBjYXNlIG9mIGhvdmVyXG4gICAgICAmLnRhYmxlLWhvdmVyIHtcbiAgICAgICAgLy8gXCJmYWtlXCIgaG92ZXIgdmlhIHVzZSBvZiBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQgaW1hZ2VcbiAgICAgICAgPiB0Ym9keSA+IHRyOmhvdmVyID4gLnRhYmxlLWItdGFibGUtZGVmYXVsdCB7XG4gICAgICAgICAgY29sb3I6ICR0YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAvLyBgJHRhYmxlLWhvdmVyLWJnYCBkZWZhdWx0IGlzIGEgdmVyeSB0cmFuc3BhcmVudCBibGFja1xuICAgICAgICAgIC8vIFdlIG92ZXJsYXkgaXQgb3ZlciB0aGUgYmFja2dyb3VuZCBjb2xvciB0byBhY2hpZXZlIHRoZSBzYW1lIGNvbG9yXG4gICAgICAgICAgLy8gZWZmZWN0IHdoaWxlIGtlZXBpbmcgdGhlIGJhY2tncm91bmQgc29saWQuXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCR0YWJsZS1ob3Zlci1iZywgJHRhYmxlLWhvdmVyLWJnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi50YWJsZS1kYXJrIHtcbiAgICAgICAgICA+IHRib2R5ID4gdHI6aG92ZXIgPiAuYmctYi10YWJsZS1kZWZhdWx0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIC8vIGAkdGFibGUtZGFyay1ob3Zlci1iZ2AgZGVmYXVsdCBpcyBhIHZlcnkgdHJhbnNwYXJlbnQgd2hpdGVcbiAgICAgICAgICAgIC8vIFdlIG92ZXJsYXkgaXQgb3ZlciB0aGUgYmFja2dyb3VuZCBjb2xvciB0byBhY2hpZXZlIHRoZSBzYW1lIGNvbG9yXG4gICAgICAgICAgICAvLyBlZmZlY3Qgd2hpbGUga2VlcGluZyB0aGUgYmFja2dyb3VuZCBzb2xpZC5cbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkdGFibGUtZGFyay1ob3Zlci1iZywgJHRhYmxlLWRhcmstaG92ZXItYmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tIEhlYWRlciBzb3J0IHN0eWxpbmcgLS0tXG5cbi8vIEJvb3RzdHJhcCB2NC40IHdpbGwgaW5jbHVkZSB0aGlzIHZhcmlhYmxlIGFzIGAkZXNjYXBlZC1jaGFyYWN0ZXJzYFxuLy8gQnV0IGlmIHdlIHdhbnQgdG8gcHJlc2VydmUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCB2NC4zLCB3ZSBsZWF2ZSB0aGlzIGluXG4kYnYtZXNjYXBlZC1jaGFyYWN0ZXJzOiAoKFwiPFwiLCBcIiUzY1wiKSwgKFwiPlwiLCBcIiUzZVwiKSwgKFwiI1wiLCBcIiUyM1wiKSk7XG5cbi8vIEJvb3RzdHJhcCB2NC40IHdpbGwgaW5jbHVkZSB0aGlzIG1ldGhvZCBhcyBgZXNjYXBlLXN2Z2Bcbi8vIEJ1dCBpZiB3ZSB3YW50IHRvIHByZXNlcnZlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggdjQuMywgd2UgbGVhdmUgdGhpcyBpblxuLy8gU2VlIGh0dHBzOi8vY29kZXBlbi5pby9rZXZpbndlYmVyL3Blbi9kWFdvUndcbkBmdW5jdGlvbiBidi1lc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRidi1lc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi50YWJsZS5iLXRhYmxlIHtcbiAgPiB0aGVhZCxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IFthcmlhLXNvcnRdIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRiLXRhYmxlLXNvcnQtaWNvbi1iZy13aWR0aCAkYi10YWJsZS1zb3J0LWljb24tYmctaGVpZ2h0O1xuXG4gICAgICAgICY6bm90KC5iLXRhYmxlLXNvcnQtaWNvbi1sZWZ0KSB7XG4gICAgICAgICAgLy8gRGVmYXVsdCBpcyBpY29uIG9uIHRoZSByaWdodFxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoI3skdGFibGUtY2VsbC1wYWRkaW5nfSAvIDIpIGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7JHRhYmxlLWNlbGwtcGFkZGluZ30gKyAjeyRiLXRhYmxlLXNvcnQtaWNvbi1iZy13aWR0aH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5iLXRhYmxlLXNvcnQtaWNvbi1sZWZ0IHtcbiAgICAgICAgICAvLyBMZWZ0IGFsaWduZWQgc29ydCBpY29uXG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjYWxjKCN7JHRhYmxlLWNlbGwtcGFkZGluZ30gLyAyKSBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCN7JHRhYmxlLWNlbGwtcGFkZGluZ30gKyAjeyRiLXRhYmxlLXNvcnQtaWNvbi1iZy13aWR0aH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gW2FyaWEtc29ydD1cIm5vbmVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBidi1lc2NhcGUtc3ZnKCRiLXRhYmxlLXNvcnQtaWNvbi1iZy1ub3Qtc29ydGVkKTtcbiAgICAgIH1cblxuICAgICAgPiBbYXJpYS1zb3J0PVwiYXNjZW5kaW5nXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogYnYtZXNjYXBlLXN2ZygkYi10YWJsZS1zb3J0LWljb24tYmctYXNjZW5kaW5nKTtcbiAgICAgIH1cblxuICAgICAgPiBbYXJpYS1zb3J0PVwiZGVzY2VuZGluZ1wiXSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGJ2LWVzY2FwZS1zdmcoJGItdGFibGUtc29ydC1pY29uLWJnLWRlc2NlbmRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNvcnQgaWNvbnMgZm9yIGRhcmsgdGFibGVzLCBoZWFkZXJzLCBmb290ZXJzXG4gICYudGFibGUtZGFyayA+IHRoZWFkID4gdHIsXG4gICYudGFibGUtZGFyayA+IHRmb290ID4gdHIsXG4gID4gLnRoZWFkLWRhcmsgPiB0ciB7XG4gICAgPiBbYXJpYS1zb3J0PVwibm9uZVwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBidi1lc2NhcGUtc3ZnKCRiLXRhYmxlLXNvcnQtaWNvbi1iZy1kYXJrLW5vdC1zb3J0ZWQpO1xuICAgIH1cblxuICAgID4gW2FyaWEtc29ydD1cImFzY2VuZGluZ1wiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBidi1lc2NhcGUtc3ZnKCRiLXRhYmxlLXNvcnQtaWNvbi1iZy1kYXJrLWFzY2VuZGluZyk7XG4gICAgfVxuXG4gICAgPiBbYXJpYS1zb3J0PVwiZGVzY2VuZGluZ1wiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBidi1lc2NhcGUtc3ZnKCRiLXRhYmxlLXNvcnQtaWNvbi1iZy1kYXJrLWRlc2NlbmRpbmcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNvcnQgaWNvbnMgd2hlbiBoZWFkZXIgY2VsbCBoYXMgYHRhYmxlLWRhcmtgIGNsYXNzXG4gID4gdGhlYWQgPiB0ciA+IC50YWJsZS1kYXJrLFxuICA+IHRmb290ID4gdHIgPiAudGFibGUtZGFyayB7XG4gICAgJlthcmlhLXNvcnQ9XCJub25lXCJdIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGJ2LWVzY2FwZS1zdmcoJGItdGFibGUtc29ydC1pY29uLWJnLWRhcmstbm90LXNvcnRlZCk7XG4gICAgfVxuXG4gICAgJlthcmlhLXNvcnQ9XCJhc2NlbmRpbmdcIl0ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogYnYtZXNjYXBlLXN2ZygkYi10YWJsZS1zb3J0LWljb24tYmctZGFyay1hc2NlbmRpbmcpO1xuICAgIH1cblxuICAgICZbYXJpYS1zb3J0PVwiZGVzY2VuZGluZ1wiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBidi1lc2NhcGUtc3ZnKCRiLXRhYmxlLXNvcnQtaWNvbi1iZy1kYXJrLWRlc2NlbmRpbmcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZGRpbmcgYW5kIHBvc2l0aW9uIGFkanVzdG1lbnQgZm9yIHNtYWxsIHRhYmxlc1xuICAmLnRhYmxlLXNtIHtcbiAgICA+IHRoZWFkLFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0ciA+IFthcmlhLXNvcnRdIHtcbiAgICAgICAgJjpub3QoLmItdGFibGUtc29ydC1pY29uLWxlZnQpIHtcbiAgICAgICAgICAvLyBEZWZhdWx0IGlzIGljb24gb24gdGhlIHJpZ2h0XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYygjeyR0YWJsZS1jZWxsLXBhZGRpbmctc219IC8gMikgY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skdGFibGUtY2VsbC1wYWRkaW5nLXNtfSArICN7JGItdGFibGUtc29ydC1pY29uLWJnLXdpZHRofSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmItdGFibGUtc29ydC1pY29uLWxlZnQge1xuICAgICAgICAgIC8vIExlZnQgYWxpZ25lZCBzb3J0IGljb25cbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNhbGMoI3skdGFibGUtY2VsbC1wYWRkaW5nLXNtfSAvIDIpIGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoI3skdGFibGUtY2VsbC1wYWRkaW5nLXNtfSArICN7JGItdGFibGUtc29ydC1pY29uLWJnLXdpZHRofSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tIFNlbGVjdGFibGUgcm93cyAtLS1cbi50YWJsZS5iLXRhYmxlIHtcbiAgJi5iLXRhYmxlLXNlbGVjdGFibGU6bm90KC5iLXRhYmxlLXNlbGVjdGFibGUtbm8tY2xpY2spIHtcbiAgICAmID4gdGJvZHkgPiB0ciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5iLXRhYmxlLXNlbGVjdGluZyB7XG4gICAgICAvLyBEaXNhYmxlZCB0ZXh0LXNlbGVjdGlvbiB3aGVuIGluIHJhbmdlIG1vZGUgd2hlblxuICAgICAgLy8gYXQgbGVhc3Qgb25lIHJvdyBzZWxlY3RlZFxuICAgICAgJi5iLXRhYmxlLXNlbGVjdC1yYW5nZSA+IHRib2R5ID4gdHIge1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tIFN0YWNrZWQgdGFibGVzIC0tLVxuQGlmICRidi1lbmFibGUtdGFibGUtc3RhY2tlZCB7XG4gIC50YWJsZS5iLXRhYmxlIHtcbiAgICAmLmItdGFibGUtc3RhY2tlZCB7XG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgICAgICYjeyRpbmZpeH0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLy8gQ29udmVydCB0byBibG9ja3Mgd2hlbiBzdGFja2VkXG4gICAgICAgICAgICA+IGNhcHRpb24sXG4gICAgICAgICAgICA+IHRib2R5LFxuICAgICAgICAgICAgPiB0Ym9keSA+IHRyLFxuICAgICAgICAgICAgPiB0Ym9keSA+IHRyID4gdGQsXG4gICAgICAgICAgICA+IHRib2R5ID4gdHIgPiB0aCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIaWRlIHdoZW4gc3RhY2tlZFxuICAgICAgICAgICAgPiB0aGVhZCxcbiAgICAgICAgICAgID4gdGZvb3Qge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgID4gdHIuYi10YWJsZS10b3Atcm93LFxuICAgICAgICAgICAgICA+IHRyLmItdGFibGUtYm90dG9tLXJvdyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDYXB0aW9uIHBvc2l0aW9uaW5nXG4gICAgICAgICAgICA+IGNhcHRpb24ge1xuICAgICAgICAgICAgICBjYXB0aW9uLXNpZGU6IHRvcCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IHRib2R5IHtcbiAgICAgICAgICAgICAgPiB0ciB7XG4gICAgICAgICAgICAgICAgLy8gVHVybiBjZWxscyB3aXRoIGxhYmVscyBpbnRvIG1pY3JvLWdyaWRzXG4gICAgICAgICAgICAgICAgPiBbZGF0YS1sYWJlbF0ge1xuICAgICAgICAgICAgICAgICAgLy8gQ2VsbCBoZWFkZXIgbGFiZWwgcHNldWRvIGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkYi10YWJsZS1zdGFja2VkLWhlYWRpbmctd2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBjYWxjKCN7JGItdGFibGUtc3RhY2tlZC1nYXB9IC8gMikgMCAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC8vIEFkZCBjbGVhcmZpeCBpbi1jYXNlIGZpZWxkIGxhYmVsIHdyYXBzXG4gICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgLy8gQ2VsbCB2YWx1ZSAod2Ugd3JhcCB0aGUgY2VsbCB2YWx1ZSBpbiBhIGRpdiB3aGVuIHN0YWNrZWQpXG4gICAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGItdGFibGUtc3RhY2tlZC1oZWFkaW5nLXdpZHRofSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIEFkZCBcImdhcFwiIGJldHdlZW4gXCJjZWxsc1wiXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIGNhbGMoI3skYi10YWJsZS1zdGFja2VkLWdhcH0gLyAyKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIERvbnQgc2hvdyB0aGUgZml4ZWQgdG9wL2JvdHRvbSByb3dzXG4gICAgICAgICAgICAgICAgJi50b3Atcm93LFxuICAgICAgICAgICAgICAgICYuYm90dG9tLXJvdyB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIEdpdmUgdGhlIHRvcCBjZWxsIG9mIGVhY2ggXCJyb3dcIiBhIGhlYXZ5IGJvcmRlclxuICAgICAgICAgICAgICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICgzICogJHRhYmxlLWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gR2l2ZSBhbnkgY2VsbCBhZnRlciBhIHJvd3NwYW4nZWQgY2VsbCBhIGhlYXZ5IHRvcCBib3JkZXJcbiAgICAgICAgICAgICAgICA+IFtyb3dzcGFuXSArIHRkLFxuICAgICAgICAgICAgICAgID4gW3Jvd3NwYW5dICsgdGgge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogKDMgKiAkdGFibGUtYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJUaW1lIGN1c3RvbSBTQ1NTXG5cbi5iLXRpbWUge1xuICBtaW4td2lkdGg6IDE1MHB4O1xuXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gb3V0cHV0LFxuICAmW2FyaWEtcmVhZG9ubHk9XCJ0cnVlXCJdIG91dHB1dCxcbiAgb3V0cHV0LmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gb3V0cHV0IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IHtcbiAgICAvLyBQcmV2ZW50IHRoZSBzcGluYnV0dG9ucyBmcm9tIHJldmVyc2luZyBvcmRlciBpbiBSVEwgbW9kZVxuICAgIC8vIGFzIHRpbWUgaXMgYWx3YXlzIHJlYWQgTFRSXG4gICAgW2Rpcj1cInJ0bFwiXSAmID4gLmQtZmxleDpub3QoLmZsZXgtY29sdW1uKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgLmItdGltZS1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblxuICAgIG91dHB1dCB7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuICB9XG5cbiAgLmItdGltZS1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgfVxuXG4gIC5iLXRpbWUtYW1wbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgfVxufVxuIiwiLy8gLS0tIDxiLXRvYXN0PiBjdXN0b20gU0NTUyAtLS1cblxuLy8gVG9hc3Qgd3JhcHBlciBlbGVtZW50IGNsYXNzIChuZWVkZWQgZm9yIGxpc3QgdHJhbnNpdGlvbiBpbiB0b2FzdGVycylcbi5iLXRvYXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgei1pbmRleDogMTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLnRvYXN0IHtcbiAgICAvLyBBbGxvdyB1cyB0byBvdmVycmlkZSBCb290c3RyYXAncyBkZWZhdWx0IHRvYXN0IG9wYWNpdHlcbiAgICAvLyBBcyB0aGV5IGRvIG5vdCBwcm92aWRlIGl0IGFzIGEgdmFyaWFibGVcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yLCAkYi10b2FzdC1iYWNrZ3JvdW5kLW9wYWNpdHkpO1xuICB9XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5iLXRvYXN0LXNvbGlkIHtcbiAgICAudG9hc3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdG9hc3QtYmFja2dyb3VuZC1jb2xvciwgMSk7XG4gICAgfVxuICB9XG5cbiAgLnRvYXN0IHtcbiAgICAvLyBPdmVycmlkZSBkZWZhdWx0IEJvb3RzdHJhcCB2NC54IG9wYWNpdHkgb2YgMFxuICAgIC8vIE5lZWRlZCBmb3IgcmUtdXNhYmxlIGZhZGUgdHJhbnNpdGlvblxuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAmLmZhZGU6bm90KC5zaG93KSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC50b2FzdC1ib2R5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBOZWVkZWQgd2hlbiB3ZSB1c2UgYSBsaW5rIGFzIHRoZSBib2R5IGVsZW1lbnRcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGItdG9hc3QtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIC8vIEJhc2VkIG9uIGFsZXJ0LXZhcmlhbnQgbWl4aW5cbiAgLnRvYXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGxpZ2h0ZW4oJGJhY2tncm91bmQsIDUlKSwgJGItdG9hc3QtYmFja2dyb3VuZC1vcGFjaXR5KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoJGJvcmRlciwgJGItdG9hc3QtYmFja2dyb3VuZC1vcGFjaXR5KTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgLnRvYXN0LWhlYWRlciB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgJGItdG9hc3QtYmFja2dyb3VuZC1vcGFjaXR5KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoJGJvcmRlciwgJGItdG9hc3QtYmFja2dyb3VuZC1vcGFjaXR5KTtcbiAgICB9XG5cbiAgICAvLyAudG9hc3QtYm9keVtocmVmXSB7XG4gICAgLy8gICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgICAvLyB9XG4gIH1cblxuICAmLmItdG9hc3Qtc29saWQge1xuICAgIC50b2FzdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGxpZ2h0ZW4oJGJhY2tncm91bmQsIDUlKSwgMSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRvYXN0IHZhcmlhbnRzXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmItdG9hc3QtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiLXRvYXN0LXZhcmlhbnQoXG4gICAgICB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRiLXRvYXN0LWJnLWxldmVsKSxcbiAgICAgIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGItdG9hc3QtYm9yZGVyLWxldmVsKSxcbiAgICAgIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGItdG9hc3QtY29sb3ItbGV2ZWwpXG4gICAgKTtcbiAgfVxufVxuIiwiLy8gLS0tIDxiLXRvYXN0ZXI+IGN1c3RvbSBTQ1NTIC0tLVxuXG4vLyBCYXNlIHRvYXN0ZXIgc3R5bGluZ1xuLmItdG9hc3RlciB7XG4gIHotaW5kZXg6ICRiLXRvYXN0ZXItemluZGV4O1xuXG4gIC5iLXRvYXN0ZXItc2xvdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1aWx0LWluIHRvYXN0ZXIgc3R5bGluZ1xuLy8gIC0gYi10b2FzdGVyLXRvcC1yaWdodFxuLy8gIC0gYi10b2FzdGVyLXRvcC1sZWZ0XG4vLyAgLSBiLXRvYXN0ZXItdG9wLWNlbnRlclxuLy8gIC0gYi10b2FzdGVyLXRvcC1mdWxsXG4vLyAgLSBiLXRvYXN0ZXItYm90dG9tLXJpZ2h0XG4vLyAgLSBiLXRvYXN0ZXItYm90dG9tLWxlZnRcbi8vICAtIGItdG9hc3Rlci1ib3R0b20tY2VudGVyXG4vLyAgLSBiLXRvYXN0ZXItYm90dG9tLWZ1bGxcbi5iLXRvYXN0ZXIge1xuICAmLmItdG9hc3Rlci10b3AtcmlnaHQsXG4gICYuYi10b2FzdGVyLXRvcC1sZWZ0LFxuICAmLmItdG9hc3Rlci10b3AtY2VudGVyLFxuICAmLmItdG9hc3Rlci10b3AtZnVsbCxcbiAgJi5iLXRvYXN0ZXItYm90dG9tLXJpZ2h0LFxuICAmLmItdG9hc3Rlci1ib3R0b20tbGVmdCxcbiAgJi5iLXRvYXN0ZXItYm90dG9tLWNlbnRlcixcbiAgJi5iLXRvYXN0ZXItYm90dG9tLWZ1bGwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAkYi10b2FzdGVyLW9mZnNldC1sZWZ0O1xuICAgIHJpZ2h0OiAkYi10b2FzdGVyLW9mZnNldC1yaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAuYi10b2FzdGVyLXNsb3Qge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWF4LXdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICAgICAgd2lkdGg6IDEwMCU7IC8qIElFIDExIGZpeCAqL1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAmLmItdG9hc3Rlci10b3AtZnVsbCxcbiAgJi5iLXRvYXN0ZXItYm90dG9tLWZ1bGwge1xuICAgIC5iLXRvYXN0ZXItc2xvdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgLmItdG9hc3QsXG4gICAgICAudG9hc3Qge1xuICAgICAgICAvLyBPdmVycmlkZSBCb290c3RyYXAgdG9hc3QgbWF4LXdpZHRoXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5iLXRvYXN0ZXItdG9wLXJpZ2h0LFxuICAmLmItdG9hc3Rlci10b3AtbGVmdCxcbiAgJi5iLXRvYXN0ZXItdG9wLWNlbnRlcixcbiAgJi5iLXRvYXN0ZXItdG9wLWZ1bGwge1xuICAgIHRvcDogMDtcblxuICAgIC5iLXRvYXN0ZXItc2xvdCB7XG4gICAgICB0b3A6ICRiLXRvYXN0ZXItb2Zmc2V0LXRvcDtcbiAgICB9XG4gIH1cblxuICAmLmItdG9hc3Rlci1ib3R0b20tcmlnaHQsXG4gICYuYi10b2FzdGVyLWJvdHRvbS1sZWZ0LFxuICAmLmItdG9hc3Rlci1ib3R0b20tY2VudGVyLFxuICAmLmItdG9hc3Rlci1ib3R0b20tZnVsbCB7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgLmItdG9hc3Rlci1zbG90IHtcbiAgICAgIGJvdHRvbTogJGItdG9hc3Rlci1vZmZzZXQtYm90dG9tO1xuICAgIH1cbiAgfVxuXG4gICYuYi10b2FzdGVyLXRvcC1yaWdodCxcbiAgJi5iLXRvYXN0ZXItYm90dG9tLXJpZ2h0LFxuICAmLmItdG9hc3Rlci10b3AtY2VudGVyLFxuICAmLmItdG9hc3Rlci1ib3R0b20tY2VudGVyIHtcbiAgICAuYi10b2FzdGVyLXNsb3Qge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi5iLXRvYXN0ZXItdG9wLWxlZnQsXG4gICYuYi10b2FzdGVyLWJvdHRvbS1sZWZ0LFxuICAmLmItdG9hc3Rlci10b3AtY2VudGVyLFxuICAmLmItdG9hc3Rlci1ib3R0b20tY2VudGVyIHtcbiAgICAuYi10b2FzdGVyLXNsb3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tIDxiLXRvYXN0PiBjdXN0b20gdHJhbnNpdGlvbiBTQ1NTIC0tLVxuXG4vLyBQb3J0YWxWdWUgYXBwZWFycyB0byBoYXZlIGlzc3VlcyB3aXRoIHRyYW5zaXRpb24gY2xhc3NlcyBvbiBwb3J0YWxlZCBpdGVtc1xuXG4uYi10b2FzdGVyIHtcbiAgJi5iLXRvYXN0ZXItdG9wLXJpZ2h0LFxuICAmLmItdG9hc3Rlci10b3AtbGVmdCxcbiAgJi5iLXRvYXN0ZXItYm90dG9tLXJpZ2h0LFxuICAmLmItdG9hc3Rlci1ib3R0b20tbGVmdCB7XG4gICAgLmItdG9hc3Qge1xuICAgICAgJi5iLXRvYXN0ZXItZW50ZXItYWN0aXZlLFxuICAgICAgJi5iLXRvYXN0ZXItbGVhdmUtYWN0aXZlLFxuICAgICAgJi5iLXRvYXN0ZXItbW92ZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE3NXM7XG4gICAgICB9XG5cbiAgICAgICYuYi10b2FzdGVyLWVudGVyIHtcbiAgICAgIH1cblxuICAgICAgJi5iLXRvYXN0ZXItZW50ZXItdG8sXG4gICAgICAmLmItdG9hc3Rlci1lbnRlci1hY3RpdmUge1xuICAgICAgICAudG9hc3QuZmFkZSB7XG4gICAgICAgICAgLy8gRGVsYXkgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHRvYXN0IHVudGlsXG4gICAgICAgICAgLy8gdGhlIG1vdmUgdHJhbnNpdGlvbiBoYXMgY29tcGxldGVkXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xNzVzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYi10b2FzdGVyLWVudGVyLXRvIHtcbiAgICAgIH1cblxuICAgICAgJi5iLXRvYXN0ZXItbGVhdmUtYWN0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjE3NXM7XG5cbiAgICAgICAgLnRvYXN0LmZhZGUge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYi10b2FzdGVyLWxlYXZlLXRvIHtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFNvbWUgb3ZlcnJpZGVzIHRvIG1ha2UgdG9vbHRpcCB0cmFuc2l0aW9ucyB3b3JrIHdpdGggVnVlIGA8dHJhbnNpdGlvbj5gXG4udG9vbHRpcC5iLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTtcbiAgLy8gTmVlZGVkIGR1ZSB0byBCb290c3RyYXAgdjQuNCByZWJvb3QuY3NzIGNoYW5nZXNcbiAgb3V0bGluZTogMDtcblxuICAmLmZhZGU6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHBvaW50ZXIgZXZlbnRzIHdoZW4gaW4gJ25vbmludGVyYWN0aXZlJyBtb2RlIHRvIGhpZGVcbiAgLy8gdGhlIHRvb2x0aXAgd2hlbiB0aGUgdXNlciBob3ZlcnMgb3ZlciBpdHMgY29udGVudFxuICAmLm5vbmludGVyYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC5hcnJvdyB7XG4gICAgbWFyZ2luOiAwICR0b29sdGlwLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAmLmJzLXRvb2x0aXAtcmlnaHQsXG4gICYuYnMtdG9vbHRpcC1sZWZ0IHtcbiAgICAuYXJyb3cge1xuICAgICAgbWFyZ2luOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzIDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENyZWF0ZSBjdXN0b20gdmFyaWFudHMgZm9yIHRvb2x0aXBzXG5AaWYgJGJ2LWVuYWJsZS10b29sdGlwLXZhcmlhbnRzIHtcbiAgQGVhY2ggJHZhcmlhbnQsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAudG9vbHRpcC5iLXRvb2x0aXAtI3skdmFyaWFudH0ge1xuICAgICAgJHRpcC1iZy1jb2xvcjogdGhlbWUtY29sb3ItbGV2ZWwoJHZhcmlhbnQsICRiLXRvb2x0aXAtYmctbGV2ZWwpO1xuICAgICAgJHRpcC10ZXh0LWNvbG9yOiBjb2xvci15aXEoJHRpcC1iZy1jb2xvcik7XG5cbiAgICAgICYuYnMtdG9vbHRpcC10b3Age1xuICAgICAgICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRpcC1iZy1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmJzLXRvb2x0aXAtcmlnaHQge1xuICAgICAgICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdGlwLWJnLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYnMtdG9vbHRpcC1ib3R0b20ge1xuICAgICAgICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRpcC1iZy1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmJzLXRvb2x0aXAtbGVmdCB7XG4gICAgICAgIC5hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRpcC1iZy1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmJzLXRvb2x0aXAtYXV0byB7XG4gICAgICAgICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICAgICAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgICAgICAgfVxuICAgICAgICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICAgICAgICBAZXh0ZW5kIC5icy10b29sdGlwLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICAgICAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgICAgICAgfVxuICAgICAgICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgICAgICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudG9vbHRpcC1pbm5lciB7XG4gICAgICAgIGNvbG9yOiAkdGlwLXRleHQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aXAtYmctY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGljb24gc3R5bGluZ1xuLmItaWNvbiB7XG4gICYuYmkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvLyBUaGUgZm9sbG93aW5nIGlzIHJlcXVpcmVkIHRvIGNvbXBlbnNhdGUgZm9yIGFsaWdubWVudFxuICAgIC8vIGlzc3VlcyB3aXRoIHRoZSBCb290c3RyYXAgSWNvbnMgYWxwaGEgaW1wbGVtZW50YXRpb25cbiAgICB2ZXJ0aWNhbC1hbGlnbjogJGItaWNvbi12ZXJ0aWNhbC1vZmZzZXQ7XG4gIH1cblxuICAmLmItaWNvbi1hbmltYXRpb24tY3lsb24sXG4gICYuYi1pY29uc3RhY2sgLmItaWNvbi1hbmltYXRpb24tY3lsb24gPiBnIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgYW5pbWF0aW9uOiAkYi1pY29uLWFuaW1hdGlvbi1jeWxvbi1kdXJhdGlvbiBpbmZpbml0ZSBlYXNlLWluLW91dCBhbHRlcm5hdGVcbiAgICAgIGItaWNvbi1hbmltYXRpb24tY3lsb247XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuYi1pY29uLWFuaW1hdGlvbi1jeWxvbi12ZXJ0aWNhbCxcbiAgJi5iLWljb25zdGFjayAuYi1pY29uLWFuaW1hdGlvbi1jeWxvbi12ZXJ0aWNhbCA+IGcge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBhbmltYXRpb246ICRiLWljb24tYW5pbWF0aW9uLWN5bG9uLXZlcnRpY2FsLWR1cmF0aW9uIGluZmluaXRlIGVhc2UtaW4tb3V0IGFsdGVybmF0ZVxuICAgICAgYi1pY29uLWFuaW1hdGlvbi1jeWxvbi12ZXJ0aWNhbDtcblxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5iLWljb24tYW5pbWF0aW9uLWZhZGUsXG4gICYuYi1pY29uc3RhY2sgLmItaWNvbi1hbmltYXRpb24tZmFkZSA+IGcge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBhbmltYXRpb246ICRiLWljb24tYW5pbWF0aW9uLXRocm9iLWR1cmF0aW9uIGluZmluaXRlIGVhc2UtaW4tb3V0IGFsdGVybmF0ZSBiLWljb24tYW5pbWF0aW9uLWZhZGU7XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuYi1pY29uLWFuaW1hdGlvbi1zcGluLFxuICAmLmItaWNvbnN0YWNrIC5iLWljb24tYW5pbWF0aW9uLXNwaW4gPiBnIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgYW5pbWF0aW9uOiAkYi1pY29uLWFuaW1hdGlvbi1zcGluLWR1cmF0aW9uIGluZmluaXRlIGxpbmVhciBub3JtYWwgYi1pY29uLWFuaW1hdGlvbi1zcGluO1xuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLmItaWNvbi1hbmltYXRpb24tc3Bpbi1yZXZlcnNlLFxuICAmLmItaWNvbnN0YWNrIC5iLWljb24tYW5pbWF0aW9uLXNwaW4tcmV2ZXJzZSA+IGcge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBhbmltYXRpb246ICRiLWljb24tYW5pbWF0aW9uLXNwaW4tcmV2ZXJzZS1kdXJhdGlvbiBpbmZpbml0ZSBsaW5lYXIgcmV2ZXJzZSBiLWljb24tYW5pbWF0aW9uLXNwaW47XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuYi1pY29uLWFuaW1hdGlvbi1zcGluLXB1bHNlLFxuICAmLmItaWNvbnN0YWNrIC5iLWljb24tYW5pbWF0aW9uLXNwaW4tcHVsc2UgPiBnIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgYW5pbWF0aW9uOiAkYi1pY29uLWFuaW1hdGlvbi1zcGluLXB1bHNlLWR1cmF0aW9uIGluZmluaXRlIHN0ZXBzKDgpIG5vcm1hbCBiLWljb24tYW5pbWF0aW9uLXNwaW47XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuYi1pY29uLWFuaW1hdGlvbi1zcGluLXJldmVyc2UtcHVsc2UsXG4gICYuYi1pY29uc3RhY2sgLmItaWNvbi1hbmltYXRpb24tc3Bpbi1yZXZlcnNlLXB1bHNlID4gZyB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIGFuaW1hdGlvbjogJGItaWNvbi1hbmltYXRpb24tc3Bpbi1yZXZlcnNlLXB1bHNlLWR1cmF0aW9uIGluZmluaXRlIHN0ZXBzKDgpIHJldmVyc2VcbiAgICAgIGItaWNvbi1hbmltYXRpb24tc3BpbjtcblxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5iLWljb24tYW5pbWF0aW9uLXRocm9iLFxuICAmLmItaWNvbnN0YWNrIC5iLWljb24tYW5pbWF0aW9uLXRocm9iID4gZyB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIGFuaW1hdGlvbjogJGItaWNvbi1hbmltYXRpb24tdGhyb2ItZHVyYXRpb24gaW5maW5pdGUgZWFzZS1pbi1vdXQgYWx0ZXJuYXRlXG4gICAgICBiLWljb24tYW5pbWF0aW9uLXRocm9iO1xuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uIGZvciBzcGlubmluZyBpY29uc1xuQGtleWZyYW1lcyBiLWljb24tYW5pbWF0aW9uLWN5bG9uIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGItaWNvbi1hbmltYXRpb24tY3lsb24tdmVydGljYWwge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1JSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNSUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYi1pY29uLWFuaW1hdGlvbi1mYWRlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYi1pY29uLWFuaW1hdGlvbi1zcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBiLWljb24tYW5pbWF0aW9uLXRocm9iIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbi8vIE1ha2UgaWNvbnMgc2xpZ2h0bHkgbGFyZ2VyIGluIGJ1dHRvbnMsIG5hdi1saW5rcywgZHJvcGRvd25zLCBhbmQgaW5wdXQtZ3JvdXAtdGV4dFxuLmJ0bixcbi5uYXYtbGluayxcbi5kcm9wZG93bi10b2dnbGUsXG4uZHJvcGRvd24taXRlbSxcbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgLmItaWNvbiB7XG4gICAgJi5iaSB7XG4gICAgICBmb250LXNpemU6IDEyNSU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiNtZW1iZXItcmVnaXN0ZXIge1xuICBcbiAgZm9vdGVye1xuICAgIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTUwcHg7XG4gICAgICBcbiAgICB9XG4gIH1cblxuICAjbWVtYmVyLXJlZ2lzdC1mb3JtID4gZGl2Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbn1cblxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiNwcm9maWxlLW1vZGFsLXNjb3BlZCBmb290ZXJ7XG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbmJ1dHRvbi5tZW51LWJ1dHRvbiB7XG4gIHdpZHRoOiAxNTBweDtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/