/*!
 * Bootstrap v4.2.1 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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", 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", 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: #212529;
  text-align: left;
  background-color: #fff; }

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

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

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

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

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

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

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

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

dt {
  font-weight: 700; }

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

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

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

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent; }
  a:hover {
    color: #0056b3;
    text-decoration: underline; }

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none; }
  a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
    color: inherit;
    text-decoration: none; }
  a:not([href]):not([tabindex]):focus {
    outline: 0; }

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

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

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

button {
  border-radius: 0; }

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

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

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

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

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

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox; }

textarea {
  overflow: auto;
  resize: vertical; }

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

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

progress {
  vertical-align: baseline; }

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

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

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

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

output {
  display: inline-block; }

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

template {
  display: none; }

[hidden] {
  display: none !important; }

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

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: "\2014\00A0"; }

.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-break: 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 {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }
  @media (min-width: 576px) {
    .container {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .container {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .container {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .container {
      max-width: 1140px; } }

.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.order-first {
  -ms-flex-order: -1;
  order: -1; }

.order-last {
  -ms-flex-order: 13;
  order: 13; }

.order-0 {
  -ms-flex-order: 0;
  order: 0; }

.order-1 {
  -ms-flex-order: 1;
  order: 1; }

.order-2 {
  -ms-flex-order: 2;
  order: 2; }

.order-3 {
  -ms-flex-order: 3;
  order: 3; }

.order-4 {
  -ms-flex-order: 4;
  order: 4; }

.order-5 {
  -ms-flex-order: 5;
  order: 5; }

.order-6 {
  -ms-flex-order: 6;
  order: 6; }

.order-7 {
  -ms-flex-order: 7;
  order: 7; }

.order-8 {
  -ms-flex-order: 8;
  order: 8; }

.order-9 {
  -ms-flex-order: 9;
  order: 9; }

.order-10 {
  -ms-flex-order: 10;
  order: 10; }

.order-11 {
  -ms-flex-order: 11;
  order: 11; }

.order-12 {
  -ms-flex-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 {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .order-sm-first {
    -ms-flex-order: -1;
    order: -1; }

  .order-sm-last {
    -ms-flex-order: 13;
    order: 13; }

  .order-sm-0 {
    -ms-flex-order: 0;
    order: 0; }

  .order-sm-1 {
    -ms-flex-order: 1;
    order: 1; }

  .order-sm-2 {
    -ms-flex-order: 2;
    order: 2; }

  .order-sm-3 {
    -ms-flex-order: 3;
    order: 3; }

  .order-sm-4 {
    -ms-flex-order: 4;
    order: 4; }

  .order-sm-5 {
    -ms-flex-order: 5;
    order: 5; }

  .order-sm-6 {
    -ms-flex-order: 6;
    order: 6; }

  .order-sm-7 {
    -ms-flex-order: 7;
    order: 7; }

  .order-sm-8 {
    -ms-flex-order: 8;
    order: 8; }

  .order-sm-9 {
    -ms-flex-order: 9;
    order: 9; }

  .order-sm-10 {
    -ms-flex-order: 10;
    order: 10; }

  .order-sm-11 {
    -ms-flex-order: 11;
    order: 11; }

  .order-sm-12 {
    -ms-flex-order: 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 {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .order-md-first {
    -ms-flex-order: -1;
    order: -1; }

  .order-md-last {
    -ms-flex-order: 13;
    order: 13; }

  .order-md-0 {
    -ms-flex-order: 0;
    order: 0; }

  .order-md-1 {
    -ms-flex-order: 1;
    order: 1; }

  .order-md-2 {
    -ms-flex-order: 2;
    order: 2; }

  .order-md-3 {
    -ms-flex-order: 3;
    order: 3; }

  .order-md-4 {
    -ms-flex-order: 4;
    order: 4; }

  .order-md-5 {
    -ms-flex-order: 5;
    order: 5; }

  .order-md-6 {
    -ms-flex-order: 6;
    order: 6; }

  .order-md-7 {
    -ms-flex-order: 7;
    order: 7; }

  .order-md-8 {
    -ms-flex-order: 8;
    order: 8; }

  .order-md-9 {
    -ms-flex-order: 9;
    order: 9; }

  .order-md-10 {
    -ms-flex-order: 10;
    order: 10; }

  .order-md-11 {
    -ms-flex-order: 11;
    order: 11; }

  .order-md-12 {
    -ms-flex-order: 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 {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .order-lg-first {
    -ms-flex-order: -1;
    order: -1; }

  .order-lg-last {
    -ms-flex-order: 13;
    order: 13; }

  .order-lg-0 {
    -ms-flex-order: 0;
    order: 0; }

  .order-lg-1 {
    -ms-flex-order: 1;
    order: 1; }

  .order-lg-2 {
    -ms-flex-order: 2;
    order: 2; }

  .order-lg-3 {
    -ms-flex-order: 3;
    order: 3; }

  .order-lg-4 {
    -ms-flex-order: 4;
    order: 4; }

  .order-lg-5 {
    -ms-flex-order: 5;
    order: 5; }

  .order-lg-6 {
    -ms-flex-order: 6;
    order: 6; }

  .order-lg-7 {
    -ms-flex-order: 7;
    order: 7; }

  .order-lg-8 {
    -ms-flex-order: 8;
    order: 8; }

  .order-lg-9 {
    -ms-flex-order: 9;
    order: 9; }

  .order-lg-10 {
    -ms-flex-order: 10;
    order: 10; }

  .order-lg-11 {
    -ms-flex-order: 11;
    order: 11; }

  .order-lg-12 {
    -ms-flex-order: 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 {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .order-xl-first {
    -ms-flex-order: -1;
    order: -1; }

  .order-xl-last {
    -ms-flex-order: 13;
    order: 13; }

  .order-xl-0 {
    -ms-flex-order: 0;
    order: 0; }

  .order-xl-1 {
    -ms-flex-order: 1;
    order: 1; }

  .order-xl-2 {
    -ms-flex-order: 2;
    order: 2; }

  .order-xl-3 {
    -ms-flex-order: 3;
    order: 3; }

  .order-xl-4 {
    -ms-flex-order: 4;
    order: 4; }

  .order-xl-5 {
    -ms-flex-order: 5;
    order: 5; }

  .order-xl-6 {
    -ms-flex-order: 6;
    order: 6; }

  .order-xl-7 {
    -ms-flex-order: 7;
    order: 7; }

  .order-xl-8 {
    -ms-flex-order: 8;
    order: 8; }

  .order-xl-9 {
    -ms-flex-order: 9;
    order: 9; }

  .order-xl-10 {
    -ms-flex-order: 10;
    order: 10; }

  .order-xl-11 {
    -ms-flex-order: 11;
    order: 11; }

  .order-xl-12 {
    -ms-flex-order: 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;
  background-color: transparent; }
  .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 .table {
    background-color: #fff; }

.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 {
  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: #212529;
  border-color: #32383e; }
.table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6; }

.table-dark {
  color: #fff;
  background-color: #212529; }
  .table-dark th,
  .table-dark td,
  .table-dark thead th {
    border-color: #32383e; }
  .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 {
    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;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
    .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;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
    .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;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
    .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;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
    .table-responsive-xl > .table-bordered {
      border: 0; } }
.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }
  .table-responsive > .table-bordered {
    border: 0; }

.form-control {
  display: block;
  width: 100%;
  height: calc(2.25rem + 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 screen and (prefers-reduced-motion: reduce) {
    .form-control {
      transition: none; } }
  .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .form-control:-ms-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control::placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1; }

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-top: 0.375rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0;
  line-height: 1.5;
  color: #212529;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0; }
  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0; }

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

.form-control-lg {
  height: calc(2.875rem + 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: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  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 {
    color: #6c757d; }

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

.form-check-inline {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  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%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem; }

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #28a745;
  padding-right: 2.25rem;
  background-repeat: no-repeat;
  background-position: center right calc(2.25rem / 4);
  background-size: calc(2.25rem / 2) calc(2.25rem / 2);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' 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"); }
  .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 .form-control:valid ~ .valid-feedback,
  .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
  .form-control.is-valid ~ .valid-tooltip {
    display: block; }

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: 2.25rem;
  background-position: top calc(2.25rem / 4) right calc(2.25rem / 4); }

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745;
  padding-right: 3.4375rem;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' 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") no-repeat center right 1.75rem/1.125rem 1.125rem; }
  .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 .custom-select:valid ~ .valid-feedback,
  .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,
  .custom-select.is-valid ~ .valid-tooltip {
    display: block; }

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

.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 ~ .valid-feedback,
.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,
.custom-control-input.is-valid ~ .valid-tooltip {
  display: block; }
.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 ~ .valid-feedback,
.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,
.custom-file-input.is-valid ~ .valid-tooltip {
  display: block; }
.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%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem; }

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #dc3545;
  padding-right: 2.25rem;
  background-repeat: no-repeat;
  background-position: center right calc(2.25rem / 4);
  background-size: calc(2.25rem / 2) calc(2.25rem / 2);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"); }
  .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 .form-control:invalid ~ .invalid-feedback,
  .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
  .form-control.is-invalid ~ .invalid-tooltip {
    display: block; }

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: 2.25rem;
  background-position: top calc(2.25rem / 4) right calc(2.25rem / 4); }

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: 3.4375rem;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") no-repeat center right 1.75rem/1.125rem 1.125rem; }
  .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 .custom-select:invalid ~ .invalid-feedback,
  .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,
  .custom-select.is-invalid ~ .invalid-tooltip {
    display: block; }

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

.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 ~ .invalid-feedback,
.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,
.custom-control-input.is-invalid ~ .invalid-tooltip {
  display: block; }
.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 ~ .invalid-feedback,
.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,
.custom-file-input.is-invalid ~ .invalid-tooltip {
  display: block; }
.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: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -ms-flex-align: center;
  align-items: center; }
  .form-inline .form-check {
    width: 100%; }
  @media (min-width: 576px) {
    .form-inline label {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin-bottom: 0; }
    .form-inline .form-group {
      display: -ms-flexbox;
      display: flex;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -ms-flex-align: center;
      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: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: auto;
      padding-left: 0; }
    .form-inline .form-check-input {
      position: relative;
      margin-top: 0;
      margin-right: 0.25rem;
      margin-left: 0; }
    .form-inline .custom-control {
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center; }
    .form-inline .custom-control-label {
      margin-bottom: 0; } }

.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  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 screen and (prefers-reduced-motion: reduce) {
    .btn {
      transition: none; } }
  .btn:hover {
    color: #212529;
    text-decoration: none; }
  .btn:focus, .btn.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .btn.disabled, .btn:disabled {
    opacity: 0.65; }
  .btn:not(:disabled):not(.disabled) {
    cursor: pointer; }

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

.btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff; }
  .btn-primary:hover {
    color: #fff;
    background-color: #0069d9;
    border-color: #0062cc; }
  .btn-primary:focus, .btn-primary.focus {
    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 {
    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 {
    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 {
    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 {
    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 {
    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 {
    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 {
    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; }
  .btn-link:hover {
    color: #0056b3;
    text-decoration: underline; }
  .btn-link:focus, .btn-link.focus {
    text-decoration: underline;
    box-shadow: none; }
  .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 screen and (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 screen and (prefers-reduced-motion: reduce) {
    .collapsing {
      transition: none; } }

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

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

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

@media (min-width: 576px) {
  .dropdown-menu-sm-right {
    right: 0;
    left: auto; } }
@media (min-width: 768px) {
  .dropdown-menu-md-right {
    right: 0;
    left: auto; } }
@media (min-width: 992px) {
  .dropdown-menu-lg-right {
    right: 0;
    left: auto; } }
@media (min-width: 1200px) {
  .dropdown-menu-xl-right {
    right: 0;
    left: auto; } }
.dropdown-menu-left {
  right: auto;
  left: 0; }

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0; } }
@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0; } }
@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0; } }
@media (min-width: 1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0; } }
.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:first-child {
    border-top-left-radius: calc(0.25rem - 1px);
    border-top-right-radius: calc(0.25rem - 1px); }
  .dropdown-item:last-child {
    border-bottom-right-radius: calc(0.25rem - 1px);
    border-bottom-left-radius: calc(0.25rem - 1px); }
  .dropdown-item:hover, .dropdown-item:focus {
    color: #16181b;
    text-decoration: none;
    background-color: #f8f9fa; }
  .dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #007bff; }
  .dropdown-item.disabled, .dropdown-item:disabled {
    color: #6c757d;
    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: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle; }
  .btn-group > .btn,
  .btn-group-vertical > .btn {
    position: relative;
    -ms-flex: 1 1 auto;
    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: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: start;
  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 {
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-pack: center;
  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: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%; }
  .input-group > .form-control,
  .input-group > .form-control-plaintext,
  .input-group > .custom-select,
  .input-group > .custom-file {
    position: relative;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 1%;
    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(:last-child),
  .input-group > .custom-select:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .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: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center; }
    .input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
    .input-group > .custom-file:not(:first-child) .custom-file-label {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }

.input-group-prepend,
.input-group-append {
  display: -ms-flexbox;
  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: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  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(2.875rem + 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.8125rem + 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 > .input-group-append:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .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;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem; }

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

.custom-control-input {
  position: absolute;
  z-index: -1;
  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 {
    color: #6c757d; }
    .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-repeat: no-repeat;
    background-position: center center;
    background-size: 50% 50%; }

.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' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 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' 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' 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 screen and (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(2.25rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  .custom-select:focus {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(128, 189, 255, 0.5); }
    .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 {
    opacity: 0; }

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

.custom-select-lg {
  height: calc(2.875rem + 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(2.25rem + 2px);
  margin-bottom: 0; }

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(2.25rem + 2px);
  margin: 0;
  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 {
    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(2.25rem + 2px);
  padding: 0.375rem 0.75rem;
  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: 2.25rem;
    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: calc(1rem + 0.4rem);
  padding: 0;
  background-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  .custom-range:focus {
    outline: none; }
    .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;
    -webkit-appearance: none;
    appearance: none; }
    @media screen and (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;
    -moz-appearance: none;
    appearance: none; }
    @media screen and (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 screen and (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 screen and (prefers-reduced-motion: reduce) {
    .custom-control-label::before,
    .custom-file-label,
    .custom-select {
      transition: none; } }

.nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  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-item {
    margin-bottom: -1px; }
  .nav-tabs .nav-link {
    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-item {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  text-align: center; }

.nav-justified .nav-item {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -ms-flex-positive: 1;
  flex-grow: 1;
  text-align: center; }

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

.navbar {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0.5rem 1rem; }
  .navbar > .container,
  .navbar > .container-fluid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    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: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  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 {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-align: center;
  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:not(:disabled):not(.disabled) {
    cursor: pointer; }

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

@media (max-width: 575.98px) {
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid {
    padding-right: 0;
    padding-left: 0; } }
@media (min-width: 576px) {
  .navbar-expand-sm {
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    .navbar-expand-sm .navbar-nav {
      -ms-flex-direction: row;
      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 {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
    .navbar-expand-sm .navbar-collapse {
      display: -ms-flexbox !important;
      display: flex !important;
      -ms-flex-preferred-size: auto;
      flex-basis: auto; }
    .navbar-expand-sm .navbar-toggler {
      display: none; } }
@media (max-width: 767.98px) {
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid {
    padding-right: 0;
    padding-left: 0; } }
@media (min-width: 768px) {
  .navbar-expand-md {
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    .navbar-expand-md .navbar-nav {
      -ms-flex-direction: row;
      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 {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
    .navbar-expand-md .navbar-collapse {
      display: -ms-flexbox !important;
      display: flex !important;
      -ms-flex-preferred-size: auto;
      flex-basis: auto; }
    .navbar-expand-md .navbar-toggler {
      display: none; } }
@media (max-width: 991.98px) {
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid {
    padding-right: 0;
    padding-left: 0; } }
@media (min-width: 992px) {
  .navbar-expand-lg {
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    .navbar-expand-lg .navbar-nav {
      -ms-flex-direction: row;
      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 {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
    .navbar-expand-lg .navbar-collapse {
      display: -ms-flexbox !important;
      display: flex !important;
      -ms-flex-preferred-size: auto;
      flex-basis: auto; }
    .navbar-expand-lg .navbar-toggler {
      display: none; } }
@media (max-width: 1199.98px) {
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid {
    padding-right: 0;
    padding-left: 0; } }
@media (min-width: 1200px) {
  .navbar-expand-xl {
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    .navbar-expand-xl .navbar-nav {
      -ms-flex-direction: row;
      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 {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
    .navbar-expand-xl .navbar-collapse {
      display: -ms-flexbox !important;
      display: flex !important;
      -ms-flex-preferred-size: auto;
      flex-basis: auto; }
    .navbar-expand-xl .navbar-toggler {
      display: none; } }
.navbar-expand {
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -ms-flex-pack: start;
  justify-content: flex-start; }
  .navbar-expand > .container,
  .navbar-expand > .container-fluid {
    padding-right: 0;
    padding-left: 0; }
  .navbar-expand .navbar-nav {
    -ms-flex-direction: row;
    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 {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap; }
  .navbar-expand .navbar-collapse {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-preferred-size: auto;
    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 viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' 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 viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' 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: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  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:first-child .list-group-item:first-child {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
  .card > .list-group:last-child .list-group-item:last-child {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }

.card-body {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  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;
  color: inherit;
  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-header + .list-group .list-group-item:first-child {
    border-top: 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; }

.card-img {
  width: 100%;
  border-radius: calc(0.25rem - 1px); }

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

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

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

.card-group {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column; }
  .card-group > .card {
    margin-bottom: 15px; }
  @media (min-width: 576px) {
    .card-group {
      -ms-flex-flow: row wrap;
      flex-flow: row wrap; }
      .card-group > .card {
        -ms-flex: 1 0 0%;
        flex: 1 0 0%;
        margin-bottom: 0; }
        .card-group > .card + .card {
          margin-left: 0;
          border-left: 0; }
        .card-group > .card:first-child {
          border-top-right-radius: 0;
          border-bottom-right-radius: 0; }
          .card-group > .card:first-child .card-img-top,
          .card-group > .card:first-child .card-header {
            border-top-right-radius: 0; }
          .card-group > .card:first-child .card-img-bottom,
          .card-group > .card:first-child .card-footer {
            border-bottom-right-radius: 0; }
        .card-group > .card:last-child {
          border-top-left-radius: 0;
          border-bottom-left-radius: 0; }
          .card-group > .card:last-child .card-img-top,
          .card-group > .card:last-child .card-header {
            border-top-left-radius: 0; }
          .card-group > .card:last-child .card-img-bottom,
          .card-group > .card:last-child .card-footer {
            border-bottom-left-radius: 0; }
        .card-group > .card:only-child {
          border-radius: 0.25rem; }
          .card-group > .card:only-child .card-img-top,
          .card-group > .card:only-child .card-header {
            border-top-left-radius: 0.25rem;
            border-top-right-radius: 0.25rem; }
          .card-group > .card:only-child .card-img-bottom,
          .card-group > .card:only-child .card-footer {
            border-bottom-right-radius: 0.25rem;
            border-bottom-left-radius: 0.25rem; }
        .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {
          border-radius: 0; }
          .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,
          .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,
          .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,
          .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {
            border-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 .card {
  overflow: hidden; }
  .accordion .card:not(:first-of-type) .card-header:first-child {
    border-radius: 0; }
  .accordion .card:not(:first-of-type):not(:last-of-type) {
    border-bottom: 0;
    border-radius: 0; }
  .accordion .card:first-of-type {
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; }
  .accordion .card:last-of-type {
    border-top-left-radius: 0;
    border-top-right-radius: 0; }
  .accordion .card .card-header {
    margin-bottom: -1px; }

.breadcrumb {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  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 {
    display: inline-block;
    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: -ms-flexbox;
  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: 2;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .page-link:not(:disabled):not(.disabled) {
    cursor: pointer; }

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

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

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

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

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

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

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

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

.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;
    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: -ms-flexbox;
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.25rem; }

.progress-bar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #007bff;
  transition: width 0.6s ease; }
  @media screen and (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: progress-bar-stripes 1s linear infinite; }

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

.media-body {
  -ms-flex: 1;
  flex: 1; }

.list-group {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0; }

.list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit; }
  .list-group-item-action:hover, .list-group-item-action:focus {
    color: #495057;
    text-decoration: none;
    background-color: #f8f9fa; }
  .list-group-item-action:active {
    color: #212529;
    background-color: #e9ecef; }

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125); }
  .list-group-item:first-child {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
  .list-group-item:last-child {
    margin-bottom: 0;
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }
  .list-group-item:hover, .list-group-item:focus {
    z-index: 1;
    text-decoration: none; }
  .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-flush .list-group-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0; }
  .list-group-flush .list-group-item:last-child {
    margin-bottom: -1px; }
.list-group-flush:first-child .list-group-item:first-child {
  border-top: 0; }
.list-group-flush:last-child .list-group-item:last-child {
  margin-bottom: 0;
  border-bottom: 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: .5; }
  .close:hover {
    color: #000;
    text-decoration: none; }
  .close:not(:disabled):not(.disabled) {
    cursor: pointer; }
    .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
      opacity: .75; }

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

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

.toast {
  max-width: 350px;
  overflow: hidden;
  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);
  border-radius: 0.25rem;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  opacity: 0; }
  .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: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  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); }

.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 screen and (prefers-reduced-motion: reduce) {
      .modal.fade .modal-dialog {
        transition: none; } }
  .modal.show .modal-dialog {
    transform: none; }

.modal-dialog-centered {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  min-height: calc(100% - (0.5rem * 2)); }
  .modal-dialog-centered::before {
    display: block;
    height: calc(100vh - (0.5rem * 2));
    content: ""; }

.modal-content {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  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: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #e9ecef;
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem; }
  .modal-header .close {
    padding: 1rem 1rem;
    margin: -1rem -1rem -1rem auto; }

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

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

.modal-footer {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 1rem;
  border-top: 1px solid #e9ecef;
  border-bottom-right-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem; }
  .modal-footer > :not(:first-child) {
    margin-left: .25rem; }
  .modal-footer > :not(:last-child) {
    margin-right: .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-centered {
    min-height: calc(100% - (1.75rem * 2)); }
    .modal-dialog-centered::before {
      height: calc(100vh - (1.75rem * 2)); }

  .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", 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, .bs-tooltip-auto[x-placement^="top"] {
  padding: 0.4rem 0; }
  .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {
    bottom: 0; }
    .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
      top: 0;
      border-width: 0.4rem 0.4rem 0;
      border-top-color: #000; }

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

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

.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
  padding: 0 0.4rem; }
  .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {
    right: 0;
    width: 0.4rem;
    height: 0.8rem; }
    .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
      left: 0;
      border-width: 0.4rem 0 0.4rem 0.4rem;
      border-left-color: #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", 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, .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) * -1); }
  .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before,
  .bs-popover-top .arrow::after,
  .bs-popover-auto[x-placement^="top"] .arrow::after {
    border-width: 0.5rem 0.5rem 0; }
  .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before {
    bottom: 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-top-color: #fff; }

.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
  margin-left: 0.5rem; }
  .bs-popover-right .arrow, .bs-popover-auto[x-placement^="right"] .arrow {
    left: calc((0.5rem + 1px) * -1);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0; }
  .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before,
  .bs-popover-right .arrow::after,
  .bs-popover-auto[x-placement^="right"] .arrow::after {
    border-width: 0.5rem 0.5rem 0.5rem 0; }
  .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before {
    left: 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-right-color: #fff; }

.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
  margin-top: 0.5rem; }
  .bs-popover-bottom .arrow, .bs-popover-auto[x-placement^="bottom"] .arrow {
    top: calc((0.5rem + 1px) * -1); }
  .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before,
  .bs-popover-bottom .arrow::after,
  .bs-popover-auto[x-placement^="bottom"] .arrow::after {
    border-width: 0 0.5rem 0.5rem 0.5rem; }
  .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before {
    top: 0;
    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-bottom-color: #fff; }
  .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 1rem;
    margin-left: -0.5rem;
    content: "";
    border-bottom: 1px solid #f7f7f7; }

.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
  margin-right: 0.5rem; }
  .bs-popover-left .arrow, .bs-popover-auto[x-placement^="left"] .arrow {
    right: calc((0.5rem + 1px) * -1);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0; }
  .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before,
  .bs-popover-left .arrow::after,
  .bs-popover-auto[x-placement^="left"] .arrow::after {
    border-width: 0.5rem 0 0.5rem 0.5rem; }
  .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before {
    right: 0;
    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-left-color: #fff; }

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  color: inherit;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px); }
  .popover-header:empty {
    display: none; }

.popover-body {
  padding: 0.5rem 0.75rem;
  color: #212529; }

.carousel {
  position: relative; }

.carousel.pointer-event {
  -ms-touch-action: pan-y;
  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%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out; }
  @media screen and (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: 0s 0.6s opacity; }
  @media screen and (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: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  transition: opacity 0.15s ease; }
  @media screen and (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: transparent no-repeat center center;
  background-size: 100% 100%; }

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%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' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); }

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none; }
  .carousel-indicators li {
    box-sizing: content-box;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    transition: opacity 0.6s ease; }
    @media screen and (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: spinner-border .75s linear infinite; }

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em; }

@keyframes spinner-grow {
  0% {
    transform: scale(0); }
  50% {
    opacity: 1; } }
.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: spinner-grow .75s linear infinite; }

.spinner-grow-sm {
  width: 1rem;
  height: 1rem; }

.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 {
  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-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: -ms-flexbox !important;
  display: flex !important; }

.d-inline-flex {
  display: -ms-inline-flexbox !important;
  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: -ms-flexbox !important;
    display: flex !important; }

  .d-sm-inline-flex {
    display: -ms-inline-flexbox !important;
    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: -ms-flexbox !important;
    display: flex !important; }

  .d-md-inline-flex {
    display: -ms-inline-flexbox !important;
    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: -ms-flexbox !important;
    display: flex !important; }

  .d-lg-inline-flex {
    display: -ms-inline-flexbox !important;
    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: -ms-flexbox !important;
    display: flex !important; }

  .d-xl-inline-flex {
    display: -ms-inline-flexbox !important;
    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: -ms-flexbox !important;
    display: flex !important; }

  .d-print-inline-flex {
    display: -ms-inline-flexbox !important;
    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-3by4::before {
  padding-top: 133.3333333333%; }

.embed-responsive-1by1::before {
  padding-top: 100%; }

.flex-row {
  -ms-flex-direction: row !important;
  flex-direction: row !important; }

.flex-column {
  -ms-flex-direction: column !important;
  flex-direction: column !important; }

.flex-row-reverse {
  -ms-flex-direction: row-reverse !important;
  flex-direction: row-reverse !important; }

.flex-column-reverse {
  -ms-flex-direction: column-reverse !important;
  flex-direction: column-reverse !important; }

.flex-wrap {
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important; }

.flex-nowrap {
  -ms-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important; }

.flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse !important;
  flex-wrap: wrap-reverse !important; }

.flex-fill {
  -ms-flex: 1 1 auto !important;
  flex: 1 1 auto !important; }

.flex-grow-0 {
  -ms-flex-positive: 0 !important;
  flex-grow: 0 !important; }

.flex-grow-1 {
  -ms-flex-positive: 1 !important;
  flex-grow: 1 !important; }

.flex-shrink-0 {
  -ms-flex-negative: 0 !important;
  flex-shrink: 0 !important; }

.flex-shrink-1 {
  -ms-flex-negative: 1 !important;
  flex-shrink: 1 !important; }

.justify-content-start {
  -ms-flex-pack: start !important;
  justify-content: flex-start !important; }

.justify-content-end {
  -ms-flex-pack: end !important;
  justify-content: flex-end !important; }

.justify-content-center {
  -ms-flex-pack: center !important;
  justify-content: center !important; }

.justify-content-between {
  -ms-flex-pack: justify !important;
  justify-content: space-between !important; }

.justify-content-around {
  -ms-flex-pack: distribute !important;
  justify-content: space-around !important; }

.align-items-start {
  -ms-flex-align: start !important;
  align-items: flex-start !important; }

.align-items-end {
  -ms-flex-align: end !important;
  align-items: flex-end !important; }

.align-items-center {
  -ms-flex-align: center !important;
  align-items: center !important; }

.align-items-baseline {
  -ms-flex-align: baseline !important;
  align-items: baseline !important; }

.align-items-stretch {
  -ms-flex-align: stretch !important;
  align-items: stretch !important; }

.align-content-start {
  -ms-flex-line-pack: start !important;
  align-content: flex-start !important; }

.align-content-end {
  -ms-flex-line-pack: end !important;
  align-content: flex-end !important; }

.align-content-center {
  -ms-flex-line-pack: center !important;
  align-content: center !important; }

.align-content-between {
  -ms-flex-line-pack: justify !important;
  align-content: space-between !important; }

.align-content-around {
  -ms-flex-line-pack: distribute !important;
  align-content: space-around !important; }

.align-content-stretch {
  -ms-flex-line-pack: stretch !important;
  align-content: stretch !important; }

.align-self-auto {
  -ms-flex-item-align: auto !important;
  -ms-grid-row-align: auto !important;
  align-self: auto !important; }

.align-self-start {
  -ms-flex-item-align: start !important;
  align-self: flex-start !important; }

.align-self-end {
  -ms-flex-item-align: end !important;
  align-self: flex-end !important; }

.align-self-center {
  -ms-flex-item-align: center !important;
  -ms-grid-row-align: center !important;
  align-self: center !important; }

.align-self-baseline {
  -ms-flex-item-align: baseline !important;
  align-self: baseline !important; }

.align-self-stretch {
  -ms-flex-item-align: stretch !important;
  -ms-grid-row-align: stretch !important;
  align-self: stretch !important; }

@media (min-width: 576px) {
  .flex-sm-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important; }

  .flex-sm-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important; }

  .flex-sm-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important; }

  .flex-sm-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important; }

  .flex-sm-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important; }

  .flex-sm-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important; }

  .flex-sm-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important; }

  .flex-sm-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important; }

  .flex-sm-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important; }

  .flex-sm-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important; }

  .flex-sm-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important; }

  .flex-sm-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important; }

  .justify-content-sm-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important; }

  .justify-content-sm-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important; }

  .justify-content-sm-center {
    -ms-flex-pack: center !important;
    justify-content: center !important; }

  .justify-content-sm-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important; }

  .justify-content-sm-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important; }

  .align-items-sm-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important; }

  .align-items-sm-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important; }

  .align-items-sm-center {
    -ms-flex-align: center !important;
    align-items: center !important; }

  .align-items-sm-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important; }

  .align-items-sm-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important; }

  .align-content-sm-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important; }

  .align-content-sm-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important; }

  .align-content-sm-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important; }

  .align-content-sm-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important; }

  .align-content-sm-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important; }

  .align-content-sm-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important; }

  .align-self-sm-auto {
    -ms-flex-item-align: auto !important;
    -ms-grid-row-align: auto !important;
    align-self: auto !important; }

  .align-self-sm-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important; }

  .align-self-sm-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important; }

  .align-self-sm-center {
    -ms-flex-item-align: center !important;
    -ms-grid-row-align: center !important;
    align-self: center !important; }

  .align-self-sm-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important; }

  .align-self-sm-stretch {
    -ms-flex-item-align: stretch !important;
    -ms-grid-row-align: stretch !important;
    align-self: stretch !important; } }
@media (min-width: 768px) {
  .flex-md-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important; }

  .flex-md-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important; }

  .flex-md-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important; }

  .flex-md-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important; }

  .flex-md-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important; }

  .flex-md-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important; }

  .flex-md-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important; }

  .flex-md-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important; }

  .flex-md-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important; }

  .flex-md-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important; }

  .flex-md-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important; }

  .flex-md-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important; }

  .justify-content-md-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important; }

  .justify-content-md-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important; }

  .justify-content-md-center {
    -ms-flex-pack: center !important;
    justify-content: center !important; }

  .justify-content-md-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important; }

  .justify-content-md-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important; }

  .align-items-md-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important; }

  .align-items-md-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important; }

  .align-items-md-center {
    -ms-flex-align: center !important;
    align-items: center !important; }

  .align-items-md-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important; }

  .align-items-md-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important; }

  .align-content-md-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important; }

  .align-content-md-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important; }

  .align-content-md-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important; }

  .align-content-md-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important; }

  .align-content-md-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important; }

  .align-content-md-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important; }

  .align-self-md-auto {
    -ms-flex-item-align: auto !important;
    -ms-grid-row-align: auto !important;
    align-self: auto !important; }

  .align-self-md-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important; }

  .align-self-md-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important; }

  .align-self-md-center {
    -ms-flex-item-align: center !important;
    -ms-grid-row-align: center !important;
    align-self: center !important; }

  .align-self-md-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important; }

  .align-self-md-stretch {
    -ms-flex-item-align: stretch !important;
    -ms-grid-row-align: stretch !important;
    align-self: stretch !important; } }
@media (min-width: 992px) {
  .flex-lg-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important; }

  .flex-lg-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important; }

  .flex-lg-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important; }

  .flex-lg-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important; }

  .flex-lg-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important; }

  .flex-lg-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important; }

  .flex-lg-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important; }

  .flex-lg-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important; }

  .flex-lg-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important; }

  .flex-lg-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important; }

  .flex-lg-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important; }

  .flex-lg-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important; }

  .justify-content-lg-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important; }

  .justify-content-lg-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important; }

  .justify-content-lg-center {
    -ms-flex-pack: center !important;
    justify-content: center !important; }

  .justify-content-lg-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important; }

  .justify-content-lg-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important; }

  .align-items-lg-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important; }

  .align-items-lg-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important; }

  .align-items-lg-center {
    -ms-flex-align: center !important;
    align-items: center !important; }

  .align-items-lg-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important; }

  .align-items-lg-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important; }

  .align-content-lg-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important; }

  .align-content-lg-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important; }

  .align-content-lg-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important; }

  .align-content-lg-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important; }

  .align-content-lg-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important; }

  .align-content-lg-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important; }

  .align-self-lg-auto {
    -ms-flex-item-align: auto !important;
    -ms-grid-row-align: auto !important;
    align-self: auto !important; }

  .align-self-lg-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important; }

  .align-self-lg-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important; }

  .align-self-lg-center {
    -ms-flex-item-align: center !important;
    -ms-grid-row-align: center !important;
    align-self: center !important; }

  .align-self-lg-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important; }

  .align-self-lg-stretch {
    -ms-flex-item-align: stretch !important;
    -ms-grid-row-align: stretch !important;
    align-self: stretch !important; } }
@media (min-width: 1200px) {
  .flex-xl-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important; }

  .flex-xl-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important; }

  .flex-xl-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important; }

  .flex-xl-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important; }

  .flex-xl-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important; }

  .flex-xl-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important; }

  .flex-xl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important; }

  .flex-xl-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important; }

  .flex-xl-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important; }

  .flex-xl-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important; }

  .flex-xl-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important; }

  .flex-xl-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important; }

  .justify-content-xl-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important; }

  .justify-content-xl-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important; }

  .justify-content-xl-center {
    -ms-flex-pack: center !important;
    justify-content: center !important; }

  .justify-content-xl-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important; }

  .justify-content-xl-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important; }

  .align-items-xl-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important; }

  .align-items-xl-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important; }

  .align-items-xl-center {
    -ms-flex-align: center !important;
    align-items: center !important; }

  .align-items-xl-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important; }

  .align-items-xl-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important; }

  .align-content-xl-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important; }

  .align-content-xl-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important; }

  .align-content-xl-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important; }

  .align-content-xl-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important; }

  .align-content-xl-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important; }

  .align-content-xl-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important; }

  .align-self-xl-auto {
    -ms-flex-item-align: auto !important;
    -ms-grid-row-align: auto !important;
    align-self: auto !important; }

  .align-self-xl-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important; }

  .align-self-xl-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important; }

  .align-self-xl-center {
    -ms-flex-item-align: center !important;
    -ms-grid-row-align: center !important;
    align-self: center !important; }

  .align-self-xl-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important; }

  .align-self-xl-stretch {
    -ms-flex-item-align: stretch !important;
    -ms-grid-row-align: stretch !important;
    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; } }
.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: -webkit-sticky !important;
  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: -webkit-sticky) or (position: sticky)) {
  .sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020; } }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  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; } }
.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

.text-justify {
  text-align: justify !important; }

.text-wrap {
  white-space: normal !important; }

.text-nowrap {
  white-space: nowrap !important; }

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.text-left {
  text-align: left !important; }

.text-right {
  text-align: right !important; }

.text-center {
  text-align: center !important; }

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important; }

  .text-sm-right {
    text-align: right !important; }

  .text-sm-center {
    text-align: center !important; } }
@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important; }

  .text-md-right {
    text-align: right !important; }

  .text-md-center {
    text-align: center !important; } }
@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important; }

  .text-lg-right {
    text-align: right !important; }

  .text-lg-center {
    text-align: center !important; } }
@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important; }

  .text-xl-right {
    text-align: right !important; }

  .text-xl-center {
    text-align: center !important; } }
.text-lowercase {
  text-transform: lowercase !important; }

.text-uppercase {
  text-transform: uppercase !important; }

.text-capitalize {
  text-transform: capitalize !important; }

.font-weight-light {
  font-weight: 300 !important; }

.font-weight-lighter {
  font-weight: lighter !important; }

.font-weight-normal {
  font-weight: 400 !important; }

.font-weight-bold {
  font-weight: 700 !important; }

.font-weight-bolder {
  font-weight: bolder !important; }

.font-italic {
  font-style: italic !important; }

.text-white {
  color: #fff !important; }

.text-primary {
  color: #007bff !important; }

a.text-primary:hover, a.text-primary:focus {
  color: #0056b3 !important; }

.text-secondary {
  color: #6c757d !important; }

a.text-secondary:hover, a.text-secondary:focus {
  color: #494f54 !important; }

.text-success {
  color: #28a745 !important; }

a.text-success:hover, a.text-success:focus {
  color: #19692c !important; }

.text-info {
  color: #17a2b8 !important; }

a.text-info:hover, a.text-info:focus {
  color: #0f6674 !important; }

.text-warning {
  color: #ffc107 !important; }

a.text-warning:hover, a.text-warning:focus {
  color: #ba8b00 !important; }

.text-danger {
  color: #dc3545 !important; }

a.text-danger:hover, a.text-danger:focus {
  color: #a71d2a !important; }

.text-light {
  color: #f8f9fa !important; }

a.text-light:hover, a.text-light:focus {
  color: #cbd3da !important; }

.text-dark {
  color: #343a40 !important; }

a.text-dark:hover, a.text-dark:focus {
  color: #121416 !important; }

.text-body {
  color: #212529 !important; }

.text-muted {
  color: #6c757d !important; }

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important; }

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important; }

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0; }

.text-decoration-none {
  text-decoration: none !important; }

.text-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; } }
/* for font face */
/* rem calculator */
/*====mixin for media query=====*/
/* pdp mixin */
.homePage .customNavbar {
  background: transparent;
  transition: 0.5s;
  border-bottom: none; }

@font-face {
  font-family: "Avenir-Book";
  src: url("fonts/avenir/Avenir-Book.eot");
  src: url("fonts/avenir/Avenir-Book.eot?#iefix") format("embedded-opentype"), url("fonts/avenir/Avenir-Book.woff") format("woff"), url("fonts/avenir/Avenir-Book.ttf") format("truetype"), url("fonts/avenir/Avenir-Book.svg#Avenir-Book") format("svg"); }
@font-face {
  font-family: "Avenir-Medium";
  src: url("fonts/avenir/Avenir-Medium.eot");
  src: url("fonts/avenir/Avenir-Medium.eot?#iefix") format("embedded-opentype"), url("fonts/avenir/Avenir-Medium.woff") format("woff"), url("fonts/avenir/Avenir-Medium.ttf") format("truetype"), url("fonts/avenir/Avenir-Medium.svg#Avenir-Medium") format("svg"); }
@font-face {
  font-family: "CircularStd-Book";
  src: url("fonts/circular/CircularStd-Book.eot");
  src: url("fonts/circular/CircularStd-Book.eot?#iefix") format("embedded-opentype"), url("fonts/circular/CircularStd-Book.woff") format("woff"), url("fonts/circular/CircularStd-Book.ttf") format("truetype"), url("fonts/circular/CircularStd-Book.svg#CircularStd-Book") format("svg"); }
@font-face {
  font-family: "CircularStd-Bold";
  src: url("fonts/circular/CircularStd-Bold.eot");
  src: url("fonts/circular/CircularStd-Bold.eot?#iefix") format("embedded-opentype"), url("fonts/circular/CircularStd-Bold.woff") format("woff"), url("fonts/circular/CircularStd-Bold.ttf") format("truetype"), url("fonts/circular/CircularStd-Bold.svg#CircularStd-Bold") format("svg"); }
@font-face {
  font-family: "CircularStd-Medium";
  src: url("fonts/circular/CircularStd-Medium.eot");
  src: url("fonts/circular/CircularStd-Medium.eot?#iefix") format("embedded-opentype"), url("fonts/circular/CircularStd-Medium.woff") format("woff"), url("fonts/circular/CircularStd-Medium.ttf") format("truetype"), url("fonts/circular/CircularStd-Medium.svg#CircularStd-Medium") format("svg"); }
@font-face {
  font-family: "RupeeForadian";
  src: url("fonts/RupeeForadian/RupeeForadian.eot");
  src: url("fonts/RupeeForadian/RupeeForadian.eot?#iefix") format("embedded-opentype"), url("fonts/RupeeForadian/RupeeForadian.woff") format("woff"), url("fonts/RupeeForadian/RupeeForadian.ttf") format("truetype"), url("fonts/RupeeForadian/RupeeForadian.svg#RupeeForadian") format("svg"); }
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

textarea:focus,
select:focus,
input:focus,
button:focus {
  outline: none; }

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

body {
  font-size: 1rem;
  font-family: CircularStd-Medium;
  padding-top: 120px;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 48rem) {
    body {
      padding-top: 180px; } }
  @media only screen and (min-width: 62rem) {
    body {
      padding-top: 180px; } }

.over-hide {
  overflow: hidden; }

.full-container {
  max-width: 100%;
  padding: 0 30px;
  margin: 0 auto;
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 62rem) {
    .full-container {
      padding: 0 80px; } }

.container {
  max-width: 1280px;
  padding: 0 30px;
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 62rem) {
    .container {
      padding: 0 80px; } }

.bg-0 {
  background: #fff; }

.bg-1 {
  background: #0e1f3b; }

.bg-2 {
  background: #f7f7f7; }

.bg-3 {
  background: #f3f3f3; }

.bg-4 {
  background: #030404; }

.bg-5 {
  background: #fbf8f2; }

.bg-6 {
  background: #deeaf1; }

.bg-7 {
  background: #f2f7fb; }

.bg-8 {
  background: #c2e7f0; }

.bg-9 {
  background: #0D1A2C; }

.vertical-center {
  -ms-flex-align: center;
  align-items: center; }

.rupee {
  font-family: 'RupeeForadian';
  font-style: normal; }

.content-box {
  padding: 80px 0;
  overflow: hidden;
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 48rem) {
    .content-box {
      padding: 120px 0; } }

.box-banner {
  height: 100%;
  width: 100%; }

.reverse {
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  .reverse .box-banner {
    text-align: right; }
  @media only screen and (min-width: 20rem) {
    .reverse {
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse; }
      .reverse .box-banner {
        text-align: center; } }
  @media only screen and (min-width: 48rem) {
    .reverse {
      -ms-flex-direction: row;
      flex-direction: row; }
      .reverse .box-banner {
        text-align: right; } }

.txt-black {
  color: #000 !important; }

.center-align {
  text-align: center !important; }

.text-r .box-txt {
  margin-left: 0px; }
.text-r .box-banner {
  text-align: center; }

.text-l .box-txt {
  margin-right: 0px; }
.text-l .box-banner {
  text-align: center; }

@media only screen and (min-width: 48rem) {
  .text-r .box-txt {
    margin-left: 90px; }
  .text-r .box-banner {
    text-align: left; }

  .text-l .box-txt {
    margin-right: 90px; }
  .text-l .box-banner {
    text-align: right; } }
/*@media only screen (min-width:$point){@content;}*/
.m-r-0 {
  margin-right: -15px;
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 48rem) {
    .m-r-0 {
      margin-right: 0; } }

.pd-0 {
  padding: 0; }

.mb-40 {
  margin-bottom: 40px !important; }

.main-header {
  position: fixed;
  width: 100%;
  padding: 20px 0;
  top: 0px;
  z-index: 9;
  transition: all 0.5s;
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 48rem) {
    .main-header {
      padding: 35px 0; } }

.fix-header .main-header {
  background: #fff;
  top: 0;
  padding: 20px 0;
  box-shadow: 0 -7px 15px #8a8a8a;
  transition: all 0.5s; }

.menu-box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  height: 100%; }

.menu-list {
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 20rem) {
    .menu-list {
      display: none;
      position: fixed;
      height: 100%;
      width: 100%;
      background: #fff;
      top: 0;
      left: 0; } }
  @media only screen and (min-width: 62rem) {
    .menu-list {
      display: block !important;
      position: relative;
      background: none; } }

.logo {
  position: relative;
  margin-top: 0px;
  /*@media only screen (min-width:$point){@content;}*/ }
  .logo a {
    display: inline-block; }
  .logo img {
    width: 160px; }
  @media only screen and (min-width: 62rem) {
    .logo {
      margin-top: 6px; } }

.mobile-box {
  display: -ms-flexbox;
  display: flex;
  overflow-x: hidden;
  overflow-y: auto;
  height: calc(100% - 71px);
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center;
  align-items: center;
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 62rem) {
    .mobile-box {
      display: block;
      top: 0px;
      left: 0;
      overflow: auto;
      width: 100%;
      height: auto;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }

.nav-bar {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-pack: end;
  justify-content: flex-end;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  .nav-bar li {
    margin-left: 25px; }
  .nav-bar a {
    text-decoration: none;
    display: inline-block;
    color: #000;
    font-family: CircularStd-Book;
    font-size: 1rem;
    padding: 10px 5px;
    transition: .5s; }
    .nav-bar a:hover {
      color: #0F6CF3; }
    .nav-bar a.active {
      color: #0F6CF3; }
  .nav-bar .box-link {
    padding: 7px 5px;
    transition: 0.5s;
    /*@media only screen (min-width:$point){@content;}*/ }
    .nav-bar .box-link:hover {
      background: #0F6CF3;
      color: #fff;
      border: 1px solid #0F6CF3; }
    @media only screen and (min-width: 62rem) {
      .nav-bar .box-link {
        border: 1px solid #262626;
        border-radius: 5px;
        padding: 10px 30px; } }
  @media only screen and (min-width: 20rem) {
    .nav-bar {
      display: block; }
      .nav-bar a {
        font-size: 2.1875rem; } }
  @media only screen and (min-width: 62rem) {
    .nav-bar {
      position: relative;
      top: auto;
      display: -ms-flexbox;
      display: flex;
      transform: translate(0%, 0%);
      left: 0; }
      .nav-bar a {
        font-size: 0.9375rem; } }
  @media only screen and (min-width: 64rem) {
    .nav-bar li {
      margin-left: 30px; } }

.navbar-box {
  padding: 0; }

.burger-btn {
  display: none;
  background: none;
  border: none;
  position: absolute;
  top: 4px;
  right: 0;
  padding: 0;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 20rem) {
    .burger-btn {
      display: -ms-flexbox;
      display: flex;
      height: 24px;
      width: 24px; } }
  @media only screen and (min-width: 62rem) {
    .burger-btn {
      display: none; } }
  .burger-btn span {
    height: 2px;
    background: #000;
    border-radius: 5px;
    position: relative; }
    .burger-btn span::after {
      content: "";
      height: 2px;
      background: #000;
      border-radius: 5px;
      position: absolute;
      top: 7px;
      width: 100%;
      left: 0; }
    .burger-btn span::before {
      content: "";
      height: 2px;
      background: #000;
      border-radius: 5px;
      position: absolute;
      bottom: 7px;
      width: 100%;
      left: 0; }

.menu-header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 20px 30px;
  -ms-flex-align: center;
  align-items: center;
  /*@media only screen (min-width:$point){@content;}*/ }
  .menu-header img {
    width: 160px; }
  .menu-header .close-menu {
    width: 24px;
    height: 24px;
    background: none;
    border: none;
    padding: 0; }
    .menu-header .close-menu span {
      position: relative;
      display: block;
      height: 100%;
      width: 100%; }
      .menu-header .close-menu span::after {
        content: "";
        height: 2px;
        background: #000;
        border-radius: 5px;
        position: absolute;
        top: 11px;
        width: 24px;
        left: 0px;
        transform: rotate(-45deg); }
      .menu-header .close-menu span::before {
        content: "";
        height: 2px;
        background: #000;
        border-radius: 5px;
        position: absolute;
        top: 11px;
        width: 24px;
        left: 0px;
        transform: rotate(45deg); }
  @media only screen and (min-width: 62rem) {
    .menu-header {
      display: none; } }

@media only screen and (min-width: 48rem) {
  .menu-header {
    padding: 35px 30px; }

  .fix-header .menu-header {
    padding: 20px 30px; } }
/*@media only screen (min-width:$point){@content;}*/
.banner-bx {
  min-height: calc(100vh - 90px);
  position: relative;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 20rem) {
    .banner-bx {
      background-size: 100%; } }
  @media only screen and (min-width: 20rem) {
    .banner-bx {
      background-size: 160%;
      background-position: bottom right; } }
  @media only screen and (min-width: 20rem) and (orientation: landscape) {
    .banner-bx {
      background-size: 80%;
      background-position: bottom right; } }

  @media only screen and (min-width: 48rem) {
    .banner-bx {
      min-height: calc(100vh - 180px);
      background-size: 190%;
      background-position-y: 100%;
      background-position-x: 80%; } }
  @media only screen and (min-width: 62rem) {
    .banner-bx {
      background-size: 130%;
      background-position-y: 100%;
      background-position-x: 80%; } }
  @media only screen and (min-width: 64.0625rem) {
    .banner-bx {
      background-size: cover;
      background-position: bottom right; } }
  @media only screen and (min-width: 80rem) {
    .banner-bx {
      min-height: calc(100vh - 220px); } }
  @media only screen and (min-width: 1024px) and (max-width: 1366px) and (orientation: portrait) {
    .banner-bx {
      padding-bottom: 100px;
      min-height: auto; } }

.home-banner {
  overflow: hidden;
  /*@media only screen (min-width:$point){@content;}*/ }
  .home-banner .full-container {
    padding: 0 30px; }
  @media only screen and (min-width: 62rem) {
    .home-banner .full-container {
      padding: 0 0 0 80px; } }

.banner-txt {
  padding: 0 15px;
  margin-bottom: 80px;
  position: relative;
  z-index: 1;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  .banner-txt .title {
    font-family: "CircularStd-Medium";
    font-size: 3.125rem;
    color: #000000;
    line-height: 50px;
    margin: 0 0 20px 0; }
    .banner-txt .title span {
      color: #2362be; }
  .banner-txt p {
    font-family: "Avenir-Book";
    font-size: 1rem;
    color: #000;
    margin: 0 50px 20px 0; }
  .banner-txt a {
    font-family: "CircularStd-Book";
    background: #0f6cf3;
    border-radius: 5px;
    padding: 14px 53px;
    font-size: 0.875rem;
    color: #ffffff;
    display: inline-block;
    margin-right: 10px; }
  @media only screen and (min-width: 20rem) {
    .banner-txt {
      width: 100%;
      text-align: center; }
      .banner-txt .h2 {
        font-size: 2.1875rem;
        line-height: normal;
        width: 300px;
        text-align: center;
        margin: 0 auto 20px; }
      .banner-txt p {
        margin: 0 auto 18px;
        font-size: 1rem;
        width: 300px; } }
  @media only screen and (min-width: 48rem) {
    .banner-txt {
      margin-bottom: 30px; }
      .banner-txt h2 {
        font-size: 1.875rem;
        line-height: 55px;
        width: auto;
        text-align: center;
        margin: 0 auto 20px; }
      .banner-txt p {
        font-size: 1.0625rem;
        margin: 0 0px 30px 0;
        width: auto;
        text-align: center; }
      .banner-txt a {
        font-size: 1rem;
        padding: 10px 30px; } }
  @media only screen and (min-width: 62rem) {
    .banner-txt {
      margin-bottom: 0;
      margin-top: 10%;
      text-align: left; }
      .banner-txt h2 {
        font-size: 2.5rem;
        text-align: left;
        margin: 0 auto 20px; }
      .banner-txt p {
        text-align: left;
        margin: 0 50px 30px 0; } }
  @media only screen and (min-width: 80rem) {
    .banner-txt {
      max-width: 600px; }
      .banner-txt h2 {
        font-size: 3.125rem; }
      .banner-txt p {
        margin: 0 50px 40px 0; } }
  @media only screen and (min-width: 80.0625rem) {
    .banner-txt h2 {
      font-size: 3.75rem;
      line-height: 70px;
      margin-bottom: 40px; }
    .banner-txt p {
      font-family: "Avenir-Medium";
      font-size: 1.375rem; } }
  .banner-txt .year-box {
    margin-top: 90px;
    /*@media only screen (min-width:$point){@content;}*/
    /*@media only screen (min-width:$point){@content;}*/ }
    .banner-txt .year-box h4 {
      font-family: CircularStd-Medium;
      font-size: 1.5625rem;
      color: #080808;
      margin: 0; }
    .banner-txt .year-box p {
      font-family: CircularStd-Book;
      font-size: 1.125rem;
      color: #878787;
      margin-bottom: 10px; }
@media only screen and (min-width: 20rem) and (orientation: landscape) {
  .banner-txt .year-box {
    margin-top: 40px; } }

@media only screen and (min-width: 48rem) and (orientation: landscape) {
  .banner-txt .year-box {
    margin-top: 90px; } }

.banner-box {
  margin-bottom: 80px;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  position: relative; }
  @media only screen and (min-width: 48rem) {
    .banner-box {
      padding-left: 15px;
      margin-bottom: 0px; } }
  @media only screen and (min-width: 62rem) {
    .banner-box {
      padding-left: 0; } }

.home-animation {
  position: relative; }
  .home-animation .grid-1, .home-animation .grid-2, .home-animation .grid-3, .home-animation .grid-4 {
    padding: 0 10px; }
  .home-animation .grid-2 {
    padding-top: 10%; }
    .home-animation .grid-2 .box {
      margin-bottom: 30px; }
      .home-animation .grid-2 .box:last-child {
        margin-bottom: 0; }
    .home-animation .grid-2 img {
      width: 100%; }
    .home-animation .grid-2 .box .brands .item {
      border: 3px solid #eac5aa;
      /*@media only screen (min-width:$point){@content;}*/
      /*@media only screen (min-width:$point){@content;}*/
      /*@media only screen (min-width:$point){@content;}*/ }
      .home-animation .grid-2 .box .brands .item img {
        width: 80%;
        margin: 0 auto;
        display: block; }
      @media only screen and (min-width: 40rem) {
        .home-animation .grid-2 .box .brands .item {
          border: 5px solid #eac5aa; } }
      @media only screen and (min-width: 62rem) {
        .home-animation .grid-2 .box .brands .item {
          border: 5px solid #eac5aa; } }
      @media only screen and (min-width: 64rem) {
        .home-animation .grid-2 .box .brands .item {
          border: 8px solid #eac5aa; } }
  .home-animation .grid-3 {
    padding-top: 5%; }
    .home-animation .grid-3 .box {
      margin-bottom: 30px; }
      .home-animation .grid-3 .box:last-child {
        margin-bottom: 0; }
    .home-animation .grid-3 .box:first-child {
      width: 70%;
      margin: 0 auto 30px; }
      .home-animation .grid-3 .box:first-child img {
        width: 100%; }
  .home-animation .grid-4 {
    padding-top: 14%; }
    .home-animation .grid-4 .box img {
      max-width: inherit;
      max-height: inherit;
      height: 50px;
      /*@media only screen (min-width:$point){@content;}*/ }
      @media only screen and (min-width: 48rem) {
        .home-animation .grid-4 .box img {
          height: 110px; } }
  .home-animation .line {
    position: absolute;
    top: 0;
    right: -25%;
    z-index: -1; }

.spacer {
  padding: 120px 0; }

.boxes {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.box-group .main-title {
  font-family: CircularStd-Medium;
  color: #262626;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 60px;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 20rem) {
    .box-group .main-title {
      font-size: 1.5625rem;
      line-height: normal; } }
  @media only screen and (min-width: 48rem) {
    .box-group .main-title {
      font-size: 2.5rem;
      line-height: 50px; } }
.box-group .box {
  border-radius: 10px;
  padding: 25px;
  position: relative;
  margin-bottom: 30px;
  height: calc(100% - 30px);
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 20rem) {
    .box-group .box {
      padding: 15px; } }
  @media only screen and (min-width: 62rem) {
    .box-group .box {
      padding: 25px; } }
  .box-group .box .title {
    font-family: "CircularStd-Medium";
    font-size: 1.5625rem;
    color: #303030;
    padding: 40px 80px 0 0;
    margin: 0 0 20px 0;
    /*@media only screen (min-width:$point){@content;}*/
    /*@media only screen (min-width:$point){@content;}*/ }
    @media only screen and (min-width: 20rem) {
      .box-group .box .title {
        font-size: 1.25rem; } }
    @media only screen and (min-width: 62rem) {
      .box-group .box .title {
        font-size: 1.5625rem; } }
  .box-group .box .txt {
    opacity: 0.5;
    font-family: Avenir-Book;
    font-size: 1.0625rem;
    color: #000000;
    margin: 0;
    /*@media only screen (min-width:$point){@content;}*/
    /*@media only screen (min-width:$point){@content;}*/ }
    @media only screen and (min-width: 20rem) {
      .box-group .box .txt {
        font-size: 0.9375rem; } }
    @media only screen and (min-width: 62rem) {
      .box-group .box .txt {
        font-size: 1.0625rem; } }
  .box-group .box .icon {
    background: #fafafa;
    height: 70px;
    width: 70px;
    position: absolute;
    right: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center; }
    .box-group .box .icon img {
      max-height: 100%;
      max-width: 100%; }

.box-txt {
  font-family: CircularStd-Medium;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  .box-txt .xs-title {
    font-size: 1.25rem;
    color: #000000;
    margin-bottom: 20px; }
  .box-txt .lg-title {
    color: #262626;
    line-height: normal;
    margin-bottom: 40px; }
  .box-txt .text-box {
    opacity: 0.9;
    font-size: 1rem;
    color: #262626;
    font-family: Avenir-Book;
    width: 300px;
    margin: 30px auto 30px; }
  .box-txt.influencer-textbox {
    margin-left: 0px; }
    .box-txt.influencer-textbox .text-box {
      opacity: 0.5;
      font-family: Avenir-Medium;
      margin-bottom: 30px; }
      .box-txt.influencer-textbox .text-box:last-child {
        margin: 0; }
  @media only screen and (min-width: 20rem) {
    .box-txt {
      text-align: center; }
      .box-txt .lg-title {
        font-size: 1.875rem;
        line-height: 40px;
        width: 300px;
        margin: 0 auto; } }
  @media only screen and (min-width: 48rem) {
    .box-txt {
      text-align: left; }
      .box-txt .lg-title {
        font-size: 1.5625rem;
        line-height: 45px;
        width: auto;
        margin: auto; }
      .box-txt .text-box {
        margin-bottom: 0;
        font-size: 1.125rem;
        width: auto; } }
  @media only screen and (min-width: 64rem) {
    .box-txt {
      text-align: left; }
      .box-txt .lg-title {
        font-size: 1.875rem;
        line-height: 50px; } }
  @media only screen and (min-width: 75rem) {
    .box-txt {
      text-align: left; }
      .box-txt .lg-title {
        font-size: 2.5rem;
        line-height: 55px; }
      .box-txt.influencer-textbox {
        margin-left: 60px; } }

.dashboard-box {
  padding-bottom: 0; }
  .dashboard-box .tab-content {
    position: relative; }
    .dashboard-box .tab-content:after {
      content: "";
      bottom: 0;
      width: 100%;
      height: 50%;
      left: 0;
      background-image: linear-gradient(rgba(0, 0, 0, 0), #0d1a2c);
      position: absolute; }
  .dashboard-box .controler {
    margin-top: 30px; }
    .dashboard-box .controler ul {
      display: inline-block; }
      .dashboard-box .controler ul li {
        position: relative;
        padding-left: 35px;
        margin-bottom: 10px;
        margin-right: 10px;
        text-align: left;
        /*@media only screen (min-width:$point){@content;}*/ }
        .dashboard-box .controler ul li:before {
          position: absolute;
          left: 0;
          top: 10px;
          width: 20px;
          height: 20px;
          background: #2a3c55; }
        .dashboard-box .controler ul li:nth-child(1) {
          background: url(../../images/ico1.svg) no-repeat;
          background-position: 0 10px; }
        .dashboard-box .controler ul li:nth-child(2) {
          background: url(../../images/ico2.svg) no-repeat;
          background-position: 0 10px; }
        .dashboard-box .controler ul li:nth-child(3) {
          background: url(../../images/ico3.svg) no-repeat;
          background-position: 0 10px; }
        @media only screen and (min-width: 48rem) {
          .dashboard-box .controler ul li {
            padding-left: 40px; }
            .dashboard-box .controler ul li:before {
              top: 10px;
              width: 25px;
              height: 25px; } }
      .dashboard-box .controler ul a {
        opacity: 0.45;
        font-size: 0.875rem;
        color: #ffffff;
        padding: 10px 0;
        transition: .8s;
        /*@media only screen (min-width:$point){@content;}*/ }
        .dashboard-box .controler ul a.active {
          opacity: 1; }
        @media only screen and (min-width: 48rem) {
          .dashboard-box .controler ul a {
            font-size: 1.125rem; } }

.influencers-box {
  position: relative; }
  .influencers-box .box {
    position: absolute;
    border-radius: 100%;
    overflow: hidden; }
  .influencers-box .box-1 {
    top: 50%;
    left: 50%;
    width: 30%;
    height: 30%;
    margin-top: -15%;
    margin-left: -15%;
    background: #FBC02D; }
  .influencers-box .box-2 {
    bottom: 25%;
    left: 7%;
    width: 20%;
    height: 20%;
    background: #F27774; }
  .influencers-box .box-3 {
    top: 19%;
    left: 11%;
    width: 15%;
    height: 15%;
    background: #E9C6AB; }
  .influencers-box .box-4 {
    top: 12%;
    right: 20%;
    width: 12%;
    height: 12%;
    background: #E1E1E8; }
  .influencers-box .box-5 {
    top: 42%;
    right: 3%;
    width: 11%;
    height: 11%;
    background: #A2C4DE; }
  .influencers-box .box-6 {
    bottom: 15%;
    right: 33%;
    width: 11%;
    height: 11%;
    background: #8692A2; }

.content-box.dark-box .xs-title,
.content-box.dark-box .lg-title,
.content-box.dark-box .text-box {
  color: #fff; }

.clients-box {
  padding: 50px 0; }
  .clients-box .title {
    font-family: CircularStd-Book;
    font-size: 1.25rem;
    color: #878787;
    margin-bottom: 45px;
    text-align: center;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%; }
  .clients-box .logo-box {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    /*@media only screen (min-width:$point){@content;}*/ }
    .clients-box .logo-box img {
      max-height: 100%;
      max-width: 100%;
      transition: .5s; }

.test-container {
  padding-bottom: 51px;
  position: relative; }

.test-box {
  margin-top: 20px;
  padding-top: 20px; }
  .test-box .box-grid {
    margin: 0 auto;
    position: relative;
    /*@media only screen (min-width:$point){@content;}*/
    /*@media only screen (min-width:$point){@content;}*/ }
    .test-box .box-grid:after {
      content: "";
      position: absolute;
      height: 141px;
      width: 100%;
      bottom: 0;
      left: 0;
      background-image: linear-gradient(rgba(255, 255, 255, 0), #fbf8f2, #fbf8f2); }
    .test-box .box-grid:before {
      content: "";
      position: absolute;
      height: 121px;
      width: 100%;
      top: 0;
      left: 0;
      z-index: 1;
      background-image: linear-gradient(#fbf8f2, #fbf8f2, rgba(255, 255, 255, 0)); }
    .test-box .box-grid .listing {
      background: #fff;
      border-radius: 10px;
      padding: 15px;
      display: -ms-flexbox !important;
      display: flex !important;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-top: 36px; }
    .test-box .box-grid .img-box {
      height: 70px;
      border-radius: 10px;
      overflow: hidden;
      margin: 0 0 10px 0;
      -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
      .test-box .box-grid .img-box img {
        margin: 0 auto; }
    .test-box .box-grid .text-box {
      font-family: CircularStd-Book;
      color: #000000;
      -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
      .test-box .box-grid .text-box p {
        font-size: 0.875rem;
        margin-bottom: 10px; }
      .test-box .box-grid .text-box span {
        opacity: 0.5;
        font-size: 0.6875rem; }
    @media only screen and (min-width: 20rem) {
      .test-box .box-grid {
        width: 100%; } }
    @media only screen and (min-width: 48rem) {
      .test-box .box-grid {
        width: 430px; }
        .test-box .box-grid .listing {
          background: #fff;
          border-radius: 10px;
          padding: 25px;
          display: -ms-flexbox !important;
          display: flex !important;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          margin-top: 36px; }
        .test-box .box-grid .img-box {
          width: 100px;
          height: 100px;
          border-radius: 10px;
          overflow: hidden;
          margin-right: 25px;
          -ms-flex: 0 0 100px;
          flex: 0 0 100px; }
        .test-box .box-grid .text-box {
          font-family: CircularStd-Book;
          color: #000000;
          -ms-flex: 0 0 calc(100% - 125px);
          flex: 0 0 calc(100% - 125px); }
          .test-box .box-grid .text-box p {
            font-size: 1.125rem;
            margin-bottom: 10px; }
          .test-box .box-grid .text-box span {
            opacity: 0.5;
            font-size: 0.8125rem; } }

.info-box {
  margin: 50px auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px 0;
  border-radius: 5px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  .info-box .info-content {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0 50px; }
  .info-box .title {
    font-family: CircularStd-Medium;
    color: #ffffff;
    letter-spacing: 0;
    margin-bottom: 10px; }
  .info-box .txt {
    opacity: 0.8;
    font-family: Avenir-Medium;
    color: #ffffff;
    margin-bottom: 10px; }
  .info-box a.cta-btn {
    border-radius: 5px;
    text-decoration: underline;
    font-family: CircularStd-Book;
    font-size: 1rem;
    color: #ffffff;
    display: inline-block;
    margin-bottom: 40px;
    opacity: 0.8;
    transition: .5s; }
    .info-box a.cta-btn:hover {
      opacity: 1; }
  .info-box .img-btns a {
    margin-right: 10px;
    margin-bottom: 10px; }
  .info-box .img-box {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0 20px;
    text-align: center;
    margin-bottom: -20px; }
  @media only screen and (min-width: 20rem) {
    .info-box .info-content {
      -ms-flex: 0 0 100%;
      flex: 0 0 100%;
      max-width: 100%;
      padding: 0 30px; }
    .info-box .title {
      font-size: 1.875rem; }
    .info-box .txt {
      font-size: 0.9375rem; }
    .info-box .img-box {
      -ms-flex: 0 0 100%;
      flex: 0 0 100%;
      max-width: 100%; } }
  @media only screen and (min-width: 48rem) {
    .info-box .info-content {
      -ms-flex: 0 0 50%;
      flex: 0 0 50%;
      max-width: 50%;
      padding: 0 20px; }
    .info-box .title {
      font-size: 1.5625rem; }
    .info-box .txt {
      font-size: 0.9375rem; }
    .info-box .img-box {
      -ms-flex: 0 0 50%;
      flex: 0 0 50%;
      max-width: 50%; } }
  @media only screen and (min-width: 62rem) {
    .info-box .info-content {
      -ms-flex: 0 0 50%;
      flex: 0 0 50%;
      max-width: 50%;
      padding: 0 50px; }
    .info-box .title {
      font-size: 1.875rem;
      margin-bottom: 20px; }
    .info-box .txt {
      font-size: 1rem; }
    .info-box .img-box {
      -ms-flex: 0 0 50%;
      flex: 0 0 50%;
      max-width: 50%; } }
  @media only screen and (min-width: 80rem) {
    .info-box .title {
      font-size: 2.5rem;
      margin-bottom: 30px; }
    .info-box .txt {
      font-size: 1.0625rem; } }

.img-btns {
  /*@media only screen (min-width:$point){@content;}*/ }
  .img-btns a, .img-btns img {
    background: none;
    padding: 0;
    display: inline-block;
    width: 110px;
    cursor: pointer; }
  @media only screen and (min-width: 30rem) {
    .img-btns a {
      width: auto; } }

.scroll1,
.scroll2,
.scroll3,
.scroll4,
.scroll5,
.scroll6 {
  display: none; }

.scroll1 li,
.scroll2 li,
.scroll3 li,
.scroll4 li,
.scroll5 li {
  height: 200px;
  margin: 0 10px; }

.scroll1 img,
.scroll2 img,
.scroll3 img,
.scroll4 img,
.scroll5 img,
.scroll6 img {
  height: 100%; }

.slider-grid-box {
  padding: 0 30px;
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 62rem) {
    .slider-grid-box {
      padding: 0 30px 0 0; } }

.infiniteslide_wrap {
  position: relative; }

.slider-grid-box .box-txt {
  margin-left: 0px; }

.slider-box {
  position: relative;
  margin: 0 -30px;
  z-index: 0;
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 48rem) {
    .slider-box {
      margin: 0 -20% 0 0; }
      .slider-box:after {
        content: "";
        background-image: linear-gradient(90deg, rgba(0, 0, 0, 0), #0d1a2c);
        position: absolute;
        right: -3px;
        height: 100%;
        width: 25%;
        top: -1px;
        z-index: 1; } }
  .slider-box .circle {
    position: absolute;
    background: url(../../images/circle.svg) no-repeat;
    background-size: 100%;
    height: 52px;
    width: 55px;
    top: 0%;
    transform: translate(0%, -30px);
    z-index: 1;
    left: 20%;
    /*@media only screen (min-width:$point){@content;}*/ }
    @media only screen and (min-width: 48rem) {
      .slider-box .circle {
        height: 70px;
        width: 75px; } }
  .slider-box .line-arrow {
    position: absolute;
    background: url(../../images/line-arrow.svg) no-repeat;
    background-size: 100%;
    height: 75px;
    width: 95px;
    bottom: 0;
    transform: translate(0%, 30px);
    z-index: 1;
    right: 40%;
    /*@media only screen (min-width:$point){@content;}*/ }
    @media only screen and (min-width: 48rem) {
      .slider-box .line-arrow {
        height: 120px;
        width: 155px; } }

.footer {
  background: #0d1a2c;
  padding: 50px 0;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  .footer .text-box {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .footer .footer-logo {
    width: 135px;
    margin-right: 30px; }
  .footer .footer-text {
    -ms-flex: 1;
    flex: 1; }
    .footer .footer-text .title {
      font-family: CircularStd-Bold;
      font-size: 3.125rem;
      color: #ffffff;
      margin: 10px 0 20px 0;
      line-height: normal; }
  .footer .text {
    font-family: CircularStd-Book;
    font-size: 1.25rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: normal;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    display: none;
    /*@media only screen (min-width:$point){@content;}*/ }
    @media only screen and (min-width: 62rem) {
      .footer .text {
        display: block; } }
  .footer .mobile-text {
    font-family: CircularStd-Book;
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: normal;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    display: block;
    margin-top: 10px;
    /*@media only screen (min-width:$point){@content;}*/ }
    @media only screen and (min-width: 62rem) {
      .footer .mobile-text {
        display: none; } }
  @media only screen and (min-width: 20rem) {
    .footer .footer-logo {
      width: 50px;
      margin-right: 25px; }
    .footer .footer-text .title {
      font-size: 1.875rem; } }
  @media only screen and (min-width: 48rem) {
    .footer .footer-logo {
      width: 50px;
      margin-right: 30px; }
    .footer .footer-text .title {
      font-size: 1.875rem;
      margin: 10px 0 15px 0; } }
  @media only screen and (min-width: 62rem) {
    .footer .footer-logo {
      width: 75px;
      margin-right: 30px; }
    .footer .footer-text .title {
      font-size: 2.5rem;
      margin: 17px 0 20px 0; } }
  @media only screen and (min-width: 80rem) {
    .footer .footer-logo {
      width: 135px;
      margin-right: 30px; }
    .footer .footer-text .title {
      font-size: 3.125rem;
      margin: 30px 0 20px 0; } }

.radio-box {
  color: #fff; }

.radio-grid {
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 35px;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  width: 100%; }
  .radio-grid .radio-box {
    position: relative;
    margin: 0 20px 0 0; }
    .radio-grid .radio-box span {
      padding: 0 0 0 25px; }
    .radio-grid .radio-box input[type="radio"] {
      opacity: 0;
      position: absolute;
      width: 100%;
      top: 4px;
      height: 100%;
      z-index: 1; }
    .radio-grid .radio-box input[type="radio"] + span:after {
      content: "";
      position: absolute;
      top: 2px;
      left: 0;
      height: 19px;
      width: 19px;
      border: 2px solid #fff;
      border-radius: 15px; }
    .radio-grid .radio-box input[type="radio"] + span:before {
      content: "";
      width: 9px;
      height: 9px;
      background: #0f6cf3;
      position: absolute;
      top: 7px;
      left: 5px;
      border-radius: 100%;
      transition: all 0.2s ease; }
    .radio-grid .radio-box input[type="radio"]:not(:checked) + span:before {
      opacity: 0;
      transform: scale(0); }
    .radio-grid .radio-box input[type="radio"]:checked + span:before {
      opacity: 1;
      transform: scale(1); }

.subscribe-box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 20px 0 0 0;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  .subscribe-box input {
    background: #21344d;
    border: none;
    border-radius: 5px 0 0 5px;
    padding: 13px 20px;
    font-family: CircularStd-Book;
    color: rgba(255, 255, 255, 0.4);
    width: 263px; }
  .subscribe-box button {
    font-family: CircularStd-Medium;
    font-size: 1rem;
    color: #ffffff;
    background: #0f6cf3;
    border-radius: 0 5px 5px 0;
    padding: 13px 20px;
    border: none; }
  .subscribe-box .msg-area {
    font-family: CircularStd-Book;
    line-height: normal;
    font-size: 0.875rem;
    margin-top: 10px; }
  .subscribe-box .error {
    color: red; }
  .subscribe-box .success {
    color: green; }
  @media only screen and (min-width: 20rem) {
    .subscribe-box .subscribe-content {
      width: 100%;
      margin-top: 10px; }
    .subscribe-box input {
      width: 100%; } }
  @media only screen and (min-width: 48rem) {
    .subscribe-box {
      margin: 20px 0 0 0; }
      .subscribe-box .subscribe-content {
        width: auto;
        margin-top: 0; }
      .subscribe-box input {
        width: 240px; } }
  @media only screen and (min-width: 62rem) {
    .subscribe-box {
      margin: 37px 0 0 0; }
      .subscribe-box input {
        width: 263px; } }
  @media only screen and (min-width: 80rem) {
    .subscribe-box {
      margin: 50px 0 0 0; } }

.submit-box {
  display: -ms-flexbox;
  display: flex; }

.layer {
  padding-bottom: 30px;
  margin-bottom: 50px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
  .layer:last-child {
    padding: 0;
    margin: 0;
    border: none; }

.nav-box {
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  .nav-box .list-title {
    font-family: CircularStd-Bold;
    font-size: 0.875rem;
    color: #ffffff;
    text-transform: uppercase;
    margin: 0 0 30px 0; }
  .nav-box ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .nav-box ul li {
      display: block;
      margin-bottom: 15px; }
      .nav-box ul li a {
        opacity: 0.5;
        font-family: CircularStd-Book;
        font-size: 0.875rem;
        color: #ffffff;
        display: inline-block;
        text-decoration: none; }
  @media only screen and (min-width: 20rem) {
    .nav-box {
      margin: 0 0 0px 0; }
      .nav-box ul li {
        margin-bottom: 10px; } }
  @media only screen and (min-width: 48rem) {
    .nav-box {
      margin: 0; }
      .nav-box ul li {
        margin-bottom: 15px; } }

.btn-box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  .btn-box a {
    font-family: CircularStd-Medium;
    font-size: 0.9375rem;
    color: #ffffff;
    display: inline-block;
    padding: 10px 20px;
    border: 1px solid #fff;
    border-radius: 5px; }
  @media only screen and (min-width: 20rem) {
    .btn-box {
      -ms-flex-align: end;
      align-items: flex-end;
      height: 100%;
      -ms-flex-pack: start;
      justify-content: flex-start; }
      .btn-box a {
        margin-bottom: 10px; } }
  @media only screen and (min-width: 48rem) {
    .btn-box {
      -ms-flex-align: start;
      align-items: flex-start;
      -ms-flex-pack: end;
      justify-content: flex-end; } }

.copy-right {
  font-family: CircularStd-Book;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
  text-align: center;
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 36rem) {
    .copy-right {
      text-align: left; } }
  .copy-right a {
    color: #fff;
    text-decoration: none; }

.right-align {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 36rem) {
    .right-align {
      -ms-flex-pack: end;
      justify-content: flex-end; } }

.help-mail {
  font-family: CircularStd-Book;
  font-size: 0.75rem;
  color: #ffffff;
  margin: 0; }
  .help-mail a {
    text-decoration: none;
    color: #fff; }

.chat-box {
  opacity: .5;
  margin: 0;
  line-height: normal;
  display: -ms-flexbox;
  display: flex;
  margin-top: 10px;
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 36rem) {
    .chat-box {
      margin-top: 0px; } }

.chat-box a {
  font-size: 10px;
  display: inline-block;
  color: #fff; }

.chat-box img {
  width: 15px;
  margin-right: 5px; }

.portfolio-box {
  position: relative;
  max-height: 533px;
  width: 100%;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  .portfolio-box .portfolio {
    position: absolute;
    opacity: 0;
    transform: translate(0px, 130px);
    transition: all 0.6s ease-out; }
  .portfolio-box .portfolio.visible {
    opacity: 1;
    transform: none; }
  .portfolio-box .portfolio:nth-child(1) {
    top: 0%;
    left: 0%;
    width: 50%;
    z-index: 1; }
  .portfolio-box .portfolio:nth-child(2) {
    top: 20%;
    left: 43%;
    width: 25%;
    transition-delay: 0.3s; }
  .portfolio-box .portfolio:nth-child(3) {
    top: 32%;
    right: 0;
    width: 25%;
    transition-delay: 0.5s; }
  .portfolio-box .portfolio:nth-child(4) {
    top: 59%;
    left: 43%;
    width: 25%;
    transition-delay: 0.7s; }
  .portfolio-box .portfolio:nth-child(5) {
    bottom: 0%;
    right: 0;
    width: 25%;
    transition-delay: 0.9s; }
  @media only screen and (min-width: 48rem) {
    .portfolio-box {
      height: 310px; } }
  @media only screen and (min-width: 62rem) {
    .portfolio-box {
      height: 395px; } }
  @media only screen and (min-width: 64rem) {
    .portfolio-box {
      height: 415px; } }
  @media only screen and (min-width: 75rem) {
    .portfolio-box {
      height: 533px; }
      .portfolio-box .portfolio:nth-child(2) {
        top: 19%;
        left: 43%;
        width: 25%;
        transition-delay: 0.3s; }
      .portfolio-box .portfolio:nth-child(3) {
        top: 30%;
        right: 0;
        width: 25%;
        transition-delay: 0.5s; }
      .portfolio-box .portfolio:nth-child(4) {
        top: 57%;
        left: 43%;
        width: 25%;
        transition-delay: 0.7s; }
      .portfolio-box .portfolio:nth-child(5) {
        bottom: 0%;
        right: 0;
        width: 25%;
        transition-delay: 0.9s; } }

.invite-box {
  position: relative;
  width: 90%;
  text-align: left; }
  .invite-box .invite {
    display: inline-block;
    opacity: 0;
    transform: translate(110px, 0px);
    transition: all 0.6s ease-out;
    position: relative;
    z-index: 1; }
  .invite-box .invite.visible {
    opacity: 1;
    transform: none; }
  .invite-box .invite:nth-child(1) {
    width: 64%; }
  .invite-box .invite:nth-child(2) {
    width: 55%;
    position: relative;
    left: 27%;
    margin-top: 10%; }
  .invite-box .invite:nth-child(3) {
    width: 55%;
    position: relative;
    left: 45%;
    margin-top: 5%; }
  .invite-box .invite-bg {
    position: absolute;
    width: 64%;
    left: 50%;
    transform: translate(-50%, 45%);
    z-index: 0;
    opacity: 0;
    transition: all 0.6s ease-out; }
  .invite-box .invite-bg.visible {
    opacity: 1;
    transform: translate(-50%, 0%); }
  .invite-box .invite-bg:nth-last-child(2) {
    top: 10%; }
  .invite-box .invite-bg:nth-last-child(1) {
    top: 65%; }

.progress-box {
  position: relative;
  width: 100%;
  text-align: left; }
  .progress-box .progress-bx {
    opacity: 0;
    transform: translate(-50%, 0%);
    transition: all 0.6s ease-out;
    position: absolute;
    z-index: 1;
    vertical-align: top;
    z-index: 3; }
    .progress-box .progress-bx img {
      width: 50%; }
  .progress-box .progress-bx.visible {
    opacity: 1;
    transform: none; }
  .progress-box .progress-bx:nth-child(1) {
    width: 55%;
    top: 10%; }
  .progress-box .progress-bx:nth-child(2) {
    width: 55%;
    top: 32%;
    left: 21%; }
  .progress-box .progress-bx:nth-child(3) {
    width: 55%;
    right: -31%;
    top: 50%;
    transition-delay: 0.8s; }
  .progress-box .progress-bx:nth-child(4) {
    width: 55%;
    right: -18%;
    bottom: 2%;
    transition-delay: 0.5s; }
  .progress-box .progress-bg {
    position: relative;
    transform: translate(0%, 25%);
    z-index: 0;
    opacity: 0;
    transition: all 0.6s ease-out; }
  .progress-box .progress-bg.visible {
    opacity: 1;
    transform: none; }
  .progress-box .progress-bg:nth-last-child(2) {
    text-align: right;
    z-index: 1; }
    .progress-box .progress-bg:nth-last-child(2) img {
      width: 60%; }
  .progress-box .progress-bg:nth-last-child(1) {
    margin-top: -8%;
    opacity: 1;
    z-index: 0; }
  .progress-box .progress-bg:nth-last-child(1) img {
    transform: scale(1, 0.7);
    transition: all 0.5s ease;
    width: 71%; }
  .progress-box .progress-bg.visible:nth-last-child(1) img {
    transform: scale(1, 1); }

.influencer-boxes {
  position: relative;
  height: 500px;
  width: 300px;
  margin: 30px auto 0;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  .influencer-boxes .influencer {
    position: absolute;
    width: 48%;
    opacity: 0;
    transform: translate(0px, 150px);
    transition: all 0.6s ease-out; }
    .influencer-boxes .influencer:nth-child(1) {
      top: 0%;
      left: 9%;
      z-index: 1; }
    .influencer-boxes .influencer:nth-child(2) {
      top: 9%;
      z-index: 0; }
    .influencer-boxes .influencer:nth-child(3) {
      right: 10%;
      top: 22%; }
    .influencer-boxes .influencer:nth-child(4) {
      left: 20%;
      bottom: 8%; }
    .influencer-boxes .influencer:nth-child(5) {
      right: 0;
      bottom: 0; }
  .influencer-boxes .influencer.visible {
    opacity: 1;
    transform: none; }
  @media only screen and (min-width: 48rem) {
    .influencer-boxes {
      height: 572px;
      width: 100%; } }
  @media only screen and (min-width: 62rem) {
    .influencer-boxes {
      height: 632px;
      width: 80%; } }
  @media only screen and (min-width: 64rem) {
    .influencer-boxes {
      height: 672px;
      width: 80%; } }
  @media only screen and (min-width: 75rem) {
    .influencer-boxes {
      height: 839px;
      width: 496px; } }

.influencers-box .influencer-profile {
  opacity: 1;
  transform: scale(0.1);
  transition: all 0.4s cubic-bezier(0, 1, 0, 0);
  animation: moveit2 400ms ease forwards; }
  .influencers-box .influencer-profile img {
    transform: scale(0);
    opacity: 0;
    transition: .4s; }
.influencers-box .influencer-profile.visible {
  opacity: 1;
  transform: scale(1);
  animation: moveit 900ms ease forwards;
  background: transparent; }
  .influencers-box .influencer-profile.visible img {
    transform: scale(1);
    opacity: 1; }

@keyframes moveit {
  0% {
    transform: scale3d(0.96, 0.96, 1); }
  20% {
    transform: scale3d(1.1, 1.1, 1); }
  40% {
    transform: scale3d(0.98, 0.98, 1); }
  60% {
    transform: scale3d(1.05, 1.05, 1); }
  80% {
    transform: scale3d(1.01, 1.01, 1); }
  100% {
    transform: scale3d(1, 1, 1); } }
@keyframes moveit2 {
  0% {
    transform: scale3d(0.96, 0.96, 1); }
  0% {
    transform: scale3d(0.96, 0.96, 1); } }
.text-content {
  /*@media only screen (min-width:$point){@content;}*/ }
  .text-content .text-box {
    margin-bottom: 50px; }
  .text-content .title {
    font-size: 1.25rem;
    color: #2362be;
    line-height: 30px;
    margin-bottom: 20px; }
  .text-content .para_text {
    font-size: 1rem;
    line-height: 25px;
    text-align: justify;
    font-family: Avenir-Book; }
  @media only screen and (min-width: 62rem) {
    .text-content .text-box {
      margin-bottom: 90px; }
    .text-content .title {
      font-size: 1.875rem;
      color: #2362be;
      line-height: 46px;
      margin-bottom: 30px; } }

.pricing-box {
  max-width: 910px;
  margin: 0 auto 80px;
  padding: 0 30px;
  /*@media only screen (min-width:$point){@content;}*/ }
  @media only screen and (min-width: 62rem) {
    .pricing-box {
      padding: 0 10px; } }
  .pricing-box .head-section {
    margin-bottom: 60px;
    /*@media only screen (min-width:$point){@content;}*/
    /*@media only screen (min-width:$point){@content;}*/ }
    .pricing-box .head-section .title {
      font-family: CircularStd-Medium;
      font-size: 1.5625rem;
      letter-spacing: 0;
      text-align: center;
      color: #2c2c2c;
      margin-bottom: 10px; }
      .pricing-box .head-section .title .active {
        color: #0f6cf3;
        display: block; }
    .pricing-box .head-section .note {
      font-family: CircularStd-Book;
      font-size: 0.875rem;
      color: #878787;
      letter-spacing: 0;
      text-align: center; }
    @media only screen and (min-width: 48rem) {
      .pricing-box .head-section .title {
        font-size: 2.5rem; }
      .pricing-box .head-section .note {
        font-size: 1.0625rem; } }
    @media only screen and (min-width: 62rem) {
      .pricing-box .head-section .title {
        font-size: 3.125rem; } }
  .pricing-box .plan-box {
    /*@media only screen (min-width:$point){@content;}*/
    /*@media only screen (min-width:$point){@content;}*/ }
    @media only screen and (min-width: 62rem) {
      .pricing-box .plan-box {
        padding: 0 25px; } }
    @media only screen and (min-width: 64rem) {
      .pricing-box .plan-box {
        padding: 0; } }
    .pricing-box .plan-box .grid-item {
      padding: 0 19px;
      /*@media only screen (min-width:$point){@content;}*/
      /*@media only screen (min-width:$point){@content;}*/ }
      @media only screen and (min-width: 62rem) {
        .pricing-box .plan-box .grid-item:nth-child(1) {
          padding-right: 15px; }
        .pricing-box .plan-box .grid-item:nth-child(2) {
          padding-left: 15px; } }
      @media only screen and (min-width: 64rem) {
        .pricing-box .plan-box .grid-item {
          padding: 0 25px; }
          .pricing-box .plan-box .grid-item:nth-child(1) {
            padding-right: 25px; }
          .pricing-box .plan-box .grid-item:nth-child(2) {
            padding-left: 25px; } }
    .pricing-box .plan-box .plan-item {
      border-radius: 10px;
      padding: 20px;
      height: auto;
      background: #0f6cf3;
      color: #fff;
      position: relative;
      margin-bottom: 30px;
      /*@media only screen (min-width:$point){@content;}*/
      /*@media only screen (min-width:$point){@content;}*/ }
      .pricing-box .plan-box .plan-item.inactive {
        background: #e8eff8;
        color: #2c2c2c; }
        .pricing-box .plan-box .plan-item.inactive .title-section .tag {
          background: rgba(87, 87, 87, 0.25); }
        .pricing-box .plan-box .plan-item.inactive .price-section .price-tags .amount-tag {
          color: #2c2c2c; }
          .pricing-box .plan-box .plan-item.inactive .price-section .price-tags .amount-tag.discount {
            opacity: 0.5; }
        .pricing-box .plan-box .plan-item.inactive .price-section .note {
          color: #2c2c2c; }
        .pricing-box .plan-box .plan-item.inactive .btn-section .btn {
          color: rgba(44, 44, 44, 0.4);
          border: 1px solid rgba(44, 44, 44, 0.4);
          background: none;
          cursor: default; }
        .pricing-box .plan-box .plan-item.inactive .btn-section .note {
          font-family: CircularStd-Book;
          font-size: 0.75rem;
          color: rgba(44, 44, 44, 0.4); }
        .pricing-box .plan-box .plan-item.inactive .feature-section .listing li .mark {
          background-position: -17px 0; }
        .pricing-box .plan-box .plan-item.inactive .message-section p {
          color: rgba(44, 44, 44, 0.4); }
      .pricing-box .plan-box .plan-item.pro.inactive .title-section .name-box .icon {
        background-position: 0px -40px; }
      .pricing-box .plan-box .plan-item.basic .title-section .name-box .icon {
        background-position: -40px 0px; }
      .pricing-box .plan-box .plan-item.basic.inactive .title-section .name-box .icon {
        background-position: -40px -40px; }
      .pricing-box .plan-box .plan-item .title-section {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 40px; }
        .pricing-box .plan-box .plan-item .title-section .name-box {
          -ms-flex: 1;
          flex: 1;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: center;
          align-items: center;
          font-family: CircularStd-Bold;
          font-size: 1.875rem;
          line-height: normal; }
          .pricing-box .plan-box .plan-item .title-section .name-box .icon {
            background: url("../..//images/plan-icon.svg") no-repeat;
            height: 40px;
            width: 40px;
            display: inline-block;
            margin-right: 10px; }
        .pricing-box .plan-box .plan-item .title-section .tag {
          padding: 6px 10px;
          font-size: 0.875rem;
          border-radius: 4px;
          background: rgba(255, 255, 255, 0.3); }
      .pricing-box .plan-box .plan-item .price-section {
        margin-bottom: 25px; }
        .pricing-box .plan-box .plan-item .price-section .price-tags {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: center;
          align-items: center;
          -ms-flex-pack: justify;
          justify-content: space-between;
          /*@media only screen (min-width:$point){@content;}*/ }
          .pricing-box .plan-box .plan-item .price-section .price-tags .amount-tag {
            font-family: CircularStd-Bold;
            font-size: 1.5625rem; }
            .pricing-box .plan-box .plan-item .price-section .price-tags .amount-tag.discount {
              opacity: 0.5;
              text-decoration: line-through; }
            .pricing-box .plan-box .plan-item .price-section .price-tags .amount-tag .rupee {
              font-size: 1.5rem; }
            .pricing-box .plan-box .plan-item .price-section .price-tags .amount-tag .sm-text {
              font-family: CircularStd-Medium;
              font-size: 1.125rem; }
          @media only screen and (min-width: 48rem) {
            .pricing-box .plan-box .plan-item .price-section .price-tags .amount-tag {
              font-size: 2.3125rem; }
              .pricing-box .plan-box .plan-item .price-section .price-tags .amount-tag .rupee {
                font-size: 2.375rem; } }
        .pricing-box .plan-box .plan-item .price-section .note {
          font-size: 0.8125rem;
          margin-bottom: 0;
          color: #c0daff; }
      .pricing-box .plan-box .plan-item .btn-section {
        margin-bottom: 40px; }
        .pricing-box .plan-box .plan-item .btn-section .btn {
          font-family: CircularStd-Medium;
          font-size: 0.9375rem;
          background: #fff;
          text-align: center;
          width: 100%;
          padding: 13px;
          border-radius: 5px;
          margin-bottom: 10px;
          border: 1px solid #fff;
          color: #0f6cf3; }
        .pricing-box .plan-box .plan-item .btn-section .note {
          font-family: CircularStd-Book;
          font-size: 0.75rem;
          color: rgba(255, 255, 255, 0.4); }
      .pricing-box .plan-box .plan-item .feature-section {
        margin-bottom: 50px;
        /*@media only screen (min-width:$point){@content;}*/ }
        .pricing-box .plan-box .plan-item .feature-section .listing {
          list-style: none;
          padding: 0; }
          .pricing-box .plan-box .plan-item .feature-section .listing li {
            font-family: CircularStd-Book;
            font-size: 0.875rem;
            margin-bottom: 20px;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-align: start;
            align-items: flex-start; }
            .pricing-box .plan-box .plan-item .feature-section .listing li .mark {
              background: url("../../images/check-mark.svg") no-repeat;
              width: 17px;
              height: 13px;
              display: inline-block;
              -ms-flex: 0 0 17px;
              flex: 0 0 17px;
              margin: 6px 20px 0 0; }
        @media only screen and (min-width: 48rem) {
          .pricing-box .plan-box .plan-item .feature-section .listing li {
            font-size: 1rem;
            margin-bottom: 20px; }
            .pricing-box .plan-box .plan-item .feature-section .listing li .mark {
              width: 17px;
              height: 13px;
              display: inline-block;
              -ms-flex: 0 0 17px;
              flex: 0 0 17px;
              margin: 6px 20px 0 0; } }
      .pricing-box .plan-box .plan-item .message-section {
        position: absolute;
        bottom: 20px;
        /*@media only screen (min-width:$point){@content;}*/
        /*@media only screen (min-width:$point){@content;}*/ }
        .pricing-box .plan-box .plan-item .message-section p {
          margin: 0;
          font-family: CircularStd-Book;
          font-size: 0.8125rem;
          color: rgba(255, 255, 255, 0.4); }
        @media only screen and (min-width: 62rem) {
          .pricing-box .plan-box .plan-item .message-section {
            bottom: 30px; } }
        @media only screen and (min-width: 64rem) {
          .pricing-box .plan-box .plan-item .message-section {
            bottom: 40px; } }
      @media only screen and (min-width: 62rem) {
        .pricing-box .plan-box .plan-item {
          margin-bottom: 0;
          height: 100%;
          padding: 30px; } }
      @media only screen and (min-width: 64rem) {
        .pricing-box .plan-box .plan-item {
          padding: 40px; } }

.plan-services {
  background: #fbe5d4;
  padding: 60px 0 0 0;
  /*@media only screen (min-width:$point){@content;}*/
  /*@media only screen (min-width:$point){@content;}*/ }
  .plan-services .container {
    max-width: 1130px;
    padding: 0 30px; }
  .plan-services .tag {
    background: #fcc64e;
    border-radius: 5px;
    font-family: CircularStd-Book;
    display: inline-block;
    font-size: 0.875rem;
    margin-bottom: 10px;
    color: #000000;
    padding: 5px 10px;
    line-height: normal; }
  .plan-services .title {
    font-family: CircularStd-Bold;
    font-size: 1.875rem;
    color: #000000;
    margin-bottom: 10px; }
  .plan-services .tag-line {
    font-family: CircularStd-Book;
    font-size: 0.875rem;
    color: #2c2c2c;
    margin-bottom: 51px; }
  .plan-services .img-box {
    margin-bottom: 30px; }
  .plan-services .listing {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0; }
    .plan-services .listing li {
      font-family: CircularStd-Book;
      font-size: 0.875rem;
      color: #0c192d;
      line-height: normal;
      margin-bottom: 20px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
      align-items: flex-start; }
      .plan-services .listing li:last-child {
        margin-bottom: 0; }
      .plan-services .listing li .mark {
        background: url("../../images/check-mark.svg") no-repeat;
        width: 17px;
        height: 13px;
        display: inline-block;
        -ms-flex: 0 0 17px;
        flex: 0 0 17px;
        margin: 3px 10px 0 0;
        background-position: -34px 0; }
  @media only screen and (min-width: 48rem) {
    .plan-services .tag {
      font-size: 1rem; }
    .plan-services .title {
      font-size: 2.5rem; }
    .plan-services .tag-line {
      font-size: 1.25rem; }
    .plan-services .img-box {
      margin-bottom: 0; }
    .plan-services .listing {
      margin-bottom: 0; }
      .plan-services .listing li {
        font-size: 1.25rem;
        margin-bottom: 35px; }
        .plan-services .listing li .mark {
          margin: 8px 20px 0 0; } }
  @media only screen and (min-width: 62rem) {
    .plan-services .container {
      max-width: 1130px;
      padding: 0 80px; }
    .plan-services .listing {
      padding: 0px 0 0 50px; } }

/* animation */
.head-section > * {
  position: relative;
  transition: .5s;
  top: 80px;
  opacity: 0; }
.head-section.active > * {
  top: 0;
  opacity: 1; }
.head-section.active > :nth-child(1) {
  transition-delay: 0.05s; }
.head-section.active > :nth-child(2) {
  transition-delay: .3s; }

.grid-item {
  position: relative;
  transition: .8s;
  top: 140px;
  opacity: 0; }
  .grid-item.active {
    top: 0;
    opacity: 1; }
  .grid-item:nth-child(1) {
    transition-delay: 0.20s; }
  .grid-item:nth-child(2) {
    transition-delay: 0.50s; }

.plan-content {
  position: relative;
  transition: .5s;
  top: 100px;
  opacity: 0; }
  .plan-content.active {
    top: 0;
    opacity: 1; }

.service-list {
  overflow: hidden; }
  .service-list li {
    position: relative;
    transition: .5s;
    left: 100px;
    opacity: 0; }
    .service-list li.active {
      left: 0;
      opacity: 1; }
      .service-list li.active :nth-child(n) {
        transition-delay: .3s; }



/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19qdW1ib3Ryb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21lZGlhLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9hc3RzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JhY2tncm91bmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JvcmRlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2VtYmVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZmxvYXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJpbnQuc2NzcyIsIl9taXhpbi5zY3NzIiwiaW5kZXguc2NzcyIsImNvbW1vbi5zY3NzIiwiaGVhZGVyLnNjc3MiLCJob21lLnNjc3MiLCJmb290ZXIuc2NzcyIsImFuaW1hdGlvbi5zY3NzIiwicHJpdmFjeS1wb2xpY3kuc2NzcyIsInByaWNpbmcuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQ0xIO0VBR0ks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N0M7RUFDRSxtQkZ3U21EO0VFdlNuRCxpQkZ3UytCLEVBQUE7O0FFcFNqQztFQUNFLGdCRnVSZ0M7RUV0UmhDLGlCRjJSK0I7RUUxUi9CLGlCRjhSaUQsRUFBQTs7QUU1Um5EO0VBQ0Usa0JGbVJrQztFRWxSbEMsaUJGdVIrQjtFRXRSL0IsaUJGeVJpRCxFQUFBOztBRXZSbkQ7RUFDRSxrQkYrUWtDO0VFOVFsQyxpQkZtUitCO0VFbFIvQixpQkZvUmlELEVBQUE7O0FFbFJuRDtFQUNFLGtCRjJRa0M7RUUxUWxDLGlCRitRK0I7RUU5US9CLGlCRitRaUQsRUFBQTs7QUV2UW5EO0VBQ0UsaUJGaVNtQztFRWhTbkMsb0JGZ1NtQztFRS9SbkMsVUFBUztFQUNULHlDQUFtRCxFQUFBOztBQVFyRDs7RUFFRSxlRjhQK0I7RUU3UC9CLGlCRjJOK0IsRUFBQTs7QUV4TmpDOztFQUVFLGVGbVFnQztFRWxRaEMsMEJGMlFtQyxFQUFBOztBRW5RckM7RUMvRUUsZ0JBQWU7RUFDZixpQkFBZ0IsRUFBQTs7QURtRmxCO0VDcEZFLGdCQUFlO0VBQ2YsaUJBQWdCLEVBQUE7O0FEc0ZsQjtFQUNFLHNCQUFxQixFQUFBO0VBRXJCO0lBQ0UscUJGcVArQixFQUFBOztBRTNPbkM7RUFDRSxlQUFjO0VBQ2QsMEJBQXlCLEVBQUE7O0FBSTNCO0VBQ0Usb0JGY1c7RUViWCxtQkZ1Tm1ELEVBQUE7O0FFcE5yRDtFQUNFLGVBQWM7RUFDZCxlRmlONEM7RUVoTjVDLGVGKzNCMkMsRUFBQTtFRTczQjNDO0lBQ0Usc0JBQXFCLEVBQUE7O0FFbkh6QjtFQ0lFLGdCQUFlO0VBR2YsYUFBWSxFQUFBOztBRERkO0VBQ0UsaUJKZzlCd0M7RUkvOEJ4Qyx1QkptaUN3QztFSWxpQ3hDLDBCQUE2RDtFRVozRCx1Qk44OUI4QztFS3Y5QmhELGdCQUFlO0VBR2YsYUFBWSxFQUFBOztBRGNkO0VBRUUsc0JBQXFCLEVBQUE7O0FBR3ZCO0VBQ0Usc0JBQTBCO0VBQzFCLGVBQWMsRUFBQTs7QUFHaEI7RUFDRSxlSmk4QnFDO0VJaDhCckMsZUo4OEIyQyxF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MWdDekMsMEJBQW9DO0lBSXBDLHNCQUE0QixFQUFBO0lBRTVCO01BS0ksaURBQXNGLEVBQUE7O0FEUzVGO0VDekRBLFlUMkUyQztFTzNFekMsMEJQMEU4QjtFU3hFaEMsc0JUd0VnQyxFQUFBO0VWcEVoQztJbUJBRSxZVHFFeUM7SU8zRXpDLDBCQUF3QjtJRVF4QixzQkFBMkIsRUFBQTtFQUc3QjtJQU1JLGdEQUFzRixFQUFBO0VBSzFGO0lBRUUsWVRtRHlDO0lTbER6QywwQlRpRDhCO0lTaEQ5QixzQlRnRDhCLEVBQUE7RVN6Q2hDO0lBR0UsWVR1Q3lDO0lTdEN6QywwQkFBb0M7SUFJcEMsc0JBQTRCLEVBQUE7SUFFNUI7TUFLSSxnREFBc0YsRUFBQTs7QURTNUY7RUN6REEsZXBCK2lDMkM7RWtCL2lDekMsMEJQMEU4QjtFU3hFaEMsc0JUd0VnQyxFQUFBO0VWcEVoQztJbUJBRSxlcEJ5aUN5QztJa0IvaUN6QywwQkFBd0I7SUVReEIsc0JBQTJCLEVBQUE7RUFHN0I7SUFNSSxrREFBc0YsRUFBQTtFQUsxRjtJQUVFLGVwQnVoQ3lDO0lvQnRoQ3pDLDBCVGlEOEI7SVNoRDlCLHNCVGdEOEIsRUFBQTtFU3pDaEM7SUFHRSxlcEIyZ0N5QztJb0IxZ0N6QywwQkFBb0M7SUFJcEMsc0JBQTRCLEVBQUE7SUFFNUI7TUFLSSxrREFBc0YsRUFBQTs7QURTNUY7RUN6REEsWVQyRTJDO0VPM0V6QywwQlAwRThCO0VTeEVoQyxzQlR3RWdDLEVBQUE7RVZwRWhDO0ltQkFFLFlUcUV5QztJTzNFekMsMEJBQXdCO0lFUXhCLHNCQUEyQixFQUFBO0VBRzdCO0lBTUksK0NBQXNGLEVBQUE7RUFLMUY7SUFFRSxZVG1EeUM7SVNsRHpDLDBCVGlEOEI7SVNoRDlCLHNCVGdEOEIsRUFBQTtFU3pDaEM7SUFHRSxZVHVDeUM7SVN0Q3pDLDBCQUFvQztJQUlwQyxzQkFBNEIsRUFBQTtJQUU1QjtNQUtJLCtDQUFzRixFQUFBOztBRGU1RjtFQ1JBLGVUbUJnQztFU2xCaEMsc0JUa0JnQyxFQUFBO0VWcEVoQztJbUJxREUsWVRnQnlDO0lTZnpDLDBCVGM4QjtJU2I5QixzQlRhOEIsRUFBQTtFU1ZoQztJQUVFLGdEQUFtRCxFQUFBO0VBR3JEO0lBRUUsZVRHOEI7SVNGOUIsOEJBQTZCLEVBQUE7RUFHL0I7SUFHRSxZVEh5QztJU0l6QywwQlRMOEI7SVNNOUIsc0JUTjhCLEVBQUE7SVNROUI7TUFLSSxnREFBbUQsRUFBQTs7QUR4QnpEO0VDUkEsZVRtQmdDO0VTbEJoQyxzQlRrQmdDLEVBQUE7RVZwRWhDO0ltQnFERSxZVGdCeUM7SVNmekMsMEJUYzhCO0lTYjlCLHNCVGE4QixFQUFBO0VTVmhDO0lBRUUsa0RBQW1ELEVBQUE7RUFHckQ7SUFFRSxlVEc4QjtJU0Y5Qiw4QkFBNkIsRUFBQTtFQUcvQjtJQUdFLFlUSHlDO0lTSXpDLDBCVEw4QjtJU005QixzQlROOEIsRUFBQTtJU1E5QjtNQUtJLGtEQUFtRCxFQUFBOztBRHhCekQ7RUNSQSxlVG1CZ0M7RVNsQmhDLHNCVGtCZ0MsRUFBQTtFVnBFaEM7SW1CcURFLFlUZ0J5QztJU2Z6QywwQlRjOEI7SVNiOUIsc0JUYThCLEVBQUE7RVNWaEM7SUFFRSxnREFBbUQsRUFBQTtFQUdyRDtJQUVFLGVURzhCO0lTRjlCLDhCQUE2QixFQUFBO0VBRy9CO0lBR0UsWVRIeUM7SVNJekMsMEJUTDhCO0lTTTlCLHNCVE44QixFQUFBO0lTUTlCO01BS0ksZ0RBQW1ELEVBQUE7O0FEeEJ6RDtFQ1JBLGVUbUJnQztFU2xCaEMsc0JUa0JnQyxFQUFBO0VWcEVoQztJbUJxREUsWVRnQnlDO0lTZnpDLDBCVGM4QjtJU2I5QixzQlRhOEIsRUFBQTtFU1ZoQztJQUVFLGlEQUFtRCxFQUFBO0VBR3JEO0lBRUUsZVRHOEI7SVNGOUIsOEJBQTZCLEVBQUE7RUFHL0I7SUFHRSxZVEh5QztJU0l6QywwQlRMOEI7SVNNOUIsc0JUTjhCLEVBQUE7SVNROUI7TUFLSSxpREFBbUQsRUFBQTs7QUR4QnpEO0VDUkEsZVRtQmdDO0VTbEJoQyxzQlRrQmdDLEVBQUE7RVZwRWhDO0ltQnFERSxlcEJvL0J5QztJb0JuL0J6QywwQlRjOEI7SVNiOUIsc0JUYThCLEVBQUE7RVNWaEM7SUFFRSxnREFBbUQsRUFBQTtFQUdyRDtJQUVFLGVURzhCO0lTRjlCLDhCQUE2QixFQUFBO0VBRy9CO0lBR0UsZXBCaStCeUM7SW9CaCtCekMsMEJUTDhCO0lTTTlCLHNCVE44QixFQUFBO0lTUTlCO01BS0ksZ0RBQW1ELEVBQUE7O0FEeEJ6RDtFQ1JBLGVUbUJnQztFU2xCaEMsc0JUa0JnQyxFQUFBO0VWcEVoQztJbUJxREUsWVRnQnlDO0lTZnpDLDBCVGM4QjtJU2I5QixzQlRhOEIsRUFBQTtFU1ZoQztJQUVFLGdEQUFtRCxFQUFBO0VBR3JEO0lBRUUsZVRHOEI7SVNGOUIsOEJBQTZCLEVBQUE7RUFHL0I7SUFHRSxZVEh5QztJU0l6QywwQlRMOEI7SVNNOUIsc0JUTjhCLEVBQUE7SVNROUI7TUFLSSxnREFBbUQsRUFBQTs7QUR4QnpEO0VDUkEsZVRtQmdDO0VTbEJoQyxzQlRrQmdDLEVBQUE7RVZwRWhDO0ltQnFERSxlcEJvL0J5QztJb0JuL0J6QywwQlRjOEI7SVNiOUIsc0JUYThCLEVBQUE7RVNWaEM7SUFFRSxrREFBbUQsRUFBQTtFQUdyRDtJQUVFLGVURzhCO0lTRjlCLDhCQUE2QixFQUFBO0VBRy9CO0lBR0UsZXBCaStCeUM7SW9CaCtCekMsMEJUTDhCO0lTTTlCLHNCVE44QixFQUFBO0lTUTlCO01BS0ksa0RBQW1ELEVBQUE7O0FEeEJ6RDtFQ1JBLGVUbUJnQztFU2xCaEMsc0JUa0JnQyxFQUFBO0VWcEVoQztJbUJxREUsWVRnQnlDO0lTZnpDLDBCVGM4QjtJU2I5QixzQlRhOEIsRUFBQTtFU1ZoQztJQUVFLCtDQUFtRCxFQUFBO0VBR3JEO0lBRUUsZVRHOEI7SVNGOUIsOEJBQTZCLEVBQUE7RUFHL0I7SUFHRSxZVEh5QztJU0l6QywwQlRMOEI7SVNNOUIsc0JUTjhCLEVBQUE7SVNROUI7TUFLSSwrQ0FBbUQsRUFBQTs7QURiM0Q7RUFDRSxpQm5CK00rQjtFbUI5TS9CLGVSRmdDLEVBQUE7RVZwRWhDO0lrQnlFRSxlbkJrckJpRDtJbUJqckJq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bU4rQjtFTWxOL0Isa0NOa04rQixFQUFBO0FpQ2xPN0I7RTNCQ0YsZ0NOaU8rQjtFTWhPL0IsbUNOZ08rQixFQUFBOztBaUMvT2pDO0VBQ0Usd0JBQThCO0VBQzlCLG9CakNzMEI2QztFaUNyMEI3QyxpQmpDc082QixFQUFBO0FpQ2pPM0I7RTNCb0JGLCtCTm9OK0I7RU1uTi9CLGtDTm1OK0IsRUFBQTtBaUNuTzdCO0UzQkNGLGdDTmtPK0I7RU1qTy9CLG1DTmlPK0IsRUFBQTs7QWtDOU9uQztFQUNFLHNCQUFxQjtFQUNyQixzQkFBMEM7RUFDMUMsZWxDNjJCcUM7RWtDNTJCckMsaUJsQzYyQm1EO0VrQzUyQm5ELGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLHlCQUF3QjtFNUJUdEIsdUJOcTNCOEMsRUFBQTtFQ3oyQmhEO0lpQ0VJLHNCQUFxQixFQUFBO0VBS3pCO0lBQ0UsY0FBYSxFQUFBOztBQUtqQjtFQUNFLG1CQUFrQjtFQUNsQixVQUFTLEVBQUE7O0FBT1g7RUFDRSxxQmxDbzFCc0M7RWtDbjFCdEMsb0JsQ20xQnNDO0VNdjNCcEMscUJOMDNCcUMsRUFBQTs7QWtDNzBCdkM7RUNoREEsWXhCZ0YyQztFd0IvRTNDLDBCeEI4RWdDLEVBQUE7RVZoRWhDO0lrQ1ZJLFl4QjJFdUM7SXdCMUV2QywwQkFBa0MsRUFBQTs7QUQwQ3RDO0VDaERBLFl4QmdGMkM7RXdCL0UzQywwQnhCOEVnQyxFQUFBO0VWaEVoQztJa0NWSSxZeEIyRXVDO0l3QjFFdkMsMEJBQWtDLEVBQUE7O0FEMEN0QztFQ2hEQSxZeEJnRjJDO0V3Qi9FM0MsMEJ4QjhFZ0MsRUFBQTtFVmhFaEM7SWtDVkksWXhCMkV1QztJd0IxRXZDLDBCQUFrQyxFQUFBOztBRDBDdEM7RUNoREEsWXhCZ0YyQztFd0IvRTNDLDBCeEI4RWdDLEVBQUE7RVZoRWhDO0lrQ1ZJLFl4QjJFdUM7SXdCMUV2QywwQkFBa0MsRUFBQTs7QUQwQ3RDO0VDaERBLGVuQ29qQzJDO0VtQ25qQzNDLDBCeEI4RWdDLEVBQUE7RVZoRWhDO0lrQ1ZJLGVu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b3RzdHJhcCB2NC4yLjEgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE4IFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJyb290XCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJ0b2FzdHNcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJzcGlubmVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuQGltcG9ydCBcInByaW50XCI7XG4iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBhdC1ydWxlLW5vLXZlbmRvci1wcmVmaXgsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIDEuIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG4vLyAyLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMy4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gNC4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4vLyA1LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA1XG59XG5cbi8vIFNoaW0gZm9yIFwibmV3XCIgSFRNTDUgc3RydWN0dXJhbCBlbGVtZW50cyB0byBkaXNwbGF5IGNvcnJlY3RseSAoSUUxMCwgb2xkZXIgYnJvd3NlcnMpXG4vLyBUT0RPOiByZW1vdmUgaW4gdjVcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmFydGljbGUsIGFzaWRlLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gU2V0IGFuIGV4cGxpY2l0IGluaXRpYWwgdGV4dC1hbGlnbiB2YWx1ZSBzbyB0aGF0IHdlIGNhbiBsYXRlciB1c2Vcbi8vICAgIHRoZSBgaW5oZXJpdGAgdmFsdWUgb24gdGhpbmdzIGxpa2UgYDx0aD5gIGVsZW1lbnRzLlxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIDNcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8vIDJcbn1cblxuLy8gU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxuLy8gVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XG4vLyBtaWdodCBzdGlsbCByZXNwb25kIHRvIHBvaW50ZXIgZXZlbnRzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZilcbi8vIHdoaWNoIGhhdmUgbm90IGJlZW4gbWFkZSBleHBsaWNpdGx5IGtleWJvYXJkLWZvY3VzYWJsZSAod2l0aG91dCB0YWJpbmRleCkuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcbi8vXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG59XG5cbnN2ZyB7XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBTVkcgb3ZlcmZsb3cgYnVnIGluIElFMTAvMTEgaXMgc3RpbGwgcmVxdWlyZWQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI2ODc4XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cbnRoIHtcbiAgLy8gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBmcm9tIHRoZSBgPGJvZHk+YCwgb3IgdGhlXG4gIC8vIGNsb3Nlc3QgcGFyZW50IHdpdGggYSBzZXQgYHRleHQtYWxpZ25gLlxuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xufVxuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxubGFiZWwge1xuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRsYWJlbC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBXb3JrIGFyb3VuZCBhIEZpcmVmb3gvSUUgYnVnIHdoZXJlIHRoZSB0cmFuc3BhcmVudCBgYnV0dG9uYCBiYWNrZ3JvdW5kXG4vLyByZXN1bHRzIGluIGEgbG9zcyBvZiB0aGUgZGVmYXVsdCBgYnV0dG9uYCBmb2N1cyBzdHlsZXMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlL1xuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGFwcGVhcmFuY2Ugb2YgdGVtcG9yYWwgaW5wdXRzIHRvIGF2b2lkIGEgTW9iaWxlIFNhZmFyaVxuICAvLyBidWcgd2hlcmUgc2V0dGluZyBhIGN1c3RvbSBsaW5lLWhlaWdodCBwcmV2ZW50cyB0ZXh0IGZyb20gYmVpbmcgdmVydGljYWxseVxuICAvLyBjZW50ZXJlZCB3aXRoaW4gdGhlIGlucHV0LlxuICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTg0OFxuICAvLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTI2NlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgIFwiOTAwXCI6ICRncmF5LTkwMFxuICApLFxuICAkZ3JheXNcbik7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICksXG4gICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogMjUlLFxuICAgIDUwOiA1MCUsXG4gICAgNzU6IDc1JSxcbiAgICAxMDA6IDEwMCUsXG4gICAgYXV0bzogYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JpZC1icmVha3BvaW50czogbWFwLW1lcmdlKFxuICAoXG4gICAgeHM6IDAsXG4gICAgc206IDU3NnB4LFxuICAgIG1kOiA3NjhweCxcbiAgICBsZzogOTkycHgsXG4gICAgeGw6IDEyMDBweFxuICApLFxuICAkZ3JpZC1icmVha3BvaW50c1xuKTtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRjb250YWluZXItbWF4LXdpZHRoczogbWFwLW1lcmdlKFxuICAoXG4gICAgc206IDU0MHB4LFxuICAgIG1kOiA3MjBweCxcbiAgICBsZzogOTYwcHgsXG4gICAgeGw6IDExNDBweFxuICApLFxuICAkY29udGFpbmVyLW1heC13aWR0aHNcbik7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgKFxuICAgICgyMSA5KSxcbiAgICAoMTYgOSksXG4gICAgKDMgNCksXG4gICAgKDEgMSksXG4gICksXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIEZvbnRzXG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogLjg3NSkgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJGdyYXktOTAwLCA3LjUlKSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgICgkaW5wdXQtYnRuLWZvbnQtc2l6ZSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQpICsgKCRpbnB1dC1idG4tcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyLXNtOiAgICAgICAgICAgICAgICAgKCRpbnB1dC1idG4tZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6ICAgICAgICAgICAgICAgICAoJGlucHV0LWJ0bi1mb250LXNpemUtbGcgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNlJTNjcGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgLyAyICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgICAgICAgY2FsYygjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZX0gLSAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNH0pICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzZSUzY3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXIgKiAzIC8gNCArICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgKCRpbnB1dC1oZWlnaHQtaW5uZXIgLyAyKSAoJGlucHV0LWhlaWdodC1pbm5lciAvIDIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoIHJnYmEoJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yLCAuNSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nLTIgLTIgNyA3JyUzZSUzY3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzZSUzY2NpcmNsZSByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN5PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzZSUzYy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBjYWxjKCN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9IC0gI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIGNhbGMoI3skY2FyZC1ib3JkZXItcmFkaXVzfSAtICN7JGNhcmQtYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG4kdG9hc3QtbWF4LXdpZHRoOiAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6IC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6IC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6IC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuNzUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBkPSdNMi43NSAwbC0xLjUgMS41IDIuNSAyLjUtMi41IDIuNSAxLjUgMS41IDQtNC00LTR6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIFNwaW5uZXJzXG5cbiRzcGlubmVyLXdpZHRoOiAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogIC4yNWVtICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBVdGlsaXRpZXNcblxuJG92ZXJmbG93czogYXV0bywgaGlkZGVuICFkZWZhdWx0O1xuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcblxuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplOyB9XG5oMiwgLmgyIHsgZm9udC1zaXplOiAkaDItZm9udC1zaXplOyB9XG5oMywgLmgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplOyB9XG5oNCwgLmg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplOyB9XG5oNSwgLmg1IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplOyB9XG5oNiwgLmg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBmb250LXNpemU6ICRkaXNwbGF5MS1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXkyLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTMtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBmb250LXNpemU6ICRkaXNwbGF5NC1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZDtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZDtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyIC8gMjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGluZGVudGF0aW9uLCBtZWRpYS1xdWVyeS1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cbiIsIi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgZm9udC1zaXplOiAkY29kZS1mb250LXNpemU7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAka2JkLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cbn1cblxuLy8gRmx1aWQgY29udGFpbmVyXG4vL1xuLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aCAxMDAlIHdpZHRoIGZvclxuLy8gZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxufVxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIEFub3RoZXIgZ3JpZCBtaXhpbiB0aGF0IGVuc3VyZXMgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwKSB7XG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiBgJGdyaWQtYnJlYWtwb2ludHNgIG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJvcmRlci1sZXZlbCkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1hY2NlbnQtYmc7XG4gICAgfVxuICB9XG5cbiAgJi50YWJsZS1ob3ZlciB7XG4gICAgdGJvZHkgdHIge1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDA1N1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgLy8gTWFudWFsbHkgdXNlIHRoZSBpZi9lbHNlIGluc3RlYWQgb2YgdGhlIG1peGluIHRvIGFjY291bnQgZm9yIGlPUyBvdmVycmlkZVxuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UgdW5kbyB0aGUgaU9TIGRlZmF1bHRcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZSwgYXMgaXQgbG9va3MgYmFkIGFuZCBjYW5ub3QgYmUgbWFkZSB0b1xuICAgIC8vIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICB9XG59XG5cbi8vIE1ha2UgZmlsZSBpbnB1dHMgYmV0dGVyIG1hdGNoIHRleHQgaW5wdXRzIGJ5IGZvcmNpbmcgdGhlbSB0byBuZXcgbGluZXMuXG4uZm9ybS1jb250cm9sLWZpbGUsXG4uZm9ybS1jb250cm9sLXJhbmdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXG4vLyB0ZXh0IHRvIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXl9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteX0gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+LzxsZWdlbmQ+YCBkZWZhdWx0XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktbGd9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1sZ30gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplLWxnO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktc219ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1zbX0gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplLXNtO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xufVxuXG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplLXNtO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemUtbGc7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICZbc2l6ZV0sXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxuICA+IC5jb2wsXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgJjpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGJhc2UgLmZvcm0tY2hlY2tcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG5cbiAgLy8gVW5kbyAuZm9ybS1jaGVjay1pbnB1dCBkZWZhdWx0cyBhbmQgYWRkIHNvbWUgYG1hcmdpbi1yaWdodGAuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlciBzaWRlIHZhbGlkYXRpb24uXG5cbkBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcInZhbGlkXCIsICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yKTtcbkBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcImludmFsaWRcIiwgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcik7XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLFxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay1mb250LXNpemU7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gNCk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMikgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMik7XG5cbiAgICAgICAgQGlmICRzdGF0ZSA9PSBcInZhbGlkXCIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyA0KSByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyA0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICAkZm9ybS1mZWVkYmFjay1pY29uOiBpZigkc3RhdGUgPT0gXCJ2YWxpZFwiLCAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLCAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsICRmb3JtLWZlZWRiYWNrLWljb24gbm8tcmVwZWF0ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLmZvcm0tY29udHJvbC1maWxlIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogJGJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LCAkYnRuLXBhZGRpbmcteCwgJGJ0bi1mb250LXNpemUsICRidG4tbGluZS1oZWlnaHQsICRidG4tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIC5idG4gZWxlbWVudHNcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1saW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbiAgfVxufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4uZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wcmlnaHQsXG4uZHJvcGRvd24sXG4uZHJvcGxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTsgLy8gUmVkZWNsYXJlIGJlY2F1c2UgbmVzdGluZyBjYW4gY2F1c2UgaW5oZXJpdGFuY2UgaXNzdWVzXG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tbGVmdCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcHJpZ2h0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChyaWdodCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wbGVmdCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiBlbmFibGVkIFBvcHBlci5qcywgcmVzZXQgYmFzaWMgZHJvcGRvd24gcG9zaXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uZHJvcGRvd24tbWVudSB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1hY3RpdmUtYmcpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC13aWR0aCAqIC44NTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bjtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXkpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gICAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIC8vIEFkZCB3aWR0aCAxJSBhbmQgZmxleC1iYXNpcyBhdXRvIHRvIGVuc3VyZSB0aGF0IGJ1dHRvbiB3aWxsIG5vdCB3cmFwIG91dFxuICAgIC8vIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUgRWRnZSsgYW5kIEZpcmVmb3guIENocm9tZSBkb2VzIG5vdCByZXF1aXJlIHRoaXMuXG4gICAgd2lkdGg6IDElO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY3VzdG9tIGZpbGUgaW5wdXQgYWJvdmUgdGhlIGxhYmVsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxuICAvLyBib3JkZXItcmFkaXVzIG92ZXJyaWRlcy5cbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHsgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuLmlucHV0LWdyb3VwLWFwcGVuZCB7IG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZS1sZztcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZS1zbTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4iLCIvLyBFbWJlZGRlZCBpY29ucyBmcm9tIE9wZW4gSWNvbmljLlxuLy8gUmVsZWFzZWQgdW5kZXIgTUlUIGFuZCBjb3B5cmlnaHQgMjAxNCBXYXlidXJ5LlxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xOyAvLyBQdXQgdGhlIGlucHV0IGJlaGluZCB0aGUgbGFiZWwgc28gaXQgZG9lc24ndCBvdmVybGF5IHRleHRcbiAgb3BhY2l0eTogMDtcblxuICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gdGhlIG1peGluIGlzIG5vdCB1c2VkIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIGZlZWRiYWNrXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEN1c3RvbSBjb250cm9sIGluZGljYXRvcnNcbi8vXG4vLyBCdWlsZCB0aGUgY3VzdG9tIGNvbnRyb2xzIG91dCBvZiBwc2V1ZG8tZWxlbWVudHMuXG5cbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAvLyBCYWNrZ3JvdW5kLWNvbG9yIGFuZCAod2hlbiBlbmFibGVkKSBncmFkaWVudFxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgYm9yZGVyOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvciBzb2xpZCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBGb3JlZ3JvdW5kIChpY29uKVxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDI7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uY3VzdG9tLWNoZWNrYm94IHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzd2l0Y2hlc1xuLy9cbi8vIFR3ZWFrIGEgZmV3IHRoaW5ncyBmb3Igc3dpdGNoZXNcblxuLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtd2lkdGg7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiBjYWxjKCN7KCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyKX0gKyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMn0pO1xuICAgICAgbGVmdDogY2FsYygjey0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKX0gKyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMn0pO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1zZWxlY3QtYmc7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG5cbiAgICAmOjotbXMtdmFsdWUge1xuICAgICAgLy8gRm9yIHZpc3VhbCBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHBsYXRmb3Jtcy9icm93c2VycyxcbiAgICAgIC8vIHN1cHByZXNzIHRoZSBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBmb250LXNpemU6ICRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIGZvbnQtc2l6ZTogJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gICY6ZGlzYWJsZWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdmFsdWUgaW4gJGN1c3RvbS1maWxlLXRleHQge1xuICAgICY6bGFuZygjeyRsYW5nfSkgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICR2YWx1ZTtcbiAgICB9XG4gIH1cblxuICB+IC5jdXN0b20tZmlsZS1sYWJlbFtkYXRhLWJyb3dzZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtYnJvd3NlKTtcbiAgfVxufVxuXG4uY3VzdG9tLWZpbGUtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICBmb250LXdlaWdodDogJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1maWxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYmc7XG4gIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtYm94LXNoYWRvdyk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyO1xuICAgIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgYm9yZGVyLWxlZnQ6IGluaGVyaXQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzIDApO1xuICB9XG59XG5cbi8vIFJhbmdlXG4vL1xuLy8gU3R5bGUgcmFuZ2UgaW5wdXRzIHRoZSBzYW1lIGFjcm9zcyBicm93c2Vycy4gVmVuZG9yLXNwZWNpZmljIHJ1bGVzIGZvciBwc2V1ZG9cbi8vIGVsZW1lbnRzIGNhbm5vdCBiZSBtaXhlZC4gQXMgc3VjaCwgdGhlcmUgYXJlIG5vIHNoYXJlZCBzdHlsZXMgZm9yIGZvY3VzIG9yXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cblxuLmN1c3RvbS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoI3skY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodH0gKyAjeyRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDJ9KTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpIC8gMjsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIEVkZ2Ugc3BlY2lmaWNcbiAgICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgbWFyZ2luLWxlZnQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgIC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyAvLyBhcmJpdHJhcnk/XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuLmN1c3RvbS1maWxlLWxhYmVsLFxuLmN1c3RvbS1zZWxlY3Qge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMgb3IgYDx1bD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gID4gLmNvbnRhaW5lcixcbiAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBmb250LXNpemU6ICRuYXZiYXItdG9nZ2xlci1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLm5hdmJhci10b2dnbGVyIGVsZW1lbnRzXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgIC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSRjYXJkLXNwYWNlci15IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzIDAgMCk7XG4gIH1cblxuICArIC5saXN0LWdyb3VwIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14IC8gMjtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbn1cblxuLmNhcmQtaW1nIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ2FyZCBpbWFnZSBjYXBzXG4uY2FyZC1pbWctdG9wIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuLmNhcmQtZGVjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWRlY2stbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGRlZmF1bHRcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWhlYWRlcixcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAuY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgfVxuXG4gICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRicmVhZGNydW1iLW1hcmdpbi1ib3R0b207XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gU3VwcHJlc3MgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvciBpbiBtb2Rlcm4gYnJvd3NlcnNcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogJGJyZWFkY3J1bWItZGl2aWRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICBib3JkZXI6ICRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMjtcbiAgICBvdXRsaW5lOiAkcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lO1xuICAgIGJveC1zaGFkb3c6ICRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLnBhZ2UtbGluayBlbGVtZW50c1xuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgei1pbmRleDogMTtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvLyBPcGluaW9uYXRlZDogcmVtb3ZlIHRoZSBcImhhbmRcIiBjdXJzb3Igc2V0IHByZXZpb3VzbHkgZm9yIC5wYWdlLWxpbmtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCAkYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXkgJGJhZGdlLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4vLyBQaWxsIGJhZGdlc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENvbG9yc1xuLy9cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGJhZGdlcyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmFkZ2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmFsZXJ0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCh0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJvcmRlci1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWNvbG9yLWxldmVsKSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHByb2dyZXNzLWhlaWdodCAwOyB9XG4gIHRvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGZvbnQtc2l6ZTogJHByb2dyZXNzLWZvbnQtc2l6ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcHJvZ3Jlc3MtYm94LXNoYWRvdyk7XG59XG5cbi5wcm9ncmVzcy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iZztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb24pO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHByb2dyZXNzLWhlaWdodCAkcHJvZ3Jlc3MtaGVpZ2h0O1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc7XG59XG4iLCIubWVkaWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLm1lZGlhLWJvZHkge1xuICBmbGV4OiAxO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWhvdmVyLWJnO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgLy8gUGxhY2UgdGhlIGJvcmRlciBvbiB0aGUgbGlzdCBpdGVtcyBhbmQgbmVnYXRpdmUgbWFyZ2luIHVwIGZvciBiZXR0ZXIgc3R5bGluZ1xuICBtYXJnaW4tYm90dG9tOiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2FjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogJGNsb3NlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IC43NTtcbiAgICB9XG5cbiAgICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLmNsb3NlIGVsZW1lbnRzXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnRvYXN0IHtcbiAgbWF4LXdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBjaGVhcCByb3VuZGVkIGNvcm5lcnMgb24gbmVzdGVkIGl0ZW1zXG4gIGZvbnQtc2l6ZTogJHRvYXN0LWZvbnQtc2l6ZTsgLy8ga25vY2sgaXQgZG93biB0byAxNHB4XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJHRvYXN0LWJvcmRlci1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0b2FzdC1ib3gtc2hhZG93O1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICgjeyRtb2RhbC1kaWFsb2ctbWFyZ2lufSAqIDIpKTtcblxuICAvLyBFbnN1cmUgYG1vZGFsLWRpYWxvZy1jZW50ZXJlZGAgZXh0ZW5kcyB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXcgKElFMTAvMTEpXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIElFMTBcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAoI3skbW9kYWwtZGlhbG9nLW1hcmdpbn0gKiAyKSk7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gc2hvdWxkIHRoZXJlIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIEVhc2lseSBwbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tbGVmdDogLjI1cmVtOyB9XG4gID4gOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tcmlnaHQ6IC4yNXJlbTsgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICgjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXB9ICogMikpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtICgjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXB9ICogMikpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1sZWZ0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLWJsb2NrLW5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6ICRwb3BvdmVyLWZvbnQtc2l6ZTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJGJvcmRlci1yYWRpdXMtbGc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gIG1hcmdpbi1ib3R0b206ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlLFxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUge1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgfVxuXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIGJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IGNhbGMoKCN7JHBvcG92ZXItYXJyb3ctaGVpZ2h0fSArICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgKiAtMSk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJGJvcmRlci1yYWRpdXMtbGcgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUsXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICB9XG5cbiAgLmFycm93OjphZnRlciB7XG4gICAgbGVmdDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgbWFyZ2luLXRvcDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgdG9wOiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUsXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICB9XG5cbiAgLmFycm93OjphZnRlciB7XG4gICAgdG9wOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkYm9yZGVyLXJhZGl1cy1sZyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSxcbiAgLmFycm93OjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlIHtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gIH1cblxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICByaWdodDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1sZWZ0O1xuICB9XG59XG5cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBjb2xvcjogJHBvcG92ZXItaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItaGVhZGVyLWJnLCA1JSk7XG4gICRvZmZzZXQtYm9yZGVyLXdpZHRoOiBjYWxjKCN7JGJvcmRlci1yYWRpdXMtbGd9IC0gI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG9mZnNldC1ib3JkZXItd2lkdGgpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWJvZHktcGFkZGluZy15ICRwb3BvdmVyLWJvZHktcGFkZGluZy14O1xuICBjb2xvcjogJHBvcG92ZXItYm9keS1jb2xvcjtcbn1cbiIsIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGVyZVxuLy8gICAgdGhlIGFjdGl2ZSBzbGlkZSBpcyBoZWFkaW5nLlxuLy8gMy4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIGlzIHRoZSBjdXJyZW50IHNsaWRlLlxuLy8gNC4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB0aGUgY3VycmVudFxuLy8gICAgc2xpZGUgaW4gaXRzIGluLXRyYW5zaXRpb24gc3RhdGUuIE9ubHkgb25lIG9mIHRoZXNlIG9jY3VycyBhdCBhIHRpbWUuXG4vLyA1LiAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0XG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLWxlZnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1yaWdodCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSB0cmFuc2l0aW9uc1xuLy9cblxuLmNhcm91c2VsLWZhZGUge1xuICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gb3BhY2l0eSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZztcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZztcbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiBvcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMjtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDI7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYm9yZGVyOiAkc3Bpbm5lci1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3Bpbm5lci1ib3JkZXIgLjc1cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG4gIGJvcmRlci13aWR0aDogJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtO1xufVxuXG4vL1xuLy8gR3Jvd2luZyBjaXJjbGVcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbjogc3Bpbm5lci1ncm93IC43NXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBCb3JkZXJcbi8vXG5cbi5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wICAgICB7IGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0ICAgeyBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0ICAgIHsgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXBpbGwge1xuICBib3JkZXItcmFkaXVzOiAkcm91bmRlZC1waWxsICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kI3skaW5maXh9LW5vbmUgICAgICAgICB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWlubGluZSAgICAgICB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS1ibG9jayAgICAgICAgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tdGFibGUgICAgICAgIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LXRhYmxlLXJvdyAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tdGFibGUtY2VsbCAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tZmxleCAgICAgICAgIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWZsZXggIHsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICAuZC1wcmludC1ub25lICAgICAgICAgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lICAgICAgIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtYmxvY2sgICAgICAgIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC10YWJsZSAgICAgICAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LXRhYmxlLXJvdyAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LXRhYmxlLWNlbGwgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC1mbGV4ICAgICAgICAgeyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lLWZsZXggIHsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgaWZyYW1lLFxuICBlbWJlZCxcbiAgb2JqZWN0LFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbkBlYWNoICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbyBpbiAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zIHtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXg6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDEpO1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teTogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMik7XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtI3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teH1ieSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXl9IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXkgLyAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWZpbGwgICAgICAgICB7IGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTAgICAgICAgeyBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTAgICAgIHsgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0xICAgICB7IGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCJAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBAaW5jbHVkZSBmbG9hdC1sZWZ0OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgQGluY2x1ZGUgZmxvYXQtcmlnaHQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBAaW5jbHVkZSBmbG9hdC1ub25lOyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AbWl4aW4gZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5AbWl4aW4gZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1ub25lIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW5zIChlLmcuLCB3aGVyZSBgLm1iLW4xYCBpcyBuZWdhdGl2ZSB2ZXJzaW9uIG9mIGAubWItMWApXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgQGlmICRzaXplICE9IDAge1xuICAgICAgICAubSN7JGluZml4fS1uI3skc2l6ZX0geyBtYXJnaW46IC0kbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm10I3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubXIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1iI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWwjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbWUgc3BlY2lhbCBtYXJnaW4gdXRpbHNcbiAgICAubSN7JGluZml4fS1hdXRvIHsgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAubXQjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tciN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWIjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tbCN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi50ZXh0LW1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlOyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnRleHQjeyRpbmZpeH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtdXBwZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1saWdodCAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbGlnaHRlciB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHRlciAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbm9ybWFsICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkICAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkZXIgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtaXRhbGljICAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuXG4udGV4dC13aGl0ZSB7IGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KFwiLnRleHQtI3skY29sb3J9XCIsICR2YWx1ZSk7XG59XG5cbi50ZXh0LWJvZHkgeyBjb2xvcjogJGJvZHktY29sb3IgIWltcG9ydGFudDsgfVxuLnRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ibGFjay01MCB7IGNvbG9yOiByZ2JhKCRibGFjaywgLjUpICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdoaXRlLTUwIHsgY29sb3I6IHJnYmEoJHdoaXRlLCAuNSkgIWltcG9ydGFudDsgfVxuXG4vLyBNaXNjXG5cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcbn1cblxuLnRleHQtZGVjb3JhdGlvbi1ub25lIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLy8gUmVzZXRcblxuLnRleHQtcmVzZXQgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpZiAoJGlnbm9yZS13YXJuaW5nICE9IHRydWUpIHtcbiAgICBAd2FybiBcIlRoZSBgdGV4dC1oaWRlKClgIG1peGluIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgdjQuMS4wLiBJdCB3aWxsIGJlIHJlbW92ZWQgZW50aXJlbHkgaW4gdjUuXCI7XG4gIH1cbn1cbiIsIi8vXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy9cblxuLnZpc2libGUge1xuICBAaW5jbHVkZSBpbnZpc2libGUodmlzaWJsZSk7XG59XG5cbi5pbnZpc2libGUge1xuICBAaW5jbHVkZSBpbnZpc2libGUoaGlkZGVuKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBWaXNpYmlsaXR5XG5cbkBtaXhpbiBpbnZpc2libGUoJHZpc2liaWxpdHkpIHtcbiAgdmlzaWJpbGl0eTogJHZpc2liaWxpdHkgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwczovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYgJGVuYWJsZS1wcmludC1zdHlsZXMge1xuICBAbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCBvdXQgYGNvbG9yYCBhbmQgYGJhY2tncm91bmRgXG4gICAgICAvL2NvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ3JheS01MDA7ICAgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAvL1xuXG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBTcGVjaWZ5IGEgc2l6ZSBhbmQgbWluLXdpZHRoIHRvIG1ha2UgcHJpbnRpbmcgY2xvc2VyIGFjcm9zcyBicm93c2Vycy5cbiAgICAvLyBXZSBkb24ndCBzZXQgbWFyZ2luIGhlcmUgYmVjYXVzZSBpdCBicmVha3MgYHNpemVgIGluIENocm9tZS4gV2UgYWxzb1xuICAgIC8vIGRvbid0IHVzZSBgIWltcG9ydGFudGAgb24gYHNpemVgIGFzIGl0IGJyZWFrcyBpbiBDaHJvbWUuXG4gICAgQHBhZ2Uge1xuICAgICAgc2l6ZTogJHByaW50LXBhZ2Utc2l6ZTtcbiAgICB9XG4gICAgYm9keSB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJsYWNrO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgIHRkLFxuICAgICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTMwMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1kYXJrIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZSAudGhlYWQtZGFyayB0aCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbiAgfVxufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlLnNjc3NcIjtcbi8qIGZvciBmb250IGZhY2UgKi9cbkBtaXhpbiBmb250LWZhY2UoJHN0eWxlLW5hbWUsICRmaWxlLCAkZmFtaWx5LCAkY2F0ZWdvcnk6XCJcIikge1xuICAgICRmaWxlcGF0aDogXCJmb250cy9cIiArICRmYW1pbHkgKyBcIi9cIiArICRmaWxlO1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCIjeyRzdHlsZS1uYW1lfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJHN0eWxlLW5hbWUgKyBcIlwiKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH1cbiAgICAlI3skc3R5bGUtbmFtZX0ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRzdHlsZS1uYW1lfVwiLCAjeyRjYXRlZ29yeX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHN0eWxlLW5hbWV9XCI7XG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuQG1peGluICBtYWtlQ3VzdG9tLWNvbnRhaW5lcigpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRkZWZhdWx0LWd1dHRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZGVmYXVsdC1ndXR0ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG59XG5cbkBtaXhpbiBtYWtlLWN1c3RvbUNvbnRhaW5lci1tYXgtd2lkdGggKCRtYXhXaWR0aC1tYXA6ICRjb250YWluZXJfTWF4V2lkdGgpIHtcbiAgICBAZWFjaCAkc2NyZWVuLXdpZHRoLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4V2lkdGgtbWFwIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oJHNjcmVlbi13aWR0aCkpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBwZHBJbWctY29udGFpbmVyICgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuQG1peGluIHBkcEltZy1jb250YWluZXItbWF4LXdpZHRoICgkbWF4V2lkdGgtbWFwOiAkcGRwSW1nLU1heFdpZHRoKSB7XG4gICAgQGVhY2ggJHNjcmVlbi13aWR0aCwgJG1heC13aWR0aCBpbiAkbWF4V2lkdGgtbWFwIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oJHNjcmVlbi13aWR0aCkpIHtcbiAgICAgICAgICAgIHdpZHRoOiAkbWF4LXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qIHJlbSBjYWxjdWxhdG9yICovXG5AZnVuY3Rpb24gY2FsYy1yZW0oJHRhcmdldCkge1xuICAgIEByZXR1cm4gKCR0YXJnZXQgLyAkdGV4dF9fc2l6ZS0tZGVmYXVsdCkgKiAxcmVtO1xufVxuQGZ1bmN0aW9uIGNhbGMtZW0oJHRhcmdldCwgJGNvbnRleHQ6ICR0ZXh0X19zaXplLS1kZWZhdWx0KSB7XG4gICAgQHJldHVybiAoJHRhcmdldCAvICRjb250ZXh0KSAqIDFlbTtcbn1cbi8qPT09PW1peGluIGZvciBtZWRpYSBxdWVyeT09PT09Ki9cbkBtaXhpbiBicmVha3BvaW50LW1pbigkcG9pbnQpe1xuICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcG9pbnQpIHsgQGNvbnRlbnQgOyB9XG4gICAgLypAbWVkaWEgb25seSBzY3JlZW4gKG1pbi13aWR0aDokcG9pbnQpe0Bjb250ZW50O30qL1xufVxuQG1peGluIGJyZWFrcG9pbnQtbWF4KCRwb2ludCl7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRwb2ludCl7QGNvbnRlbnQ7fVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1yYW5nZSgkcG9pbnQxLCRwb2ludDIpe1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDokcG9pbnQxKSBhbmQgKG1heC13aWR0aDokcG9pbnQyKXtAY29udGVudDt9XG59XG5cbkBmdW5jdGlvbiBjYWxjUGFkZGluZygkd2lkdGgsJGhlaWdodCl7XG4gICAgQHJldHVybiAoJGhlaWdodC8kd2lkdGgpKjEwMCU7XG59XG5cblxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7ICAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuXG4vKiBwZHAgbWl4aW4gKi9cbkBtaXhpbiBwcm9kSW5mb1NwYW5zKCRwY29sb3I6dHJ1ZSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBAaWYgJHBjb2xvciB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeUNvbG9yO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBjb2xvcjogJHNlY29uZHJ5Q29sb3I7XG4gICAgfVxufSIsIi5ob21lUGFnZSAuY3VzdG9tTmF2YmFye1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB0cmFuc2l0aW9uOiAwLjVzO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4iLCIqIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG50ZXh0YXJlYSxcbnNlbGVjdCxcbmlucHV0LFxuYnV0dG9uIHtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuYm9keSB7XG4gIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTYpO1xuICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtTWVkaXVtO1xuXG4gIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oNzY4KSkge1xuICAgIHBhZGRpbmctdG9wOiAxODBweDtcbiAgIH1cbiAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDk5MikpIHtcbiAgICBwYWRkaW5nLXRvcDogMTgwcHg7XG4gICB9XG4gICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgxMjgwKSl7XG4gICAgLy8gcGFkZGluZy10b3A6IDIyMHB4O1xuICAgfVxuICBcblxufVxuLm92ZXItaGlkZXtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mdWxsLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAzMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge1xuICAgIHBhZGRpbmc6IDAgODBweDtcbiAgfVxufVxuLmNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDk5MikpIHtcbiAgICBwYWRkaW5nOiAwIDgwcHg7XG4gIH1cbn1cbi5iZy0wIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5iZy0xIHtcbiAgYmFja2dyb3VuZDogIzBlMWYzYjtcbn1cbi5iZy0yIHtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbn1cbi5iZy0zIHtcbiAgYmFja2dyb3VuZDogI2YzZjNmMztcbn1cbi5iZy00IHtcbiAgYmFja2dyb3VuZDogIzAzMDQwNDtcbn1cbi5iZy01IHtcbiAgYmFja2dyb3VuZDogI2ZiZjhmMjtcbn1cbi5iZy02IHtcbiAgYmFja2dyb3VuZDogI2RlZWFmMTtcbn1cbi5iZy03IHtcbiAgYmFja2dyb3VuZDogI2YyZjdmYjtcbn1cbi5iZy04IHtcbiAgYmFja2dyb3VuZDogI2MyZTdmMDtcbn1cbi5iZy05IHtcbiAgYmFja2dyb3VuZDogIzBEMUEyQztcbn1cbi52ZXJ0aWNhbC1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnJ1cGVle1xuICBmb250LWZhbWlseTogJ1J1cGVlRm9yYWRpYW4nO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4uaG9tZS1iYW5uZXIge1xuICBcbn1cbi5jcmVhdG9yLWJhbm5lciB7XG4gIC8vIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9jcmVhdG9yLWJhbm5lci14bC5zdmdcIikgbm8tcmVwZWF0O1xufVxuLmFib3V0LWJhbm5lciB7XG4gIC8vIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9hYm91dC1iYW5uZXIteGwuc3ZnXCIpIG5vLXJlcGVhdDtcbn1cblxuLmNvbnRlbnQtYm94IHtcbiAgcGFkZGluZzogODBweCAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg3NjgpKSB7XG4gICAgcGFkZGluZzogMTIwcHggMDtcbiAgfVxufVxuLmJveC1iYW5uZXJ7XG4gIGhlaWdodDogMTAwJTt3aWR0aDoxMDAlO1xuICBcbn1cbi5yZXZlcnNlIHtcbiAgLmJveC1iYW5uZXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDMyMCkpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgLmJveC1iYW5uZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg3NjgpKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAuYm94LWJhbm5lciB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbn1cbi50eHQtYmxhY2sge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xufVxuLmNlbnRlci1hbGlnbntcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG4udGV4dC1ye1xuICAuYm94LXR4dHtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgfVxuICAuYm94LWJhbm5lcntcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgfVxufVxuLnRleHQtbHtcbiAgLmJveC10eHR7XG4gIG1hcmdpbi1yaWdodDowcHg7XG4gIH1cbiAgLmJveC1iYW5uZXJ7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDc2OCkpIHtcbiAgLnRleHQtcntcbiAgICAuYm94LXR4dHtcbiAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgICB9XG4gICAgLmJveC1iYW5uZXJ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuICAudGV4dC1se1xuICAgIC5ib3gtdHh0e1xuICAgIG1hcmdpbi1yaWdodDogOTBweDtcbiAgICB9XG4gICAgLmJveC1iYW5uZXJ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbn1cbi5tLXItMHtcbiAgbWFyZ2luLXJpZ2h0Oi0xNXB4OyBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oNzY4KSkge1xuICAgIG1hcmdpbi1yaWdodDowOyBcbiAgfVxufVxuLnBkLTB7XG4gIHBhZGRpbmc6MDtcbn1cbi5tYi00MHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xufVxuIiwiLm1haW4taGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjBweCAwO1xuICB0b3A6IDBweDtcbiAgei1pbmRleDogOTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg3NjgpKSB7XG4gICAgcGFkZGluZzogMzVweCAwO1xuICB9XG59XG4uZml4LWhlYWRlciB7XG4gIC5tYWluLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGJveC1zaGFkb3c6IDAgLTdweCAxNXB4ICM4YThhOGE7XG4gICAgLy9wYWRkaW5nOiAxMHB4IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICBcbiAgfVxuICAuYm94LWxpbmsge1xuICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkICMwMDAgIWltcG9ydGFudDtcbiAgfVxuIFxufVxuLm1lbnUtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLm1lbnUtbGlzdCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDMyMCkpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg5OTIpKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuICAvLyAgZGlzcGxheTogYmxvY2s7XG59XG4ubG9nbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgaW1nIHtcbiAgICB3aWR0aDogMTYwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgfVxufVxuLm1vYmlsZS1ib3h7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA3MXB4KTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg5OTIpKXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cbi5uYXYtYmFyIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICB9XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1mYW1pbHk6IENpcmN1bGFyU3RkLUJvb2s7XG4gICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNik7XG4gICAgcGFkZGluZzoxMHB4IDVweDtcbiAgICB0cmFuc2l0aW9uOiAuNXM7XG4gICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6ICMwRjZDRjM7XG4gICAgfVxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMEY2Q0YzO1xuICAgIH1cbiAgICBcbiAgfVxuICAuYm94LWxpbmsge1xuICAgIHBhZGRpbmc6N3B4IDVweDtcbiAgICB0cmFuc2l0aW9uOiAwLjVzO1xuICAgICY6aG92ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwRjZDRjM7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgIzBGNkNGMztcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge2JvcmRlcjogMXB4IHNvbGlkICMyNjI2MjY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7cGFkZGluZzoxMHB4IDMwcHg7fVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDMyMCkpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gdG9wOiA1MCU7XG4gICAgLy8gbGVmdDogNTAlO1xuICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIFxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgzNSk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDk5MikpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDAlKTtcbiAgICBsZWZ0OiAwO1xuICAgIFxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNSk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDEwMjQpKSB7XG4gICAgbGl7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICB9XG4gIH1cbn1cbi5uYXZiYXItYm94IHtcbiAgcGFkZGluZzogMDtcbn1cbi5idXJnZXItYnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDo0cHg7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgzMjApKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgc3BhbiB7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDdweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDdweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLm1lbnUtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGltZ3tcbiAgICB3aWR0aDoxNjBweDtcbiAgfVxuICAuY2xvc2UtbWVudSB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICBib3JkZXI6bm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDk5MikpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDc2OCkpIHtcbiAgLm1lbnUtaGVhZGVye1xuICAgIHBhZGRpbmc6MzVweCAzMHB4O1xuICB9XG4gIC5maXgtaGVhZGVye1xuICAgIC5tZW51LWhlYWRlcntcbiAgICAgIHBhZGRpbmc6MjBweCAzMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLmJhbm5lci1ieCB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA5MHB4KTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDMyMCkpIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgLy8gJjphZnRlciB7XG4gICAgLy8gICBjb250ZW50OiBcIlwiO1xuICAgIC8vICAgaGVpZ2h0OiA1MCU7XG4gICAgLy8gICB3aWR0aDogMTAwJTtcbiAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyAgIGJvdHRvbTogMjAlO1xuICAgIC8vICAgei1pbmRleDogMDtcbiAgICAvLyAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgd2hpdGUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpO1xuICAgIC8vIH1cbiAgfVxuICAvLyBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg1NzYpKSB7XG4gIC8vICAgYmFja2dyb3VuZC1zaXplOiAxNjAlO1xuICAvLyAgICY6YWZ0ZXIge1xuICAvLyAgICAgY29udGVudDogXCJcIjtcbiAgLy8gICAgIGhlaWdodDogNTAlO1xuICAvLyAgICAgd2lkdGg6IDEwMCU7XG4gIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vICAgICB0b3A6IDAlO1xuICAvLyAgICAgei1pbmRleDogMDtcbiAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgd2hpdGUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpO1xuICAvLyAgIH1cbiAgLy8gfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgzMjApKSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNjAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oNzY4KSkge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxODBweCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxOTAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IDgwJTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg5OTIpKSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMzAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IDgwJTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgxMDI1KSkge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDEyODApKSB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDIyMHB4KTtcbiAgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoIDogMTM2NnB4KSBhbmQgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gICAgbWluLWhlaWdodDphdXRvO1xuICB9XG5cblxufVxuLmhvbWUtYmFubmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLmZ1bGwtY29udGFpbmVye1xuICAgIHBhZGRpbmc6MCAzMHB4OyBcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg5OTIpKSB7XG4gICAgLmZ1bGwtY29udGFpbmVye1xuICAgICAgcGFkZGluZzowIDAgMCA4MHB4OyBcbiAgICB9XG4gIH1cbn1cbi5iYW5uZXItdHh0IHtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIC50aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiQ2lyY3VsYXJTdGQtTWVkaXVtXCI7XG4gICAgZm9udC1zaXplOiBjYWxjLXJlbSg1MCk7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICMyMzYyYmU7XG4gICAgfVxuICB9XG4gIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkF2ZW5pci1Cb29rXCI7XG4gICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNik7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luOiAwIDUwcHggMjBweCAwO1xuICB9XG4gIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkNpcmN1bGFyU3RkLUJvb2tcIjtcbiAgICBiYWNrZ3JvdW5kOiAjMGY2Y2YzO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiAxNHB4IDUzcHg7XG4gICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNCk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDMyMCkpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLmgyIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMzUpO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgfVxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMThweDtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTYpO1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgIH1cbiAgICAvLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLy8gICB3aWR0aDogNzUlO1xuICAgIC8vICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAvLyB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oNzY4KSkge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgzMCk7XG4gICAgICBsaW5lLWhlaWdodDogNTVweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IGNhbGMtcmVtKDE3KTtcbiAgICAgIG1hcmdpbjogMCAwcHggMzBweCAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNik7XG4gICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDk5MikpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDEwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oNDApO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgfVxuICAgIHB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwIDUwcHggMzBweCAwO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgxMjgwKSkge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSg1MCk7XG4gICAgfVxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIDUwcHggNDBweCAwO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgxMjgxKSkge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oNjApO1xuICAgICAgbGluZS1oZWlnaHQ6IDcwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgICBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkF2ZW5pci1NZWRpdW1cIjtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMjIpO1xuICAgIH1cbiAgfVxuICAueWVhci1ib3gge1xuICAgIG1hcmdpbi10b3A6IDkwcHg7XG4gICAgaDQge1xuICAgICAgZm9udC1mYW1pbHk6IENpcmN1bGFyU3RkLU1lZGl1bTtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMjUpO1xuICAgICAgY29sb3I6ICMwODA4MDg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIHAge1xuICAgICAgZm9udC1mYW1pbHk6IENpcmN1bGFyU3RkLUJvb2s7XG4gICAgICBmb250LXNpemU6IGNhbGMtcmVtKDE4KTtcbiAgICAgIGNvbG9yOiAjODc4Nzg3O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oMzIwKSkge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg3NjgpKSB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDkwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uYmFubmVyLWJveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oNzY4KSkge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaG9tZS1hbmltYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5ncmlkLTEsLmdyaWQtMiwuZ3JpZC0zLC5ncmlkLTQge1xuICAgIHBhZGRpbmc6IDAgMTBweDsgXG4gIH1cblxuICBAbWl4aW4gYm94IHtcbiAgICAuYm94IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ncmlkLTIge1xuICAgIHBhZGRpbmctdG9wOiAxMCU7XG4gICAgQGluY2x1ZGUgYm94KCk7XG4gICAgaW1ne1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5ib3h7XG4gICAgICAuYnJhbmRze1xuICAgICAgICAuaXRlbXtcbiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZWFjNWFhOyBcbiAgICAgICAgICBpbWd7XG4gICAgICAgICAgICB3aWR0aDogODAlO21hcmdpbjogMCBhdXRvO2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg2NDApKSB7XG4gICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCAjZWFjNWFhOyBcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge1xuICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgI2VhYzVhYTsgXG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDEwMjQpKSB7XG4gICAgICAgICAgICBib3JkZXI6IDhweCBzb2xpZCAjZWFjNWFhOyBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICAuZ3JpZC0zIHtcbiAgICBwYWRkaW5nLXRvcDogNSU7XG4gICAgQGluY2x1ZGUgYm94KCk7XG4gICAgLmJveDpmaXJzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgICAgIGltZ3tcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ncmlkLTQge1xuICAgIHBhZGRpbmctdG9wOiAxNCU7XG4gICAgLmJveCB7XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oNzY4KSkge1xuICAgICAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICAubGluZXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgcmlnaHQ6IC0yNSU7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbn1cbi5zcGFjZXIge1xuICBwYWRkaW5nOiAxMjBweCAwO1xufVxuLmJveGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLmJveC1ncm91cCB7XG4gIC5tYWluLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtTWVkaXVtO1xuICAgIGNvbG9yOiAjMjYyNjI2O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDMyMCkpIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMjUpO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oNzY4KSkge1xuICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSg0MCk7XG4gICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICB9XG4gIH1cbiAgLmJveCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMzBweCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oMzIwKSkge1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge1xuICAgICAgcGFkZGluZzogMjVweDtcbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkNpcmN1bGFyU3RkLU1lZGl1bVwiO1xuICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgyNSk7XG4gICAgICBjb2xvcjogIzMwMzAzMDtcbiAgICAgIHBhZGRpbmc6IDQwcHggODBweCAwIDA7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgzMjApKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMjApO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge1xuICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDI1KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnR4dCB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICBmb250LWZhbWlseTogQXZlbmlyLUJvb2s7XG4gICAgICBmb250LXNpemU6IGNhbGMtcmVtKDE3KTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oMzIwKSkge1xuICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDE1KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDk5MikpIHtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNyk7XG4gICAgICB9XG4gICAgfVxuICAgIC5pY29uIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICB3aWR0aDogNzBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ib3gtdHh0IHtcbiAgZm9udC1mYW1pbHk6IENpcmN1bGFyU3RkLU1lZGl1bTtcbiAgLnhzLXRpdGxlIHtcbiAgICBmb250LXNpemU6IGNhbGMtcmVtKDIwKTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC5sZy10aXRsZSB7XG4gICAgY29sb3I6ICMyNjI2MjY7XG4gICAgbGluZS1oZWlnaHQ6bm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbiAgLnRleHQtYm94IHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNik7XG4gICAgY29sb3I6ICMyNjI2MjY7XG4gICAgZm9udC1mYW1pbHk6IEF2ZW5pci1Cb29rO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW46ICAzMHB4IGF1dG8gMzBweDtcbiAgfVxuICAmLmluZmx1ZW5jZXItdGV4dGJveCB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAudGV4dC1ib3gge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgZm9udC1mYW1pbHk6IEF2ZW5pci1NZWRpdW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgzMjApKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC5sZy10aXRsZSB7XG4gICAgICBmb250LXNpemU6IGNhbGMtcmVtKDMwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDc2OCkpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC5sZy10aXRsZSB7XG4gICAgICBmb250LXNpemU6IGNhbGMtcmVtKDI1KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46ICBhdXRvO1xuICAgIH1cbiAgICAudGV4dC1ib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTgpO1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oMTAyNCkpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC5sZy10aXRsZSB7XG4gICAgICBmb250LXNpemU6IGNhbGMtcmVtKDMwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgxMjAwKSkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLmxnLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oNDApO1xuICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgfVxuICAgICYuaW5mbHVlbmNlci10ZXh0Ym94IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgIH1cbiAgfVxufVxuLmRhc2hib2FyZC1ib3gge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgLnRhYi1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwKSwgIzBkMWEyYyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG4gIC5jb250cm9sZXIge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAvLyAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMmEzYzU1O1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDEpe1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvaWNvMS5zdmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMTBweDsgXG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMil7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9pY28yLnN2Zykgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246MCAxMHB4OyBcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgzKXtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2ljbzMuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjowIDEwcHg7IFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDc2OCkpe1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBvcGFjaXR5OiAwLjQ1O1xuICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDE0KTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjhzO1xuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg3NjgpKXtcbiAgICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDE4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmluZmx1ZW5jZXJzLWJveHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAuYm94e1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaW1ne1xuICAgICAgXG4gICAgfVxuICB9XG4gIC5ib3gtMXtcbiAgICB0b3A6NTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMzAlO1xuICAgIGhlaWdodDogMzAlO1xuICAgIG1hcmdpbi10b3A6LTE1JTtcbiAgICBtYXJnaW4tbGVmdDotMTUlOyAgXG4gICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiAjRkJDMDJEO1xuICB9XG4gIC5ib3gtMntcbiAgICBib3R0b206IDI1JTtcbiAgICBsZWZ0OiA3JTtcbiAgICB3aWR0aDogMjAlO1xuICAgIGhlaWdodDogMjAlO1xuICAgIC8vIG1hcmdpbi1ib3R0b206LTEwJTtcbiAgICAvLyBtYXJnaW4tbGVmdDotMTAlO1xuICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgYmFja2dyb3VuZDogI0YyNzc3NDtcbiAgfVxuICAuYm94LTN7XG4gICAgdG9wOjE5JTtcbiAgICBsZWZ0OiAxMSU7XG4gICAgd2lkdGg6IDE1JTtcbiAgICBoZWlnaHQ6IDE1JTtcbiAgICAvLyBtYXJnaW4tdG9wOi03LjUlO1xuICAgIC8vIG1hcmdpbi1sZWZ0Oi03LjUlO1xuICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgYmFja2dyb3VuZDogI0U5QzZBQjtcbiAgfVxuICAuYm94LTR7XG4gICAgdG9wOjEyJTtcbiAgICByaWdodDogMjAlO1xuICAgIHdpZHRoOiAxMiU7XG4gICAgaGVpZ2h0OiAxMiU7XG4gICAgLy8gbWFyZ2luLXRvcDotNS41JTtcbiAgICAvLyBtYXJnaW4tcmlnaHQ6LTUuNSU7XG4gICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiAjRTFFMUU4O1xuICB9XG4gIC5ib3gtNXtcbiAgICB0b3A6NDIlO1xuICAgIHJpZ2h0OiAzJTtcbiAgICB3aWR0aDogMTElO1xuICAgIGhlaWdodDogMTElO1xuICAgIC8vIG1hcmdpbi10b3A6LTUuNSU7XG4gICAgLy8gbWFyZ2luLXJpZ2h0Oi01LjUlO1xuICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgYmFja2dyb3VuZDogI0EyQzRERTtcbiAgfVxuICAuYm94LTZ7XG4gICAgYm90dG9tOjE1JTtcbiAgICByaWdodDogMzMlO1xuICAgIHdpZHRoOiAxMSU7XG4gICAgaGVpZ2h0OiAxMSU7XG4gICAgLy8gbWFyZ2luLWJvdHRvbTotNS41JTtcbiAgICAvLyBtYXJnaW4tcmlnaHQ6LTUuNSU7XG4gICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiAjODY5MkEyO1xuICB9XG5cbn1cbi5jb250ZW50LWJveC5kYXJrLWJveCB7XG4gIC54cy10aXRsZSxcbiAgLmxnLXRpdGxlLFxuICAudGV4dC1ib3gge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG4uY2xpZW50cy1ib3gge1xuICBwYWRkaW5nOiA1MHB4IDA7XG4gIC50aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IENpcmN1bGFyU3RkLUJvb2s7XG4gICAgZm9udC1zaXplOiBjYWxjLXJlbSgyMCk7XG4gICAgY29sb3I6ICM4Nzg3ODc7XG4gICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gIH1cbiAgLmxvZ28tYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiAuNXM7XG4gICAgICBcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSl7XG4gICAgICBcbiAgICAgICAgaW1ne1xuICAgICAgICAgIC8vIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIgaW1ne1xuICAgICAgICAgIC8vIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICB9XG4gICAgICBcbiAgICB9XG4gIH1cbn1cbi50ZXN0LWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiA1MXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vICY6YWZ0ZXIge1xuICAvLyAgIGNvbnRlbnQ6IFwiXCI7XG4gIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAvLyAgIGhlaWdodDogMTQxcHg7XG4gIC8vICAgd2lkdGg6IDEwMCU7XG4gIC8vICAgYm90dG9tOiAwO1xuICAvLyAgIGxlZnQ6IDA7XG4gIC8vICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksICNmYmY4ZjIsICNmYmY4ZjIpO1xuICAvLyB9XG59XG4udGVzdC1ib3gge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgLmJveC1ncmlkIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiAxNDFweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAjZmJmOGYyLCAjZmJmOGYyKTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMTIxcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNmYmY4ZjIsICNmYmY4ZjIscmdiYSgyNTUsIDI1NSwgMjU1LCAwKSk7XG4gICAgfVxuICAgIC5saXN0aW5nIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gICAgfVxuICAgIC5pbWctYm94IHtcbiAgICAgIGhlaWdodDogNzBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgLnRleHQtYm94IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBDaXJjdWxhclN0ZC1Cb29rO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDE0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTEpO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgzMjApKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oNzY4KSkge1xuICAgICAgd2lkdGg6IDQzMHB4O1xuXG4gICAgICAubGlzdGluZyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tdG9wOiAzNnB4O1xuICAgICAgfVxuICAgICAgLmltZy1ib3gge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICAgICAgZmxleDogMCAwIDEwMHB4O1xuICAgICAgfVxuICAgICAgLnRleHQtYm94IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IENpcmN1bGFyU3RkLUJvb2s7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmbGV4OiAwIDAgY2FsYygxMDAlIC0gMTI1cHgpO1xuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDE4KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDEzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaW5mby1ib3gge1xuICBtYXJnaW46IDUwcHggYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAwO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLmluZm8tY29udGVudCB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwIDUwcHg7XG4gIH1cbiAgLnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtTWVkaXVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgLnR4dCB7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIGZvbnQtZmFtaWx5OiBBdmVuaXItTWVkaXVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgYS5jdGEtYnRuIHtcbiAgICAvLyBiYWNrZ3JvdW5kOiAjMGY2Y2YzO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAvLyBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC1mYW1pbHk6IENpcmN1bGFyU3RkLUJvb2s7XG4gICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNik7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIHRyYW5zaXRpb246IC41cztcbiAgICAmOmhvdmVye1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbiAgLmltZy1idG5ze1xuICAgIGF7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gIH1cbiAgLmltZy1ib3gge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAtMjBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgzMjApKSB7XG4gICAgLmluZm8tY29udGVudCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMzApO1xuICAgIH1cbiAgICAudHh0IHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTUpO1xuICAgIH1cbiAgICAuaW1nLWJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oNzY4KSkge1xuICAgIC5pbmZvLWNvbnRlbnQge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgyNSk7XG4gICAgfVxuICAgIC50eHQge1xuICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNSk7XG4gICAgfVxuICAgIFxuICAgIC5pbWctYm94IHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge1xuICAgIC5pbmZvLWNvbnRlbnQge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgcGFkZGluZzogMCA1MHB4O1xuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgzMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICAudHh0IHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTYpO1xuICAgIH1cbiAgICAuaW1nLWJveCB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDEyODApKSB7XG4gICBcbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSg0MCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICAudHh0IHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTcpO1xuICAgIH1cbiAgfVxufVxuLmltZy1idG5zIHtcbiAgYSwgaW1nIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgXG4gIH1cbiAgaW1nIHtcbiAgIC8vIHdpZHRoOiAxMDAlO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDQ4MCkpIHtcbiAgICBhIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuLy8gLmdhbGxlcnl7XG4vLyAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAuaW1nLWJveCB7XG4vLyAgICAgbWFyZ2luOiAwIDEwcHg7XG4vLyAgICAgcGFkZGluZzogMDtcbi8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuLy8gICAgIGhlaWdodDogMzAwcHg7XG4vLyAgICAgaW1ne1xuLy8gICAgICAgaGVpZ2h0OiAxMDAlO1xuLy8gICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4vLyAgICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4vLyAgICAgICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xuLy8gICAgIH1cbi8vIH1cbi8vIH1cbi5zY3JvbGwxLFxuLnNjcm9sbDIsXG4uc2Nyb2xsMyxcbi5zY3JvbGw0LFxuLnNjcm9sbDUsXG4uc2Nyb2xsNiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2Nyb2xsMSBsaSxcbi5zY3JvbGwyIGxpLFxuLnNjcm9sbDMgbGksXG4uc2Nyb2xsNCBsaSxcbi5zY3JvbGw1IGxpIHtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG4uc2Nyb2xsMSBpbWcsXG4uc2Nyb2xsMiBpbWcsXG4uc2Nyb2xsMyBpbWcsXG4uc2Nyb2xsNCBpbWcsXG4uc2Nyb2xsNSBpbWcsXG4uc2Nyb2xsNiBpbWcge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uc2xpZGVyLWdyaWQtYm94IHtcbiAgcGFkZGluZzogMCAzMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg5OTIpKSB7XG4gICAgcGFkZGluZzogMCAzMHB4IDAgMDtcbiAgfVxufVxuLmluZmluaXRlc2xpZGVfd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zbGlkZXItZ3JpZC1ib3ggLmJveC10eHQge1xuICBtYXJnaW4tbGVmdDogMHB4O1xufVxuLnNsaWRlci1ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAtMzBweDtcbiAgei1pbmRleDogMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg3NjgpKSB7XG4gICAgbWFyZ2luOiAwIC0yMCUgMCAwO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLCAwLCAwLCAwKSwgIzBkMWEyYyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTNweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuXG4gIC5jaXJjbGUge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvY2lyY2xlLnN2Zykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgd2lkdGg6IDU1cHg7XG4gICAgdG9wOiAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTMwcHgpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbGVmdDogMjAlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDc2OCkpIHtcbiAgICAgIGhlaWdodDogNzBweDtcbiAgICAgIHdpZHRoOiA3NXB4O1xuICAgIH1cbiAgfVxuICAubGluZS1hcnJvdyB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvbGluZS1hcnJvdy5zdmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIHdpZHRoOiA5NXB4O1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMzBweCk7XG4gICAgei1pbmRleDogMTtcbiAgICByaWdodDogNDAlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDc2OCkpIHtcbiAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICB3aWR0aDogMTU1cHg7XG4gICAgfVxuICB9XG59XG4iLCIuZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzBkMWEyYztcbiAgcGFkZGluZzogNTBweCAwO1xuICAudGV4dC1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5mb290ZXItbG9nbyB7XG4gICAgd2lkdGg6IDEzNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgfVxuICAuZm9vdGVyLXRleHQge1xuICAgIGZsZXg6IDE7XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBDaXJjdWxhclN0ZC1Cb2xkO1xuICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSg1MCk7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIG1hcmdpbjogMTBweCAwIDIwcHggMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgfVxuICAgXG4gIH1cbiAgLnRleHQge1xuICAgIGZvbnQtZmFtaWx5OiBDaXJjdWxhclN0ZC1Cb29rO1xuICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMjApO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDk5MikpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAubW9iaWxlLXRleHR7XG4gICAgZm9udC1mYW1pbHk6IENpcmN1bGFyU3RkLUJvb2s7XG4gICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNik7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg5OTIpKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgzMjApKSB7XG4gICAgLmZvb3Rlci1sb2dvIHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIH1cbiAgICAuZm9vdGVyLXRleHQge1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgzMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDc2OCkpIHtcbiAgICAuZm9vdGVyLWxvZ28ge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgfVxuICAgIC5mb290ZXItdGV4dCB7XG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDMwKTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMTVweCAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg5OTIpKSB7XG4gICAgLmZvb3Rlci1sb2dvIHtcbiAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICAuZm9vdGVyLXRleHQge1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSg0MCk7XG4gICAgICAgIG1hcmdpbjogMTdweCAwIDIwcHggMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oMTI4MCkpIHtcbiAgICAuZm9vdGVyLWxvZ28ge1xuICAgICAgd2lkdGg6IDEzNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICAuZm9vdGVyLXRleHQge1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSg1MCk7XG4gICAgICAgIG1hcmdpbjogMzBweCAwIDIwcHggMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJhZGlvLWJveCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnJhZGlvLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIC5yYWRpby1ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgMjBweCAwIDA7XG4gICAgc3BhbiB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdG9wOiA0cHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBzcGFuOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDJweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICB3aWR0aDogMTlweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogOXB4O1xuICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMGY2Y2YzO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA3cHg7XG4gICAgICBsZWZ0OiA1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gIH1cbn1cbi5zdWJzY3JpYmUtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDIwcHggMCAwIDA7XG4gIGlucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiAjMjEzNDRkO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDtcbiAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG4gICAgZm9udC1mYW1pbHk6IENpcmN1bGFyU3RkLUJvb2s7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICB3aWR0aDogMjYzcHg7XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtTWVkaXVtO1xuICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTYpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQ6ICMwZjZjZjM7XG4gICAgYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDA7XG4gICAgcGFkZGluZzogMTNweCAyMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuICAubXNnLWFyZWF7XG4gICAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtQm9vaztcbiAgICAgIC8vIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOmNhbGMtcmVtKDE0KTtcbiAgICAgIG1hcmdpbi10b3A6MTBweDtcbiAgfVxuICAuZXJyb3J7XG4gICAgY29sb3I6IHJlZDtcbiAgfVxuICAuc3VjY2Vzc3tcbiAgICBjb2xvcjpncmVlbjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgzMjApKSB7XG4gICAgLnN1YnNjcmliZS1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDc2OCkpIHtcbiAgICBtYXJnaW46IDIwcHggMCAwIDA7XG4gICAgLnN1YnNjcmliZS1jb250ZW50IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDI0MHB4O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg5OTIpKSB7XG4gICAgbWFyZ2luOiAzN3B4IDAgMCAwO1xuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiAyNjNweDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oMTI4MCkpIHtcbiAgICBtYXJnaW46IDUwcHggMCAwIDA7XG4gIH1cbn1cbi5zdWJtaXQtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5sYXllciB7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAmOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxufVxuLy8gLm5hdi1saXN0e1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4ubmF2LWJveCB7XG4gIC5saXN0LXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtQm9sZDtcbiAgICBmb250LXNpemU6IGNhbGMtcmVtKDE0KTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgfVxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBhIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtQm9vaztcbiAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNCk7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oMzIwKSkge1xuICAgIG1hcmdpbjogMCAwIDBweCAwO1xuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oNzY4KSkge1xuICAgIG1hcmdpbjogMDtcbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vL31cbi5idG4tYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYSB7XG4gICAgZm9udC1mYW1pbHk6IENpcmN1bGFyU3RkLU1lZGl1bTtcbiAgICBmb250LXNpemU6IGNhbGMtcmVtKDE1KTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDMyMCkpIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDc2OCkpIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG59XG4uY29weS1yaWdodCB7XG4gIFxuICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtQm9vaztcbiAgZm9udC1zaXplOiBjYWxjLXJlbSgxMik7XG4gIGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oNTc2KSkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgYXtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbi5yaWdodC1hbGlnbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg1NzYpKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuLmhlbHAtbWFpbCB7XG4gIGZvbnQtZmFtaWx5OiBDaXJjdWxhclN0ZC1Cb29rO1xuICBmb250LXNpemU6IGNhbGMtcmVtKDEyKTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIG1hcmdpbjogMDtcbiAgYXtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICBjb2xvcjojZmZmO1xuICB9XG59XG4uY2hhdC1ib3gge1xuICBvcGFjaXR5OiAuNTtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOjEwcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDU3NikpIHtcbiAgICBtYXJnaW4tdG9wOjBweDtcbiAgfVxufVxuLmNoYXQtYm94IGF7XG4gIGZvbnQtc2l6ZToxMHB4OyBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jaGF0LWJveCBpbWd7XG4gIHdpZHRoOjE1cHg7XG4gIG1hcmdpbi1yaWdodDo1cHg7IFxuICB9IiwiLnBvcnRmb2xpby1ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC1oZWlnaHQ6IDUzM3B4O1xuICB3aWR0aDogMTAwJTtcblxuICBAbWl4aW4gaGVpZ2h0X3dpZHRoIHtcbiAgICAvLyBoZWlnaHQ6IDE3N3B4O1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnBvcnRmb2xpbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAxMzBweCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZS1vdXQ7XG4gIH1cbiAgLnBvcnRmb2xpby52aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAucG9ydGZvbGlvOm50aC1jaGlsZCgxKSB7XG4gICAgdG9wOiAwJTtcbiAgICBsZWZ0OiAwJTtcbiAgICB3aWR0aDogNTAlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLnBvcnRmb2xpbzpudGgtY2hpbGQoMikge1xuICAgIHRvcDogMjAlO1xuICAgIGxlZnQ6IDQzJTtcbiAgICBAaW5jbHVkZSBoZWlnaHRfd2lkdGgoKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzO1xuICB9XG4gIC5wb3J0Zm9saW86bnRoLWNoaWxkKDMpIHtcbiAgICB0b3A6IDMyJTtcbiAgICByaWdodDogMDtcbiAgICBAaW5jbHVkZSBoZWlnaHRfd2lkdGgoKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xuICB9XG4gIC5wb3J0Zm9saW86bnRoLWNoaWxkKDQpIHtcbiAgICB0b3A6IDU5JTtcbiAgICBsZWZ0OiA0MyU7XG4gICAgQGluY2x1ZGUgaGVpZ2h0X3dpZHRoKCk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC43cztcbiAgfVxuICAucG9ydGZvbGlvOm50aC1jaGlsZCg1KSB7XG4gICAgYm90dG9tOiAwJTtcbiAgICByaWdodDogMDtcbiAgICBAaW5jbHVkZSBoZWlnaHRfd2lkdGgoKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjlzO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDc2OCkpIHtcbiAgICBoZWlnaHQ6IDMxMHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDk5MikpIHtcbiAgICBoZWlnaHQ6IDM5NXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDEwMjQpKSB7XG4gICAgaGVpZ2h0OiA0MTVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgxMjAwKSkge1xuICAgIGhlaWdodDogNTMzcHg7XG4gICAgLnBvcnRmb2xpbzpudGgtY2hpbGQoMikge1xuICAgICAgdG9wOiAxOSU7XG4gICAgICBsZWZ0OiA0MyU7XG4gICAgICBAaW5jbHVkZSBoZWlnaHRfd2lkdGgoKTtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7XG4gICAgfVxuICAgIC5wb3J0Zm9saW86bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRvcDogMzAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBAaW5jbHVkZSBoZWlnaHRfd2lkdGgoKTtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7XG4gICAgfVxuICAgIC5wb3J0Zm9saW86bnRoLWNoaWxkKDQpIHtcbiAgICAgIHRvcDogNTclO1xuICAgICAgbGVmdDogNDMlO1xuICAgICAgQGluY2x1ZGUgaGVpZ2h0X3dpZHRoKCk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjdzO1xuICAgIH1cbiAgICAucG9ydGZvbGlvOm50aC1jaGlsZCg1KSB7XG4gICAgICBib3R0b206IDAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBAaW5jbHVkZSBoZWlnaHRfd2lkdGgoKTtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuOXM7XG4gICAgfVxuICB9XG59XG4uaW52aXRlLWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDkwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgLmludml0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTEwcHgsIDBweCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZS1vdXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLmludml0ZS52aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICBAbWl4aW4gaW52aXRlX2JveCB7XG4gICAgd2lkdGg6IDU1JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmludml0ZTpudGgtY2hpbGQoMSkge1xuICAgIHdpZHRoOiA2NCU7XG4gIH1cbiAgLmludml0ZTpudGgtY2hpbGQoMikge1xuICAgIEBpbmNsdWRlIGludml0ZV9ib3goKTtcbiAgICBsZWZ0OiAyNyU7XG4gICAgbWFyZ2luLXRvcDogMTAlO1xuICB9XG4gIC5pbnZpdGU6bnRoLWNoaWxkKDMpIHtcbiAgICBAaW5jbHVkZSBpbnZpdGVfYm94KCk7XG4gICAgbGVmdDogNDUlO1xuICAgIG1hcmdpbi10b3A6IDUlO1xuICB9XG5cbiAgLmludml0ZS1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA2NCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDQ1JSk7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2Utb3V0O1xuICB9XG4gIC5pbnZpdGUtYmcudmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XG4gIH1cbiAgLmludml0ZS1iZzpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgdG9wOiAxMCU7XG4gIH1cbiAgLmludml0ZS1iZzpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgdG9wOiA2NSU7XG4gIH1cbn1cbi5wcm9ncmVzcy1ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAucHJvZ3Jlc3MtYngge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2Utb3V0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgei1pbmRleDogMztcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cbiAgLnByb2dyZXNzLWJ4LnZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIEBtaXhpbiBwcm9ncmVzc19ib3gge1xuICAgIHdpZHRoOiA1NSU7XG4gICAgLy8gbWF4LXdpZHRoOiAxNzdweDtcbiAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnByb2dyZXNzLWJ4Om50aC1jaGlsZCgxKSB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3NfYm94KCk7XG4gICAgdG9wOiAxMCU7XG4gIH1cbiAgLnByb2dyZXNzLWJ4Om50aC1jaGlsZCgyKSB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3NfYm94KCk7XG4gICAgdG9wOiAzMiU7XG4gICAgbGVmdDogMjElO1xuICB9XG4gIC5wcm9ncmVzcy1ieDpudGgtY2hpbGQoMykge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzX2JveCgpO1xuICAgIHJpZ2h0OiAtMzElO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuOHM7XG4gIH1cbiAgLnByb2dyZXNzLWJ4Om50aC1jaGlsZCg0KSB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3NfYm94KCk7XG4gICAgcmlnaHQ6IC0xOCU7XG4gICAgYm90dG9tOiAyJTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xuICB9XG4gIC5wcm9ncmVzcy1iZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDI1JSk7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2Utb3V0O1xuICB9XG4gIC5wcm9ncmVzcy1iZy52aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAucHJvZ3Jlc3MtYmc6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHotaW5kZXg6IDE7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgfVxuICB9XG4gIC5wcm9ncmVzcy1iZzpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgbWFyZ2luLXRvcDogLTglO1xuICAgIC8vIG1heC13aWR0aDozNzRweDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cbiAgLnByb2dyZXNzLWJnOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwLjcpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgIHdpZHRoOiA3MSU7XG4gICAgfVxuICB9XG4gIC5wcm9ncmVzcy1iZy52aXNpYmxlOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgICB9XG4gIH1cbn1cblxuLmluZmx1ZW5jZXItYm94ZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNTAwcHg7XG4gIHdpZHRoOiAzMDBweDtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcbiAgLmluZmx1ZW5jZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNDglO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAxNTBweCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZS1vdXQ7XG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgdG9wOiAwJTtcbiAgICAgIGxlZnQ6IDklO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgdG9wOiA5JTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHJpZ2h0OiAxMCU7XG4gICAgICB0b3A6IDIyJTtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgbGVmdDogMjAlO1xuICAgICAgYm90dG9tOiA4JTtcbiAgICAgIFxuICAgIH1cbiAgICAmOm50aC1jaGlsZCg1KSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLmluZmx1ZW5jZXIudmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oNzY4KSkge1xuICAgIGhlaWdodDogNTcycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge1xuICAgIGhlaWdodDogNjMycHg7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgxMDI0KSkge1xuICAgIGhlaWdodDogNjcycHg7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgxMjAwKSkge1xuICAgIGhlaWdodDogODM5cHg7XG4gIHdpZHRoOiA0OTZweDtcbiAgfVxufVxuLmluZmx1ZW5jZXJzLWJveHtcbi5pbmZsdWVuY2VyLXByb2ZpbGV7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4xKSA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGN1YmljLWJlemllcigwLDEsMCwwKTtcbiAgYW5pbWF0aW9uOiBtb3ZlaXQyIDQwMG1zIGVhc2UgZm9yd2FyZHM7XG4gIFxuICBpbWd7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IC40cztcbiAgICBcbiAgfVxufVxuLmluZmx1ZW5jZXItcHJvZmlsZS52aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKSA7XG4gIGFuaW1hdGlvbjogbW92ZWl0IDkwMG1zIGVhc2UgZm9yd2FyZHM7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBpbWd7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG59XG5Aa2V5ZnJhbWVzIG1vdmVpdCB7XG4gIDAlIHsgdHJhbnNmb3JtOiAgc2NhbGUzZCgwLjk2LDAuOTYsMSk7IH1cbiAgMjAlIHsgdHJhbnNmb3JtOiAgc2NhbGUzZCgxLjEsMS4xLDEpOyB9XG4gIDQwJSB7IHRyYW5zZm9ybTogIHNjYWxlM2QoMC45OCwwLjk4LDEpOyB9XG4gIDYwJSB7IHRyYW5zZm9ybTogIHNjYWxlM2QoMS4wNSwxLjA1LDEpOyB9XG4gIDgwJSB7IHRyYW5zZm9ybTogIHNjYWxlM2QoMS4wMSwxLjAxLDEpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06ICBzY2FsZTNkKDEsMSwxKTsgfVxufVxuQGtleWZyYW1lcyBtb3ZlaXQyIHtcbiAgMCUgeyB0cmFuc2Zvcm06ICBzY2FsZTNkKDAuOTYsMC45NiwxKTsgfVxuICBcbiAgMCUgeyB0cmFuc2Zvcm06ICBzY2FsZTNkKDAuOTYsMC45NiwxKTsgfVxufVxuIiwiLnRleHQtY29udGVudCB7XG4gIC50ZXh0LWJveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuICAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMjApO1xuICAgIGNvbG9yOiAjMjM2MmJlO1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLnBhcmFfdGV4dCB7XG4gICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNik7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICBmb250LWZhbWlseTogQXZlbmlyLUJvb2s7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge1xuICAgIC50ZXh0LWJveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XG4gICAgICB9XG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDMwKTtcbiAgICAgICAgY29sb3I6ICMyMzYyYmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgICAgIFxuICB9XG59XG4iLCIucHJpY2luZy1ib3gge1xuICAgIG1heC13aWR0aDogOTEwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gODBweDtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG4gICAgLmhlYWQtc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtTWVkaXVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgyNSk7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAjMmMyYzJjO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIC5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMGY2Y2YzO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ub3RlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBDaXJjdWxhclN0ZC1Cb29rO1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNCk7XG4gICAgICAgICAgICBjb2xvcjogIzg3ODc4NztcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDc2OCkpIHtcbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSg0MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge1xuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDUwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wbGFuLWJveCB7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg5OTIpKSB7cGFkZGluZzogMCAyNXB4O31cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oMTAyNCkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmdyaWQtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE5cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg5OTIpKSB7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSgxMDI0KSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucGxhbi1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzBmNmNmMztcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICYuaW5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlOGVmZjg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMyYzJjMmM7XG4gICAgICAgICAgICAgICAgLnRpdGxlLXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICAudGFnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoODcsIDg3LCA4NywgMC4yNSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnByaWNlLXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICAucHJpY2UtdGFncyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYW1vdW50LXRhZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyYzJjMmM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5kaXNjb3VudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLm5vdGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyYzJjMmM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmJ0bi1zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSg0NCwgNDQsIDQ0LCAwLjQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg0NCwgNDQsIDQ0LCAwLjQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtQm9vaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoNDQsIDQ0LCA0NCwgMC40KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZmVhdHVyZS1zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXJrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm1lc3NhZ2Utc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoNDQsIDQ0LCA0NCwgMC40KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucHJvIHtcbiAgICAgICAgICAgICAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgLnRpdGxlLXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLm5hbWUtYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmJhc2ljIHtcbiAgICAgICAgICAgICAgICAudGl0bGUtc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIC5uYW1lLWJveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaW5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAudGl0bGUtc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAubmFtZS1ib3gge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUtc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICAgIC5uYW1lLWJveCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBDaXJjdWxhclN0ZC1Cb2xkO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDMwKTtsaW5lLWhlaWdodDpub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy9pbWFnZXMvcGxhbi1pY29uLnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudGFnIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTQpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS1zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgICAgIC5wcmljZS10YWdzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICAuYW1vdW50LXRhZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtQm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJi5kaXNjb3VudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnJ1cGVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zbS10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtTWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDc2OCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5hbW91bnQtdGFnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDM3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucnVwZWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDM4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm5vdGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNjMGRhZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJ0bi1zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtTWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDE1KTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzBmNmNmMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm5vdGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtQm9vaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxMik7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZlYXR1cmUtc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBDaXJjdWxhclN0ZC1Cb29rO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9jaGVjay1tYXJrLnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDZweCAyMHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg3NjgpKSB7XG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5ne1xuICAgICAgICAgICAgICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXJre1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDZweCAyMHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tZXNzYWdlLXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IENpcmN1bGFyU3RkLUJvb2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTMpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1pbihjYWxjLXJlbSg5OTIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oMTAyNCkpIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDk5MikpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oMTAyNCkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGxhbi1zZXJ2aWNlcyB7XG4gICAgYmFja2dyb3VuZDogI2ZiZTVkNDtcbiAgICBwYWRkaW5nOiA2MHB4IDAgMCAwO1xuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDExMzBweDtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgIH1cbiAgICAudGFnIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZjYzY0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtQm9vaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDE0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtQm9sZDtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgzMCk7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICAudGFnLWxpbmUge1xuICAgICAgICBmb250LWZhbWlseTogQ2lyY3VsYXJTdGQtQm9vaztcbiAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNCk7XG4gICAgICAgIGNvbG9yOiAjMmMyYzJjO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MXB4O1xuICAgIH1cbiAgICAuaW1nLWJveHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgLmxpc3Rpbmcge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBDaXJjdWxhclN0ZC1Cb29rO1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxNCk7XG4gICAgICAgICAgICBjb2xvcjogIzBjMTkyZDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubWFyayB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2NoZWNrLW1hcmsuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxN3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogM3B4IDEwcHggMCAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgICAgXG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWluKGNhbGMtcmVtKDc2OCkpIHtcbiAgICAgICAgLnRhZ3tcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTYpO1xuICAgICAgICB9XG4gICAgICAgIC50aXRsZXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oNDApO1xuICAgICAgICB9XG4gICAgICAgIC50YWctbGluZXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYy1yZW0oMjApO1xuICAgICAgICB9XG4gICAgICAgIC5pbWctYm94e1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAubGlzdGluZ3tcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbGl7XG4gICAgICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDIwKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgICAgICAubWFya3tcbiAgICAgICAgICAgICAgICBtYXJnaW46IDhweCAyMHB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1taW4oY2FsYy1yZW0oOTkyKSkge1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTEzMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCA4MHB4O1xuICAgICAgICB9XG4gICAgICAgIC5saXN0aW5ne1xuICAgICAgICAgICAgcGFkZGluZzogMHB4IDAgMCA1MHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn1cblxuLyogYW5pbWF0aW9uICovXG4uaGVhZC1zZWN0aW9ue1xuICAgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IC41cztcbiAgICB0b3A6IDgwcHg7XG4gICAgb3BhY2l0eTogMDtcbn1cbiAgICAmLmFjdGl2ZSB7XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgPiA6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNXM7XG4gICAgICB9XG4gICAgICA+IDpudGgtY2hpbGQoMikge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuM3M7XG4gICAgICB9XG4gICAgICB9XG4gICAgIFxufVxuLmdyaWQtaXRlbXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogLjhzO1xuICAgIHRvcDogMTQwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICAmLmFjdGl2ZXtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjBzO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjUwcztcbiAgICAgIH1cbn1cbi5wbGFuLWNvbnRlbnR7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IC41cztcbiAgICB0b3A6IDEwMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgJi5hY3RpdmV7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG4uc2VydmljZS1saXN0e1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IC41cztcbiAgICAgICAgbGVmdDogMTAwcHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgXG4gICAgICBcbiAgICAgICAgICAgOm50aC1jaGlsZChuKSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuM3M7XG4gICAgICAgICAgfVxuICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSJdfQ== */
