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

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

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

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

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

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

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

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

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

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

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

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

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

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

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

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

table {
  border-collapse: collapse;
}

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

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

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

button {
  border-radius: 0;
}

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

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

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

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

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

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

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

textarea {
  overflow: auto;
  resize: vertical;
}

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

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

progress {
  vertical-align: baseline;
}

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

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

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

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

output {
  display: inline-block;
}

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

template {
  display: none;
}

[hidden] {
  display: none !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.figure {
  display: inline-block;
}

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

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

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

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

pre {
  display: block;
  font-size: 87.5%;
  color: #212529;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

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

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

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.order-first {
  order: -1;
}

.order-last {
  order: 13;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .order-sm-12 {
    order: 12;
  }

  .offset-sm-0 {
    margin-left: 0;
  }

  .offset-sm-1 {
    margin-left: 8.33333333%;
  }

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

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

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

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

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

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

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

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

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

  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .order-md-12 {
    order: 12;
  }

  .offset-md-0 {
    margin-left: 0;
  }

  .offset-md-1 {
    margin-left: 8.33333333%;
  }

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

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

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

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

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

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

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

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

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

  .offset-md-11 {
    margin-left: 91.66666667%;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .order-lg-12 {
    order: 12;
  }

  .offset-lg-0 {
    margin-left: 0;
  }

  .offset-lg-1 {
    margin-left: 8.33333333%;
  }

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

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

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

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

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

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

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

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

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

  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .order-xl-12 {
    order: 12;
  }

  .offset-xl-0 {
    margin-left: 0;
  }

  .offset-xl-1 {
    margin-left: 8.33333333%;
  }

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

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

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

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

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

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

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

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

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

  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
}
.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
}
.table th,
.table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6;
}
.table tbody + tbody {
  border-top: 2px solid #dee2e6;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.table-dark {
  color: #fff;
  background-color: #343a40;
}
.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: #454d55;
}
.table-dark.table-bordered {
  border: 0;
}
.table-dark.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}
.table-dark.table-hover tbody tr:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.075);
}

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

.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

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

select.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}
select.form-control:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

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

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

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

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

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

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

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

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

textarea.form-control {
  height: auto;
}

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

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

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

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

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  color: #6c757d;
}

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

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

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

.valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem;
}
.form-row > .col > .valid-tooltip, .form-row > [class*=col-] > .valid-tooltip {
  left: 5px;
}

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

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

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

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

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

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

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

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

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

.invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem;
}
.form-row > .col > .invalid-tooltip, .form-row > [class*=col-] > .invalid-tooltip {
  left: 5px;
}

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

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

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

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

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

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

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

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

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

.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: #212529;
  text-decoration: none;
}
.btn:focus, .btn.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.btn.disabled, .btn:disabled {
  opacity: 0.65;
}
.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}
a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none;
}

.btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
.btn-primary:hover {
  color: #fff;
  background-color: #0069d9;
  border-color: #0062cc;
}
.btn-primary:focus, .btn-primary.focus {
  color: #fff;
  background-color: #0069d9;
  border-color: #0062cc;
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}
.btn-primary.disabled, .btn-primary:disabled {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #0062cc;
  border-color: #005cbf;
}
.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}
.btn-secondary:hover {
  color: #fff;
  background-color: #5a6268;
  border-color: #545b62;
}
.btn-secondary:focus, .btn-secondary.focus {
  color: #fff;
  background-color: #5a6268;
  border-color: #545b62;
  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}
.btn-secondary.disabled, .btn-secondary:disabled {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #545b62;
  border-color: #4e555b;
}
.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}

.btn-success {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}
.btn-success:hover {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
}
.btn-success:focus, .btn-success.focus {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}
.btn-success.disabled, .btn-success:disabled {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #1e7e34;
  border-color: #1c7430;
}
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}
.btn-info:hover {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
}
.btn-info:focus, .btn-info.focus {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
}
.btn-info.disabled, .btn-info:disabled {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #117a8b;
  border-color: #10707f;
}
.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
}

.btn-warning {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}
.btn-warning:hover {
  color: #212529;
  background-color: #e0a800;
  border-color: #d39e00;
}
.btn-warning:focus, .btn-warning.focus {
  color: #212529;
  background-color: #e0a800;
  border-color: #d39e00;
  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
}
.btn-warning.disabled, .btn-warning:disabled {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}
.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle {
  color: #212529;
  background-color: #d39e00;
  border-color: #c69500;
}
.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
}

.btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}
.btn-danger:hover {
  color: #fff;
  background-color: #c82333;
  border-color: #bd2130;
}
.btn-danger:focus, .btn-danger.focus {
  color: #fff;
  background-color: #c82333;
  border-color: #bd2130;
  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}
.btn-danger.disabled, .btn-danger:disabled {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}
.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #bd2130;
  border-color: #b21f2d;
}
.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}

.btn-light {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-light:hover {
  color: #212529;
  background-color: #e2e6ea;
  border-color: #dae0e5;
}
.btn-light:focus, .btn-light.focus {
  color: #212529;
  background-color: #e2e6ea;
  border-color: #dae0e5;
  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
}
.btn-light.disabled, .btn-light:disabled {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle {
  color: #212529;
  background-color: #dae0e5;
  border-color: #d3d9df;
}
.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
}

.btn-dark {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}
.btn-dark:hover {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
}
.btn-dark:focus, .btn-dark.focus {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
}
.btn-dark.disabled, .btn-dark:disabled {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}
.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #1d2124;
  border-color: #171a1d;
}
.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
}

.btn-outline-primary {
  color: #007bff;
  border-color: #007bff;
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #007bff;
  background-color: transparent;
}
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-outline-secondary {
  color: #6c757d;
  border-color: #6c757d;
}
.btn-outline-secondary:hover {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  color: #6c757d;
  background-color: transparent;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-outline-success {
  color: #28a745;
  border-color: #28a745;
}
.btn-outline-success:hover {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}
.btn-outline-success:focus, .btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}
.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: #28a745;
  background-color: transparent;
}
.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}
.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-info {
  color: #17a2b8;
  border-color: #17a2b8;
}
.btn-outline-info:hover {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}
.btn-outline-info:focus, .btn-outline-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}
.btn-outline-info.disabled, .btn-outline-info:disabled {
  color: #17a2b8;
  background-color: transparent;
}
.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}
.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-warning {
  color: #ffc107;
  border-color: #ffc107;
}
.btn-outline-warning:hover {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}
.btn-outline-warning:focus, .btn-outline-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  color: #ffc107;
  background-color: transparent;
}
.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}
.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-danger {
  color: #dc3545;
  border-color: #dc3545;
}
.btn-outline-danger:hover {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}
.btn-outline-danger:focus, .btn-outline-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  color: #dc3545;
  background-color: transparent;
}
.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}
.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-light {
  color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-outline-light:hover {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-outline-light:focus, .btn-outline-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}
.btn-outline-light.disabled, .btn-outline-light:disabled {
  color: #f8f9fa;
  background-color: transparent;
}
.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-outline-dark {
  color: #343a40;
  border-color: #343a40;
}
.btn-outline-dark:hover {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}
.btn-outline-dark:focus, .btn-outline-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}
.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  color: #343a40;
  background-color: transparent;
}
.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}
.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-link {
  font-weight: 400;
  color: #007bff;
  text-decoration: none;
}
.btn-link:hover {
  color: #0056b3;
  text-decoration: underline;
}
.btn-link:focus, .btn-link.focus {
  text-decoration: underline;
}
.btn-link:disabled, .btn-link.disabled {
  color: #6c757d;
  pointer-events: none;
}

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

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

.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 0.5rem;
}

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

.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

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

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}

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

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

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #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-left {
  right: auto;
  left: 0;
}

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

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

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

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

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

  .dropdown-menu-xl-right {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

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

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}
.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropleft .dropdown-toggle::after {
  display: none;
}
.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropleft .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}

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

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

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}
.dropdown-item:hover, .dropdown-item:focus {
  color: #16181b;
  text-decoration: none;
  background-color: #e9ecef;
}
.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #007bff;
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: #adb5bd;
  pointer-events: none;
  background-color: transparent;
}

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

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

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

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover {
  z-index: 1;
}
.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}

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

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle-split::before {
  margin-right: 0;
}

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

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

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: -1px;
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

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

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-control-plaintext,
.input-group > .custom-select,
.input-group > .custom-file {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  margin-bottom: 0;
}
.input-group > .form-control + .form-control,
.input-group > .form-control + .custom-select,
.input-group > .form-control + .custom-file,
.input-group > .form-control-plaintext + .form-control,
.input-group > .form-control-plaintext + .custom-select,
.input-group > .form-control-plaintext + .custom-file,
.input-group > .custom-select + .form-control,
.input-group > .custom-select + .custom-select,
.input-group > .custom-select + .custom-file,
.input-group > .custom-file + .form-control,
.input-group > .custom-file + .custom-select,
.input-group > .custom-file + .custom-file {
  margin-left: -1px;
}
.input-group > .form-control:focus,
.input-group > .custom-select:focus,
.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
  z-index: 3;
}
.input-group > .custom-file .custom-file-input:focus {
  z-index: 4;
}
.input-group > .form-control:not(:first-child),
.input-group > .custom-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .custom-file {
  display: flex;
  align-items: center;
}
.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .custom-file:not(:first-child) .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group:not(.has-validation) > .form-control:not(:last-child),
.input-group:not(.has-validation) > .custom-select:not(:last-child),
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label,
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > .form-control:nth-last-child(n+3),
.input-group.has-validation > .custom-select:nth-last-child(n+3),
.input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label,
.input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group-prepend,
.input-group-append {
  display: flex;
}
.input-group-prepend .btn,
.input-group-append .btn {
  position: relative;
  z-index: 2;
}
.input-group-prepend .btn:focus,
.input-group-append .btn:focus {
  z-index: 3;
}
.input-group-prepend .btn + .btn,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-append .btn + .btn,
.input-group-append .btn + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn {
  margin-left: -1px;
}

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

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

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}
.input-group-text input[type=radio],
.input-group-text input[type=checkbox] {
  margin-top: 0;
}

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

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

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

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

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

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

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

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

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

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0;
}
.custom-control-input:checked ~ .custom-control-label::before {
  color: #fff;
  border-color: #007bff;
  background-color: #007bff;
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #80bdff;
}
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  color: #fff;
  background-color: #b3d7ff;
  border-color: #b3d7ff;
}
.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
  color: #6c757d;
}
.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
  background-color: #e9ecef;
}

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}
.custom-control-label::before {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: #fff;
  border: #adb5bd solid 1px;
}
.custom-control-label::after {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background: 50%/50% 50% no-repeat;
}

.custom-checkbox .custom-control-label::before {
  border-radius: 0.25rem;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #007bff;
  background-color: #007bff;
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}
.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

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

.custom-switch {
  padding-left: 2.25rem;
}
.custom-switch .custom-control-label::before {
  left: -2.25rem;
  width: 1.75rem;
  pointer-events: all;
  border-radius: 0.5rem;
}
.custom-switch .custom-control-label::after {
  top: calc(0.25rem + 2px);
  left: calc(-2.25rem + 2px);
  width: calc(1rem - 4px);
  height: calc(1rem - 4px);
  background-color: #adb5bd;
  border-radius: 0.5rem;
  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-switch .custom-control-label::after {
    transition: none;
  }
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #fff;
  transform: translateX(0.75rem);
}
.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  appearance: none;
}
.custom-select:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.custom-select:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}
.custom-select[multiple], .custom-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 0.75rem;
  background-image: none;
}
.custom-select:disabled {
  color: #6c757d;
  background-color: #e9ecef;
}
.custom-select::-ms-expand {
  display: none;
}
.custom-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}

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

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

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

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin: 0;
  overflow: hidden;
  opacity: 0;
}
.custom-file-input:focus ~ .custom-file-label {
  border-color: #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label {
  background-color: #e9ecef;
}
.custom-file-input:lang(en) ~ .custom-file-label::after {
  content: "Browse";
}
.custom-file-input ~ .custom-file-label[data-browse]::after {
  content: attr(data-browse);
}

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  overflow: hidden;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}
.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: calc(1.5em + 0.75rem);
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  content: "Browse";
  background-color: #e9ecef;
  border-left: inherit;
  border-radius: 0 0.25rem 0.25rem 0;
}

.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  appearance: none;
}
.custom-range:focus {
  outline: 0;
}
.custom-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.custom-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.custom-range:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.custom-range::-moz-focus-outer {
  border: 0;
}
.custom-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-webkit-slider-thumb {
    transition: none;
  }
}
.custom-range::-webkit-slider-thumb:active {
  background-color: #b3d7ff;
}
.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-moz-range-thumb {
    transition: none;
  }
}
.custom-range::-moz-range-thumb:active {
  background-color: #b3d7ff;
}
.custom-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: 0;
  margin-right: 0.2rem;
  margin-left: 0.2rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-ms-thumb {
    transition: none;
  }
}
.custom-range::-ms-thumb:active {
  background-color: #b3d7ff;
}
.custom-range::-ms-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: 0.5rem;
}
.custom-range::-ms-fill-lower {
  background-color: #dee2e6;
  border-radius: 1rem;
}
.custom-range::-ms-fill-upper {
  margin-right: 15px;
  background-color: #dee2e6;
  border-radius: 1rem;
}
.custom-range:disabled::-webkit-slider-thumb {
  background-color: #adb5bd;
}
.custom-range:disabled::-webkit-slider-runnable-track {
  cursor: default;
}
.custom-range:disabled::-moz-range-thumb {
  background-color: #adb5bd;
}
.custom-range:disabled::-moz-range-track {
  cursor: default;
}
.custom-range:disabled::-ms-thumb {
  background-color: #adb5bd;
}

.custom-control-label::before,
.custom-file-label,
.custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-control-label::before,
.custom-file-label,
.custom-select {
    transition: none;
  }
}

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

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
}
.nav-link:hover, .nav-link:focus {
  text-decoration: none;
}
.nav-link.disabled {
  color: #6c757d;
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}
.nav-tabs .nav-link {
  margin-bottom: -1px;
  border: 1px solid transparent;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  border-color: #e9ecef #e9ecef #dee2e6;
}
.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

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

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

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

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

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
}
.navbar .container,
.navbar .container-fluid,
.navbar .container-sm,
.navbar .container-md,
.navbar .container-lg,
.navbar .container-xl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  display: inline-block;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  text-decoration: none;
}

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link {
  padding-right: 0;
  padding-left: 0;
}
.navbar-nav .dropdown-menu {
  position: static;
  float: none;
}

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

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

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}
.navbar-toggler:hover, .navbar-toggler:focus {
  text-decoration: none;
}

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

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

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

.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.5);
}
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
}
.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(0, 0, 0, 0.3);
}
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0.1);
}
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.5);
}
.navbar-light .navbar-text a {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-dark .navbar-brand {
  color: #fff;
}
.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
  color: #fff;
}
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5);
}
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 0.75);
}
.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.25);
}
.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff;
}
.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1);
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5);
}
.navbar-dark .navbar-text a {
  color: #fff;
}
.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
  color: #fff;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

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

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

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

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

.card-link:hover {
  text-decoration: none;
}
.card-link + .card-link {
  margin-left: 1.25rem;
}

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

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

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

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

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
  border-radius: calc(0.25rem - 1px);
}

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

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

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

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

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

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

.accordion {
  overflow-anchor: none;
}
.accordion > .card {
  overflow: hidden;
}
.accordion > .card:not(:last-of-type) {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.accordion > .card:not(:first-of-type) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.accordion > .card > .card-header {
  border-radius: 0;
  margin-bottom: -1px;
}

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

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: #6c757d;
  content: "/";
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline;
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none;
}
.breadcrumb-item.active {
  color: #6c757d;
}

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

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #007bff;
  background-color: #fff;
  border: 1px solid #dee2e6;
}
.page-link:hover {
  z-index: 2;
  color: #0056b3;
  text-decoration: none;
  background-color: #e9ecef;
  border-color: #dee2e6;
}
.page-link:focus {
  z-index: 3;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.page-item.active .page-link {
  z-index: 3;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
.page-item.disabled .page-link {
  color: #6c757d;
  pointer-events: none;
  cursor: auto;
  background-color: #fff;
  border-color: #dee2e6;
}

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5;
}
.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
}
.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem;
}
.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.2rem;
  border-bottom-right-radius: 0.2rem;
}

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .badge {
    transition: none;
  }
}
a.badge:hover, a.badge:focus {
  text-decoration: none;
}

.badge:empty {
  display: none;
}

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

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

.badge-primary {
  color: #fff;
  background-color: #007bff;
}
a.badge-primary:hover, a.badge-primary:focus {
  color: #fff;
  background-color: #0062cc;
}
a.badge-primary:focus, a.badge-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.badge-secondary {
  color: #fff;
  background-color: #6c757d;
}
a.badge-secondary:hover, a.badge-secondary:focus {
  color: #fff;
  background-color: #545b62;
}
a.badge-secondary:focus, a.badge-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.badge-success {
  color: #fff;
  background-color: #28a745;
}
a.badge-success:hover, a.badge-success:focus {
  color: #fff;
  background-color: #1e7e34;
}
a.badge-success:focus, a.badge-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.badge-info {
  color: #fff;
  background-color: #17a2b8;
}
a.badge-info:hover, a.badge-info:focus {
  color: #fff;
  background-color: #117a8b;
}
a.badge-info:focus, a.badge-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.badge-warning {
  color: #212529;
  background-color: #ffc107;
}
a.badge-warning:hover, a.badge-warning:focus {
  color: #212529;
  background-color: #d39e00;
}
a.badge-warning:focus, a.badge-warning.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.badge-danger {
  color: #fff;
  background-color: #dc3545;
}
a.badge-danger:hover, a.badge-danger:focus {
  color: #fff;
  background-color: #bd2130;
}
a.badge-danger:focus, a.badge-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.badge-light {
  color: #212529;
  background-color: #f8f9fa;
}
a.badge-light:hover, a.badge-light:focus {
  color: #212529;
  background-color: #dae0e5;
}
a.badge-light:focus, a.badge-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.badge-dark {
  color: #fff;
  background-color: #343a40;
}
a.badge-dark:hover, a.badge-dark:focus {
  color: #fff;
  background-color: #1d2124;
}
a.badge-dark:focus, a.badge-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  border-radius: 0.3rem;
}
@media (min-width: 576px) {
  .jumbotron {
    padding: 4rem 2rem;
  }
}

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

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

.alert-heading {
  color: inherit;
}

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

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

.alert-primary {
  color: #004085;
  background-color: #cce5ff;
  border-color: #b8daff;
}
.alert-primary hr {
  border-top-color: #9fcdff;
}
.alert-primary .alert-link {
  color: #002752;
}

.alert-secondary {
  color: #383d41;
  background-color: #e2e3e5;
  border-color: #d6d8db;
}
.alert-secondary hr {
  border-top-color: #c8cbcf;
}
.alert-secondary .alert-link {
  color: #202326;
}

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}
.alert-success hr {
  border-top-color: #b1dfbb;
}
.alert-success .alert-link {
  color: #0b2e13;
}

.alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb;
}
.alert-info hr {
  border-top-color: #abdde5;
}
.alert-info .alert-link {
  color: #062c33;
}

.alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba;
}
.alert-warning hr {
  border-top-color: #ffe8a1;
}
.alert-warning .alert-link {
  color: #533f03;
}

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}
.alert-danger hr {
  border-top-color: #f1b0b7;
}
.alert-danger .alert-link {
  color: #491217;
}

.alert-light {
  color: #818182;
  background-color: #fefefe;
  border-color: #fdfdfe;
}
.alert-light hr {
  border-top-color: #ececf6;
}
.alert-light .alert-link {
  color: #686868;
}

.alert-dark {
  color: #1b1e21;
  background-color: #d6d8d9;
  border-color: #c6c8ca;
}
.alert-dark hr {
  border-top-color: #b9bbbe;
}
.alert-dark .alert-link {
  color: #040505;
}

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  line-height: 0;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #007bff;
  transition: width 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

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

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

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

.media-body {
  flex: 1;
}

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

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

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: #6c757d;
  pointer-events: none;
  background-color: #fff;
}
.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: -1px;
  border-top-width: 1px;
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child {
  border-bottom-left-radius: 0.25rem;
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: 0.25rem;
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: 1px;
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: -1px;
  border-left-width: 1px;
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 1px;
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

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

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

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

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

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

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

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

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

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.5;
}
.close:hover {
  color: #000;
  text-decoration: none;
}
.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: 0.75;
}

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

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

.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  border-radius: 0.25rem;
}
.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}
.toast.showing {
  opacity: 1;
}
.toast.show {
  display: block;
  opacity: 1;
}
.toast.hide {
  display: none;
}

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

.toast-body {
  padding: 0.75rem;
}

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

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

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem);
}
.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 1rem);
  overflow: hidden;
}
.modal-dialog-scrollable .modal-header,
.modal-dialog-scrollable .modal-footer {
  flex-shrink: 0;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}
.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 1rem);
  height: min-content;
  content: "";
}
.modal-dialog-centered.modal-dialog-scrollable {
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.modal-dialog-centered.modal-dialog-scrollable .modal-content {
  max-height: none;
}
.modal-dialog-centered.modal-dialog-scrollable::before {
  content: none;
}

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }

  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem);
  }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem);
  }

  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }
  .modal-dialog-centered::before {
    height: calc(100vh - 3.5rem);
    height: min-content;
  }

  .modal-sm {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
.modal-xl {
    max-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: 0.9;
}
.tooltip .arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}
.tooltip .arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top, .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", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
}
.popover .arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
  margin: 0 0.3rem;
}
.popover .arrow::before, .popover .arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-popover-top, .bs-popover-auto[x-placement^=top] {
  margin-bottom: 0.5rem;
}
.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=top] > .arrow {
  bottom: calc(-0.5rem - 1px);
}
.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=top] > .arrow::before {
  bottom: 0;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=top] > .arrow::after {
  bottom: 1px;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: #fff;
}

.bs-popover-right, .bs-popover-auto[x-placement^=right] {
  margin-left: 0.5rem;
}
.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=right] > .arrow {
  left: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}
.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=right] > .arrow::before {
  left: 0;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=right] > .arrow::after {
  left: 1px;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: #fff;
}

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

.bs-popover-left, .bs-popover-auto[x-placement^=left] {
  margin-right: 0.5rem;
}
.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=left] > .arrow {
  right: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}
.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=left] > .arrow::before {
  right: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=left] > .arrow::after {
  right: 1px;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #fff;
}

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

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

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
.carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: 50%/100% 100% no-repeat;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}
.carousel-indicators li {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators li {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: 0.75s linear infinite spinner-border;
}

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

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

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

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
.spinner-grow {
    animation-duration: 1.5s;
  }
}
.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

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

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #0062cc !important;
}

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

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #545b62 !important;
}

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

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #1e7e34 !important;
}

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

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #117a8b !important;
}

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

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #d39e00 !important;
}

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

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #bd2130 !important;
}

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

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #dae0e5 !important;
}

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

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1d2124 !important;
}

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

.bg-transparent {
  background-color: transparent !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-right {
  border-right: 1px solid #dee2e6 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.border-left {
  border-left: 1px solid #dee2e6 !important;
}

.border-0 {
  border: 0 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left-0 {
  border-left: 0 !important;
}

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

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

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

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

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

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

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

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

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

.rounded-sm {
  border-radius: 0.2rem !important;
}

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

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

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

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

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

.rounded-lg {
  border-radius: 0.3rem !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: 50rem !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }

  .d-sm-inline {
    display: inline !important;
  }

  .d-sm-inline-block {
    display: inline-block !important;
  }

  .d-sm-block {
    display: block !important;
  }

  .d-sm-table {
    display: table !important;
  }

  .d-sm-table-row {
    display: table-row !important;
  }

  .d-sm-table-cell {
    display: table-cell !important;
  }

  .d-sm-flex {
    display: flex !important;
  }

  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }

  .d-md-inline {
    display: inline !important;
  }

  .d-md-inline-block {
    display: inline-block !important;
  }

  .d-md-block {
    display: block !important;
  }

  .d-md-table {
    display: table !important;
  }

  .d-md-table-row {
    display: table-row !important;
  }

  .d-md-table-cell {
    display: table-cell !important;
  }

  .d-md-flex {
    display: flex !important;
  }

  .d-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }

  .d-lg-inline {
    display: inline !important;
  }

  .d-lg-inline-block {
    display: inline-block !important;
  }

  .d-lg-block {
    display: block !important;
  }

  .d-lg-table {
    display: table !important;
  }

  .d-lg-table-row {
    display: table-row !important;
  }

  .d-lg-table-cell {
    display: table-cell !important;
  }

  .d-lg-flex {
    display: flex !important;
  }

  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }

  .d-xl-inline {
    display: inline !important;
  }

  .d-xl-inline-block {
    display: inline-block !important;
  }

  .d-xl-block {
    display: block !important;
  }

  .d-xl-table {
    display: table !important;
  }

  .d-xl-table-row {
    display: table-row !important;
  }

  .d-xl-table-cell {
    display: table-cell !important;
  }

  .d-xl-flex {
    display: flex !important;
  }

  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}
@media print {
  .d-print-none {
    display: none !important;
  }

  .d-print-inline {
    display: inline !important;
  }

  .d-print-inline-block {
    display: inline-block !important;
  }

  .d-print-block {
    display: block !important;
  }

  .d-print-table {
    display: table !important;
  }

  .d-print-table-row {
    display: table-row !important;
  }

  .d-print-table-cell {
    display: table-cell !important;
  }

  .d-print-flex {
    display: flex !important;
  }

  .d-print-inline-flex {
    display: inline-flex !important;
  }
}
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.embed-responsive::before {
  display: block;
  content: "";
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-21by9::before {
  padding-top: 42.85714286%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.justify-content-center {
  justify-content: center !important;
}

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

.justify-content-around {
  justify-content: space-around !important;
}

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

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

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

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

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

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

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

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

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

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

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

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

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .justify-content-sm-around {
    justify-content: space-around !important;
  }

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

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

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

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

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

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

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

  .align-content-sm-center {
    align-content: center !important;
  }

  .align-content-sm-between {
    align-content: space-between !important;
  }

  .align-content-sm-around {
    align-content: space-around !important;
  }

  .align-content-sm-stretch {
    align-content: stretch !important;
  }

  .align-self-sm-auto {
    align-self: auto !important;
  }

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

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

  .align-self-sm-center {
    align-self: center !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .justify-content-md-around {
    justify-content: space-around !important;
  }

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

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

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

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

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

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

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

  .align-content-md-center {
    align-content: center !important;
  }

  .align-content-md-between {
    align-content: space-between !important;
  }

  .align-content-md-around {
    align-content: space-around !important;
  }

  .align-content-md-stretch {
    align-content: stretch !important;
  }

  .align-self-md-auto {
    align-self: auto !important;
  }

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

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

  .align-self-md-center {
    align-self: center !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .justify-content-lg-around {
    justify-content: space-around !important;
  }

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

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

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

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

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

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

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

  .align-content-lg-center {
    align-content: center !important;
  }

  .align-content-lg-between {
    align-content: space-between !important;
  }

  .align-content-lg-around {
    align-content: space-around !important;
  }

  .align-content-lg-stretch {
    align-content: stretch !important;
  }

  .align-self-lg-auto {
    align-self: auto !important;
  }

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

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

  .align-self-lg-center {
    align-self: center !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .justify-content-xl-around {
    justify-content: space-around !important;
  }

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

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

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

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

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

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

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

  .align-content-xl-center {
    align-content: center !important;
  }

  .align-content-xl-between {
    align-content: space-between !important;
  }

  .align-content-xl-around {
    align-content: space-around !important;
  }

  .align-content-xl-stretch {
    align-content: stretch !important;
  }

  .align-self-xl-auto {
    align-self: auto !important;
  }

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

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

  .align-self-xl-center {
    align-self: center !important;
  }

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

  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}
.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-none {
  float: none !important;
}

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

  .float-sm-right {
    float: right !important;
  }

  .float-sm-none {
    float: none !important;
  }
}
@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }

  .float-md-right {
    float: right !important;
  }

  .float-md-none {
    float: none !important;
  }
}
@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }

  .float-lg-right {
    float: right !important;
  }

  .float-lg-none {
    float: none !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }

  .float-xl-right {
    float: right !important;
  }

  .float-xl-none {
    float: none !important;
  }
}
.user-select-all {
  user-select: all !important;
}

.user-select-auto {
  user-select: auto !important;
}

.user-select-none {
  user-select: none !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.vw-100 {
  width: 100vw !important;
}

.vh-100 {
  height: 100vh !important;
}

.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.mt-5,
.my-5 {
  margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.pt-5,
.py-5 {
  padding-top: 3rem !important;
}

.pr-5,
.px-5 {
  padding-right: 3rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
  padding-left: 3rem !important;
}

.m-n1 {
  margin: -0.25rem !important;
}

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important;
}

.mr-n1,
.mx-n1 {
  margin-right: -0.25rem !important;
}

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important;
}

.ml-n1,
.mx-n1 {
  margin-left: -0.25rem !important;
}

.m-n2 {
  margin: -0.5rem !important;
}

.mt-n2,
.my-n2 {
  margin-top: -0.5rem !important;
}

.mr-n2,
.mx-n2 {
  margin-right: -0.5rem !important;
}

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important;
}

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important;
}

.m-n3 {
  margin: -1rem !important;
}

.mt-n3,
.my-n3 {
  margin-top: -1rem !important;
}

.mr-n3,
.mx-n3 {
  margin-right: -1rem !important;
}

.mb-n3,
.my-n3 {
  margin-bottom: -1rem !important;
}

.ml-n3,
.mx-n3 {
  margin-left: -1rem !important;
}

.m-n4 {
  margin: -1.5rem !important;
}

.mt-n4,
.my-n4 {
  margin-top: -1.5rem !important;
}

.mr-n4,
.mx-n4 {
  margin-right: -1.5rem !important;
}

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important;
}

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important;
}

.m-n5 {
  margin: -3rem !important;
}

.mt-n5,
.my-n5 {
  margin-top: -3rem !important;
}

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important;
}

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important;
}

.ml-n5,
.mx-n5 {
  margin-left: -3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }

  .mt-sm-0,
.my-sm-0 {
    margin-top: 0 !important;
  }

  .mr-sm-0,
.mx-sm-0 {
    margin-right: 0 !important;
  }

  .mb-sm-0,
.my-sm-0 {
    margin-bottom: 0 !important;
  }

  .ml-sm-0,
.mx-sm-0 {
    margin-left: 0 !important;
  }

  .m-sm-1 {
    margin: 0.25rem !important;
  }

  .mt-sm-1,
.my-sm-1 {
    margin-top: 0.25rem !important;
  }

  .mr-sm-1,
.mx-sm-1 {
    margin-right: 0.25rem !important;
  }

  .mb-sm-1,
.my-sm-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-sm-1,
.mx-sm-1 {
    margin-left: 0.25rem !important;
  }

  .m-sm-2 {
    margin: 0.5rem !important;
  }

  .mt-sm-2,
.my-sm-2 {
    margin-top: 0.5rem !important;
  }

  .mr-sm-2,
.mx-sm-2 {
    margin-right: 0.5rem !important;
  }

  .mb-sm-2,
.my-sm-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-sm-2,
.mx-sm-2 {
    margin-left: 0.5rem !important;
  }

  .m-sm-3 {
    margin: 1rem !important;
  }

  .mt-sm-3,
.my-sm-3 {
    margin-top: 1rem !important;
  }

  .mr-sm-3,
.mx-sm-3 {
    margin-right: 1rem !important;
  }

  .mb-sm-3,
.my-sm-3 {
    margin-bottom: 1rem !important;
  }

  .ml-sm-3,
.mx-sm-3 {
    margin-left: 1rem !important;
  }

  .m-sm-4 {
    margin: 1.5rem !important;
  }

  .mt-sm-4,
.my-sm-4 {
    margin-top: 1.5rem !important;
  }

  .mr-sm-4,
.mx-sm-4 {
    margin-right: 1.5rem !important;
  }

  .mb-sm-4,
.my-sm-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-sm-4,
.mx-sm-4 {
    margin-left: 1.5rem !important;
  }

  .m-sm-5 {
    margin: 3rem !important;
  }

  .mt-sm-5,
.my-sm-5 {
    margin-top: 3rem !important;
  }

  .mr-sm-5,
.mx-sm-5 {
    margin-right: 3rem !important;
  }

  .mb-sm-5,
.my-sm-5 {
    margin-bottom: 3rem !important;
  }

  .ml-sm-5,
.mx-sm-5 {
    margin-left: 3rem !important;
  }

  .p-sm-0 {
    padding: 0 !important;
  }

  .pt-sm-0,
.py-sm-0 {
    padding-top: 0 !important;
  }

  .pr-sm-0,
.px-sm-0 {
    padding-right: 0 !important;
  }

  .pb-sm-0,
.py-sm-0 {
    padding-bottom: 0 !important;
  }

  .pl-sm-0,
.px-sm-0 {
    padding-left: 0 !important;
  }

  .p-sm-1 {
    padding: 0.25rem !important;
  }

  .pt-sm-1,
.py-sm-1 {
    padding-top: 0.25rem !important;
  }

  .pr-sm-1,
.px-sm-1 {
    padding-right: 0.25rem !important;
  }

  .pb-sm-1,
.py-sm-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-sm-1,
.px-sm-1 {
    padding-left: 0.25rem !important;
  }

  .p-sm-2 {
    padding: 0.5rem !important;
  }

  .pt-sm-2,
.py-sm-2 {
    padding-top: 0.5rem !important;
  }

  .pr-sm-2,
.px-sm-2 {
    padding-right: 0.5rem !important;
  }

  .pb-sm-2,
.py-sm-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-sm-2,
.px-sm-2 {
    padding-left: 0.5rem !important;
  }

  .p-sm-3 {
    padding: 1rem !important;
  }

  .pt-sm-3,
.py-sm-3 {
    padding-top: 1rem !important;
  }

  .pr-sm-3,
.px-sm-3 {
    padding-right: 1rem !important;
  }

  .pb-sm-3,
.py-sm-3 {
    padding-bottom: 1rem !important;
  }

  .pl-sm-3,
.px-sm-3 {
    padding-left: 1rem !important;
  }

  .p-sm-4 {
    padding: 1.5rem !important;
  }

  .pt-sm-4,
.py-sm-4 {
    padding-top: 1.5rem !important;
  }

  .pr-sm-4,
.px-sm-4 {
    padding-right: 1.5rem !important;
  }

  .pb-sm-4,
.py-sm-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-sm-4,
.px-sm-4 {
    padding-left: 1.5rem !important;
  }

  .p-sm-5 {
    padding: 3rem !important;
  }

  .pt-sm-5,
.py-sm-5 {
    padding-top: 3rem !important;
  }

  .pr-sm-5,
.px-sm-5 {
    padding-right: 3rem !important;
  }

  .pb-sm-5,
.py-sm-5 {
    padding-bottom: 3rem !important;
  }

  .pl-sm-5,
.px-sm-5 {
    padding-left: 3rem !important;
  }

  .m-sm-n1 {
    margin: -0.25rem !important;
  }

  .mt-sm-n1,
.my-sm-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-sm-n1,
.mx-sm-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-sm-n1,
.my-sm-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-sm-n1,
.mx-sm-n1 {
    margin-left: -0.25rem !important;
  }

  .m-sm-n2 {
    margin: -0.5rem !important;
  }

  .mt-sm-n2,
.my-sm-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-sm-n2,
.mx-sm-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-sm-n2,
.my-sm-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-sm-n2,
.mx-sm-n2 {
    margin-left: -0.5rem !important;
  }

  .m-sm-n3 {
    margin: -1rem !important;
  }

  .mt-sm-n3,
.my-sm-n3 {
    margin-top: -1rem !important;
  }

  .mr-sm-n3,
.mx-sm-n3 {
    margin-right: -1rem !important;
  }

  .mb-sm-n3,
.my-sm-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-sm-n3,
.mx-sm-n3 {
    margin-left: -1rem !important;
  }

  .m-sm-n4 {
    margin: -1.5rem !important;
  }

  .mt-sm-n4,
.my-sm-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-sm-n4,
.mx-sm-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-sm-n4,
.my-sm-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-sm-n4,
.mx-sm-n4 {
    margin-left: -1.5rem !important;
  }

  .m-sm-n5 {
    margin: -3rem !important;
  }

  .mt-sm-n5,
.my-sm-n5 {
    margin-top: -3rem !important;
  }

  .mr-sm-n5,
.mx-sm-n5 {
    margin-right: -3rem !important;
  }

  .mb-sm-n5,
.my-sm-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-sm-n5,
.mx-sm-n5 {
    margin-left: -3rem !important;
  }

  .m-sm-auto {
    margin: auto !important;
  }

  .mt-sm-auto,
.my-sm-auto {
    margin-top: auto !important;
  }

  .mr-sm-auto,
.mx-sm-auto {
    margin-right: auto !important;
  }

  .mb-sm-auto,
.my-sm-auto {
    margin-bottom: auto !important;
  }

  .ml-sm-auto,
.mx-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }

  .mt-md-0,
.my-md-0 {
    margin-top: 0 !important;
  }

  .mr-md-0,
.mx-md-0 {
    margin-right: 0 !important;
  }

  .mb-md-0,
.my-md-0 {
    margin-bottom: 0 !important;
  }

  .ml-md-0,
.mx-md-0 {
    margin-left: 0 !important;
  }

  .m-md-1 {
    margin: 0.25rem !important;
  }

  .mt-md-1,
.my-md-1 {
    margin-top: 0.25rem !important;
  }

  .mr-md-1,
.mx-md-1 {
    margin-right: 0.25rem !important;
  }

  .mb-md-1,
.my-md-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-md-1,
.mx-md-1 {
    margin-left: 0.25rem !important;
  }

  .m-md-2 {
    margin: 0.5rem !important;
  }

  .mt-md-2,
.my-md-2 {
    margin-top: 0.5rem !important;
  }

  .mr-md-2,
.mx-md-2 {
    margin-right: 0.5rem !important;
  }

  .mb-md-2,
.my-md-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-md-2,
.mx-md-2 {
    margin-left: 0.5rem !important;
  }

  .m-md-3 {
    margin: 1rem !important;
  }

  .mt-md-3,
.my-md-3 {
    margin-top: 1rem !important;
  }

  .mr-md-3,
.mx-md-3 {
    margin-right: 1rem !important;
  }

  .mb-md-3,
.my-md-3 {
    margin-bottom: 1rem !important;
  }

  .ml-md-3,
.mx-md-3 {
    margin-left: 1rem !important;
  }

  .m-md-4 {
    margin: 1.5rem !important;
  }

  .mt-md-4,
.my-md-4 {
    margin-top: 1.5rem !important;
  }

  .mr-md-4,
.mx-md-4 {
    margin-right: 1.5rem !important;
  }

  .mb-md-4,
.my-md-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-md-4,
.mx-md-4 {
    margin-left: 1.5rem !important;
  }

  .m-md-5 {
    margin: 3rem !important;
  }

  .mt-md-5,
.my-md-5 {
    margin-top: 3rem !important;
  }

  .mr-md-5,
.mx-md-5 {
    margin-right: 3rem !important;
  }

  .mb-md-5,
.my-md-5 {
    margin-bottom: 3rem !important;
  }

  .ml-md-5,
.mx-md-5 {
    margin-left: 3rem !important;
  }

  .p-md-0 {
    padding: 0 !important;
  }

  .pt-md-0,
.py-md-0 {
    padding-top: 0 !important;
  }

  .pr-md-0,
.px-md-0 {
    padding-right: 0 !important;
  }

  .pb-md-0,
.py-md-0 {
    padding-bottom: 0 !important;
  }

  .pl-md-0,
.px-md-0 {
    padding-left: 0 !important;
  }

  .p-md-1 {
    padding: 0.25rem !important;
  }

  .pt-md-1,
.py-md-1 {
    padding-top: 0.25rem !important;
  }

  .pr-md-1,
.px-md-1 {
    padding-right: 0.25rem !important;
  }

  .pb-md-1,
.py-md-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-md-1,
.px-md-1 {
    padding-left: 0.25rem !important;
  }

  .p-md-2 {
    padding: 0.5rem !important;
  }

  .pt-md-2,
.py-md-2 {
    padding-top: 0.5rem !important;
  }

  .pr-md-2,
.px-md-2 {
    padding-right: 0.5rem !important;
  }

  .pb-md-2,
.py-md-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-md-2,
.px-md-2 {
    padding-left: 0.5rem !important;
  }

  .p-md-3 {
    padding: 1rem !important;
  }

  .pt-md-3,
.py-md-3 {
    padding-top: 1rem !important;
  }

  .pr-md-3,
.px-md-3 {
    padding-right: 1rem !important;
  }

  .pb-md-3,
.py-md-3 {
    padding-bottom: 1rem !important;
  }

  .pl-md-3,
.px-md-3 {
    padding-left: 1rem !important;
  }

  .p-md-4 {
    padding: 1.5rem !important;
  }

  .pt-md-4,
.py-md-4 {
    padding-top: 1.5rem !important;
  }

  .pr-md-4,
.px-md-4 {
    padding-right: 1.5rem !important;
  }

  .pb-md-4,
.py-md-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-md-4,
.px-md-4 {
    padding-left: 1.5rem !important;
  }

  .p-md-5 {
    padding: 3rem !important;
  }

  .pt-md-5,
.py-md-5 {
    padding-top: 3rem !important;
  }

  .pr-md-5,
.px-md-5 {
    padding-right: 3rem !important;
  }

  .pb-md-5,
.py-md-5 {
    padding-bottom: 3rem !important;
  }

  .pl-md-5,
.px-md-5 {
    padding-left: 3rem !important;
  }

  .m-md-n1 {
    margin: -0.25rem !important;
  }

  .mt-md-n1,
.my-md-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-md-n1,
.mx-md-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-md-n1,
.my-md-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-md-n1,
.mx-md-n1 {
    margin-left: -0.25rem !important;
  }

  .m-md-n2 {
    margin: -0.5rem !important;
  }

  .mt-md-n2,
.my-md-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-md-n2,
.mx-md-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-md-n2,
.my-md-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-md-n2,
.mx-md-n2 {
    margin-left: -0.5rem !important;
  }

  .m-md-n3 {
    margin: -1rem !important;
  }

  .mt-md-n3,
.my-md-n3 {
    margin-top: -1rem !important;
  }

  .mr-md-n3,
.mx-md-n3 {
    margin-right: -1rem !important;
  }

  .mb-md-n3,
.my-md-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-md-n3,
.mx-md-n3 {
    margin-left: -1rem !important;
  }

  .m-md-n4 {
    margin: -1.5rem !important;
  }

  .mt-md-n4,
.my-md-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-md-n4,
.mx-md-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-md-n4,
.my-md-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-md-n4,
.mx-md-n4 {
    margin-left: -1.5rem !important;
  }

  .m-md-n5 {
    margin: -3rem !important;
  }

  .mt-md-n5,
.my-md-n5 {
    margin-top: -3rem !important;
  }

  .mr-md-n5,
.mx-md-n5 {
    margin-right: -3rem !important;
  }

  .mb-md-n5,
.my-md-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-md-n5,
.mx-md-n5 {
    margin-left: -3rem !important;
  }

  .m-md-auto {
    margin: auto !important;
  }

  .mt-md-auto,
.my-md-auto {
    margin-top: auto !important;
  }

  .mr-md-auto,
.mx-md-auto {
    margin-right: auto !important;
  }

  .mb-md-auto,
.my-md-auto {
    margin-bottom: auto !important;
  }

  .ml-md-auto,
.mx-md-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }

  .mt-lg-0,
.my-lg-0 {
    margin-top: 0 !important;
  }

  .mr-lg-0,
.mx-lg-0 {
    margin-right: 0 !important;
  }

  .mb-lg-0,
.my-lg-0 {
    margin-bottom: 0 !important;
  }

  .ml-lg-0,
.mx-lg-0 {
    margin-left: 0 !important;
  }

  .m-lg-1 {
    margin: 0.25rem !important;
  }

  .mt-lg-1,
.my-lg-1 {
    margin-top: 0.25rem !important;
  }

  .mr-lg-1,
.mx-lg-1 {
    margin-right: 0.25rem !important;
  }

  .mb-lg-1,
.my-lg-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-lg-1,
.mx-lg-1 {
    margin-left: 0.25rem !important;
  }

  .m-lg-2 {
    margin: 0.5rem !important;
  }

  .mt-lg-2,
.my-lg-2 {
    margin-top: 0.5rem !important;
  }

  .mr-lg-2,
.mx-lg-2 {
    margin-right: 0.5rem !important;
  }

  .mb-lg-2,
.my-lg-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-lg-2,
.mx-lg-2 {
    margin-left: 0.5rem !important;
  }

  .m-lg-3 {
    margin: 1rem !important;
  }

  .mt-lg-3,
.my-lg-3 {
    margin-top: 1rem !important;
  }

  .mr-lg-3,
.mx-lg-3 {
    margin-right: 1rem !important;
  }

  .mb-lg-3,
.my-lg-3 {
    margin-bottom: 1rem !important;
  }

  .ml-lg-3,
.mx-lg-3 {
    margin-left: 1rem !important;
  }

  .m-lg-4 {
    margin: 1.5rem !important;
  }

  .mt-lg-4,
.my-lg-4 {
    margin-top: 1.5rem !important;
  }

  .mr-lg-4,
.mx-lg-4 {
    margin-right: 1.5rem !important;
  }

  .mb-lg-4,
.my-lg-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-lg-4,
.mx-lg-4 {
    margin-left: 1.5rem !important;
  }

  .m-lg-5 {
    margin: 3rem !important;
  }

  .mt-lg-5,
.my-lg-5 {
    margin-top: 3rem !important;
  }

  .mr-lg-5,
.mx-lg-5 {
    margin-right: 3rem !important;
  }

  .mb-lg-5,
.my-lg-5 {
    margin-bottom: 3rem !important;
  }

  .ml-lg-5,
.mx-lg-5 {
    margin-left: 3rem !important;
  }

  .p-lg-0 {
    padding: 0 !important;
  }

  .pt-lg-0,
.py-lg-0 {
    padding-top: 0 !important;
  }

  .pr-lg-0,
.px-lg-0 {
    padding-right: 0 !important;
  }

  .pb-lg-0,
.py-lg-0 {
    padding-bottom: 0 !important;
  }

  .pl-lg-0,
.px-lg-0 {
    padding-left: 0 !important;
  }

  .p-lg-1 {
    padding: 0.25rem !important;
  }

  .pt-lg-1,
.py-lg-1 {
    padding-top: 0.25rem !important;
  }

  .pr-lg-1,
.px-lg-1 {
    padding-right: 0.25rem !important;
  }

  .pb-lg-1,
.py-lg-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-lg-1,
.px-lg-1 {
    padding-left: 0.25rem !important;
  }

  .p-lg-2 {
    padding: 0.5rem !important;
  }

  .pt-lg-2,
.py-lg-2 {
    padding-top: 0.5rem !important;
  }

  .pr-lg-2,
.px-lg-2 {
    padding-right: 0.5rem !important;
  }

  .pb-lg-2,
.py-lg-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-lg-2,
.px-lg-2 {
    padding-left: 0.5rem !important;
  }

  .p-lg-3 {
    padding: 1rem !important;
  }

  .pt-lg-3,
.py-lg-3 {
    padding-top: 1rem !important;
  }

  .pr-lg-3,
.px-lg-3 {
    padding-right: 1rem !important;
  }

  .pb-lg-3,
.py-lg-3 {
    padding-bottom: 1rem !important;
  }

  .pl-lg-3,
.px-lg-3 {
    padding-left: 1rem !important;
  }

  .p-lg-4 {
    padding: 1.5rem !important;
  }

  .pt-lg-4,
.py-lg-4 {
    padding-top: 1.5rem !important;
  }

  .pr-lg-4,
.px-lg-4 {
    padding-right: 1.5rem !important;
  }

  .pb-lg-4,
.py-lg-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-lg-4,
.px-lg-4 {
    padding-left: 1.5rem !important;
  }

  .p-lg-5 {
    padding: 3rem !important;
  }

  .pt-lg-5,
.py-lg-5 {
    padding-top: 3rem !important;
  }

  .pr-lg-5,
.px-lg-5 {
    padding-right: 3rem !important;
  }

  .pb-lg-5,
.py-lg-5 {
    padding-bottom: 3rem !important;
  }

  .pl-lg-5,
.px-lg-5 {
    padding-left: 3rem !important;
  }

  .m-lg-n1 {
    margin: -0.25rem !important;
  }

  .mt-lg-n1,
.my-lg-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-lg-n1,
.mx-lg-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-lg-n1,
.my-lg-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-lg-n1,
.mx-lg-n1 {
    margin-left: -0.25rem !important;
  }

  .m-lg-n2 {
    margin: -0.5rem !important;
  }

  .mt-lg-n2,
.my-lg-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-lg-n2,
.mx-lg-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-lg-n2,
.my-lg-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-lg-n2,
.mx-lg-n2 {
    margin-left: -0.5rem !important;
  }

  .m-lg-n3 {
    margin: -1rem !important;
  }

  .mt-lg-n3,
.my-lg-n3 {
    margin-top: -1rem !important;
  }

  .mr-lg-n3,
.mx-lg-n3 {
    margin-right: -1rem !important;
  }

  .mb-lg-n3,
.my-lg-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-lg-n3,
.mx-lg-n3 {
    margin-left: -1rem !important;
  }

  .m-lg-n4 {
    margin: -1.5rem !important;
  }

  .mt-lg-n4,
.my-lg-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-lg-n4,
.mx-lg-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-lg-n4,
.my-lg-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-lg-n4,
.mx-lg-n4 {
    margin-left: -1.5rem !important;
  }

  .m-lg-n5 {
    margin: -3rem !important;
  }

  .mt-lg-n5,
.my-lg-n5 {
    margin-top: -3rem !important;
  }

  .mr-lg-n5,
.mx-lg-n5 {
    margin-right: -3rem !important;
  }

  .mb-lg-n5,
.my-lg-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-lg-n5,
.mx-lg-n5 {
    margin-left: -3rem !important;
  }

  .m-lg-auto {
    margin: auto !important;
  }

  .mt-lg-auto,
.my-lg-auto {
    margin-top: auto !important;
  }

  .mr-lg-auto,
.mx-lg-auto {
    margin-right: auto !important;
  }

  .mb-lg-auto,
.my-lg-auto {
    margin-bottom: auto !important;
  }

  .ml-lg-auto,
.mx-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }

  .mt-xl-0,
.my-xl-0 {
    margin-top: 0 !important;
  }

  .mr-xl-0,
.mx-xl-0 {
    margin-right: 0 !important;
  }

  .mb-xl-0,
.my-xl-0 {
    margin-bottom: 0 !important;
  }

  .ml-xl-0,
.mx-xl-0 {
    margin-left: 0 !important;
  }

  .m-xl-1 {
    margin: 0.25rem !important;
  }

  .mt-xl-1,
.my-xl-1 {
    margin-top: 0.25rem !important;
  }

  .mr-xl-1,
.mx-xl-1 {
    margin-right: 0.25rem !important;
  }

  .mb-xl-1,
.my-xl-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-xl-1,
.mx-xl-1 {
    margin-left: 0.25rem !important;
  }

  .m-xl-2 {
    margin: 0.5rem !important;
  }

  .mt-xl-2,
.my-xl-2 {
    margin-top: 0.5rem !important;
  }

  .mr-xl-2,
.mx-xl-2 {
    margin-right: 0.5rem !important;
  }

  .mb-xl-2,
.my-xl-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-xl-2,
.mx-xl-2 {
    margin-left: 0.5rem !important;
  }

  .m-xl-3 {
    margin: 1rem !important;
  }

  .mt-xl-3,
.my-xl-3 {
    margin-top: 1rem !important;
  }

  .mr-xl-3,
.mx-xl-3 {
    margin-right: 1rem !important;
  }

  .mb-xl-3,
.my-xl-3 {
    margin-bottom: 1rem !important;
  }

  .ml-xl-3,
.mx-xl-3 {
    margin-left: 1rem !important;
  }

  .m-xl-4 {
    margin: 1.5rem !important;
  }

  .mt-xl-4,
.my-xl-4 {
    margin-top: 1.5rem !important;
  }

  .mr-xl-4,
.mx-xl-4 {
    margin-right: 1.5rem !important;
  }

  .mb-xl-4,
.my-xl-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-xl-4,
.mx-xl-4 {
    margin-left: 1.5rem !important;
  }

  .m-xl-5 {
    margin: 3rem !important;
  }

  .mt-xl-5,
.my-xl-5 {
    margin-top: 3rem !important;
  }

  .mr-xl-5,
.mx-xl-5 {
    margin-right: 3rem !important;
  }

  .mb-xl-5,
.my-xl-5 {
    margin-bottom: 3rem !important;
  }

  .ml-xl-5,
.mx-xl-5 {
    margin-left: 3rem !important;
  }

  .p-xl-0 {
    padding: 0 !important;
  }

  .pt-xl-0,
.py-xl-0 {
    padding-top: 0 !important;
  }

  .pr-xl-0,
.px-xl-0 {
    padding-right: 0 !important;
  }

  .pb-xl-0,
.py-xl-0 {
    padding-bottom: 0 !important;
  }

  .pl-xl-0,
.px-xl-0 {
    padding-left: 0 !important;
  }

  .p-xl-1 {
    padding: 0.25rem !important;
  }

  .pt-xl-1,
.py-xl-1 {
    padding-top: 0.25rem !important;
  }

  .pr-xl-1,
.px-xl-1 {
    padding-right: 0.25rem !important;
  }

  .pb-xl-1,
.py-xl-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-xl-1,
.px-xl-1 {
    padding-left: 0.25rem !important;
  }

  .p-xl-2 {
    padding: 0.5rem !important;
  }

  .pt-xl-2,
.py-xl-2 {
    padding-top: 0.5rem !important;
  }

  .pr-xl-2,
.px-xl-2 {
    padding-right: 0.5rem !important;
  }

  .pb-xl-2,
.py-xl-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-xl-2,
.px-xl-2 {
    padding-left: 0.5rem !important;
  }

  .p-xl-3 {
    padding: 1rem !important;
  }

  .pt-xl-3,
.py-xl-3 {
    padding-top: 1rem !important;
  }

  .pr-xl-3,
.px-xl-3 {
    padding-right: 1rem !important;
  }

  .pb-xl-3,
.py-xl-3 {
    padding-bottom: 1rem !important;
  }

  .pl-xl-3,
.px-xl-3 {
    padding-left: 1rem !important;
  }

  .p-xl-4 {
    padding: 1.5rem !important;
  }

  .pt-xl-4,
.py-xl-4 {
    padding-top: 1.5rem !important;
  }

  .pr-xl-4,
.px-xl-4 {
    padding-right: 1.5rem !important;
  }

  .pb-xl-4,
.py-xl-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-xl-4,
.px-xl-4 {
    padding-left: 1.5rem !important;
  }

  .p-xl-5 {
    padding: 3rem !important;
  }

  .pt-xl-5,
.py-xl-5 {
    padding-top: 3rem !important;
  }

  .pr-xl-5,
.px-xl-5 {
    padding-right: 3rem !important;
  }

  .pb-xl-5,
.py-xl-5 {
    padding-bottom: 3rem !important;
  }

  .pl-xl-5,
.px-xl-5 {
    padding-left: 3rem !important;
  }

  .m-xl-n1 {
    margin: -0.25rem !important;
  }

  .mt-xl-n1,
.my-xl-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-xl-n1,
.mx-xl-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-xl-n1,
.my-xl-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-xl-n1,
.mx-xl-n1 {
    margin-left: -0.25rem !important;
  }

  .m-xl-n2 {
    margin: -0.5rem !important;
  }

  .mt-xl-n2,
.my-xl-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-xl-n2,
.mx-xl-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-xl-n2,
.my-xl-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-xl-n2,
.mx-xl-n2 {
    margin-left: -0.5rem !important;
  }

  .m-xl-n3 {
    margin: -1rem !important;
  }

  .mt-xl-n3,
.my-xl-n3 {
    margin-top: -1rem !important;
  }

  .mr-xl-n3,
.mx-xl-n3 {
    margin-right: -1rem !important;
  }

  .mb-xl-n3,
.my-xl-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-xl-n3,
.mx-xl-n3 {
    margin-left: -1rem !important;
  }

  .m-xl-n4 {
    margin: -1.5rem !important;
  }

  .mt-xl-n4,
.my-xl-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-xl-n4,
.mx-xl-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-xl-n4,
.my-xl-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-xl-n4,
.mx-xl-n4 {
    margin-left: -1.5rem !important;
  }

  .m-xl-n5 {
    margin: -3rem !important;
  }

  .mt-xl-n5,
.my-xl-n5 {
    margin-top: -3rem !important;
  }

  .mr-xl-n5,
.mx-xl-n5 {
    margin-right: -3rem !important;
  }

  .mb-xl-n5,
.my-xl-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-xl-n5,
.mx-xl-n5 {
    margin-left: -3rem !important;
  }

  .m-xl-auto {
    margin: auto !important;
  }

  .mt-xl-auto,
.my-xl-auto {
    margin-top: auto !important;
  }

  .mr-xl-auto,
.mx-xl-auto {
    margin-right: auto !important;
  }

  .mb-xl-auto,
.my-xl-auto {
    margin-bottom: auto !important;
  }

  .ml-xl-auto,
.mx-xl-auto {
    margin-left: auto !important;
  }
}
.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.text-break {
  word-break: break-word !important;
  word-wrap: break-word !important;
}

.text-reset {
  color: inherit !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

@media print {
  *,
*::before,
*::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }

  a:not(.btn) {
    text-decoration: underline;
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
blockquote {
    border: 1px solid #adb5bd;
    page-break-inside: avoid;
  }

  tr,
img {
    page-break-inside: avoid;
  }

  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
h3 {
    page-break-after: avoid;
  }

  @page {
    size: a3;
  }
  body {
    min-width: 992px !important;
  }

  .container {
    min-width: 992px !important;
  }

  .navbar {
    display: none;
  }

  .badge {
    border: 1px solid #000;
  }

  .table {
    border-collapse: collapse !important;
  }
  .table td,
.table th {
    background-color: #fff !important;
  }

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

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

  .table .thead-dark th {
    color: inherit;
    border-color: #dee2e6;
  }
}
/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;
}
.owl-carousel .owl-stage {
  align-items: center;
  display: flex;
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden;
  /* fix firefox animation glitch */
}
.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
}
.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
}
.owl-carousel .owl-item {
  border: 1px solid rgba(127, 136, 151, 0.2);
  border-radius: 0.5rem;
  padding: 1rem;
  position: relative;
  margin-right: 1rem;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
.owl-carousel .owl-item img {
  display: block;
  height: 60px;
  width: auto;
  max-width: 200px;
}
.owl-carousel .owl-nav.disabled,
.owl-carousel .owl-dots.disabled {
  display: none;
}
.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
  cursor: pointer;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.owl-carousel button.owl-dot {
  background: none;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit;
}
.owl-carousel.owl-loaded {
  display: block;
}
.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}
.owl-carousel.owl-hidden {
  opacity: 0;
}
.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}
.owl-carousel.owl-drag .owl-item {
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab;
}
.owl-carousel.owl-rtl {
  direction: rtl;
}
.owl-carousel.owl-rtl .owl-item {
  float: right;
}

/* No Js */
.no-js .owl-carousel {
  display: block;
}

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both;
}
.owl-carousel .owl-animated-in {
  z-index: 0;
}
.owl-carousel .owl-animated-out {
  z-index: 1;
}
.owl-carousel .fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out;
}

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
  	This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
  	calculation of the height of the owl-item that breaks page layouts
   */
}
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease;
}
.owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
  max-height: 0;
}
.owl-carousel .owl-item img.owl-lazy {
  transform-style: preserve-3d;
}

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}
.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease;
}
.owl-carousel .owl-video-play-icon:hover {
  transform: scale(1.3, 1.3);
}
.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none;
}
.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease;
}
.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}

/*
 * 	Default theme - Owl Carousel CSS File
 */
.owl-theme .owl-nav {
  margin-top: 10px;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}
.owl-theme .owl-nav [class*=owl-] {
  color: #FFF;
  font-size: 14px;
  margin: 5px;
  padding: 4px 7px;
  background: #D6D6D6;
  display: inline-block;
  cursor: pointer;
  border-radius: 3px;
}
.owl-theme .owl-nav [class*=owl-]:hover {
  background: #869791;
  color: #FFF;
  text-decoration: none;
}
.owl-theme .owl-nav .disabled {
  opacity: 0.5;
  cursor: default;
}
.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 10px;
}
.owl-theme .owl-dots {
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}
.owl-theme .owl-dots .owl-dot {
  display: inline-block;
  zoom: 1;
  *display: inline;
}
.owl-theme .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  margin: 5px 7px;
  background: #D6D6D6;
  display: block;
  -webkit-backface-visibility: visible;
  transition: opacity 200ms ease;
  border-radius: 30px;
}
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
  background: #869791;
}

/*---------------- preloader ----------------*/
@-webkit-keyframes object_one {
  75% {
    -webkit-transform: scale(0);
  }
}
@keyframes object_one {
  75% {
    transform: scale(0);
    -webkit-transform: scale(0);
  }
}
@-webkit-keyframes object_two {
  75% {
    -webkit-transform: scale(0);
  }
}
@keyframes object_two {
  75% {
    transform: scale(0);
    -webkit-transform: scale(0);
  }
}
@-webkit-keyframes object_three {
  75% {
    -webkit-transform: scale(0);
  }
}
@keyframes object_three {
  75% {
    transform: scale(0);
    -webkit-transform: scale(0);
  }
}
/*---------------- circle-move ----------------*/
@-webkit-keyframes circle-move {
  0% {
    transform: translateY(0) translateX(0) rotate(0);
  }
  30% {
    transform: translateY(40px) translateX(60px) rotate(35deg);
    transform-origin: top center;
  }
  50% {
    transform: translateY(80px) translateX(120px) rotate(55deg);
    transform-origin: center center;
  }
  80% {
    transform: translateY(40px) translateX(60px) rotate(90deg);
    transform-origin: left top;
  }
  100% {
    transform: translateY(0) translateX(0) rotate(0);
    transform-origin: top center;
  }
}
@keyframes circle-move {
  0% {
    transform: translateY(0) translateX(0) rotate(0);
  }
  30% {
    transform: translateY(40px) translateX(60px) rotate(35deg);
    transform-origin: top center;
  }
  50% {
    transform: translateY(80px) translateX(120px) rotate(55deg);
    transform-origin: center center;
  }
  80% {
    transform: translateY(40px) translateX(60px) rotate(90deg);
    transform-origin: left top;
  }
  100% {
    transform: translateY(0) translateX(0) rotate(0);
    transform-origin: top center;
  }
}
/*============ square-rotate ==============*/
@-webkit-keyframes square-rotate {
  0% {
    transform: rotate(0deg) scale(1) translateX(0);
    transform-origin: center bottom;
  }
  20% {
    transform: rotate(-60deg) scale(0.6) translateX(-20px);
    opacity: 0.3;
  }
  70% {
    transform: rotate(-75deg) scale(0.7) translateX(-40px);
    opacity: 0.6;
  }
  100% {
    transform: rotate(-90deg) scale(1) translateX(-20px);
  }
}
@keyframes square-rotate {
  0% {
    transform: rotate(0deg) scale(1) translateX(0);
    transform-origin: center bottom;
    opacity: 0.1;
  }
  20% {
    transform: rotate(-60deg) scale(0.6) translateX(-20px);
    opacity: 0.3;
  }
  70% {
    transform: rotate(-75deg) scale(0.7) translateX(-40px);
    opacity: 0.6;
  }
  100% {
    transform: rotate(-90deg) scale(1) translateX(-20px);
  }
}
/*============== play-button-pulse ==============*/
@-webkit-keyframes play-button-pulse {
  0% {
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
    opacity: 0;
  }
}
@-moz-keyframes play-button-pulse {
  0% {
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
    opacity: 0;
  }
}
@-ms-keyframes play-button-pulse {
  0% {
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
    opacity: 0;
  }
}
@-o-keyframes play-button-pulse {
  0% {
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
    opacity: 0;
  }
}
@keyframes play-button-pulse {
  0% {
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
    opacity: 0;
  }
}
/*== heartBeat ==*/
@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  25% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
  }
  40% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  60% {
    -webkit-transform: scale(1.04);
    -moz-transform: scale(1.04);
    -ms-transform: scale(1.04);
    -o-transform: scale(1.04);
    transform: scale(1.04);
  }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
/*============== runme ==============*/
@-webkit-keyframes runme {
  0% {
    bottom: -60%;
  }
  100% {
    bottom: 120%;
  }
}
@-ms-keyframes runme {
  0% {
    bottom: -60%;
  }
  100% {
    bottom: 120%;
  }
}
@-o-keyframes runme {
  0% {
    bottom: -60%;
  }
  100% {
    bottom: 120%;
  }
}
@keyframes runme {
  0% {
    bottom: -60%;
  }
  100% {
    bottom: 120%;
  }
}
/*============== spin ==============*/
@-webkit-keyframes spinme {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@-moz-keyframes spinme {
  0% {
    -moz-transform: rotate(0deg);
  }
  10% {
    -moz-transform: rotate(360deg);
  }
}
@keyframes spinme {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*============== spin ==============*/
@-webkit-keyframes spinme2 {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(-360deg);
  }
}
@-moz-keyframes spinme2 {
  0% {
    -moz-transform: rotate(0deg);
  }
  10% {
    -moz-transform: rotate(-360deg);
  }
}
@keyframes spinme2 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
/*============== bounce ==============*/
@-webkit-keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40% {
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -6px, 0);
    transform: translate3d(0, -6px, 0);
  }
  70% {
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -2px, 0);
    transform: translate3d(0, -2px, 0);
  }
}
@keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40% {
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -6px, 0);
    transform: translate3d(0, -6px, 0);
  }
  70% {
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -2px, 0);
    transform: translate3d(0, -2px, 0);
  }
}
/*
	Template Name: Aduca
	Version: 1.0
	Author: techydevs
	Author Email: contact@techydevs.com
	Description: Aduca - Learning & Online Education HTML Template

*/
/*------------------------------------------------------------------
[Table of contents]
	+ General
		- Global Styles
		- general Styles
		- Preloader
		- Back To Top
		- theme-btn
		- section-heading
		- Move bg
		- Move bg 2
		- section divider
	+ Header
		- Logo
		- Category
		- Seach form
		- Main Navigation
		- Dropdown
		- Offcanvas menu
		- Admission
	+ Content
		+ Main Files
			- index.html
			- home-2.html
		+ Banner Area
			- Breadcrumb
	    + About
	        - About us
	    + Courses
	        - Course Grid
	        - Course Detail
		+ Pages
			- Teacher
			- Teacher Detail
			- FAQs
			- Admission
			- Gallery
			- Pricing Table
			- Sing up
			- Log in
			- Error 404 page
		+ Blog
		    - Blog Grid
		    - Blog Single
		+ Contact
		    - Contact
	+ Footer
		+ Top Footer
			- Logo
			- Company
			- Courses
			- Mobile app
		+ Bottom Footer
		    - Copyright
		    - Language Select
	+ Responsive Design Styles
            - $laptop_ls: 'only screen and (min-width: 320px) and (max-width: 1919px)';
            - $laptop_l: '(max-width: 1440px)';
            - $laptop_m: '(max-width: 1366px)';
            - $laptop_m_two: '(max-width: 1280px)';
            - $laptop_m_three: '(max-width: 1200px)';
            - $laptop_m_four: '(max-width: 1199px)';
            - $laptop_m_five: '(max-width: 1024px)';
            - $laptop_m_six: '(min-width: 1200px)';
            - $medium_device: 'only screen and (min-width: 992px) and (max-width: 1200px)';
            - $tab_device: 'only screen and (min-width: 768px) and (max-width: 991px)';
            - $tab_device-and-mobile: 'only screen and (min-width: 320px) and (max-width: 990px)';
            - $tab_device_two: '(max-width: 768px)';
            - $tab_device_three: '(max-width: 991px)';
            - $tab_device_four: '(min-width: 991px)';
            - $large_mobile: 'only screen and (min-width: 480px) and (max-width: 767px)';
            - $large_mobile_two: ' (max-width: 600px)';
            - $large_mobile_three: ' (max-width: 575px)';
            - $large_mobile_four: ' (max-width: 480px)';
            - $small_mobile: 'only screen and (min-width: 320px) and (max-width: 479px)';
            - $small_mobile_one: ' (max-width: 425px)';
            - $small_mobile_two: '(max-width: 400px)';
            - $small_mobile_three: '(max-width: 320px)';
            - $small_mobile_four: '(max-width: 375px)';
            - $device-1600: '(max-width: 1600px)';
            - $device-767: '(max-width: 767px)';
            - $device-992: '(max-width: 992px)';
            - $device-767: '(max-width: 767px)';
            - $device-481: '(max-width: 481px)';
            - $device-384: '(max-width: 384px)';
-------------------------------------------------------------------*/
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

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

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

input:focus {
  outline: none;
}

h1, h2, h3, h4, h5, h6 {
  color: #2e3d62;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
}

body {
  font-size: 16px;
  line-height: 22px;
  font-family: "Poppins", sans-serif;
  color: #7f8897;
  position: relative;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

.new-page-badge {
  display: inline-block;
  padding: 1px 6px 0 6px;
  background-color: #42a5f5;
  color: #fff;
  font-size: 11px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  float: right;
  font-weight: 600;
}

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

.font-weight-semi-bold {
  font-weight: 600 !important;
}

.font-weight-medium {
  font-weight: 500 !important;
}

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

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

/*---------------- bg ----------------*/
.bg-1 {
  background-color: #42a5f5 !important;
}

.bg-2 {
  background-color: #4BE6B8 !important;
}

.bg-3 {
  background-color: #F78C01 !important;
}

.bg-4 {
  background-color: #C500EE !important;
}

.bg-5 {
  background-color: #F8C652 !important;
}

.bg-6 {
  background-color: #b99566 !important;
}

/*---------------- text-color ----------------*/
.text-black {
  color: #2e3d62 !important;
}

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

.text-color-1 {
  color: #42a5f5 !important;
}

.text-color-2 {
  color: #4BE6B8 !important;
}

.text-color-3 {
  color: #F78C01 !important;
}

.text-color-4 {
  color: #C500EE !important;
}

.text-color-5 {
  color: #F8C652 !important;
}

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

/*---------------- fonts ----------------*/
.font-size-50 {
  font-size: 50px !important;
}

.font-size-45 {
  font-size: 45px !important;
}

.font-size-40 {
  font-size: 40px !important;
}

.font-size-35 {
  font-size: 35px !important;
}

.font-size-30 {
  font-size: 30px !important;
}

.font-size-28 {
  font-size: 28px !important;
}

.font-size-27 {
  font-size: 27px !important;
}

.font-size-26 {
  font-size: 26px !important;
}

.font-size-25 {
  font-size: 25px !important;
}

.font-size-24 {
  font-size: 24px !important;
}

.font-size-23 {
  font-size: 23px !important;
}

.font-size-22 {
  font-size: 22px !important;
}

.font-size-21 {
  font-size: 21px !important;
}

.font-size-20 {
  font-size: 20px !important;
}

.font-size-19 {
  font-size: 19px !important;
}

.font-size-18 {
  font-size: 18px !important;
}

.font-size-17 {
  font-size: 17px !important;
}

.font-size-16 {
  font-size: 16px !important;
}

.font-size-15 {
  font-size: 15px !important;
}

.font-size-14 {
  font-size: 14px !important;
}

.font-size-13 {
  font-size: 13px !important;
}

.font-size-12 {
  font-size: 12px !important;
}

.font-size-11 {
  font-size: 11px !important;
}

/*---------------- general ----------------*/
.section-padding {
  padding-top: 60px;
  padding-bottom: 45px;
}

.section--padding {
  padding-top: 60px;
  padding-bottom: 45px;
}

.section-padding-top {
  padding-top: 60px;
}

.section-padding-bottom {
  padding-bottom: 60px;
}

.section-padding-bottom-2 {
  padding-bottom: 90px;
}

.padding-top-none {
  padding-top: 0 !important;
}

.padding-bottom-none {
  padding-bottom: 0 !important;
}

.padding-none {
  padding: 0 !important;
}

.section-margin {
  margin-top: 120px;
  margin-bottom: 120px;
}

.section--margin {
  margin-top: 120px;
  margin-bottom: 90px;
}

.margin-top-none {
  margin-top: 0 !important;
}

.margin-bottom-none {
  margin-bottom: 0 !important;
}

.margin-none {
  padding: 0 !important;
}

.bg-gray {
  background-color: #F7F9FB;
}

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

.bg-transparent {
  background-color: transparent;
}

.bg-gradient {
  background-image: radial-gradient(circle farthest-corner at 10% 20%, #ec9ef8 0%, #8353f1 90.1%);
}

.border-top-none {
  border-top: none !important;
}

.border-bottom-none {
  border-bottom: none !important;
}

.border-none {
  border: none !important;
}

.after-none:after {
  display: none !important;
}

.before-none:before {
  display: none !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.round-radius {
  -webkit-border-radius: 4px !important;
  -moz-border-radius: 4px !important;
  border-radius: 4px !important;
}

.rounded-radius {
  -webkit-border-radius: 30px !important;
  -moz-border-radius: 30px !important;
  border-radius: 30px !important;
}

/*---------------- container ----------------*/
.container {
  max-width: 1200px;
}

@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: 1200px;
  }
}
/*-================== loading-area ==============-*/
#loading {
  background-color: #2e3d62;
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: 9999;
}
#loading #loading-center {
  width: 100%;
  height: 100%;
  position: relative;
}
#loading #loading-center #loading-center-absolute {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 150px;
  width: 150px;
  margin-top: -75px;
  margin-left: -75px;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: center;
}
#loading #loading-center #loading-center-absolute .object {
  width: 20px;
  height: 20px;
  background-color: #fff;
  margin-right: 20px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
#loading #loading-center #loading-center-absolute #object_one {
  -webkit-animation: object_one 1.5s infinite;
  animation: object_one 1.5s infinite;
}
#loading #loading-center #loading-center-absolute #object_two {
  -webkit-animation: object_two 1.5s infinite;
  animation: object_two 1.5s infinite;
  -webkit-animation-delay: 0.25s;
  animation-delay: 0.25s;
}
#loading #loading-center #loading-center-absolute #object_three {
  -webkit-animation: object_three 1.5s infinite;
  animation: object_three 1.5s infinite;
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
  margin-right: 0;
}

/*---------------- section-heading ----------------*/
.section-heading {
  position: relative;
  z-index: 1;
}
.section-heading .section__meta {
  display: inline-block;
  text-transform: uppercase;
  font-size: 14px;
  color: #42a5f5;
  background-color: rgba(30, 136, 229, 0.1);
  padding: 5px 10px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  letter-spacing: 0.6px;
  margin-bottom: 15px;
  font-weight: 500;
}
.section-heading .section__meta2 {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.section-heading .section__meta3 {
  background-color: transparent;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  padding: 0;
  color: #b99566;
}
.section-heading .section__title {
  font-size: 45px;
  font-weight: 600;
}
@media (max-width: 425px) {
  .section-heading .section__title {
    font-size: 40px;
  }
}
@media (max-width: 320px) {
  .section-heading .section__title {
    font-size: 35px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .section-heading .section__title br {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .section-heading .section__title br {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .section-heading .section__title br {
    display: none;
  }
}
.section-heading .section__sub {
  color: #7f8897;
  margin-top: 12px;
  font-size: 20px;
}

/*---------------- section-description ----------------*/
.section-description {
  margin-bottom: 34px;
  position: relative;
  z-index: 1;
}
.section-description .section__desc {
  line-height: 28px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .section-description .section__desc br {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .section-description .section__desc br {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .section-description .section__desc br {
    display: none;
  }
}

/*-===============================
    section-divider
===============================-*/
.section-divider {
  position: relative;
  width: 90px;
  height: 3px;
  margin-top: 26px;
  margin-bottom: 30px;
}
.section-divider:before, .section-divider:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  background-color: #42a5f5;
}
.section-divider:after {
  right: 25px;
  left: auto;
  background-color: #fff;
  width: 10px;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}

.section-divider2:before, .section-divider2:after {
  background-color: #fff;
}
.section-divider2:after {
  background-color: #2e3d62;
}

/*-===============================
    section-dot
===============================-*/
.section-dot {
  width: 16px;
  height: 16px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  -webkit-box-shadow: 0 0 40px rgba(108, 92, 231, 0.99);
  -moz-box-shadow: 0 0 40px rgba(108, 92, 231, 0.99);
  box-shadow: 0 0 40px rgba(108, 92, 231, 0.99);
  position: relative;
  margin-bottom: 20px;
  border: 5px solid #42a5f5;
}

/*-===============================
    section-icon
===============================-*/
.section-icon {
  position: relative;
  height: 40px;
  width: 60px;
  margin-bottom: 15px;
}
.section-icon:before {
  position: absolute;
  top: 8px;
  left: 4px;
  content: "\f013";
  font-family: "Line Awesome Free";
  font-weight: 900;
  font-size: 35px;
  color: rgba(87, 150, 87, 0.7);
  animation: spinme 5000ms infinite linear;
}
.section-icon:after {
  position: absolute;
  right: 4px;
  bottom: 1px;
  content: "\f013";
  font-family: "Line Awesome Free";
  font-weight: 900;
  font-size: 22px;
  color: rgba(129, 199, 132, 0.7);
  animation: spinme2 5000ms infinite linear;
}

/*-===============================
    section-icon-heart
===============================-*/
.section-icon-heart {
  position: relative;
  height: 40px;
  width: 40px;
  line-height: 40px;
  margin-bottom: 9px;
}
.section-icon-heart:after {
  position: absolute;
  left: 0;
  bottom: 1px;
  content: "\f004";
  font-family: "Line Awesome Free";
  font-weight: 900;
  font-size: 25px;
  color: #42a5f5;
  animation: heartBeat 900ms infinite linear;
}

/*-===============================
    section-icon-balance
===============================-*/
.section-icon-balance {
  position: relative;
  height: 40px;
  width: 40px;
  line-height: 40px;
  margin-bottom: 9px;
}
.section-icon-balance:after {
  position: absolute;
  left: 0;
  bottom: 1px;
  content: "\f24e";
  font-family: "Line Awesome Free";
  font-weight: 900;
  font-size: 25px;
  color: #42a5f5;
  animation: heartBeat 900ms infinite linear;
}

.section-icon-balance-white:after {
  color: #fff;
}

.section-icon-balance-yellow:after {
  color: #b99566;
}

/*-===============================
    section-block
===============================-*/
.section-block {
  height: 2px;
  display: block;
  width: 100%;
  background-color: #F7F9FB;
}

/*-===============================
    line-bg
===============================-*/
.line-bg {
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.1);
  top: 0;
  opacity: 0.7;
  -webkit-transform: rotate(10deg);
  -moz-transform: rotate(10deg);
  -ms-transform: rotate(10deg);
  -o-transform: rotate(10deg);
  transform: rotate(10deg);
}
.line-bg:before {
  position: absolute;
  bottom: -60%;
  left: 0;
  content: "";
  height: 80px;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-animation: runme 5s 0s infinite;
  animation: runme 5s 0s infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.3, 0.27, 0, 0.98);
  animation-timing-function: cubic-bezier(0.3, 0.27, 0, 0.98);
}

.line-bg1 {
  left: 14%;
}
.line-bg1:before {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.line-bg2 {
  left: 30%;
}
.line-bg2:before {
  -webkit-animation-delay: 2.6s;
  animation-delay: 2.6s;
}

.line-bg3 {
  left: 45%;
}
.line-bg3:before {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}

.line-bg4 {
  left: 60%;
}
.line-bg4:before {
  -webkit-animation-delay: 3.6s;
  animation-delay: 3.6s;
}

.line-bg5 {
  left: 75%;
}
.line-bg5:before {
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}

.line-bg6 {
  left: 88%;
}
.line-bg6:before {
  -webkit-animation-delay: 4.6s;
  animation-delay: 4.6s;
}

/*-===============================
    perticles-js
===============================-*/
#perticles-js {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

/*-===============================
    scroll-top
===============================-*/
#scroll-top {
  position: fixed;
  right: 15px;
  bottom: 15px;
  z-index: 100;
  width: 40px;
  height: 40px;
  font-size: 20px;
  line-height: 40px;
  color: #2e3d62;
  background-color: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  text-align: center;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
#scroll-top:hover {
  background-color: #2e3d62;
  color: #fff;
}

/*-===============================
    PAGINATION-WRAP
===============================-*/
.pagination .page-item .page-link {
  color: #42a5f5;
  background-color: rgba(108, 92, 231, 0.1);
  font-size: 18px;
  margin-left: 3px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  border: none;
  width: 40px;
  height: 40px;
  line-height: 42px;
  text-align: center;
  padding: 0;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.pagination .page-item:hover .page-link, .pagination .page-item.active .page-link {
  background-color: #42a5f5;
  color: #fff;
}

/*-===============================
    slider-range
===============================-*/
.ui-widget.ui-widget-content {
  border: none;
  background-color: #eee;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  height: 8px;
  margin-left: 10px;
  margin-right: 10px;
}
.ui-widget.ui-widget-content .ui-slider-range {
  background-color: #42a5f5;
}
.ui-widget.ui-widget-content .ui-slider-handle {
  background-color: #fff;
  border: 4px solid #42a5f5;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  height: 22px;
  width: 22px;
  top: -7px;
  cursor: ew-resize;
  outline: 0;
}

.price-slider-amount {
  padding-top: 35px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}
@media (max-width: 375px) {
  .price-slider-amount {
    display: block;
  }
}
.price-slider-amount .filter__btn {
  padding: 8px 25px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  border: none;
  margin-right: 15px;
  margin-left: 2px;
  background-color: #2e3d62;
  color: #fff;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.price-slider-amount .filter__btn:hover {
  background-color: #42a5f5;
}
.price-slider-amount .filter__label {
  color: #2e3d62;
  margin-bottom: 0;
  font-size: 18px;
  margin-right: 5px;
  font-weight: 600;
}
.price-slider-amount .amounts {
  border: none;
  color: #7f8897;
  font-weight: 600;
  background-color: transparent;
}

/*====================================================
    input-number-group
 ====================================================*/
.input-number-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
.input-number-group input[type=number]::-webkit-inner-spin-button,
.input-number-group input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none;
}
.input-number-group .input-group-button {
  line-height: 35px;
}
.input-number-group .input-number {
  padding: 0 12px;
  outline: none;
  display: block;
  text-align: center;
}
.input-number-group .input-number,
.input-number-group .input-number-decrement,
.input-number-group .input-number-increment {
  border: 1px solid rgba(127, 136, 151, 0.2);
  height: 35px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-weight: 600;
  font-size: 18px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  color: #2e3d62;
}
.input-number-group .input-number-decrement,
.input-number-group .input-number-increment {
  display: inline-block;
  width: 35px;
  text-align: center;
  cursor: pointer;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.input-number-group .input-number-decrement:hover,
.input-number-group .input-number-increment:hover {
  background-color: #42a5f5;
  color: #fff;
  border-color: #42a5f5;
}
.input-number-group .input-number-decrement {
  margin-right: 0.5rem;
  margin-left: 1rem;
}
.input-number-group .input-number-increment {
  margin-left: 0.5rem;
}

/*====================================================
    USER RATING
 ====================================================*/
.user-rating {
  background: url("../images/stars.png") repeat-x 0 0;
  width: 150px;
}
.user-rating input[type=radio] {
  position: absolute;
  opacity: 0;
  filter: alpha(opacity=0);
  margin: 0;
}
.user-rating input[type=radio].star-5:checked ~ span {
  width: 100%;
}
.user-rating input[type=radio].star-4:checked ~ span {
  width: 80%;
}
.user-rating input[type=radio].star-3:checked ~ span {
  width: 60%;
}
.user-rating input[type=radio].star-2:checked ~ span {
  width: 40%;
}
.user-rating input[type=radio].star-1:checked ~ span {
  width: 20%;
}
.user-rating label {
  display: block;
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  text-indent: -999em;
  float: left;
  position: relative;
  z-index: 10;
  background: transparent;
  cursor: pointer;
}
.user-rating label.star-5:hover ~ span {
  width: 100% !important;
}
.user-rating label.star-4:hover ~ span {
  width: 80% !important;
}
.user-rating label.star-3:hover ~ span {
  width: 60% !important;
}
.user-rating label.star-2:hover ~ span {
  width: 40% !important;
}
.user-rating label.star-1:hover ~ span {
  width: 20% !important;
}
.user-rating label:hover ~ span {
  background-position: 0 -30px;
}
.user-rating span {
  display: block;
  width: 0;
  position: relative;
  top: 0;
  left: 0;
  height: 30px;
  background: url("../images/stars.png") repeat-x 0 -60px;
  -webkit-transition: -webkit-width 0.5s;
  -moz-transition: -moz-width 0.5s;
  -ms-transition: -ms-width 0.5s;
  -o-transition: -o-width 0.5s;
  transition: width 0.5s;
}

/*====================================================
    custom-checkbox
 ====================================================*/
.custom-checkbox label {
  color: #2e3d62;
  font-size: 15px;
  font-weight: 500;
  margin: 0;
}
.custom-checkbox input[type=checkbox]:not(:checked),
.custom-checkbox input[type=checkbox]:checked {
  position: absolute;
  left: -9999px;
}
.custom-checkbox input[type=checkbox]:not(:checked) + label,
.custom-checkbox input[type=checkbox]:checked + label {
  position: relative;
  padding-left: 26px;
  cursor: pointer;
}
.custom-checkbox input[type=checkbox]:not(:checked) + label:before,
.custom-checkbox input[type=checkbox]:checked + label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(127, 136, 151, 0.2);
  background-color: #fff;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
}
.custom-checkbox input[type=checkbox]:not(:checked) + label:after,
.custom-checkbox input[type=checkbox]:checked + label:after {
  content: "\f00c";
  position: absolute;
  top: -1px;
  left: 3px;
  font-size: 12px;
  color: #fff;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  font-family: FontAwesome, sans-serif;
}
.custom-checkbox input[type=checkbox]:not(:checked) + label:after {
  opacity: 0;
  visibility: hidden;
}
.custom-checkbox input[type=checkbox]:checked + label:after {
  opacity: 1;
  visibility: visible;
}
.custom-checkbox input[type=checkbox]:checked + label:before {
  background-color: #42a5f5;
  border-color: #42a5f5;
}
.custom-checkbox .checkbox-link {
  color: #42a5f5;
  font-weight: 500;
  font-size: 15px;
}
@media (max-width: 375px) {
  .custom-checkbox .checkbox-link.float-right {
    float: left !important;
    margin-top: 5px;
  }
}

/*-=========== preview-video ========-*/
.preview-video .video-play-btn {
  text-align: center;
  width: 80px;
  height: 80px;
  line-height: 90px;
  margin-left: auto;
  margin-right: auto;
  font-size: 30px;
  display: block;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  color: #2e3d62;
  position: relative;
}
.preview-video .video-play-btn:hover {
  color: #42a5f5;
}
.preview-video .video-play-btn:before, .preview-video .video-play-btn:after {
  position: absolute;
  content: "";
  top: -20px;
  left: -20px;
  bottom: -20px;
  right: -20px;
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-animation: play-button-pulse 1.8s linear infinite;
  -moz-animation: play-button-pulse 1.8s linear infinite;
  animation: play-button-pulse 1.8s linear infinite;
  opacity: 0;
  z-index: -1;
}
.preview-video .video-play-btn:after {
  -webkit-animation-delay: 0.6s;
  -moz-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
.preview-video p {
  color: #fff;
  margin-top: 15px;
  font-weight: 500;
}

/*-=========== social-profile ========-*/
.social-profile li {
  display: inline-block;
}
.social-profile li a {
  display: block;
  color: #2e3d62;
  width: 35px;
  height: 35px;
  line-height: 35px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  text-align: center;
  background-color: rgba(46, 61, 98, 0.1);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.social-profile li a:hover {
  background-color: #42a5f5;
  color: #fff;
}

/*---- theme-btn ----*/
.theme-btn {
  font-size: 15px;
  text-transform: uppercase;
  background-color: #42a5f5;
  color: #fff;
  font-weight: 500;
  padding: 0 50px 0 30px;
  line-height: 50px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  position: relative;
  z-index: 1;
  display: inline-block;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
}
.theme-btn .la {
  position: absolute;
  top: 47%;
  right: 25px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.theme-btn:hover {
  color: #fff;
  background-color: #1e88e5;
  -webkit-box-shadow: 0 12px 24px -6px rgba(30, 136, 229, 0.2);
  -moz-box-shadow: 0 12px 24px -6px rgba(30, 136, 229, 0.2);
  box-shadow: 0 12px 24px -6px rgba(30, 136, 229, 0.2);
  -webkit-transform: translateY(-1px);
  -moz-transform: translateY(-1px);
  -ms-transform: translateY(-1px);
  -o-transform: translateY(-1px);
  transform: translateY(-1px);
}

/*==== btn-box ===*/
.btn-box {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media (max-width: 425px) {
  .btn-box {
    display: block;
    text-align: center;
  }
}
.btn-box a {
  margin-right: 15px;
}
.btn-box a:last-child {
  margin-right: 0;
}
.btn-box .theme-btn:hover {
  background-color: #1e88e5;
}

.google-btn {
  background-color: #F78C01;
}

.facebook-btn {
  background-color: #579657;
}

.twitter-btn {
  background-color: #3897F0;
}

/*==== button ===*/
.button {
  display: inline-block;
  background-color: #42a5f5;
  color: #fff;
  font-weight: 500;
  font-size: 15px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  outline: none;
  line-height: 55px;
  position: relative;
  padding: 0 30px;
  text-transform: capitalize;
}
.button .btn-icon {
  margin-left: 4px;
}
.button:hover {
  background-color: #1e88e5;
  color: #fff;
}

/*==== btn-style2 ===*/
.btn-style-2 {
  padding-left: 50px;
  padding-right: 20px;
  text-align: center;
}
.btn-style-2 .btn-icon {
  width: 33px;
  height: 33px;
  line-height: 33px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  margin-left: 0;
  color: #2e3d62;
  background-color: #fff;
  font-size: 22px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  position: absolute;
  top: 50%;
  left: 10px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

/*==== btn--style2 ===*/
.btn--style-2 {
  color: #2e3d62;
  padding-left: 20px;
  padding-right: 50px;
  border: 2px solid #2e3d62;
  background-color: transparent;
  text-align: center;
}
.btn--style-2 .btn-icon {
  background-color: #2e3d62;
  left: auto;
  color: #fff;
  right: 10px;
  font-size: 1rem;
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.btn--style-2:hover {
  border-color: #42a5f5;
}

/*==== btn-style-3 ===*/
.btn-style-3 {
  padding-left: 50px;
  font-weight: 500;
  color: #7f8897;
  text-transform: capitalize;
  display: inline-block;
  position: relative;
}
.btn-style-3 .la-play {
  top: -10px;
  left: 0;
  position: absolute;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  margin-right: 10px;
  background-color: #fff;
  color: #42a5f5;
  font-size: 25px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.3);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.3);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.3);
}
.btn-style-3:hover {
  color: #1e88e5;
}
.btn-style-3:hover .la-play {
  background-color: #1e88e5;
  color: #fff;
}

/*==== btn-style-4 ===*/
.btn-style-4,
.btn-style-5 {
  background-color: transparent;
  background-image: url("../images/img1.jpg");
  background-size: cover;
  background-position: center;
  font-weight: 600;
  z-index: 1;
}
.btn-style-4:after,
.btn-style-5:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2e3d62;
  opacity: 0.7;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  z-index: -1;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.btn-style-4:hover:after,
.btn-style-5:hover:after {
  opacity: 0.9;
}

/*==== btn-style-5 ===*/
.btn-style-5:after {
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}

/*==== button-3d ===*/
.button-3d {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  position: relative;
  font-size: 18px;
  background-color: #82BF56;
  border-bottom: 5px solid #669644;
}
.button-3d:hover {
  background-color: #82BF56;
}
.button-3d:active {
  -webkit-transform: translate(0px, 5px);
  -moz-transform: translate(0px, 5px);
  -ms-transform: translate(0px, 5px);
  -o-transform: translate(0px, 5px);
  transform: translate(0px, 5px);
  border-bottom: 1px solid;
}

/*==== button-badge ===*/
.button-badge .badge {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 30px;
  height: 30px;
  line-height: 32px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #2e3d62;
  font-size: 13px;
  padding: 0;
  font-weight: 600;
}

/*==== btn-gradient ===*/
.btn-gradient {
  background-image: radial-gradient(circle farthest-corner at 10% 20%, #fc9678 0%, #f76c7f 100.4%);
}

/*==== btn-large ===*/
.btn-large {
  line-height: 55px !important;
}

/*==== btn-medium ===*/
.btn-medium {
  line-height: 50px !important;
  font-size: 14px !important;
}

/*==== btn-small ===*/
.btn-small {
  line-height: 45px !important;
  font-size: 13px !important;
}

/*==== btn--small ===*/
.btn--small {
  line-height: 40px !important;
  font-size: 12px !important;
}

/*==== btn-rounded ===*/
.btn-rounded {
  -webkit-border-radius: 4px !important;
  -moz-border-radius: 4px !important;
  border-radius: 4px !important;
}

/*==== btn--rounded ===*/
.btn--rounded {
  -webkit-border-radius: 30px !important;
  -moz-border-radius: 30px !important;
  border-radius: 30px !important;
}

/*-===============================
    BUTTON AREA
===============================-*/
.button-area .button-wrap {
  margin-top: 30px;
}
.button-area .button-wrap .button {
  margin-bottom: 16px;
  margin-right: 8px;
}

/*-===============================
    BUTTON AREA
===============================-*/
.button-wrap .btn-style-3 {
  margin-right: 15px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .button-wrap .btn-style-3 {
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .button-wrap .btn-style-3 {
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .button-wrap .btn-style-3 {
    margin-bottom: 40px;
  }
}
.button-wrap .btn {
  margin-right: 15px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .button-wrap .btn {
    margin-bottom: 15px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .button-wrap .btn {
    margin-bottom: 15px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .button-wrap .btn {
    margin-bottom: 15px;
  }
}

/*-===============================
    DUAL BUTTON AREA
===============================-*/
.dual-button-area .dual-button-wrap {
  margin-top: 30px;
}

.dual-button-item .image-box {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  margin-top: 0;
  margin-left: 0;
}
.dual-button-item .image-box .img__item {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  position: inherit;
  top: auto;
  right: auto;
  border: none;
}
.dual-button-item .list-items {
  margin-top: 30px;
  margin-bottom: 28px;
}
.dual-button-item .list-items li {
  margin-bottom: 0;
  font-weight: 500;
  padding-left: 0;
}
.dual-button-item .list-items li:last-child {
  margin-bottom: 0;
}
.dual-button-item .list-items li .la {
  margin-right: 8px;
  position: inherit;
  top: auto;
  left: auto;
  font-size: 1rem;
}
.dual-button-item .list-items li + li {
  margin-top: 12px;
}
.dual-button-item .section-heading .section__title {
  font-size: 40px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .dual-button-img-box {
    margin-top: 60px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .dual-button-img-box {
    margin-top: 60px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .dual-button-img-box {
    margin-top: 60px;
  }
}

/*====== dual-btn =======*/
@media (max-width: 375px) {
  .dual-btn .theme-btn {
    margin-bottom: 10px;
    margin-right: 0;
  }
}
.dual-btn .theme-btn:nth-child(2) {
  background-color: #579657;
}

/*-===============================
    DUAL BUTTON AREA 2
===============================-*/
.dual-button-item-2 .image-box {
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}
.dual-button-item-2 .image-box .img__item {
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}
.dual-button-item-2 .section-heading {
  margin-bottom: 25px;
}
.dual-button-item-2 .section-heading .section__sub {
  margin-top: 15px;
}

/*-===============================
    DUAL BUTTON AREA 3
===============================-*/
.dual-button-item-3 .image-box .img__item {
  border: 15px solid #eee;
}
.dual-button-item-3 .section-heading {
  margin-top: 50px;
}
.dual-button-item-3 .section-heading .section__title {
  margin-bottom: 25px;
}
.dual-button-item-3 .btn-box .theme-btn {
  padding-right: 30px;
}

/*====== dual-btn-2 =======*/
.dual-btn-2 .dual-btn-btn {
  position: relative;
}
@media (max-width: 425px) {
  .dual-btn-2 .dual-btn-btn .theme-btn {
    margin-bottom: 10px;
    margin-right: 0;
  }
}
.dual-btn-2 .dual-btn-btn .dual__btn--text {
  width: 35px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  position: absolute;
  font-size: 15px;
  top: 50%;
  right: -10px;
  z-index: 3;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media (max-width: 425px) {
  .dual-btn-2 .dual-btn-btn .dual__btn--text {
    top: auto;
    bottom: -10px;
    right: 50%;
    -webkit-transform: translateY(0) translateX(50%);
    -moz-transform: translateY(0) translateX(50%);
    -ms-transform: translateY(0) translateX(50%);
    -o-transform: translateY(0) translateX(50%);
    transform: translateY(0) translateX(50%);
  }
}
.dual-btn-2 .dual-btn-btn:nth-child(2) .theme-btn {
  background-color: #579657;
}

/*-===============================
    DUAL BUTTON AREA 4
===============================-*/
.dual-button-area4 {
  background-image: url("../images/img12.jpg");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  position: relative;
}
.dual-button-area4:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2e3d62;
  opacity: 0.9;
}

.dual-button-item-4 .section-heading .section__title {
  margin-bottom: 25px;
}

.dual-btn-3 .theme-btn {
  border: 2px solid #fff;
}
@media (max-width: 425px) {
  .dual-btn-3 .theme-btn {
    margin-bottom: 10px;
    margin-right: 0;
  }
}
.dual-btn-3 .theme-btn:nth-child(1) {
  background-color: transparent;
}
.dual-btn-3 .theme-btn:nth-child(1):hover {
  background-color: #fff;
  color: #2e3d62;
}
.dual-btn-3 .theme-btn:nth-child(2) {
  background-color: #fff;
  color: #2e3d62;
}

/*-===============================
    DUAL BUTTON AREA 5
===============================-*/
.dual-button-item-5 .section-heading .section__title {
  margin-bottom: 25px;
}
.dual-button-item-5 .image-box {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.dual-button-item-5 .image-box .img__item {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}

.dual-btn-4 .theme-btn {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  padding-right: 45px;
  margin-right: 0;
}
@media (max-width: 320px) {
  .dual-btn-4 .theme-btn {
    margin-bottom: 10px;
  }
}
.dual-btn-4 .theme-btn:hover {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}
.dual-btn-4 .theme-btn:after {
  position: absolute;
  content: "";
  top: 0;
  left: 20px;
  width: 100%;
  height: 100%;
  -webkit-transform: skew(21deg);
  -moz-transform: skew(21deg);
  -ms-transform: skew(21deg);
  -o-transform: skew(21deg);
  transform: skew(21deg);
  -webkit-transform-origin: bottom left;
  transform-origin: bottom left;
  z-index: -1;
}
@media (max-width: 320px) {
  .dual-btn-4 .theme-btn:after {
    display: none;
  }
}
.dual-btn-4 .theme-btn:nth-child(1) {
  background-color: #F78C01;
}
.dual-btn-4 .theme-btn:nth-child(1):after {
  background-color: #F78C01;
}
.dual-btn-4 .theme-btn:nth-child(2) {
  background-color: #F8C652;
  padding-right: 30px;
}
.dual-btn-4 .theme-btn:nth-child(2):after {
  background-color: #F8C652;
  left: -1px;
}

.dual-button-item-6 .section-heading .section__title {
  margin-bottom: 25px;
}

@media (max-width: 375px) {
  .dual-btn-5 .theme-btn:nth-child(1) {
    margin-bottom: 30px;
    margin-right: 0;
  }
}

@media (max-width: 375px) {
  .dual-btn-6 .button {
    margin-bottom: 10px;
    margin-right: 0;
  }
}

/*-===============================
    DUAL BUTTON AREA 7
===============================-*/
.dual-button-item-7 {
  height: 100%;
}
.dual-button-item-7 .image-box {
  position: relative;
  height: 100%;
}
.dual-button-item-7 .image-box .img__item {
  position: absolute;
  width: 80%;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .dual-button-item-7 .image-box .img__item {
    position: inherit;
    width: 100%;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .dual-button-item-7 .image-box .img__item {
    position: inherit;
    width: 100%;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .dual-button-item-7 .image-box .img__item {
    position: inherit;
    width: 100%;
  }
}
.dual-button-item-7 .image-box .img__item:nth-child(1) {
  top: 0;
  left: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .dual-button-item-7 .image-box .img__item:nth-child(1) {
    top: auto;
    left: auto;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .dual-button-item-7 .image-box .img__item:nth-child(1) {
    top: auto;
    left: auto;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .dual-button-item-7 .image-box .img__item:nth-child(1) {
    top: auto;
    left: auto;
  }
}
.dual-button-item-7 .image-box .img__item:nth-child(2) {
  top: 148px;
  right: 0;
  left: auto;
  width: 80%;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .dual-button-item-7 .image-box .img__item:nth-child(2) {
    top: auto;
    right: auto;
    width: 100%;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .dual-button-item-7 .image-box .img__item:nth-child(2) {
    top: auto;
    right: auto;
    width: 100%;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .dual-button-item-7 .image-box .img__item:nth-child(2) {
    top: auto;
    right: auto;
    width: 100%;
  }
}
.dual-button-item-7 .image-box:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 20px solid rgba(127, 136, 151, 0.2);
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  z-index: -1;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .dual-button-item-7 .image-box:after {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .dual-button-item-7 .image-box:after {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .dual-button-item-7 .image-box:after {
    display: none;
  }
}
.dual-button-item-7 .section-heading {
  margin-bottom: 25px;
}
.dual-button-item-7 .section-heading .section__title {
  margin-bottom: 25px;
}

/*-===============================
    CIRCLE-SHAPE
===============================-*/
.circle-shape {
  position: absolute;
  top: 10%;
  left: 10%;
  width: 20px;
  height: 20px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #42a5f5;
  opacity: 0.1;
  z-index: -1;
  animation: circle-move 8s linear infinite;
}

.circle-shape2 {
  left: auto;
  top: 15%;
  right: 10%;
  background-color: #1e88e5;
}

.circle-shape3 {
  left: auto;
  top: auto;
  bottom: 5%;
  right: 20%;
  width: 30px;
  height: 30px;
  background-color: #ffb02b;
}

.circle-shape4 {
  top: auto;
  left: 17%;
  bottom: 12%;
  width: 90px;
  height: 90px;
  background-color: #42a5f5;
}

.circle-shape5 {
  top: auto;
  left: auto;
  right: 10%;
  bottom: 50%;
  width: 80px;
  height: 80px;
  background-color: #4BE6B8;
}

/*============== body scss ===============*/
/*-===============================
    header-menu-area
===============================-*/
.header-menu-area {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1023;
}
.header-menu-area.header-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  background-color: #fff;
}

.menu-content {
  padding-bottom: 0.85rem;
  padding-top: 0.85rem;
}
@media (max-width: 425px) {
  .menu-content {
    height: auto;
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.logo-box img {
  width: 320px;
  height: auto;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .logo-box {
    margin-top: 15px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .logo-box {
    margin-top: 15px;
  }
}
@media (max-width: 425px) {
  .logo-box {
    margin-top: 0;
  }
}

.menu-wrapper {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.main-menu {
  margin-right: 35px;
}
@media (max-width: 1199px) {
  .main-menu {
    display: none;
  }
}
.main-menu > ul {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}
.main-menu > ul li {
  margin-right: 30px;
  text-transform: uppercase;
  font-weight: 500;
  position: relative;
}
.main-menu > ul li.has-mega-menu {
  position: static;
}
@media (max-width: 1199px) {
  .main-menu > ul li {
    margin-right: 20px;
  }
}
.main-menu > ul li a {
  font-size: 15px;
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  padding-bottom: 40px;
  margin-bottom: -40px;
}
.main-menu > ul li a:hover {
  color: #42a5f5;
}
.main-menu > ul li:nth-child(6) {
  margin-right: 20px;
}
.main-menu > ul li:nth-child(7) {
  margin-right: 10px;
}
.main-menu > ul li:last-child {
  margin-right: 0;
}
.main-menu > ul li .dropdown-menu-item {
  position: absolute;
  left: 0;
  top: 50px;
  width: 250px;
  background-color: #fff;
  display: block;
  padding: 15px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.5);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.5);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.5);
  opacity: 0;
  visibility: hidden;
}
.main-menu > ul li .dropdown-menu-item li {
  display: block;
  margin-right: 0;
  text-transform: capitalize;
  font-weight: 400;
}
.main-menu > ul li .dropdown-menu-item li a {
  color: #7f8897;
  display: block;
  position: relative;
  padding: 5px 10px;
  margin-bottom: 0;
}
.main-menu > ul li .dropdown-menu-item li a:hover {
  color: #42a5f5;
}
.main-menu > ul li .dropdown-menu-item:after {
  top: -6px;
  content: "";
  position: absolute;
  background-color: #fff;
  left: 30px;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-box-shadow: -2px -2px 10px -5px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: -2px -2px 10px -5px rgba(0, 0, 0, 0.2);
  box-shadow: -2px -2px 10px -5px rgba(0, 0, 0, 0.2);
}
.main-menu > ul li .mega-menu {
  width: 100%;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}
.main-menu > ul li .mega-menu > li {
  margin-bottom: 0;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}
.main-menu > ul li .mega-menu:after {
  display: none;
}
.main-menu > ul li:hover .dropdown-menu-item {
  top: 58px;
  opacity: 1;
  visibility: visible;
}

.search-wrap .dropdown .dropdown-toggle {
  background-color: transparent;
  padding: 0;
  border: none;
  color: #2e3d62;
  outline: none;
  width: 30px;
  height: 30px;
  line-height: 30px;
  font-size: 18px;
}
.search-wrap .dropdown .dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}
.search-wrap .dropdown .dropdown-toggle:after {
  display: none;
}
.search-wrap .dropdown .dropdown-toggle[aria-expanded=true] i:before {
  content: "\f00d";
}
.search-wrap .dropdown .dropdown-menu {
  left: auto !important;
  right: -28px;
  min-width: 400px;
  padding: 20px;
  margin-top: 30px;
  border-color: rgba(127, 136, 151, 0.2);
}
@media (max-width: 1280px) {
  .search-wrap .dropdown .dropdown-menu {
    right: -120px;
  }
}
.search-wrap .dropdown .dropdown-menu .contact-form-action form .form-group {
  margin-bottom: 0;
}
.search-wrap .dropdown .dropdown-menu .contact-form-action form .form-group .form-control {
  padding-left: 20px;
}
.search-wrap .dropdown .dropdown-menu:after {
  position: absolute;
  content: "";
  right: 27px;
  width: 12px;
  height: 12px;
  background-color: #fff;
  border-top: 1px solid rgba(127, 136, 151, 0.2);
  border-left: 1px solid rgba(127, 136, 151, 0.2);
  top: -6px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media (max-width: 400px) {
  .search-wrap .dropdown .dropdown-menu:after {
    right: 100px;
  }
}

.cart-wrap .dropdown .dropdown-toggle {
  background-color: transparent;
  padding: 0;
  border: none;
  color: #2e3d62;
  outline: none;
  width: 30px;
  height: 30px;
  line-height: 30px;
  font-size: 20px;
}
.cart-wrap .dropdown .dropdown-toggle .cart-count {
  position: absolute;
  top: -6px;
  right: -6px;
  color: #fff;
  width: 20px;
  height: 20px;
  line-height: 21px;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  background-color: #42a5f5;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.cart-wrap .dropdown .dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}
.cart-wrap .dropdown .dropdown-toggle:after {
  display: none;
}
.cart-wrap .dropdown .dropdown-menu {
  left: auto !important;
  right: -28px;
  padding: 0;
  margin-top: 15px;
  min-width: 300px;
  border-color: rgba(127, 136, 151, 0.2);
}
@media (max-width: 1280px) {
  .cart-wrap .dropdown .dropdown-menu {
    right: -70px;
  }
}
.cart-wrap .dropdown .dropdown-menu:after {
  position: absolute;
  content: "";
  right: 27px;
  width: 12px;
  height: 12px;
  background-color: #fff;
  border-top: 1px solid rgba(127, 136, 151, 0.2);
  border-left: 1px solid rgba(127, 136, 151, 0.2);
  top: -6px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media (max-width: 400px) {
  .cart-wrap .dropdown .dropdown-menu:after {
    right: 100px;
  }
}
.cart-wrap .dropdown .cart-title {
  text-transform: capitalize;
  padding: 15px 20px;
  border-bottom: 1px solid rgba(127, 136, 151, 0.2);
}
.cart-wrap .dropdown .cart-title h4 {
  font-size: 20px;
  font-weight: 600;
}
.cart-wrap .dropdown .cart-items {
  padding: 20px;
}
.cart-wrap .dropdown .cart-items .items {
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
  position: relative;
  display: flex;
}
.cart-wrap .dropdown .cart-items .items img {
  width: 50px;
  height: 55px;
  margin-right: 10px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.cart-wrap .dropdown .cart-items .items .item__info a {
  display: block;
  color: #2e3d62;
  text-transform: capitalize;
  margin-bottom: 0;
  padding-bottom: 0;
}
.cart-wrap .dropdown .cart-items .items .item__info a:hover {
  color: #42a5f5;
}
.cart-wrap .dropdown .cart-items .items .item__info .item__info-price {
  color: #7f8897;
  font-size: 14px;
  font-weight: 600;
}
.cart-wrap .dropdown .cart-items .items .item__info .item__remove {
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  border: 1px solid rgba(127, 136, 151, 0.2);
  padding: 0;
  color: #2e3d62;
  flex-shrink: 0;
}
.cart-wrap .dropdown .cart-items .items .item__info .item__remove:hover {
  color: #fff;
  background-color: #42a5f5;
  border-color: transparent;
}
.cart-wrap .dropdown .cart-items .items .item__info .item__remove:after {
  display: none;
}
.cart-wrap .dropdown .cart-items .items + .items {
  margin-top: 15px;
}
.cart-wrap .dropdown .cart-items .cart-info {
  text-align: right;
}
.cart-wrap .dropdown .cart-items .cart-info p {
  margin-top: 15px;
  margin-bottom: 15px;
  color: #7f8897;
  font-size: 1rem;
  font-weight: 600;
}
.cart-wrap .dropdown .cart-items .cart-info p span {
  font-weight: 700;
  color: #2e3d62;
}
.cart-wrap .dropdown .cart-items .cart-info .theme-btn {
  padding: 0 20px;
  line-height: 40px;
  color: #fff;
  text-transform: capitalize;
}
.cart-wrap .dropdown .cart-items .cart-info .theme-btn:after {
  display: none;
}
.cart-wrap .dropdown .cart-items .cart-info .checkout__btn {
  margin-left: 10px;
  background-color: #579657;
}

@media (max-width: 1199px) {
  .logo-right-button ul {
    display: none;
  }
}
.logo-right-button .side-menu-open {
  width: 50px;
  cursor: pointer;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  display: none;
  position: relative;
  z-index: 1;
  padding: 10px;
  border: 1px solid rgba(127, 136, 151, 0.2);
}
@media (max-width: 1199px) {
  .logo-right-button .side-menu-open {
    display: block;
  }
}
@media (max-width: 425px) {
  .logo-right-button .side-menu-open {
    margin-top: -40px;
  }
}
.logo-right-button .side-menu-open .menu__bar {
  height: 2px;
  background-color: #2e3d62;
  display: block;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.logo-right-button .side-menu-open .menu__bar:nth-child(1), .logo-right-button .side-menu-open .menu__bar:nth-child(2) {
  margin-bottom: 5px;
}
.logo-right-button .side-menu-open .menu__bar:nth-child(2) {
  margin-left: 5px;
}
.logo-right-button .side-menu-open:hover .menu__bar:nth-child(2) {
  margin-left: 0;
  margin-right: 5px;
}

.side-nav-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 320px;
  height: 100%;
  background-color: #2e3d62;
  overflow-x: hidden;
  z-index: 999;
  -webkit-transition: all 0.4s cubic-bezier(0.7, 0, 0.2, 1);
  -moz-transition: all 0.4s cubic-bezier(0.7, 0, 0.2, 1);
  -ms-transition: all 0.4s cubic-bezier(0.7, 0, 0.2, 1);
  -o-transition: all 0.4s cubic-bezier(0.7, 0, 0.2, 1);
  transition: all 0.4s cubic-bezier(0.7, 0, 0.2, 1);
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  -o-transform: translateX(-100%);
  transform: translateX(-100%);
}
.side-nav-container .humburger-menu .humburger-menu-lines {
  display: inline-block;
  text-align: right;
  width: 22px;
  height: 22px;
  cursor: pointer;
  position: absolute;
  top: 25px;
  right: 18px;
  opacity: 0.5;
}
.side-nav-container .humburger-menu .humburger-menu-lines:before, .side-nav-container .humburger-menu .humburger-menu-lines:after {
  position: absolute;
  content: "";
  height: 2px;
  width: 100%;
  top: 10px;
  left: 0;
  background-color: #fff;
  -webkit-transform: rotate(-43deg);
  -moz-transform: rotate(-43deg);
  -ms-transform: rotate(-43deg);
  -o-transform: rotate(-43deg);
  transform: rotate(-43deg);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.side-nav-container .humburger-menu .humburger-menu-lines:after {
  -webkit-transform: rotate(43deg);
  -moz-transform: rotate(43deg);
  -ms-transform: rotate(43deg);
  -o-transform: rotate(43deg);
  transform: rotate(43deg);
}
.side-nav-container .humburger-menu .humburger-menu-lines:hover:before, .side-nav-container .humburger-menu .humburger-menu-lines:hover:after {
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -ms-transform: rotate(0);
  -o-transform: rotate(0);
  transform: rotate(0);
}
.side-nav-container .side-menu-wrap {
  margin-top: 100px;
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item {
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item a {
  color: #fff;
  text-transform: uppercase;
  display: block;
  padding: 14px 20px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  font-weight: 500;
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item .menu-plus-icon {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  line-height: 50px;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item .menu-plus-icon:before, .side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item .menu-plus-icon:after {
  position: absolute;
  top: 24px;
  right: 20px;
  content: "";
  width: 11px;
  height: 2px;
  background-color: #fff;
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item .menu-plus-icon:after {
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -ms-transform: rotate(0);
  -o-transform: rotate(0);
  transform: rotate(0);
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item .menu-plus-icon:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item .side-sub-menu {
  display: none;
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item .side-sub-menu li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item .side-sub-menu li:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item .side-sub-menu li a {
  padding-left: 30px;
  padding-top: 12px;
  padding-bottom: 12px;
  position: relative;
  text-transform: capitalize;
  color: rgba(255, 255, 255, 0.7);
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item .side-sub-menu li a .la {
  margin-right: 8px;
  width: 33px;
  height: 33px;
  line-height: 33px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.1);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item .side-sub-menu li a:hover {
  color: #fff;
  padding-left: 35px;
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item .side-sub-menu li a:hover span {
  background-color: #fff;
  color: #2e3d62;
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.12);
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item:hover > a {
  background-color: rgba(255, 255, 255, 0.12);
}
.side-nav-container .side-menu-wrap .side-menu-ul .sidenav__item.active .menu-plus-icon:before {
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
}
.side-nav-container .side-btn-box {
  text-align: center;
  margin-top: 40px;
}
.side-nav-container .side-btn-box .theme-btn {
  background-color: #fff;
  color: #2e3d62;
}
.side-nav-container .side-btn-box .theme-btn:hover {
  background-color: #42a5f5;
  color: #fff;
}
.side-nav-container.active {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
}

/*-===============================
    header-menu-area 2
===============================-*/
.header-menu-area-2.header-fixed,
.header-menu-area-3.header-fixed,
.header-menu-area-5.header-fixed {
  background-color: #2e3d62;
}

/* menu-content-2 */
.menu-content-2 .main-menu ul li a {
  color: #fff;
}
.menu-content-2 .main-menu ul li a:after {
  background-color: #fff;
}
.menu-content-2 .search-wrap .dropdown .dropdown-toggle,
.menu-content-2 .cart-wrap .dropdown .dropdown-toggle {
  color: #fff;
}
.menu-content-2 .search-wrap .dropdown .dropdown-toggle .cart-count,
.menu-content-2 .cart-wrap .dropdown .dropdown-toggle .cart-count {
  background-color: #fff;
  color: #42a5f5;
}
.menu-content-2 .logo-right-button ul li .theme-btn {
  background-color: #fff;
  color: #2e3d62;
}
.menu-content-2 .logo-right-button ul li .theme-btn:hover {
  background-color: #42a5f5;
  color: #fff;
}
.menu-content-2 .logo-right-button .side-menu-open {
  border-color: rgba(255, 255, 255, 0.2);
}
.menu-content-2 .logo-right-button .side-menu-open .menu__bar {
  background-color: #fff;
}

/*-===============================
    header-menu-area 4
===============================-*/
.header-top {
  border-bottom: 1px solid rgba(127, 136, 151, 0.1);
  padding-top: 10px;
  padding-bottom: 10px;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .header-top {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .header-top {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .header-top {
    display: none;
  }
}

.header-top-info .info-list li {
  display: inline-block;
  margin-right: 10px;
}
.header-top-info .info-list li i {
  width: 30px;
  height: 30px;
  line-height: 28px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  border: 1px solid rgba(127, 136, 151, 0.2);
  margin-right: 5px;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}
.header-top-info .info-list li:last-child {
  margin-right: 0;
}
.header-top-info .info-list li a {
  color: #7f8897;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.header-top-info .info-list li a:hover {
  color: #42a5f5;
}
.header-top-info .info-list li:hover i {
  background-color: #42a5f5;
  color: #fff;
  border-color: #42a5f5;
}

.header-left-info {
  padding-top: 7px;
}

.header-right-info {
  text-align: right;
}
.header-right-info .info-list li {
  margin-right: 3px;
}
.header-right-info .info-list li i {
  margin-right: 0;
  width: 33px;
  font-size: 14px;
  height: 33px;
  line-height: 33px;
}
.header-right-info .info-list li .theme-btn {
  color: #fff;
  line-height: 45px;
  padding-left: 25px;
  padding-right: 45px;
}
.header-right-info .info-list li .theme-btn:hover {
  color: #fff;
}
.header-right-info .info-list li:last-child {
  margin-left: 15px;
}

.menu-content-3 .main-menu {
  margin-right: 0;
}
.menu-content-3 .main-menu ul li .search-wrap .dropdown .dropdown-toggle {
  border: 1px solid rgba(127, 136, 151, 0.2);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
@media (max-width: 1600px) {
  .menu-content-3 .main-menu ul li .search-wrap .dropdown .dropdown-menu {
    right: -160px;
  }
}
@media (max-width: 1440px) {
  .menu-content-3 .main-menu ul li .search-wrap .dropdown .dropdown-menu {
    right: -184px;
  }
}

/* menu-content-4 */
.menu-content-4 .main-menu ul li a {
  color: #fff;
}
.menu-content-4 .main-menu ul li a:after {
  background-color: #b99566;
}
.menu-content-4 .main-menu ul li a:hover {
  color: #b99566;
}
.menu-content-4 .main-menu ul li .dropdown-menu-item li a:before {
  background-color: #b99566;
}
.menu-content-4 .main-menu ul li .dropdown-menu-item li a:hover {
  color: #b99566;
}
.menu-content-4 .main-menu ul li .mega-menu li .mega-menu-item .section-divider:before {
  background-color: #b99566;
}
.menu-content-4 .main-menu ul li .mega-menu li .mega-menu-inner li a:hover span {
  background-color: #b99566;
}
.menu-content-4 .search-wrap .dropdown .dropdown-toggle,
.menu-content-4 .cart-wrap .dropdown .dropdown-toggle {
  color: #fff;
}
.menu-content-4 .search-wrap .dropdown .dropdown-toggle .cart-count,
.menu-content-4 .cart-wrap .dropdown .dropdown-toggle .cart-count {
  background-color: #fff;
  color: #b99566;
}
.menu-content-4 .search-wrap .dropdown .cart-items .items .item__info a:hover,
.menu-content-4 .cart-wrap .dropdown .cart-items .items .item__info a:hover {
  color: #b99566;
}
.menu-content-4 .search-wrap .dropdown .cart-items .items .item__info .item__remove:hover,
.menu-content-4 .cart-wrap .dropdown .cart-items .items .item__info .item__remove:hover {
  background-color: #b99566;
  color: #fff;
}
.menu-content-4 .search-wrap .contact-form-action .theme-btn {
  background-color: #b99566;
}
.menu-content-4 .logo-right-button ul li .theme-btn {
  background-color: #fff;
  color: #2e3d62;
}
.menu-content-4 .logo-right-button ul li .theme-btn:hover {
  background-color: #b99566;
  color: #fff;
}
.menu-content-4 .logo-right-button .side-menu-open {
  border-color: rgba(255, 255, 255, 0.2);
}
.menu-content-4 .logo-right-button .side-menu-open .menu__bar {
  background-color: #fff;
}

.header-menu-area-4.header-fixed .header-top {
  display: none;
}

/*-===============================
    header-menu-area 5
===============================-*/
.header-menu-area-5 {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/*-===============================
    banner-area
===============================-*/
.banner-area {
  position: relative;
  overflow: hidden;
}
.banner-area .banner-svg {
  position: absolute;
  top: 0;
  left: 0;
  fill: #F7F9FB;
  height: 112%;
}

.banner-item-wrap {
  position: relative;
  background-position: center center;
  background-size: cover;
  padding-top: 250px;
  padding-bottom: 120px;
  z-index: 2;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .banner-item-wrap {
    padding-top: 200px;
    padding-bottom: 50px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .banner-item-wrap {
    padding-top: 200px;
    padding-bottom: 50px;
  }
}

.banner-item-table {
  display: table;
  width: 100%;
  height: 100%;
}
.banner-item-table .banner-item-tablecell {
  display: table-cell;
  vertical-align: middle;
}

.banner-content {
  position: relative;
  z-index: 2;
}
.banner-content .section-heading .section__meta {
  letter-spacing: 4px;
  color: #2e3d62;
  background-color: rgba(46, 61, 98, 0.1);
  padding: 4px 14px;
  margin-bottom: 25px;
}
.banner-content .section-heading .section__title {
  font-size: 70px;
  line-height: 80px;
  font-weight: 700;
  margin-bottom: 36px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .banner-content .section-heading .section__title {
    font-size: 50px;
    line-height: 60px;
  }
}
@media (max-width: 575px) {
  .banner-content .section-heading .section__title {
    font-size: 45px;
    line-height: 55px;
  }
}
@media (max-width: 425px) {
  .banner-content .section-heading .section__title {
    font-size: 40px;
    line-height: 50px;
  }
}
@media (max-width: 375px) {
  .banner-content .section-heading .section__title br {
    display: none;
  }
}
.banner-content .section-description .section__desc {
  font-size: 24px;
  line-height: 37px;
}
@media (max-width: 575px) {
  .banner-content .section-description .section__desc {
    font-size: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .banner-content .section-description .section__desc br {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .banner-content .section-description .section__desc br {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .banner-content .section-description .section__desc br {
    display: none;
  }
}
@media (max-width: 425px) {
  .banner-content .btn-box a {
    margin-right: 0;
    margin-bottom: 30px;
  }
}

/*-===============================
    home-page-4
===============================-*/
.home-page-4 .banner-item-wrap {
  background-image: url("../images/banner-home-img.jpg");
  padding-top: 120px;
  padding-bottom: 80px;
}
@media (max-width: 480px) {
  .home-page-4 .banner-item-wrap {
    padding-top: 250px;
  }
}
.home-page-4 .banner-item-wrap .line-bg {
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
}
.home-page-4 .banner-item-wrap .line-bg:before {
  display: none;
}
.home-page-4 .banner-item-wrap:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2e3d62;
  opacity: 0.9;
  z-index: -1;
}
.home-page-4 .banner-content .section-heading .section-icon:before {
  color: rgba(255, 255, 255, 0.5);
  left: 0;
}
.home-page-4 .banner-content .section-heading .section-icon:after {
  color: rgba(255, 255, 255, 0.4);
  right: 8px;
}
.home-page-4 .banner-content .section-heading .section__title {
  color: #fff;
  margin-bottom: 20px;
}
.home-page-4 .banner-content .section-description .section__desc {
  color: #fff;
  font-size: 20px;
}
.home-page-4 .banner-content .btn-box {
  -ms-flex-pack: start;
  justify-content: flex-start;
}
@media (max-width: 425px) {
  .home-page-4 .banner-content .btn-box {
    width: 210px;
    text-align: left;
  }
}
.home-page-4 .banner-content .btn-box .contact-number {
  color: #fff;
  margin-left: 20px;
  border-bottom: 1px solid #fff;
  padding-bottom: 2px;
}
@media (max-width: 425px) {
  .home-page-4 .banner-content .btn-box .contact-number {
    margin-left: 0;
    margin-top: 20px;
    display: inline-block;
  }
}
.home-page-4 .banner-content .btn-box .contact-number span {
  font-weight: 500;
}
.home-page-4 .preview-video {
  position: absolute;
  bottom: 60px;
  right: 80px;
  text-align: center;
}

/*-===============================
    home-page-5
===============================-*/
.slider-circle-shape {
  width: 600px;
  height: 600px;
  position: absolute;
  display: block;
  border: 100px dotted rgba(255, 255, 255, 0.5);
  opacity: 0.1;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  z-index: 1;
}

.slider-circle-shape1 {
  top: -200px;
  left: -230px;
  border: 100px dashed rgba(255, 255, 255, 0.5);
}

.slider-circle-shape2 {
  bottom: -210px;
  right: -210px;
}

.slider-circle-shape1,
.slider-circle-shape2 {
  animation: spinme 11000ms infinite linear;
}

.info-contact-box {
  margin-top: 200px;
  background: #7f8897;
  background: -webkit-linear-gradient(to right, #7f8897, #A3B0BA);
  background: linear-gradient(to right, #7f8897, #A3B0BA);
  text-align: left;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .info-contact-box {
    margin-top: 140px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .info-contact-box {
    margin-top: 140px;
  }
}

.banner-contact-list .col-lg-4:last-child .banner-contact-item {
  border-right: none;
}

.banner-contact-item {
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  padding: 50px 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .banner-contact-item {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .banner-contact-item {
    padding-top: 30px;
    padding-bottom: 30px;
    border-right: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .banner-contact-item {
    padding-top: 30px;
    padding-bottom: 30px;
    border-right: none;
  }
}
.banner-contact-item span {
  width: 60px;
  height: 60px;
  line-height: 60px;
  background-color: rgba(255, 255, 255, 0.1);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  font-size: 28px;
  float: left;
  margin-right: 20px;
  text-align: center;
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.banner-contact-item span:after {
  position: absolute;
  content: "";
  right: -6px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 7px solid rgba(255, 255, 255, 0.1);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.banner-contact-item .banner-contact__title {
  color: #fff;
  font-size: 22px;
  padding-top: 3px;
  padding-bottom: 3px;
}
.banner-contact-item .banner-contact__text {
  color: rgba(255, 255, 255, 0.7);
}
.banner-contact-item .banner-contact__text a {
  color: rgba(255, 255, 255, 0.7);
}
.banner-contact-item:hover span {
  background-color: #fff;
  color: #2e3d62;
}
.banner-contact-item:hover span:after {
  border-left-color: #fff;
}

/*=========  list-items ========*/
.list-items li {
  margin-bottom: 10px;
  padding-left: 80px;
  position: relative;
}
.list-items li span {
  margin-right: 17px;
  font-size: 50px;
  position: absolute;
  left: 0;
  top: -7px;
  color: #42a5f5;
}
.list-items li h3 {
  margin-bottom: 10px;
  font-weight: 600;
  font-size: 24px;
}
.list-items li p {
  line-height: 28px;
}
.list-items li + li {
  margin-top: 30px;
}

/*========= image-box ========*/
.image-box {
  position: relative;
  margin-top: 50px;
  margin-left: 30px;
  height: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .image-box {
    margin-left: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .image-box {
    margin-left: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .image-box {
    margin-left: 0;
  }
}
.image-box .img__item {
  width: 100%;
  position: absolute;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  border: 10px solid #fff;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .image-box .img__item {
    position: inherit;
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .image-box .img__item {
    position: inherit;
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .image-box .img__item {
    position: inherit;
    margin-bottom: 30px;
  }
}
.image-box .img__item:nth-child(1) {
  top: 0;
  right: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .image-box .img__item:nth-child(1) {
    top: auto;
    right: auto;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .image-box .img__item:nth-child(1) {
    top: auto;
    right: auto;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .image-box .img__item:nth-child(1) {
    top: auto;
    right: auto;
  }
}
.image-box .img__item:nth-child(2) {
  top: 0;
  left: 0;
  width: 33%;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .image-box .img__item:nth-child(2) {
    width: 100%;
    top: auto;
    left: auto;
    -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .image-box .img__item:nth-child(2) {
    width: 100%;
    top: auto;
    left: auto;
    -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .image-box .img__item:nth-child(2) {
    width: 100%;
    top: auto;
    left: auto;
    -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  }
}
.image-box .img__item:nth-child(3) {
  bottom: 25%;
  right: -60px;
  width: 40%;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}
@media (max-width: 1280px) {
  .image-box .img__item:nth-child(3) {
    right: -10px;
  }
}
@media (max-width: 1199px) {
  .image-box .img__item:nth-child(3) {
    bottom: 35%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .image-box .img__item:nth-child(3) {
    width: 100%;
    bottom: auto;
    right: auto;
    -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .image-box .img__item:nth-child(3) {
    width: 100%;
    bottom: auto;
    right: auto;
    -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .image-box .img__item:nth-child(3) {
    width: 100%;
    bottom: auto;
    right: auto;
    -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  }
}
.image-box .img__item:nth-child(4) {
  bottom: 15%;
  left: 0;
  width: 33%;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}
@media (max-width: 1199px) {
  .image-box .img__item:nth-child(4) {
    bottom: 35%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .image-box .img__item:nth-child(4) {
    width: 100%;
    bottom: auto;
    left: auto;
    -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .image-box .img__item:nth-child(4) {
    width: 100%;
    bottom: auto;
    left: auto;
    -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .image-box .img__item:nth-child(4) {
    width: 100%;
    bottom: auto;
    left: auto;
    -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  }
}

.img--box .img__item {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  position: relative;
  border: none;
}
.img--box .img__item:nth-child(1) {
  top: auto;
  right: auto;
}

/*-===============================
   ABOUT AREA
===============================-*/
.about-area {
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area .section-heading .section__title br {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area .section-heading .section__title br {
    display: none;
  }
}
.about-area .about-item {
  position: relative;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area .image-box {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: center;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area .image-box {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: center;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area .image-box .img__item {
    width: 280px;
    height: 280px;
    margin: 0 15px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area .image-box .img__item {
    width: 200px;
    height: 200px;
    margin: 0 15px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area .img--box .img__item {
    width: 100%;
    height: auto;
    margin: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area .img--box .img__item {
    width: 100%;
    height: auto;
    margin: 0;
  }
}

/*-===============================
   ABOUT AREA 2
===============================-*/
.about-area2 .about-item .list-items {
  padding-right: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area2 .about-item .list-items {
    padding-right: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area2 .about-item .list-items {
    padding-right: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area2 .about-item .list-items {
    padding-right: 0;
  }
}
.about-area2 .about-item .list-items li {
  padding-left: 0;
}
.about-area2 .about-item .list-items li span {
  font-size: 28px;
  width: 50px;
  height: 50px;
  text-align: center;
  line-height: 50px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: rgba(66, 165, 245, 0.1);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.about-area2 .about-item .list-items li span:after {
  position: absolute;
  content: "";
  right: -6px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 7px solid rgba(66, 165, 245, 0.1);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.about-area2 .about-item .list-items li h3 {
  padding-top: 7px;
  margin-left: 65px;
  margin-bottom: 25px;
  font-size: 22px;
}
.about-area2 .about-item .list-items li:hover span {
  background-color: #42a5f5;
  color: #fff;
}
.about-area2 .about-item .list-items li:hover span:after {
  border-left-color: #42a5f5;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area2 .about-item-left {
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area2 .about-item-left {
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area2 .about-item-left {
    margin-bottom: 60px;
  }
}

.video-image-gallery {
  position: relative;
}
.video-image-gallery img {
  width: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.video-image-gallery .preview-video {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 1;
}
.video-image-gallery .preview-video .video-play-btn {
  width: 60px;
  height: 60px;
  line-height: 66px;
}
.video-image-gallery:before {
  position: absolute;
  content: "";
  right: -32px;
  bottom: -32px;
  background-image: url("../images/dots.png");
  background-size: cover;
  background-position: center;
  width: 225px;
  height: 225px;
  opacity: 0.2;
  z-index: -1;
}

/*-===============================
   performance-area
===============================-*/
.performance-area .performance-wrapper {
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .performance-area .circle-bar-wrap {
    text-align: center;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .performance-area .circle-bar-wrap {
    text-align: center;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .performance-area .circle-bar-wrap {
    text-align: center;
  }
}
.performance-area .circle-bar-wrap .circlechart .circle-chart {
  width: 155px;
  height: 155px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .performance-area .circle-bar-wrap .circlechart .circle-chart {
    width: 200px;
    height: 200px;
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .performance-area .circle-bar-wrap .circlechart .circle-chart {
    width: 200px;
    height: 200px;
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .performance-area .circle-bar-wrap .circlechart .circle-chart {
    width: 200px;
    height: 200px;
    margin-bottom: 50px;
  }
}
.performance-area .chart-box {
  margin-top: 50px;
  margin-left: 50px;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  padding: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .performance-area .chart-box {
    margin-left: 0;
    margin-top: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .performance-area .chart-box {
    margin-left: 0;
    margin-top: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .performance-area .chart-box {
    margin-left: 0;
    margin-top: 0;
  }
}

/*-===============================
    ABOUT AREA 3
===============================-*/
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area3 {
    padding-bottom: 150px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area3 {
    padding-bottom: 120px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area3 {
    padding-bottom: 120px;
  }
}
.about-area3 .about-item .section-description {
  margin-top: 30px;
}
.about-area3 .about-item .list-items {
  margin-bottom: 40px;
}
.about-area3 .about-item .list-items li {
  padding-left: 25px;
  margin-bottom: 15px;
}
.about-area3 .about-item .list-items li:last-child {
  margin-bottom: 0;
}
.about-area3 .about-item .list-items li span {
  font-size: 1rem;
  margin-right: 0;
  top: 2px;
}
.about-area3 .about-item .list-items li + li {
  margin-top: 0;
}
.about-area3 .image-box-wrap {
  height: 100%;
  position: relative;
}
.about-area3 .image-box-wrap .company-logo {
  position: absolute;
  top: 40px;
  left: 28px;
  text-transform: uppercase;
  font-size: 50px;
  font-weight: 600;
  color: transparent;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: rgba(127, 136, 151, 0.2);
}
@media (max-width: 1199px) {
  .about-area3 .image-box-wrap .company-logo {
    top: 50px;
    font-size: 35px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area3 .image-box-wrap .company-logo {
    z-index: 2;
    font-size: 40px;
    left: 60px;
    top: 30px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area3 .image-box-wrap .company-logo {
    z-index: 2;
    font-size: 40px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area3 .image-box-wrap .company-logo {
    z-index: 2;
    font-size: 40px;
  }
}
.about-area3 .image-box {
  margin-top: 0;
  margin-left: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area3 .image-box {
    margin-top: 60px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area3 .image-box {
    margin-top: 60px;
    display: block;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area3 .image-box {
    margin-top: 60px;
    display: block;
  }
}
.about-area3 .image-box .img__item {
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area3 .image-box .img__item {
    height: 220px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area3 .image-box .img__item {
    height: auto;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area3 .image-box .img__item {
    height: auto;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 30px;
  }
}
.about-area3 .image-box .img__item:nth-child(1) {
  width: 60%;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area3 .image-box .img__item:nth-child(1) {
    width: 280px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area3 .image-box .img__item:nth-child(1) {
    width: 100%;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area3 .image-box .img__item:nth-child(1) {
    width: 100%;
  }
}
.about-area3 .image-box .img__item:nth-child(2), .about-area3 .image-box .img__item:nth-child(3), .about-area3 .image-box .img__item:nth-child(4) {
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
}
.about-area3 .image-box .img__item:nth-child(2) {
  width: 50%;
  top: 100px;
  left: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area3 .image-box .img__item:nth-child(2) {
    top: auto;
    left: auto;
    width: 280px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area3 .image-box .img__item:nth-child(2) {
    top: auto;
    left: auto;
    width: 100%;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area3 .image-box .img__item:nth-child(2) {
    top: auto;
    left: auto;
    width: 100%;
  }
}
.about-area3 .image-box .img__item:nth-child(3) {
  right: 0;
  bottom: 18%;
}
@media (max-width: 1199px) {
  .about-area3 .image-box .img__item:nth-child(3) {
    bottom: 43%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area3 .image-box .img__item:nth-child(3) {
    width: 280px;
    right: auto;
    bottom: auto;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area3 .image-box .img__item:nth-child(3) {
    width: 100%;
    right: auto;
    bottom: auto;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area3 .image-box .img__item:nth-child(3) {
    width: 100%;
    right: auto;
    bottom: auto;
  }
}
.about-area3 .image-box .img__item:nth-child(4) {
  bottom: 27px;
  left: 84px;
  width: 40%;
}
@media (max-width: 1199px) {
  .about-area3 .image-box .img__item:nth-child(4) {
    bottom: 185px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area3 .image-box .img__item:nth-child(4) {
    width: 280px;
    bottom: auto;
    left: auto;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area3 .image-box .img__item:nth-child(4) {
    width: 100%;
    bottom: auto;
    left: auto;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area3 .image-box .img__item:nth-child(4) {
    width: 100%;
    bottom: auto;
    left: auto;
    margin-bottom: 0;
  }
}

/*-===============================
    ABOUT AREA 4
===============================-*/
.about-area4 .image-box {
  margin-top: 0;
  margin-left: 0;
  margin-right: 30px;
  border: 10px solid #fff;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}
@media (max-width: 1199px) {
  .about-area4 .image-box {
    -webkit-box-shadow: 0 0 0 0;
    -moz-box-shadow: 0 0 0 0;
    box-shadow: 0 0 0 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area4 .image-box {
    margin-right: 0;
    -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area4 .image-box {
    margin-right: 0;
    -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area4 .image-box {
    margin-right: 0;
    -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
    box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  }
}
.about-area4 .image-box .about-line-bg {
  position: absolute;
  content: "";
  top: -45px;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  left: 50%;
  width: 20%;
  height: 20%;
  border: 10px solid rgba(127, 136, 151, 0.1);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  z-index: -1;
}
.about-area4 .image-box .img__item {
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  width: 100%;
  position: inherit;
  border: none;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area4 .image-box .img__item {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area4 .image-box .img__item {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area4 .image-box .img__item {
    margin-bottom: 0;
  }
}
.about-area4 .image-box .img__item:nth-child(2) {
  top: auto;
  left: auto;
  right: auto;
  width: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area4 .image-box .img__item:nth-child(2) {
    height: auto;
    margin-right: 0;
    margin-left: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area4 .image-box .img__item:nth-child(2) {
    height: auto;
    margin-right: 0;
    margin-left: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area4 .image-box .img__item:nth-child(2) {
    height: auto;
    margin-right: 0;
    margin-left: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area4 .about-item {
    margin-top: 60px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area4 .about-item {
    margin-top: 60px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .about-area4 .about-item {
    margin-top: 60px;
  }
}
.about-area4 .about-item .section-description {
  margin-top: 30px;
}
.about-area4 .about-item .list-items {
  margin-bottom: 40px;
}
.about-area4 .about-item .list-items li {
  padding-left: 25px;
  margin-bottom: 15px;
}
.about-area4 .about-item .list-items li:last-child {
  margin-bottom: 0;
}
.about-area4 .about-item .list-items li span {
  font-size: 1rem;
  margin-right: 0;
  top: 2px;
}
.about-area4 .about-item .list-items li + li {
  margin-top: 0;
}

/*-===============================
    ABOUT AREA 5
===============================-*/
.about-area5 .about-img-wrap {
  margin-top: 50px;
  margin-right: 30px;
  height: 100%;
  position: relative;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area5 .about-img-wrap {
    margin-right: 0;
    margin-top: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area5 .about-img-wrap {
    margin-right: 0;
    margin-top: 0;
  }
}
@media (max-width: 481px) {
  .about-area5 .about-img-wrap {
    height: auto;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 60px;
  }
}
.about-area5 .about-img-wrap .image-box {
  margin-left: 0;
  margin-top: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area5 .about-img-wrap .image-box {
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area5 .about-img-wrap .image-box {
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
@media (max-width: 481px) {
  .about-area5 .about-img-wrap .image-box {
    display: block;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area5 .about-img-wrap .image-box .img__item {
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area5 .about-img-wrap .image-box .img__item {
    margin-bottom: 30px;
  }
}
@media (max-width: 481px) {
  .about-area5 .about-img-wrap .image-box .img__item {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
    width: 100%;
    height: auto;
  }
}
.about-area5 .about-img-wrap .image-box .img__item:nth-child(3) {
  bottom: 15%;
  right: auto;
  left: 0;
  width: 50%;
}
@media (max-width: 1199px) {
  .about-area5 .about-img-wrap .image-box .img__item:nth-child(3) {
    bottom: 40%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area5 .about-img-wrap .image-box .img__item:nth-child(3) {
    width: 280px;
    bottom: auto;
    left: auto;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area5 .about-img-wrap .image-box .img__item:nth-child(3) {
    width: 200px;
    bottom: auto;
    left: auto;
  }
}
@media (max-width: 481px) {
  .about-area5 .about-img-wrap .image-box .img__item:nth-child(3) {
    width: 100%;
    height: auto;
    bottom: auto;
    left: auto;
  }
}
.about-area5 .about-img-wrap .video-play-btn {
  position: absolute;
  bottom: 110px;
  right: 30px;
  width: 130px;
  height: 130px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  line-height: 130px;
  font-size: 45px;
  color: #fff;
  text-align: center;
  display: inline-block;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  background-image: url("../images/img1.jpg");
  background-size: cover;
  background-position: center;
  z-index: 1;
}
@media (max-width: 1199px) {
  .about-area5 .about-img-wrap .video-play-btn {
    bottom: 250px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .about-area5 .about-img-wrap .video-play-btn {
    bottom: 40px;
    right: 90px;
    width: 260px;
    height: 260px;
    line-height: 260px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .about-area5 .about-img-wrap .video-play-btn {
    bottom: 40px;
    right: 65px;
    width: 180px;
    height: 180px;
    line-height: 180px;
  }
}
@media (max-width: 481px) {
  .about-area5 .about-img-wrap .video-play-btn {
    position: inherit;
    bottom: auto;
    right: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
.about-area5 .about-img-wrap .video-play-btn:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2e3d62;
  opacity: 0.7;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  z-index: -1;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.about-area5 .about-img-wrap .video-play-btn:hover:after {
  opacity: 0.9;
}
.about-area5 .section-heading .section__desc {
  margin-top: 30px;
  margin-bottom: 34px;
}
.about-area5 .section-description {
  margin-top: 30px;
}
.about-area5 .icon-box-list {
  margin-bottom: 40px;
}

/*-===============================
    CHOOSE AREA
===============================-*/
.why-choose-wrap {
  margin-top: 60px;
}
.why-choose-wrap .about-item {
  margin-bottom: 30px;
}
.why-choose-wrap .about-item .choose-number {
  position: absolute;
  bottom: 20px;
  right: 0;
  font-size: 100px;
  font-weight: 700;
  color: transparent;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: rgba(127, 136, 151, 0.2);
}
.why-choose-wrap .about-item .list-items {
  padding-right: 0;
  margin-bottom: 0;
}
.why-choose-wrap .about-item .list-items span:after {
  display: none;
}
.why-choose-wrap .video-image-gallery {
  margin-top: 40px;
  -webkit-box-shadow: 0 0 40px rgba(14, 16, 48, 0.1);
  -moz-box-shadow: 0 0 40px rgba(14, 16, 48, 0.1);
  box-shadow: 0 0 40px rgba(14, 16, 48, 0.1);
  border: 10px solid #fff;
}
.why-choose-wrap .video-image-gallery img {
  border: none;
}

/*-===============================
    CHOOSE AREA 2
===============================-*/
.why-choose-area2 {
  padding-bottom: 90px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .why-choose-area2 {
    padding-bottom: 120px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .why-choose-area2 {
    padding-bottom: 120px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .why-choose-area2 {
    padding-bottom: 120px;
  }
}
.why-choose-area2 .why-choose-wrap .about-heading .about__list {
  padding-right: 50px;
}
.why-choose-area2 .why-choose-wrap .about-video-img {
  margin-top: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .why-choose-area2 .why-choose-wrap .about-video-img {
    margin-top: 40px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .why-choose-area2 .why-choose-wrap .about-video-img {
    margin-top: 40px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .why-choose-area2 .why-choose-wrap .about-video-img {
    margin-top: 40px;
  }
}

@media (max-width: 425px) {
  .experienced-box {
    flex-direction: column;
  }
}
@media (max-width: 425px) {
  .experienced-box h3 {
    padding-bottom: 50px !important;
  }
}

/*-===============================
    WIDGET AREA
===============================-*/
.widgets-area {
  background-color: #F7F9FB;
  padding-top: 120px;
  padding-bottom: 120px;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}
.widgets-area .circle-shape {
  z-index: 1;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  top: 27%;
  width: 25px;
  height: 25px;
}
.widgets-area .circle-shape2 {
  top: 10%;
  width: 50px;
  height: 50px;
  -webkit-transform: rotate(30deg);
  -moz-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  -o-transform: rotate(30deg);
  transform: rotate(30deg);
}
.widgets-area .circle-shape3 {
  top: auto;
  bottom: 10%;
}
.widgets-area .circle-shape4 {
  bottom: 20%;
  top: auto;
  left: 5%;
  width: 80px;
  height: 80px;
  -webkit-transform: rotate(30deg);
  -moz-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  -o-transform: rotate(30deg);
  transform: rotate(30deg);
}
.widgets-area .circle-shape5 {
  bottom: 50%;
  top: auto;
  left: auto;
  right: 15%;
  width: 70px;
  height: 70px;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}
.widgets-area .section-heading .section__title {
  width: 880px;
  margin-left: auto;
  margin-right: auto;
  line-height: 56px;
}
.widgets-area .widget-content-wrap {
  margin-top: 32px;
  margin-bottom: 30px;
}
.widgets-area .widget-content-wrap .widget-item {
  background-color: #fff;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  -webkit-box-shadow: 0 0 40px rgba(14, 16, 48, 0.04);
  -moz-box-shadow: 0 0 40px rgba(14, 16, 48, 0.04);
  box-shadow: 0 0 40px rgba(14, 16, 48, 0.04);
  margin-bottom: 30px;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 1;
}
.widgets-area .widget-content-wrap .widget-item .widget-link {
  display: block;
  padding: 40px 20px 35px 20px;
}
.widgets-area .widget-content-wrap .widget-item .widget-link .widget__icon {
  width: 60px;
  height: 60px;
  line-height: 60px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: rgba(143, 66, 236, 0.1);
  color: #42a5f5;
  font-size: 30px;
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.widgets-area .widget-content-wrap .widget-item .widget-link .widget__icon:after {
  position: absolute;
  content: "";
  right: -7px;
  top: 4px;
  width: 30px;
  height: 15px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.widgets-area .widget-content-wrap .widget-item .widget-link .widget__title {
  margin-top: 20px;
  font-size: 18px;
  text-transform: capitalize;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.widgets-area .widget-content-wrap .widget-item:before, .widgets-area .widget-content-wrap .widget-item:after {
  position: absolute;
  content: "";
  width: 90px;
  height: 120px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0.1;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: -1;
}
.widgets-area .widget-content-wrap .widget-item:before {
  top: 0;
  left: 0;
  -webkit-transform: translate(70%, -70%);
  -moz-transform: translate(70%, -70%);
  -ms-transform: translate(70%, -70%);
  -o-transform: translate(70%, -70%);
  transform: translate(70%, -70%);
}
.widgets-area .widget-content-wrap .widget-item:after {
  bottom: 0;
  right: 0;
  -webkit-transform: translate(-70%, 70%);
  -moz-transform: translate(-70%, 70%);
  -ms-transform: translate(-70%, 70%);
  -o-transform: translate(-70%, 70%);
  transform: translate(-70%, 70%);
}
.widgets-area .widget-content-wrap .widget-item:hover {
  background-color: #42a5f5;
}
.widgets-area .widget-content-wrap .widget-item:hover .widget-link .widget__icon {
  background-color: #fff;
}
.widgets-area .widget-content-wrap .widget-item:hover .widget-link .widget__icon:after {
  background-color: #42a5f5;
}
.widgets-area .widget-content-wrap .widget-item:hover .widget-link .widget__title {
  color: #fff;
}
.widgets-area .widget-content-wrap .widget-item:hover:before {
  -webkit-transform: translate(35%, -35%);
  -moz-transform: translate(35%, -35%);
  -ms-transform: translate(35%, -35%);
  -o-transform: translate(35%, -35%);
  transform: translate(35%, -35%);
}
.widgets-area .widget-content-wrap .widget-item:hover:after {
  -webkit-transform: translate(-35%, 35%);
  -moz-transform: translate(-35%, 35%);
  -ms-transform: translate(-35%, 35%);
  -o-transform: translate(-35%, 35%);
  transform: translate(-35%, 35%);
}

/*========= testimonial-item-wrap =========*/
.testimonial-item-wrap .testimonial-item {
  position: relative;
}
.testimonial-item-wrap .testimonial-item .testimonial-desc .testimonial__desc {
  line-height: 28px;
}
.testimonial-item-wrap .testimonial-item .testimonial-author {
  position: relative;
  padding-top: 35px;
}
.testimonial-item-wrap .testimonial-item .testimonial-author img {
  margin-left: auto;
  margin-right: auto;
  width: 94px;
  height: 94px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.testimonial-item-wrap .testimonial-item .testimonial-author .author__title {
  font-size: 24px;
  margin-top: 30px;
  line-height: 20px;
  font-weight: 600;
  margin-bottom: 6px;
}
.testimonial-item-wrap .testimonial-item .testimonial-author .author__meta {
  font-size: 15px;
  text-transform: capitalize;
  font-weight: 500;
  display: block;
  margin-bottom: 4px;
}
.testimonial-item-wrap .testimonial-item .testimonial-author .author__rating {
  color: #ffb02b;
  font-size: 15px;
}
.testimonial-item-wrap .testimonial-item .testimonial-author .author__rating .la {
  margin: 0 -2px;
}
.testimonial-item-wrap .testimonial-item .testimonial-author:after {
  position: absolute;
  content: "”";
  font-size: 280px;
  line-height: 0;
  bottom: -55px;
  right: -10px;
  color: #7f8897;
  font-weight: 700;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.1;
}
.testimonial-item-wrap .owl-nav {
  display: none;
}
.testimonial-item-wrap .owl-nav div {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid rgba(127, 136, 151, 0.1);
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  font-size: 22px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 1366px) {
  .testimonial-item-wrap .owl-nav div {
    top: 38%;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
@media (max-width: 575px) {
  .testimonial-item-wrap .owl-nav div {
    top: auto;
    bottom: -50px;
  }
}
.testimonial-item-wrap .owl-nav div:hover {
  background-color: #42a5f5;
  color: #fff;
}
.testimonial-item-wrap .owl-nav div.owl-prev {
  left: -100px;
}
@media (max-width: 1366px) {
  .testimonial-item-wrap .owl-nav div.owl-prev {
    left: -25px;
  }
}
@media (max-width: 575px) {
  .testimonial-item-wrap .owl-nav div.owl-prev {
    left: 200px;
  }
}
@media (max-width: 480px) {
  .testimonial-item-wrap .owl-nav div.owl-prev {
    left: 160px;
  }
}
@media (max-width: 425px) {
  .testimonial-item-wrap .owl-nav div.owl-prev {
    left: 130px;
  }
}
@media (max-width: 384px) {
  .testimonial-item-wrap .owl-nav div.owl-prev {
    left: 110px;
  }
}
@media (max-width: 320px) {
  .testimonial-item-wrap .owl-nav div.owl-prev {
    left: 85px;
  }
}
.testimonial-item-wrap .owl-nav div.owl-next {
  left: auto;
  right: -100px;
}
@media (max-width: 1366px) {
  .testimonial-item-wrap .owl-nav div.owl-next {
    right: -25px;
  }
}
@media (max-width: 575px) {
  .testimonial-item-wrap .owl-nav div.owl-next {
    right: 200px;
  }
}
@media (max-width: 480px) {
  .testimonial-item-wrap .owl-nav div.owl-next {
    right: 160px;
  }
}
@media (max-width: 425px) {
  .testimonial-item-wrap .owl-nav div.owl-next {
    right: 130px;
  }
}
@media (max-width: 384px) {
  .testimonial-item-wrap .owl-nav div.owl-next {
    right: 110px;
  }
}
@media (max-width: 320px) {
  .testimonial-item-wrap .owl-nav div.owl-next {
    right: 85px;
  }
}
.testimonial-item-wrap .owl-dots {
  text-align: center;
  margin-top: 20px;
}
.testimonial-item-wrap .owl-dots div {
  width: 14px;
  height: 14px;
  line-height: 14px;
  background-color: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  display: inline-block;
  margin: 0 2px;
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  border: 2px solid #42a5f5;
}
.testimonial-item-wrap .owl-dots div.active, .testimonial-item-wrap .owl-dots div:hover {
  background-color: #42a5f5;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

/*========= testimonial-item-wrap-2 =========*/
.testimonial-item-wrap-2 .testimonial-item .testimonial-desc {
  background-color: #f7f8fd;
  padding: 30px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  position: relative;
}
.testimonial-item-wrap-2 .testimonial-item .testimonial-desc .testimonial__desc {
  line-height: 28px;
}
.testimonial-item-wrap-2 .testimonial-item .testimonial-desc:after {
  position: absolute;
  content: "";
  left: 50px;
  bottom: -14px;
  width: 0;
  height: 0;
  border-left: 17px solid transparent;
  border-right: 17px solid transparent;
  border-bottom: 17px solid #f7f8fd;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.testimonial-item-wrap-2 .testimonial-item .testimonial-author {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 35px;
  position: relative;
}
.testimonial-item-wrap-2 .testimonial-item .testimonial-author img {
  width: 94px;
  height: 94px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.testimonial-item-wrap-2 .testimonial-item .testimonial-author .author-detail {
  margin-left: 25px;
}
.testimonial-item-wrap-2 .testimonial-item .testimonial-author .author__title {
  font-size: 24px;
  line-height: 20px;
  font-weight: 600;
  margin-bottom: 6px;
}
.testimonial-item-wrap-2 .testimonial-item .testimonial-author .author__meta {
  font-size: 15px;
  text-transform: capitalize;
  font-weight: 500;
  display: block;
  margin-bottom: 4px;
}
.testimonial-item-wrap-2 .testimonial-item .testimonial-author .author__rating {
  color: #ffb02b;
  font-size: 15px;
}
.testimonial-item-wrap-2 .testimonial-item .testimonial-author .author__rating .la {
  margin: 0 -2px;
}
.testimonial-item-wrap-2 .testimonial-item .testimonial-author:after {
  right: 0;
  bottom: -50px;
  position: absolute;
  content: "”";
  font-size: 280px;
  line-height: 0;
  color: #7f8897;
  font-weight: 700;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.1;
}
.testimonial-item-wrap-2 .owl-nav div {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid rgba(127, 136, 151, 0.1);
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  font-size: 22px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 1366px) {
  .testimonial-item-wrap-2 .owl-nav div {
    top: 38%;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
@media (max-width: 575px) {
  .testimonial-item-wrap-2 .owl-nav div {
    top: auto;
    bottom: -50px;
  }
}
.testimonial-item-wrap-2 .owl-nav div:hover {
  background-color: #42a5f5;
  color: #fff;
}
.testimonial-item-wrap-2 .owl-nav div.owl-prev {
  left: -100px;
}
@media (max-width: 1366px) {
  .testimonial-item-wrap-2 .owl-nav div.owl-prev {
    left: -25px;
  }
}
@media (max-width: 575px) {
  .testimonial-item-wrap-2 .owl-nav div.owl-prev {
    left: 200px;
  }
}
@media (max-width: 480px) {
  .testimonial-item-wrap-2 .owl-nav div.owl-prev {
    left: 160px;
  }
}
@media (max-width: 425px) {
  .testimonial-item-wrap-2 .owl-nav div.owl-prev {
    left: 130px;
  }
}
@media (max-width: 384px) {
  .testimonial-item-wrap-2 .owl-nav div.owl-prev {
    left: 110px;
  }
}
@media (max-width: 320px) {
  .testimonial-item-wrap-2 .owl-nav div.owl-prev {
    left: 85px;
  }
}
.testimonial-item-wrap-2 .owl-nav div.owl-next {
  left: auto;
  right: -100px;
}
@media (max-width: 1366px) {
  .testimonial-item-wrap-2 .owl-nav div.owl-next {
    right: -25px;
  }
}
@media (max-width: 575px) {
  .testimonial-item-wrap-2 .owl-nav div.owl-next {
    right: 200px;
  }
}
@media (max-width: 480px) {
  .testimonial-item-wrap-2 .owl-nav div.owl-next {
    right: 160px;
  }
}
@media (max-width: 425px) {
  .testimonial-item-wrap-2 .owl-nav div.owl-next {
    right: 130px;
  }
}
@media (max-width: 384px) {
  .testimonial-item-wrap-2 .owl-nav div.owl-next {
    right: 110px;
  }
}
@media (max-width: 320px) {
  .testimonial-item-wrap-2 .owl-nav div.owl-next {
    right: 85px;
  }
}

/*========= testimonial-item-wrap-3 =========*/
.testimonial-item-wrap-3 .owl-stage-outer {
  padding-bottom: 40px;
}
.testimonial-item-wrap-3 .testimonial-item {
  border: 1px solid #eee;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  padding: 40px 30px 64px 30px;
  background-color: #fff;
  position: relative;
}
.testimonial-item-wrap-3 .testimonial-item .testimonial-author img {
  margin-left: auto;
  margin-right: auto;
  width: 94px;
  height: 94px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.testimonial-item-wrap-3 .testimonial-item .testimonial-detail {
  margin-top: 18px;
}
.testimonial-item-wrap-3 .testimonial-item .testimonial-detail .author__title {
  font-size: 24px;
  margin-top: 30px;
  line-height: 20px;
  font-weight: 600;
  margin-bottom: 6px;
}
.testimonial-item-wrap-3 .testimonial-item .testimonial-detail .author__meta {
  font-size: 15px;
  text-transform: capitalize;
  font-weight: 500;
  display: block;
  margin-bottom: 4px;
}
.testimonial-item-wrap-3 .testimonial-item .testimonial-detail .author__rating {
  color: #ffb02b;
  font-size: 15px;
}
.testimonial-item-wrap-3 .testimonial-item .testimonial-detail .author__rating .la {
  margin: 0 -2px;
}
.testimonial-item-wrap-3 .testimonial-item .testimonial-detail .author__desc {
  margin-top: 18px;
  line-height: 28px;
}
.testimonial-item-wrap-3 .testimonial-item:after {
  position: absolute;
  content: "\f10d";
  font-family: "Line Awesome Free";
  font-size: 30px;
  width: 60px;
  height: 60px;
  line-height: 55px;
  background-color: #fff;
  color: #7f8897;
  bottom: -25px;
  left: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  font-weight: 700;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid #eee;
}
.testimonial-item-wrap-3 .testimonial-item:hover:after {
  background-color: #42a5f5;
  color: #fff;
  border-color: #42a5f5;
}

/*========= testimonial-item-wrap-4 =========*/
.testimonial-item-wrap-4 .testimonial-item {
  position: relative;
  padding: 40px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background-color: #fff;
  border: 1px solid #eee;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 1;
}
.testimonial-item-wrap-4 .testimonial-item .testimonial-author {
  position: relative;
  padding-left: 64px;
  padding-top: 14px;
  padding-bottom: 30px;
  line-height: 18px;
}
.testimonial-item-wrap-4 .testimonial-item .testimonial-author img {
  position: absolute;
  width: 54px;
  height: 54px;
  overflow: hidden;
  left: 0;
  top: 8px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);
}
.testimonial-item-wrap-4 .testimonial-item .testimonial-author .author__title {
  font-size: 24px;
  line-height: 20px;
  font-weight: 600;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  margin-bottom: 5px;
}
.testimonial-item-wrap-4 .testimonial-item .testimonial-author .author__meta {
  font-size: 15px;
  line-height: 14px;
  text-transform: capitalize;
  font-weight: 500;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  display: block;
  margin-bottom: 8px;
}
.testimonial-item-wrap-4 .testimonial-item .testimonial-author .author__rating {
  color: #ffb02b;
  font-size: 15px;
}
.testimonial-item-wrap-4 .testimonial-item .testimonial-author .author__rating .la {
  margin: 0 -2px;
}
.testimonial-item-wrap-4 .testimonial-item .testimonial-author:after {
  position: absolute;
  content: "\f10e";
  font-family: "Line Awesome Free";
  font-size: 100px;
  font-weight: 900;
  line-height: 0;
  bottom: 50px;
  right: -15px;
  color: #7f8897;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.1;
}
.testimonial-item-wrap-4 .testimonial-item .testimonial-desc .testimonial__desc {
  line-height: 30px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.testimonial-item-wrap-4 .testimonial-item:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: #42a5f5;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  z-index: -1;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.testimonial-item-wrap-4 .testimonial-item:hover:after {
  height: 100%;
  top: 0;
  bottom: auto;
}
.testimonial-item-wrap-4 .testimonial-item:hover .testimonial-author:after {
  opacity: 0.2;
}
.testimonial-item-wrap-4 .testimonial-item:hover .testimonial-desc .testimonial__desc,
.testimonial-item-wrap-4 .testimonial-item:hover .testimonial-author .author__title,
.testimonial-item-wrap-4 .testimonial-item:hover .testimonial-author .author__meta {
  color: #fff;
}
.testimonial-item-wrap-4 .owl-dots {
  text-align: center;
  margin-top: 60px;
}
.testimonial-item-wrap-4 .owl-dots div {
  width: 14px;
  height: 14px;
  line-height: 14px;
  background-color: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  display: inline-block;
  margin: 0 2px;
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  border: 2px solid #42a5f5;
}
.testimonial-item-wrap-4 .owl-dots div.active, .testimonial-item-wrap-4 .owl-dots div:hover {
  background-color: #42a5f5;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

/*============= testimonial-item-wrap-5 ============*/
.testimonial-item-wrap-5 .testimonial-item .testimonial__img {
  margin-right: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .testimonial-item-wrap-5 .testimonial-item .testimonial__img {
    margin-right: 0;
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .testimonial-item-wrap-5 .testimonial-item .testimonial__img {
    margin-right: 0;
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .testimonial-item-wrap-5 .testimonial-item .testimonial__img {
    margin-right: 0;
    margin-bottom: 60px;
  }
}
.testimonial-item-wrap-5 .testimonial-item .testimonial__img img {
  width: 100%;
}
.testimonial-item-wrap-5 .testimonial-item .testimonial-detail {
  padding-top: 10px;
  z-index: 1;
}
.testimonial-item-wrap-5 .testimonial-item .testimonial-detail .author__title {
  font-size: 28px;
  font-weight: 600;
}
.testimonial-item-wrap-5 .testimonial-item .testimonial-detail .author__meta {
  font-weight: 500;
}
.testimonial-item-wrap-5 .testimonial-item .testimonial-detail .author__desc {
  line-height: 34px;
  margin-top: 20px;
  font-weight: 500;
  font-size: 18px;
}
.testimonial-item-wrap-5 .testimonial-item .testimonial-detail:after {
  position: absolute;
  content: "\f2ce";
  font-family: "Line Awesome Free";
  font-size: 200px;
  line-height: 0;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  right: 35%;
  top: 50%;
  opacity: 0.3;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #7f8897;
  -ms-text-stroke-color: #7f8897;
  -o-text-stroke-color: #7f8897;
  color: transparent;
  z-index: -1;
}

/*===================================
    TESTIMONIAL AREA 6
=====================================*/
.testimonial-item-wrap-6 .testimonial-item {
  margin-top: 120px;
}
.testimonial-item-wrap-6 .testimonial-item .testimonial-author .author__title {
  font-size: 24px;
  line-height: 20px;
  font-weight: 600;
  margin-bottom: 6px;
}
.testimonial-item-wrap-6 .testimonial-item .testimonial-author .author__meta {
  font-size: 15px;
  text-transform: capitalize;
  font-weight: 500;
  display: block;
}
.testimonial-item-wrap-6 .testimonial-item .testimonial-author:after {
  display: none;
}
.testimonial-item-wrap-6 .testimonial-item .testimonial-desc {
  margin-top: 20px;
  position: relative;
}
.testimonial-item-wrap-6 .testimonial-item .testimonial-desc .testimonial__desc {
  font-weight: 500;
  font-size: 20px;
  line-height: 35px;
}
.testimonial-item-wrap-6 .testimonial-item .testimonial-desc:after {
  position: absolute;
  content: "\f2ce";
  font-family: "Line Awesome Free";
  right: 10%;
  bottom: 100px;
  opacity: 0.3;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #7f8897;
  -ms-text-stroke-color: #7f8897;
  -o-text-stroke-color: #7f8897;
  color: transparent;
  font-size: 200px;
  z-index: -1;
}
.testimonial-item-wrap-6 .owl-dots {
  margin-top: 0;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}
.testimonial-item-wrap-6 .owl-dots div {
  width: 90px;
  height: 90px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-image: url("../images/team.jpg");
  background-color: transparent;
  background-position: center;
  background-size: cover;
  border: none;
  position: relative;
  display: inline-block;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.testimonial-item-wrap-6 .owl-dots div:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2e3d62;
  opacity: 0.6;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.testimonial-item-wrap-6 .owl-dots div:nth-child(2) {
  background-image: url("../images/team2.jpg");
}
.testimonial-item-wrap-6 .owl-dots div:nth-child(3) {
  background-image: url("../images/team3.jpg");
}
.testimonial-item-wrap-6 .owl-dots div.active, .testimonial-item-wrap-6 .owl-dots div:hover {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
.testimonial-item-wrap-6 .owl-dots div.active:after, .testimonial-item-wrap-6 .owl-dots div:hover:after {
  opacity: 0;
}

/*========= testimonial-item-wrap-7 =========*/
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .testimonial-item-wrap-7 .testimonial-item {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
}
.testimonial-item-wrap-7 .testimonial-img img {
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}
.testimonial-item-wrap-7 .testimonial-content {
  padding-left: 50px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .testimonial-item-wrap-7 .testimonial-content {
    padding-left: 0;
    padding-top: 60px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .testimonial-item-wrap-7 .testimonial-content {
    padding-left: 0;
    padding-top: 60px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .testimonial-item-wrap-7 .testimonial-content {
    padding-left: 0;
    padding-top: 60px;
  }
}
.testimonial-item-wrap-7 .testimonial-content .testimonial-desc .la-quote-left {
  font-size: 120px;
  line-height: 70px;
  color: rgba(127, 136, 151, 0.2);
  margin-left: -15px;
}
.testimonial-item-wrap-7 .testimonial-content .testimonial-desc .testimonial__desc {
  margin-top: 20px;
  line-height: 28px;
}
.testimonial-item-wrap-7 .testimonial-content .testimonial-author {
  margin-top: 50px;
  border-left: 2px solid rgba(127, 136, 151, 0.2);
}
.testimonial-item-wrap-7 .testimonial-content .testimonial-author .author__title {
  font-size: 24px;
  line-height: 20px;
  font-weight: 600;
  margin: 0 5px 0 15px;
  padding-top: 4px;
  display: inline-block;
}
@media (max-width: 320px) {
  .testimonial-item-wrap-7 .testimonial-content .testimonial-author .author__title {
    display: block;
  }
}
.testimonial-item-wrap-7 .testimonial-content .testimonial-author .author__meta {
  font-size: 15px;
  text-transform: capitalize;
  font-weight: 500;
  margin-bottom: 0;
  display: inline-block;
}
@media (max-width: 320px) {
  .testimonial-item-wrap-7 .testimonial-content .testimonial-author .author__meta {
    display: block;
    margin-left: 15px;
  }
}
.testimonial-item-wrap-7 .testimonial-content .testimonial-author .author__rating {
  color: #ffb02b;
  font-size: 15px;
  display: block;
  margin-top: 4px;
  margin-left: 15px;
}
.testimonial-item-wrap-7 .testimonial-content .testimonial-author .author__rating .la {
  margin: 0 -2px;
}
.testimonial-item-wrap-7 .owl-nav div {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid rgba(127, 136, 151, 0.1);
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  font-size: 22px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 1366px) {
  .testimonial-item-wrap-7 .owl-nav div {
    top: 38%;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
@media (max-width: 575px) {
  .testimonial-item-wrap-7 .owl-nav div {
    top: auto;
    bottom: -50px;
  }
}
.testimonial-item-wrap-7 .owl-nav div:hover {
  background-color: #42a5f5;
  color: #fff;
}
.testimonial-item-wrap-7 .owl-nav div.owl-prev {
  left: -100px;
}
@media (max-width: 1366px) {
  .testimonial-item-wrap-7 .owl-nav div.owl-prev {
    left: -25px;
  }
}
@media (max-width: 575px) {
  .testimonial-item-wrap-7 .owl-nav div.owl-prev {
    left: 200px;
  }
}
@media (max-width: 481px) {
  .testimonial-item-wrap-7 .owl-nav div.owl-prev {
    left: 160px;
  }
}
@media (max-width: 425px) {
  .testimonial-item-wrap-7 .owl-nav div.owl-prev {
    left: 130px;
  }
}
@media (max-width: 384px) {
  .testimonial-item-wrap-7 .owl-nav div.owl-prev {
    left: 110px;
  }
}
@media (max-width: 320px) {
  .testimonial-item-wrap-7 .owl-nav div.owl-prev {
    left: 85px;
  }
}
.testimonial-item-wrap-7 .owl-nav div.owl-next {
  left: auto;
  right: -100px;
}
@media (max-width: 1366px) {
  .testimonial-item-wrap-7 .owl-nav div.owl-next {
    right: -25px;
  }
}
@media (max-width: 575px) {
  .testimonial-item-wrap-7 .owl-nav div.owl-next {
    right: 200px;
  }
}
@media (max-width: 481px) {
  .testimonial-item-wrap-7 .owl-nav div.owl-next {
    right: 160px;
  }
}
@media (max-width: 425px) {
  .testimonial-item-wrap-7 .owl-nav div.owl-next {
    right: 130px;
  }
}
@media (max-width: 384px) {
  .testimonial-item-wrap-7 .owl-nav div.owl-next {
    right: 110px;
  }
}
@media (max-width: 320px) {
  .testimonial-item-wrap-7 .owl-nav div.owl-next {
    right: 85px;
  }
}
.testimonial-item-wrap-7 .owl-dots {
  margin-top: -12px;
  text-align: center;
}
@media (max-width: 1199px) {
  .testimonial-item-wrap-7 .owl-dots {
    margin-top: 30px;
  }
}
.testimonial-item-wrap-7 .owl-dots div {
  width: 14px;
  height: 14px;
  line-height: 14px;
  background-color: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  display: inline-block;
  margin: 0 2px;
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  border: 2px solid #42a5f5;
}
.testimonial-item-wrap-7 .owl-dots div.active, .testimonial-item-wrap-7 .owl-dots div:hover {
  background-color: #42a5f5;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

/*========= testimonial-item-wrap-8 =========*/
.testimonial-item-wrap-8 .testimonial-item {
  padding: 30px 0px 30px 0px;
}
.testimonial-item-wrap-8 .testimonial__img img {
  width: 100px;
  height: 100px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  margin-right: auto;
  margin-left: auto;
}
.testimonial-item-wrap-8 .testimonial-content {
  padding-top: 30px;
}
.testimonial-item-wrap-8 .testimonial-content .testimonial-desc {
  background-color: #fff;
  -webkit-box-shadow: 0 0 40px rgba(14, 16, 48, 0.04);
  -moz-box-shadow: 0 0 40px rgba(14, 16, 48, 0.04);
  box-shadow: 0 0 40px rgba(14, 16, 48, 0.04);
  border: 1px solid rgba(127, 136, 151, 0.2);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  margin-top: 40px;
  padding: 40px;
  position: relative;
}
.testimonial-item-wrap-8 .testimonial-content .testimonial-desc .la-quote-left {
  font-size: 120px;
  line-height: 70px;
  color: rgba(127, 136, 151, 0.2);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke-width: 1px;
}
.testimonial-item-wrap-8 .testimonial-content .testimonial-desc .testimonial__desc {
  line-height: 28px;
}
.testimonial-item-wrap-8 .testimonial-content .testimonial-desc:after {
  position: absolute;
  content: "";
  top: -10px;
  left: 50%;
  width: 20px;
  height: 20px;
  -webkit-transform: translateX(-50%) rotate(45deg);
  -moz-transform: translateX(-50%) rotate(45deg);
  -ms-transform: translateX(-50%) rotate(45deg);
  -o-transform: translateX(-50%) rotate(45deg);
  transform: translateX(-50%) rotate(45deg);
  background-color: #fff;
  border-top: 1px solid rgba(127, 136, 151, 0.2);
  border-left: 1px solid rgba(127, 136, 151, 0.2);
}
.testimonial-item-wrap-8 .testimonial-content .testimonial-author .author__title {
  font-size: 24px;
  line-height: 20px;
  font-weight: 600;
  display: block;
  margin-bottom: 12px;
}
.testimonial-item-wrap-8 .testimonial-content .testimonial-author .author__meta {
  font-size: 15px;
  text-transform: capitalize;
  font-weight: 500;
  display: block;
  margin-bottom: 4px;
}
.testimonial-item-wrap-8 .testimonial-content .testimonial-author .author__rating {
  color: #ffb02b;
  font-size: 15px;
}
.testimonial-item-wrap-8 .testimonial-content .testimonial-author .author__rating .la {
  margin: 0 -2px;
}

/*===================================
    client-feedback
=====================================*/
.client-feedback:after {
  position: absolute;
  content: "";
  bottom: 75px;
  left: 305px;
  width: 140px;
  height: 140px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-image: url("../images/dots.png");
  background-size: cover;
  background-position: center;
  opacity: 0.3;
}
@media (max-width: 425px) {
  .client-feedback:after {
    left: 50px;
    bottom: 0;
  }
}

/*===================================
    client-feedback 2
=====================================*/
.client-feedback2 {
  position: relative;
  overflow: hidden;
}
.client-feedback2 .random-img {
  width: 100px;
  height: 100px;
  -webkit-border-radius: 65% 30% 30% 65%/55% 35% 50% 40%;
  -moz-border-radius: 65% 30% 30% 65%/55% 35% 50% 40%;
  border-radius: 65% 30% 30% 65%/55% 35% 50% 40%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-shadow: 0 0 40px rgba(14, 16, 48, 0.1);
  -moz-box-shadow: 0 0 40px rgba(14, 16, 48, 0.1);
  box-shadow: 0 0 40px rgba(14, 16, 48, 0.1);
  border: 4px solid #fff;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .client-feedback2 .random-img {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .client-feedback2 .random-img {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .client-feedback2 .random-img {
    display: none;
  }
}
.client-feedback2 .random-img:nth-child(1) {
  top: 6%;
  left: 25px;
}
.client-feedback2 .random-img:nth-child(2) {
  top: 38%;
  left: 15%;
  width: 95px;
  height: 95px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .client-feedback2 .random-img:nth-child(2) {
    left: 1%;
    top: 30%;
  }
}
.client-feedback2 .random-img:nth-child(3) {
  top: 75%;
  left: 5%;
  width: 85px;
  height: 85px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .client-feedback2 .random-img:nth-child(3) {
    top: 60%;
    left: 14%;
  }
}
.client-feedback2 .random-img:nth-child(4) {
  top: -10px;
  left: auto;
  right: -20px;
}
.client-feedback2 .random-img:nth-child(5) {
  top: 30%;
  left: auto;
  right: 18%;
}
.client-feedback2 .random-img:nth-child(6) {
  top: auto;
  bottom: 30%;
  left: auto;
  right: 10%;
  width: 70px;
  height: 70px;
}
.client-feedback2 .testimonial-item-wrap-2 {
  margin-top: 60px;
}
.client-feedback2 .testimonial-item-wrap-2 .testimonial-item .testimonial-author img {
  -webkit-box-shadow: 0 0 40px rgba(14, 16, 48, 0.07);
  -moz-box-shadow: 0 0 40px rgba(14, 16, 48, 0.07);
  box-shadow: 0 0 40px rgba(14, 16, 48, 0.07);
  border: 4px solid #fff;
}

/*===================================
    client-feedback 3
=====================================*/
.client-feedback3 .testimonial-item-wrap-4,
.client-feedback3 .testimonial-item-wrap-6,
.client-feedback4 .testimonial-item-wrap-4,
.client-feedback4 .testimonial-item-wrap-6 {
  margin-top: 45px;
}

/*-===============================
    SUBSCRIBER AREA
===============================-*/
.subscriber-area {
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .subscriber-area .section-heading .section__title br {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .subscriber-area .section-heading .section__title br {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .subscriber-area .section-heading .section__title br {
    display: none;
  }
}
.subscriber-area .subscriber-content {
  background-color: #fff;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  padding: 60px 40px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  border: 1px solid rgba(127, 136, 151, 0.1);
  position: relative;
  z-index: 1;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.subscriber-area .subscriber-content:hover {
  -webkit-transform: scale(0.98);
  -moz-transform: scale(0.98);
  -ms-transform: scale(0.98);
  -o-transform: scale(0.98);
  transform: scale(0.98);
}
.subscriber-area .subscriber-form-wrap {
  position: relative;
  z-index: 1;
  width: 600px;
  margin-top: 60px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .subscriber-area .subscriber-form-wrap {
    width: auto;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .subscriber-area .subscriber-form-wrap {
    width: auto;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .subscriber-area .subscriber-form-wrap {
    width: auto;
  }
}
.subscriber-area .subscriber-form-wrap .subscriber-form {
  position: relative;
  width: 100%;
}
.subscriber-area .subscriber-form-wrap .subscriber-form .form-control {
  height: auto;
  line-height: inherit;
  padding: 20px 20px 20px 50px;
  font-size: 1rem;
  color: #2e3d62;
  border-color: rgba(127, 136, 151, 0.2);
  font-weight: 400;
  background-color: #fff;
  -webkit-box-shadow: 0 0 40px rgba(14, 16, 48, 0.06);
  -moz-box-shadow: 0 0 40px rgba(14, 16, 48, 0.06);
  box-shadow: 0 0 40px rgba(14, 16, 48, 0.06);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
.subscriber-area .subscriber-form-wrap .subscriber-form .form-control:focus {
  border-color: rgba(127, 136, 151, 0.4);
}
.subscriber-area .subscriber-form-wrap .subscriber-form .la-envelope-o {
  position: absolute;
  top: 19px;
  left: 20px;
  font-size: 22px;
}
.subscriber-area .subscriber-form-wrap .subscriber-form .theme-btn {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 8px;
  line-height: 50px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
@media (max-width: 425px) {
  .subscriber-area .subscriber-form-wrap .subscriber-form .theme-btn {
    position: inherit;
    top: auto;
    right: auto;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    margin-top: 20px;
  }
}
.subscriber-area:before, .subscriber-area:after {
  position: absolute;
  content: "";
  background-color: #F7F9FB;
}
.subscriber-area:before {
  bottom: 50px;
  left: 100px;
  width: 100px;
  height: 100px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}
.subscriber-area:after {
  top: 4px;
  right: 220px;
  width: 300px;
  height: 300px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}

/*-===============================
    GET START AREA
===============================-*/
.get-start-area {
  padding-top: 60px;
  padding-bottom: 50px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .get-start-area {
    text-align: center;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .get-start-area {
    text-align: center;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .get-start-area {
    text-align: center;
  }
}
.get-start-area .get-start-box {
  background-color: #fff;
  border: 1px solid rgba(127, 136, 151, 0.2);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center;
  align-items: center;
  padding: 40px 30px;
}
.get-start-area .get-start-box .section-heading .section__title {
  font-size: 35px;
  margin-bottom: 8px;
}
.get-start-area .get-start-box .section-heading .section__sub {
  font-size: 18px;
  font-weight: 500;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .get-start-area .get-start-box .button-shared.text-right {
    margin-top: 30px;
    text-align: center !important;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .get-start-area .get-start-box .button-shared.text-right {
    margin-top: 30px;
    text-align: center !important;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .get-start-area .get-start-box .button-shared.text-right {
    margin-top: 30px;
    text-align: center !important;
  }
}

/*-===============================
    GET START AREA 2
===============================-*/
.get-start-area2 {
  padding: 40px 0;
  position: relative;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .get-start-area2 .section-heading {
    text-align: center;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .get-start-area2 .section-heading {
    text-align: center;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .get-start-area2 .section-heading {
    text-align: center;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .get-start-area2 .section-heading .section-dot,
.get-start-area2 .section-heading .section-icon,
.get-start-area2 .section-heading .section-icon-heart {
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .get-start-area2 .section-heading .section-dot,
.get-start-area2 .section-heading .section-icon,
.get-start-area2 .section-heading .section-icon-heart {
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .get-start-area2 .section-heading .section-dot,
.get-start-area2 .section-heading .section-icon,
.get-start-area2 .section-heading .section-icon-heart {
    margin-left: auto;
    margin-right: auto;
  }
}
.get-start-area2 .section-heading .section__title {
  font-size: 35px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .get-start-area2 .button-shared.text-right {
    margin-top: 30px;
    text-align: center !important;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .get-start-area2 .button-shared.text-right {
    margin-top: 30px;
    text-align: center !important;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .get-start-area2 .button-shared.text-right {
    margin-top: 30px;
    text-align: center !important;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .get-start-area2 .section-description .section__desc br {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .get-start-area2 .section-description .section__desc br {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .get-start-area2 .section-description .section__desc br {
    display: none;
  }
}
.get-start-area2:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/call-to-action-background.png");
  background-position: center;
  opacity: 0.1;
}
.get-start-area2 .get-start-box {
  background-color: transparent;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  padding: 0;
}

/*-===============================
    GET START AREA 3
===============================-*/
.get-start-area3 {
  padding-top: 80px;
  padding-bottom: 80px;
}
.get-start-area3 .section-heading .section__title {
  font-size: 45px;
  margin-bottom: 15px;
}
@media (max-width: 425px) {
  .get-start-area3 .section-heading .section__title {
    font-size: 40px;
  }
}

/*-===============================
    TEAM AREA
===============================-*/
.team-area .team-content-wrap {
  margin-top: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .team-area .team-content-wrap .col-lg-4 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/*-============ TEAM AREA ========-*/
.team-item {
  margin-bottom: 30px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  -moz-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  border: 1px solid rgba(127, 136, 151, 0.1);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  position: relative;
  z-index: 1;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.team-item .team-img-box {
  position: relative;
}
.team-item .team-img-box img {
  width: 100%;
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
  -webkit-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  -moz-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  border-bottom: 3px solid #9ea6ba;
}
.team-item .team-titles {
  padding: 32px 40px 38px 40px;
  position: relative;
  z-index: 1;
}
.team-item .team-titles .team__title {
  font-size: 24px;
  text-transform: capitalize;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 3px;
}
.team-item .team-titles .team__title a {
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  display: block;
  position: relative;
}
.team-item .team-titles .team__title a:hover {
  color: #42a5f5;
}
.team-item .team-titles .team__meta {
  text-transform: capitalize;
  font-weight: 500;
  margin-bottom: 25px;
}
.team-item .team-titles .team__desc {
  line-height: 28px;
  margin-bottom: 30px;
}
.team-item .team-titles .theme-btn.team__btn {
  font-size: 14px;
  padding-right: 35px;
  padding-left: 20px;
  line-height: 45px;
}
.team-item .team-titles .theme-btn.team__btn .la {
  right: 15px;
}
.team-item .team-titles .team__profile li {
  display: inline-block;
  padding-right: 20px;
}
.team-item .team-titles .team__profile li:last-child {
  padding-right: 0;
}
.team-item .team-titles .team__profile li a {
  color: #7f8897;
  display: block;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.team-item .team-titles .team__profile li a:hover {
  color: #42a5f5;
}
.team-item:hover {
  -webkit-transform: translateY(-4px);
  -moz-transform: translateY(-4px);
  -ms-transform: translateY(-4px);
  -o-transform: translateY(-4px);
  transform: translateY(-4px);
}

/*-============ TEAM AREA 2 ========-*/
.team-item-2 {
  padding: 20px 20px 0 20px;
  text-align: center;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
.team-item-2 .team-img-box img {
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  border-bottom: none;
}
.team-item-2 .team-titles {
  padding-right: 0;
  padding-left: 0;
}
.team-item-2 .team-titles .team__profile li {
  padding-right: 4px;
}
.team-item-2 .team-titles .team__profile li a {
  display: block;
  width: 38px;
  height: 38px;
  line-height: 40px;
  background-color: rgba(46, 61, 98, 0.1);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  font-size: 20px;
}
.team-item-2 .team-titles .team__profile li a:hover {
  background-color: #2e3d62;
  color: #fff;
}

/*-============ TEAM AREA 3 ========-*/
.team-item-3 .team-img-box img {
  border-bottom: none;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}
.team-item-3 .team-img-box .img-svg-shape {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 140px;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  fill: #fff;
  stroke: none;
}
.team-item-3 .team-img-box .team__profile {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.team-item-3 .team-img-box .team__profile li {
  padding-right: 2px;
  display: inline-block;
}
.team-item-3 .team-img-box .team__profile li a {
  display: block;
  width: 38px;
  height: 38px;
  line-height: 40px;
  text-align: center;
  background-color: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.team-item-3 .team-img-box .team__profile li a:hover {
  background-color: #42a5f5;
  color: #fff;
}
.team-item-3:hover {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}
.team-item-3:hover .team-img-box .team__profile {
  bottom: 30px;
  opacity: 1;
  visibility: visible;
}

/*-============ TEAM AREA 4 ========-*/
.team-item-4 .team-img-box img {
  -webkit-border-radius: 4px 4px 4px 30px;
  -moz-border-radius: 4px 4px 4px 30px;
  border-radius: 4px 4px 4px 30px;
  border-bottom: none;
}
.team-item-4 .team-img-box .team__profile {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  background-color: rgba(46, 61, 98, 0.5);
  display: -ms-flex;
  display: -webkit-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-border-radius: 4px 4px 4px 30px;
  -moz-border-radius: 4px 4px 4px 30px;
  border-radius: 4px 4px 4px 30px;
}
.team-item-4 .team-img-box .team__profile li {
  padding-right: 5px;
  display: inline-block;
}
.team-item-4 .team-img-box .team__profile li a {
  display: block;
  width: 38px;
  height: 38px;
  line-height: 40px;
  text-align: center;
  background-color: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.team-item-4 .team-img-box .team__profile li a:hover {
  background-color: #42a5f5;
  color: #fff;
}
.team-item-4 .team-titles .team__meta {
  margin-bottom: 0;
}
.team-item-4:hover .team-img-box .team__profile {
  opacity: 1;
  visibility: visible;
}

/*-============ TEAM AREA 5 ========-*/
.team-item-5 {
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  background-color: transparent;
  border: none;
}
.team-item-5 .team-img-box img {
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  border-bottom: none;
}
.team-item-5 .team-img-box .team-img-box-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  background-color: rgba(46, 61, 98, 0.8);
  text-align: center;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  -webkit-transform: scale(0.7);
  -moz-transform: scale(0.7);
  -ms-transform: scale(0.7);
  -o-transform: scale(0.7);
  transform: scale(0.7);
}
.team-item-5 .team-img-box .team-img-box-inner .team-inner-item {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
}
.team-item-5 .team-img-box .team-img-box-inner .team-inner-item .team__title {
  font-size: 24px;
  text-transform: capitalize;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 3px;
}
.team-item-5 .team-img-box .team-img-box-inner .team-inner-item .team__title a {
  color: #fff;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  display: block;
  position: relative;
}
.team-item-5 .team-img-box .team-img-box-inner .team-inner-item .team__title a:hover {
  color: #42a5f5;
}
.team-item-5 .team-img-box .team-img-box-inner .team-inner-item .team__meta {
  text-transform: capitalize;
  font-weight: 500;
  margin-bottom: 25px;
  color: rgba(255, 255, 255, 0.7);
}
.team-item-5 .team-img-box .team-img-box-inner .team-inner-item .team__profile li {
  padding-right: 20px;
  display: inline-block;
}
.team-item-5 .team-img-box .team-img-box-inner .team-inner-item .team__profile li a {
  display: block;
  color: #fff;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.team-item-5 .team-img-box .team-img-box-inner .team-inner-item .team__profile li a:hover {
  color: #42a5f5;
}
.team-item-5:hover {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}
.team-item-5:hover .team-img-box .team-img-box-inner {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  opacity: 1;
  visibility: visible;
}

/*-===============================
    TEAM AREA 5
===============================-*/
.team-area6 .owl-stage-outer {
  padding-top: 25px;
}
.team-area6 .owl-nav div {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid rgba(127, 136, 151, 0.1);
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  font-size: 22px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 1366px) {
  .team-area6 .owl-nav div {
    top: 38%;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
@media (max-width: 575px) {
  .team-area6 .owl-nav div {
    top: auto;
    bottom: -50px;
  }
}
.team-area6 .owl-nav div:hover {
  background-color: #42a5f5;
  color: #fff;
}
.team-area6 .owl-nav div.owl-prev {
  left: -100px;
}
@media (max-width: 1366px) {
  .team-area6 .owl-nav div.owl-prev {
    left: -25px;
  }
}
@media (max-width: 575px) {
  .team-area6 .owl-nav div.owl-prev {
    left: 200px;
  }
}
@media (max-width: 480px) {
  .team-area6 .owl-nav div.owl-prev {
    left: 160px;
  }
}
@media (max-width: 425px) {
  .team-area6 .owl-nav div.owl-prev {
    left: 130px;
  }
}
@media (max-width: 384px) {
  .team-area6 .owl-nav div.owl-prev {
    left: 110px;
  }
}
@media (max-width: 320px) {
  .team-area6 .owl-nav div.owl-prev {
    left: 85px;
  }
}
.team-area6 .owl-nav div.owl-next {
  left: auto;
  right: -100px;
}
@media (max-width: 1366px) {
  .team-area6 .owl-nav div.owl-next {
    right: -25px;
  }
}
@media (max-width: 575px) {
  .team-area6 .owl-nav div.owl-next {
    right: 200px;
  }
}
@media (max-width: 480px) {
  .team-area6 .owl-nav div.owl-next {
    right: 160px;
  }
}
@media (max-width: 425px) {
  .team-area6 .owl-nav div.owl-next {
    right: 130px;
  }
}
@media (max-width: 384px) {
  .team-area6 .owl-nav div.owl-next {
    right: 110px;
  }
}
@media (max-width: 320px) {
  .team-area6 .owl-nav div.owl-next {
    right: 85px;
  }
}
.team-area6 .owl-dots {
  text-align: center;
  margin-top: 30px;
}
.team-area6 .owl-dots div {
  width: 12px;
  height: 12px;
  background-color: #2e3d62;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  display: inline-block;
  margin: 0 5px;
  opacity: 0.2;
}
.team-area6 .owl-dots div.active {
  background-color: #42a5f5;
  opacity: 1;
}

/*-============ TEAM AREA 6 ========-*/
.team-item-6 {
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  padding-top: 30px;
  border: none;
  text-align: center;
}
.team-item-6 .team-img-box {
  width: 280px;
  height: 280px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  margin: 0 auto;
}
@media (max-width: 1199px) {
  .team-item-6 .team-img-box {
    width: 220px;
    height: 220px;
  }
}
.team-item-6 .team-img-box img {
  height: 100%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  border: 10px solid #fff;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.team-item-6 .team-titles .team__meta {
  position: relative;
  padding-bottom: 26px;
}
.team-item-6 .team-titles .team__meta:before, .team-item-6 .team-titles .team__meta:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  width: 100%;
  height: 2px;
  background-color: rgba(158, 166, 186, 0.1);
}
.team-item-6 .team-titles .team__meta:after {
  background-color: #42a5f5;
  width: 0;
  left: auto;
  right: 0;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.team-item-6:hover {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}
.team-item-6:hover .team-titles .team__meta:after {
  width: 100%;
  right: auto;
  left: 0;
}

/*-============ TEAM AREA 7 ========-*/
.team-item-7 {
  border: none;
}
.team-item-7 .team-img-box img {
  -webkit-clip-path: polygon(50% 0%, 100% 0, 100% 92%, 0 100%, 0 0);
  clip-path: polygon(50% 0%, 100% 0, 100% 92%, 0 100%, 0 0);
  border-bottom: none;
}
.team-item-7 .team-img-box .team__profile {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
  transform: rotate(-3deg);
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  opacity: 0;
  visibility: hidden;
}
.team-item-7 .team-img-box .team__profile li {
  display: inline-block;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(60%);
  -moz-transform: translateY(60%);
  -ms-transform: translateY(60%);
  -o-transform: translateY(60%);
  transform: translateY(60%);
  -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
  -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
  -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.team-item-7 .team-img-box .team__profile li a {
  width: 35px;
  height: 35px;
  line-height: 35px;
  background-color: #fff;
  color: #fff;
  display: block;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.team-item-7 .team-img-box .team__profile li:nth-child(1) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}
.team-item-7 .team-img-box .team__profile li:nth-child(1) a {
  color: #3b5998;
}
.team-item-7 .team-img-box .team__profile li:nth-child(2) {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}
.team-item-7 .team-img-box .team__profile li:nth-child(2) a {
  color: #00acee;
}
.team-item-7 .team-img-box .team__profile li:nth-child(3) {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}
.team-item-7 .team-img-box .team__profile li:nth-child(3) a {
  color: #0e76a8;
}
.team-item-7 .team-img-box .team__profile li:nth-child(4) {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}
.team-item-7 .team-img-box .team__profile li:nth-child(4) a {
  color: #B832A4;
}
.team-item-7 .team-titles {
  padding: 25px 35px 30px 35px;
}
.team-item-7 .team-titles .team__title {
  font-size: 22px;
}
.team-item-7 .team-titles .team__meta {
  margin-bottom: 0;
}
.team-item-7 .team-titles:after {
  position: absolute;
  content: "";
  width: 3px;
  height: 35px;
  top: 30px;
  left: 0;
  background-color: #42a5f5;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.team-item-7:hover .team-img-box .team__profile {
  bottom: 30px;
  opacity: 1;
  visibility: visible;
}
@media (max-width: 575px) {
  .team-item-7:hover .team-img-box .team__profile {
    bottom: 45px;
  }
}
.team-item-7:hover .team-img-box .team__profile li {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}

/*-============ TEAM AREA 8 ========-*/
.team-item-8 {
  background-color: transparent;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}
.team-item-8 .team-img-box {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  width: 260px;
  height: 260px;
  margin-left: auto;
  margin-right: auto;
  border: 10px solid #fff;
}
@media (max-width: 1199px) {
  .team-item-8 .team-img-box {
    width: 210px;
    height: 210px;
  }
}
.team-item-8 .team-img-box img {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  width: 100%;
  height: 100%;
}
.team-item-8 .team-img-box .team__profile {
  z-index: 1;
  bottom: 50%;
  -webkit-transform: rotate(0) translateY(50%);
  -moz-transform: rotate(0) translateY(50%);
  -ms-transform: rotate(0) translateY(50%);
  -o-transform: rotate(0) translateY(50%);
  transform: rotate(0) translateY(50%);
}
.team-item-8 .team-img-box:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  top: 0;
  left: 0;
  background-color: #2e3d62;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.team-item-8 .team-titles {
  padding: 25px 0 0 0;
  bottom: 50%;
}
.team-item-8 .team-titles .section-divider {
  width: 40px;
  margin-top: 14px;
  margin-bottom: 14px;
}
.team-item-8 .team-titles .section-divider:after {
  width: 5px;
  right: 10px;
}
.team-item-8 .team-titles:after {
  display: none;
}
.team-item-8:hover .team-img-box .team__profile {
  bottom: 50%;
}
.team-item-8:hover .team-img-box:after {
  opacity: 0.9;
  visibility: visible;
}

/*===================================
    team-member-area
 ===================================*/
.team-member-area .team-content-wrap,
.team-member-area2 .team-content-wrap {
  margin-top: 50px;
}

/*===================================
    team-member-area 3
 ===================================*/
.team-member-area3 .team-content-wrap {
  margin-top: 20px;
}

/*===================================
    team-detail-area
 ===================================*/
.team-detail-area .team-single-img {
  position: relative;
  border: 10px solid #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
}
.team-detail-area .team-single-img .team__img {
  width: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.team-detail-area .team-single-img:before {
  position: absolute;
  content: "";
  bottom: -40px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 50%;
  height: 20%;
  border: 10px solid rgba(127, 136, 151, 0.1);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  z-index: -1;
}
.team-detail-area .team-single-img:after {
  position: absolute;
  content: "";
  height: 200px;
  width: 200px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  left: -68px;
  top: -85px;
  background-image: url("../images/dots.png");
  background-size: cover;
  background-position: center;
  z-index: -1;
  animation: spinme 11000ms infinite linear;
  opacity: 0.2;
}
.team-detail-area .team-single-content {
  padding-left: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .team-detail-area .team-single-content {
    padding-left: 0;
    margin-top: 50px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .team-detail-area .team-single-content {
    padding-left: 0;
    margin-top: 50px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .team-detail-area .team-single-content {
    padding-left: 0;
    margin-top: 50px;
  }
}
.team-detail-area .team-single-content .author__title {
  font-size: 40px;
  text-transform: capitalize;
  font-weight: 600;
  margin-bottom: 8px;
}
@media (max-width: 425px) {
  .team-detail-area .team-single-content .author__title {
    font-size: 35px;
  }
}
.team-detail-area .team-single-content .author__meta {
  display: block;
}
.team-detail-area .team-single-content .author__meta2 {
  margin-top: 5px;
}
.team-detail-area .team-single-content .author__contact {
  margin-top: 25px;
}
.team-detail-area .team-single-content .author__contact li {
  display: block;
  position: relative;
  margin-bottom: 12px;
}
.team-detail-area .team-single-content .author__contact li:last-child {
  margin-bottom: 0;
}
.team-detail-area .team-single-content .author__contact li a {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  color: #7f8897;
}
.team-detail-area .team-single-content .author__contact li a i {
  margin-right: 10px;
  font-size: 14px;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  color: #2e3d62;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
  background-color: rgba(46, 61, 98, 0.1);
}
.team-detail-area .team-single-content .author__contact li:hover a {
  color: #42a5f5;
}
.team-detail-area .team-single-content .author__contact li:hover a i {
  background-color: #42a5f5;
  color: #fff;
}
.team-detail-area .team-single-content .author-detail-box {
  margin-top: 34px;
}
.team-detail-area .team-single-content .author-detail-box .author-detail-item .authordetail__title {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 25px;
}
.team-detail-area .team-single-content .author-detail-box .author-detail-item .authordetail__list li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 20px;
}
.team-detail-area .team-single-content .author-detail-box .author-detail-item .authordetail__list li:after {
  position: absolute;
  content: "";
  top: 5px;
  left: 0;
  width: 10px;
  height: 10px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  border: 2px solid #42a5f5;
}
.team-detail-area .team-single-content .author-detail-box .author-detail-item .authordetail__list li:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .team-detail-area .team-single-content .author-detail-box .education-detail {
    margin-top: 30px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .team-detail-area .team-single-content .author-detail-box .education-detail {
    margin-top: 30px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .team-detail-area .team-single-content .author-detail-box .education-detail {
    margin-top: 30px;
  }
}
.team-detail-area .about-item-wrap .about__title {
  font-size: 24px;
  font-weight: 600;
  margin-top: 50px;
  margin-bottom: 20px;
}
.team-detail-area .about-item .about__desc {
  line-height: 30px;
}
.team-detail-area .about-item .blockquote-item {
  margin-bottom: 25px;
}
.team-detail-area .publication-content {
  margin-top: 32px;
  border-top: 1px solid #eee;
  padding-top: 34px;
}
.team-detail-area .publication-content .pub__title {
  margin-bottom: 25px;
}
.team-detail-area .publication-content .publication-item .pub__links {
  color: #2e3d62;
  font-size: 18px;
  display: block;
  font-weight: 600;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  line-height: 23px;
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .team-detail-area .publication-content .publication-item .pub__links {
    margin-bottom: 5px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .team-detail-area .publication-content .publication-item .pub__links {
    margin-bottom: 5px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .team-detail-area .publication-content .publication-item .pub__links {
    margin-bottom: 5px;
  }
}
.team-detail-area .publication-content .publication-item .pub__links:hover {
  color: #42a5f5;
}
.team-detail-area .publication-content .publication-item .pub__meta {
  font-size: 14px;
}
.team-detail-area .publication-content .publication-item .pub__meta i {
  color: #42a5f5;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .team-detail-area .publication-content .publication-item2 {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .team-detail-area .publication-content .publication-item2 {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .team-detail-area .publication-content .publication-item2 {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.team-detail-area .sidebar-content {
  margin-top: 55px;
}
.team-detail-area .sidebar-content .help-desc-box {
  background-color: #2e3d62;
  padding: 32px 33px 39px 33px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  color: #fff;
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .team-detail-area .sidebar-content .help-desc-box {
    margin-top: 60px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .team-detail-area .sidebar-content .help-desc-box {
    margin-top: 60px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .team-detail-area .sidebar-content .help-desc-box {
    margin-top: 60px;
  }
}
.team-detail-area .sidebar-content .help-desc-box .help__title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 26px;
  color: #fff;
}
.team-detail-area .sidebar-content .help-desc-box .help__desc {
  font-weight: 500;
  margin-bottom: 40px;
}
.team-detail-area .sidebar-content .help-desc-box .theme-btn {
  background-color: #fff;
  color: #2e3d62;
}
.team-detail-area .sidebar-content .help-desc-box .theme-btn:hover {
  background-color: #42a5f5;
  color: #fff;
}
.team-detail-area .sidebar-content .present-btn {
  line-height: 70px;
  width: 100%;
  text-align: left;
}
.team-detail-area .sidebar-content .contact-form-action {
  margin-top: 40px;
}
.team-detail-area .sidebar-content .contact-form-action .contact-title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 25px;
}
.team-detail-area .sidebar-content .contact-form-action form {
  background-color: #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.03);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.03);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.03);
  border: 1px solid rgba(127, 136, 151, 0.2);
  padding: 20px;
  position: relative;
}
.team-detail-area .sidebar-content .contact-form-action form:after {
  top: -6px;
  content: "";
  position: absolute;
  background-color: #fff;
  left: 20px;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-box-shadow: -2px -2px 10px -5px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: -2px -2px 10px -5px rgba(0, 0, 0, 0.2);
  box-shadow: -2px -2px 10px -5px rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(127, 136, 151, 0.2);
  border-right: 0;
  border-bottom: 0;
}

/*-===============================
    PACKAGE AREA
===============================-*/
.package-area {
  position: relative;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .package-area .section-heading .section__title br {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .package-area .section-heading .section__title br {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .package-area .section-heading .section__title br {
    display: none;
  }
}
.package-area .package-content-wrap {
  margin-top: 55px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .package-area .package-content-wrap .col-lg-4 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/*========= package-item =========*/
.package-item {
  background-color: #fff;
  -webkit-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  -moz-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 42px 40px 45px 40px;
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .package-item {
    width: auto;
  }
}
.package-item .package-tooltip {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
}
.package-item .package-tooltip .package__tooltip {
  background-color: #42a5f5;
  color: #fff;
  font-weight: 600;
  text-align: center;
  display: block;
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
  padding: 15px 0;
  font-size: 22px;
  position: relative;
  z-index: 1;
}
.package-item .package-title {
  border-bottom: 1px solid rgba(127, 136, 151, 0.1);
  padding-bottom: 33px;
  margin-bottom: 35px;
}
.package-item .package-title .package__price {
  font-size: 60px;
  font-weight: 600;
  margin-bottom: 10px;
}
@media (max-width: 320px) {
  .package-item .package-title .package__price {
    font-size: 50px;
  }
}
.package-item .package-title .package__title {
  font-size: 25px;
  font-weight: 600;
}
.package-item .package-list {
  padding-bottom: 33px;
}
.package-item .package-list li {
  margin-bottom: 15px;
}
.package-item .package-list li span {
  color: #C500EE;
  font-size: 15px;
  margin-right: 2px;
}
.package-item .package-list li span.la-close {
  color: #F8C652;
}
.package-item .package-list li:last-child {
  margin-bottom: 0;
}
.package-item .package-price .theme-btn {
  display: block;
  width: 100%;
  text-align: center;
  background-color: transparent;
  border: 1px solid #42a5f5;
  color: #42a5f5;
}
.package-item .package-price .theme-btn:hover {
  background-color: #42a5f5;
  color: #fff;
}
.package-item .package-price .package__meta {
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  margin-top: 23px;
  font-size: 15px;
  text-align: center;
}

/*========= package-item-active =========*/
.package-item-active {
  padding-top: 95px;
  margin-top: -24px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .package-item-active {
    margin-top: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .package-item-active {
    margin-top: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .package-item-active {
    margin-top: 0;
  }
}
.package-item-active .package-price .theme-btn {
  background-color: #42a5f5;
  color: #fff;
}

/*-===============================
    PACKAGE AREA 2
===============================-*/
.package-area2 .package-content-wrap {
  margin-top: 30px;
}

/*========= package-item-2 =========*/
.package-item-2 {
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  border: 1px solid rgba(158, 166, 186, 0.2);
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}
.package-item-2 .package-tooltip {
  width: auto;
  right: 20px;
  left: auto;
  top: 20px;
}
.package-item-2 .package-tooltip .package__tooltip {
  display: inline-block;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  padding: 6px 16px;
  font-size: 15px;
  background-color: #579657;
}
.package-item-2 .package-title {
  border-bottom: none;
  margin-bottom: 0;
}
.package-item-2 .package-title .package__price {
  color: #42a5f5;
  margin-bottom: 0;
}
.package-item-2 .package-title .package__price small {
  font-size: 28px;
  font-weight: 600;
}
.package-item-2 .package-title .package__title {
  margin-bottom: 10px;
}
.package-item-2 .package-list li {
  border-bottom: 1px solid rgba(158, 166, 186, 0.2);
  padding-bottom: 15px;
}
.package-item-2 .package-list li span {
  color: #2e3d62;
  float: right;
  margin-right: 0;
  font-weight: 500;
}
.package-item-2 .package-list li:last-child {
  margin-bottom: 0;
  border-bottom: 0;
  padding-bottom: 0;
}
.package-item-2 .package-price .theme-btn {
  display: block;
  width: 100%;
  text-align: center;
  background-color: #42a5f5;
  border: none;
  color: #fff;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}
.package-item-2 .package-price .theme-btn:hover {
  background-color: #1e88e5;
  color: #fff;
}
.package-item-2 .package-price .package__meta {
  text-transform: inherit;
  letter-spacing: inherit;
}

/*========= package-item-active-2 =========*/
.package-item-active-2 {
  padding-top: 42px;
  margin-top: 0;
}
.package-item-active-2 .package-title .package__price {
  color: #579657;
}
.package-item-active-2 .package-price .theme-btn {
  background-color: #579657;
}

/*-===============================
    PACKAGE AREA 3
===============================-*/
.package-area3 .package-content-wrap {
  margin-top: 30px;
  margin-right: 0;
  margin-left: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .package-area3 .package-content-wrap {
    margin-left: -15px;
    margin-right: -15px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .package-area3 .package-content-wrap {
    margin-left: -15px;
    margin-right: -15px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .package-area3 .package-content-wrap {
    margin-left: -15px;
    margin-right: -15px;
  }
}
.package-area3 .package-content-wrap .col-lg-3 {
  padding: 0;
  margin: 0 -1px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .package-area3 .package-content-wrap .col-lg-3 {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: 0;
    margin-left: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .package-area3 .package-content-wrap .col-lg-3 {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: 0;
    margin-left: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .package-area3 .package-content-wrap .col-lg-3 {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: 0;
    margin-left: 0;
  }
}

/*========= package-item-3 =========*/
.package-item-3 {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  border: 1px solid rgba(127, 136, 151, 0.1);
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  padding: 0;
}
.package-item-3 .package-title {
  padding-bottom: 37px;
  margin-bottom: 45px;
}
.package-item-3 .package-title .package__price {
  color: #1e88e5;
  margin-bottom: 0;
  font-weight: 400;
}
.package-item-3 .package-title .package__title {
  margin-bottom: 40px;
  border-bottom: 1px solid rgba(127, 136, 151, 0.1);
  padding: 30px;
  font-weight: 500;
}
.package-item-3 .package-price {
  padding-bottom: 35px;
}
.package-item-3 .package-price .package__btn {
  width: 55px;
  height: 55px;
  line-height: 55px;
  border: 2px solid rgba(127, 136, 151, 0.1);
  display: inline-block;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  color: rgba(127, 136, 151, 0.5);
  font-size: 20px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.package-item-3 .package-price .package__btn:hover {
  background-color: #1e88e5;
  color: #fff;
  border-color: #1e88e5;
}

/*========= package-item-active-2 =========*/
.package-item-active-3 {
  padding-top: 0;
  margin-top: 0;
}
.package-item-active-3 .package-title .package__price {
  color: #ffb02b;
}
.package-item-active-3 .package-price .package__btn {
  background-color: #ffb02b;
  color: #fff;
  border-color: #ffb02b;
}

/*-===============================
    PACKAGE AREA 4
===============================-*/
.package-area4 .package-content-wrap {
  margin-top: 60px;
  margin-right: 0;
  margin-left: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .package-area4 .package-content-wrap {
    margin-right: -15px;
    margin-left: -15px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .package-area4 .package-content-wrap {
    margin-right: -15px;
    margin-left: -15px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .package-area4 .package-content-wrap {
    margin-right: -15px;
    margin-left: -15px;
  }
}
.package-area4 .package-content-wrap .col-lg-4 {
  padding: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .package-area4 .package-content-wrap .col-lg-4 {
    padding-right: 15px;
    padding-left: 15px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .package-area4 .package-content-wrap .col-lg-4 {
    padding-right: 15px;
    padding-left: 15px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .package-area4 .package-content-wrap .col-lg-4 {
    padding-right: 15px;
    padding-left: 15px;
  }
}

/*========= package--area4 =========*/
.package--area4 .package-content-wrap {
  margin-top: 90px;
}

/*========= package-item-4 =========*/
.package-item-4 {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  text-align: center;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.package-item-4 .package-title {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 90px;
}
.package-item-4 .package-title .package__price {
  color: #42a5f5;
  margin-bottom: 0;
  background: #5c48e0;
  background: -moz-linear-gradient(-45deg, #5c48e0 0%, #9c40e8 100%);
  background: -webkit-linear-gradient(-45deg, #5c48e0 0%, #9c40e8 100%);
  background: linear-gradient(135deg, #5c48e0 0%, #9c40e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.package-item-4 .package-title .package__title {
  text-transform: uppercase;
  margin-bottom: 32px;
}
.package-item-4 .package-title .package__month {
  color: #42a5f5;
  font-size: 1rem;
  background: #5c48e0;
  background: -moz-linear-gradient(-45deg, #5c48e0 0%, #9c40e8 100%);
  background: -webkit-linear-gradient(-45deg, #5c48e0 0%, #9c40e8 100%);
  background: linear-gradient(135deg, #5c48e0 0%, #9c40e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 400;
}
.package-item-4 .package-list li {
  font-weight: 500;
}
.package-item-4 .package-list li.text-disabled {
  color: rgba(127, 136, 151, 0.5);
  text-decoration: line-through;
}
.package-item-4 .package-price .theme-btn {
  background: #5c48e0;
  background: -moz-linear-gradient(-45deg, #5c48e0 0%, #9c40e8 100%);
  background: -webkit-linear-gradient(-45deg, #5c48e0 0%, #9c40e8 100%);
  background: linear-gradient(135deg, #5c48e0 0%, #9c40e8 100%);
  border: none;
  color: #fff;
  font-weight: 600;
}
.package-item-4:after {
  position: absolute;
  content: "";
  width: 500px;
  height: 340px;
  top: -100px;
  left: -55px;
  background-color: #F7F9FB;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  z-index: -1;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .package-item-4:after {
    left: -84px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .package-item-4:after {
    left: -45px;
    width: 600px;
  }
}
@media (max-width: 480px) {
  .package-item-4:after {
    left: -70px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .package-item-4:after {
    left: -100px;
    width: 600px;
  }
}
@media (max-width: 375px) {
  .package-item-4:after {
    left: -125px;
  }
}
@media (max-width: 320px) {
  .package-item-4:after {
    left: -155px;
  }
}

/*========= package-item-active-4 =========*/
.package-item-active-4 {
  padding-top: 42px;
  margin-top: 0;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
  z-index: 3;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .package-item-active-4 {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .package-item-active-4 {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .package-item-active-4 {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
.package-item-active-4 .package-title .package__price,
.package-item-active-4 .package-title .package__month {
  background: #dddddd;
  background: -moz-linear-gradient(-45deg, #dddddd 0%, #ffffff 100%);
  background: -webkit-linear-gradient(-45deg, #dddddd 0%, #ffffff 100%);
  background: linear-gradient(135deg, #dddddd 0%, #ffffff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.package-item-active-4 .package-title .package__title {
  color: #fff;
}
.package-item-active-4:after {
  background: #5c48e0;
  background: -moz-linear-gradient(-45deg, #5c48e0 0%, #9c40e8 100%);
  background: -webkit-linear-gradient(-45deg, #5c48e0 0%, #9c40e8 100%);
  background: linear-gradient(135deg, #5c48e0 0%, #9c40e8 100%);
}

/*-===============================
    PACKAGE AREA 5
===============================-*/
.package-area5 .package-content-wrap {
  margin-top: 30px;
}

/*========= package-tab-content =========*/
.package-tab-content .nav-tabs-action {
  overflow: hidden;
  width: 242px;
  margin: 0 auto 30px auto;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  text-align: center;
  position: relative;
  z-index: 1;
  background: #f55974;
  background: -moz-linear-gradient(45deg, #f55974 0%, #f8c652 100%);
  background: -webkit-linear-gradient(45deg, #f55974 0%, #f8c652 100%);
  background: linear-gradient(45deg, #f55974 0%, #f8c652 100%);
}
.package-tab-content .nav-tabs {
  border-bottom: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background-color: #fff;
  margin: 1px;
}
.package-tab-content .nav-tabs li {
  display: inline-block;
}
.package-tab-content .nav-tabs li a {
  display: block;
  padding: 12px 0;
  width: 120px;
  font-weight: 600;
  background: #f55974;
  background: -moz-linear-gradient(45deg, #f55974 0%, #f8c652 100%);
  background: -webkit-linear-gradient(45deg, #f55974 0%, #f8c652 100%);
  background: linear-gradient(45deg, #f55974 0%, #f8c652 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.package-tab-content .nav-tabs li a.active {
  background: #f55974;
  background: -moz-linear-gradient(45deg, #f55974 0%, #f8c652 100%);
  background: -webkit-linear-gradient(45deg, #f55974 0%, #f8c652 100%);
  background: linear-gradient(45deg, #f55974 0%, #f8c652 100%);
}
.package-tab-content .nav-tabs li a.active span {
  background: #efefef;
  background: -moz-linear-gradient(-45deg, #efefef 0%, #ffffff 100%);
  background: -webkit-linear-gradient(-45deg, #efefef 0%, #ffffff 100%);
  background: linear-gradient(135deg, #efefef 0%, #ffffff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.package-tab-content .tab-pane2 .package-item .package-title .package__svg svg {
  fill: url(#my-cool-gradient2) #F55974;
}

/*========= package-item-5 =========*/
.package-item-5 {
  text-align: center;
  padding: 0;
}
.package-item-5 .package-title {
  position: relative;
  border: none;
  padding: 42px 30px 30px 30px;
  margin-bottom: 65px;
}
.package-item-5 .package-title .package__price,
.package-item-5 .package-title .package__title {
  color: #fff;
}
.package-item-5 .package-title .package__title {
  margin-bottom: 10px;
}
.package-item-5 .package-title .package__price {
  margin-bottom: 0;
}
.package-item-5 .package-title .package__price small {
  font-size: 25px;
}
.package-item-5 .package-title .package__subtext {
  color: #fff;
}
.package-item-5 .package-title .package__svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 430px;
  z-index: -1;
}
.package-item-5 .package-title .package__svg svg {
  width: 100%;
  height: 100%;
  fill: url(#my-cool-gradient) #f55974;
  stroke: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.package-item-5 .package-list {
  padding-right: 30px;
  padding-left: 30px;
}
.package-item-5 .package-list li {
  font-weight: 500;
}
.package-item-5 .package-price {
  padding: 0 30px 30px 30px;
}
.package-item-5 .package-price .theme-btn {
  font-weight: 600;
  background: #f55974;
  background: -moz-linear-gradient(45deg, #f55974 0%, #f8c652 100%);
  background: -webkit-linear-gradient(45deg, #f55974 0%, #f8c652 100%);
  background: linear-gradient(45deg, #f55974 0%, #f8c652 100%);
  border: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  color: #fff;
}
.package-item-5 .package-price .package__meta {
  text-transform: inherit;
  letter-spacing: inherit;
  font-weight: 400;
}

/*========= package-item-active-5 =========*/
.package-item-active-5 {
  padding-top: 0;
  margin-top: 0;
}

/*-===============================
    PACKAGE AREA 6
===============================-*/
.package-area6 .package-content-wrap {
  margin-top: 90px;
}
.package-area6 .package-content-wrap .package-item .package-title .package__price,
.package-area6 .package-content-wrap .package-item .package-title .package__month {
  -webkit-text-fill-color: #42a5f5;
  background: transparent;
}
.package-area6 .package-content-wrap .package-item .package-price .theme-btn {
  background: #42a5f5;
}
.package-area6 .package-content-wrap .package-item .package-price .theme-btn:hover {
  background: #1e88e5;
}
.package-area6 .package-content-wrap .package-item2 .package-title .package__price,
.package-area6 .package-content-wrap .package-item2 .package-title .package__month {
  -webkit-text-fill-color: #fff;
  background: transparent;
}
.package-area6 .package-content-wrap .package-item2:after {
  background: #42a5f5;
}

/*-===============================
    PACKAGE AREA 7
===============================-*/
.package-area7 .package-content-wrap {
  margin-top: 45px;
}

/*-===============================
    ICON AREA
===============================-*/
.icon-area .icon-wrap {
  margin-top: 30px;
}

/*-========== icon-item ==========-*/
.icon-item {
  display: inline-block;
  width: 70px;
  height: 70px;
  line-height: 73px;
  background-color: rgba(46, 61, 98, 0.1);
  color: #2e3d62;
  font-size: 35px;
  margin-bottom: 30px;
  margin-right: 30px;
  margin-left: 30px;
  position: relative;
  z-index: 1;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.icon-item:hover {
  color: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #2e3d62;
}

/*-===============================
    icon-hover-style-2
===============================-*/
.icon-hover-style-2:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: #2e3d62;
  z-index: -1;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.icon-hover-style-2:hover {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background-color: inherit;
}
.icon-hover-style-2:hover:after {
  bottom: auto;
  top: 0;
  height: 100%;
}

/*-===============================
    icon-hover-style-3
===============================-*/
.icon-hover-style-3 {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.icon-hover-style-3:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid #2e3d62;
  z-index: -1;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
  opacity: 0;
  visibility: hidden;
}
.icon-hover-style-3:hover {
  background-color: transparent;
  color: #2e3d62;
}
.icon-hover-style-3:hover:after {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  opacity: 1;
  visibility: visible;
}

/*-===============================
    icon-hover-style-4
===============================-*/
.icon-hover-style-4 {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.icon-hover-style-4 span {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.icon-hover-style-4:hover {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.icon-hover-style-4:hover span {
  -webkit-transform: rotateZ(360deg);
  -moz-transform: rotateZ(360deg);
  -ms-transform: rotateZ(360deg);
  -o-transform: rotateZ(360deg);
  transform: rotateZ(360deg);
  color: #fff;
}

/*-===============================
    icon-hover-style-5
===============================-*/
.icon-hover-style-5 {
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  width: 80px;
  height: 80px;
  line-height: 83px;
  overflow: hidden;
}
.icon-hover-style-5 .fa {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.icon-hover-style-5 .fa-facebook {
  color: #3b5998;
}
.icon-hover-style-5 .fa-twitter {
  color: #3cf;
}
.icon-hover-style-5 .fa-instagram {
  color: #dc4a38;
}
.icon-hover-style-5 .fa-linkedin {
  color: #00aff0;
}
.icon-hover-style-5 .fa-dribbble {
  color: #f26798;
}
.icon-hover-style-5 .fa-pinterest {
  color: #E60019;
}
.icon-hover-style-5:after {
  position: absolute;
  content: "";
  bottom: -145px;
  left: -145px;
  width: 170px;
  height: 170px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  background-color: #3b5998;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  z-index: -1;
}
.icon-hover-style-5:hover {
  background-color: transparent;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}
.icon-hover-style-5:hover .fa-facebook,
.icon-hover-style-5:hover .fa-twitter,
.icon-hover-style-5:hover .fa-instagram,
.icon-hover-style-5:hover .fa-linkedin,
.icon-hover-style-5:hover .fa-dribbble,
.icon-hover-style-5:hover .fa-pinterest {
  color: #fff;
}
.icon-hover-style-5:hover:after {
  bottom: -45px;
  left: -45px;
}

/*-===============================
    icon-hover-style-6
===============================-*/
.icon-hover-style-6 {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  width: 80px;
  height: 80px;
  line-height: 83px;
  -webkit-transition: all 0;
  -moz-transition: all 0;
  -ms-transition: all 0;
  -o-transition: all 0;
  transition: all 0;
}
.icon-hover-style-6:hover {
  animation: bounce 1s;
  background-color: #1e88e5;
}

/*-===============================
    icon-hover-style-7
===============================-*/
.icon-hover-style-7 {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background-color: transparent;
  color: #42a5f5;
}
.icon-hover-style-7:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: rgba(108, 92, 231, 0.1);
  z-index: -1;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.icon-hover-style-7:hover {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background-color: transparent;
}
.icon-hover-style-7:hover:after {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  background-color: #1e88e5;
}

/*-===============================
    icon-hover-style-8
===============================-*/
.icon-hover-style-8 {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background-color: transparent;
  color: #fff;
}
.icon-hover-style-8:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2e3d62;
  -webkit-clip-path: polygon(20% 0%, 0 0, 0 50%, 0 100%, 20% 100%, 49% 100%, 80% 100%, 100% 100%, 100% 51%, 100% 0, 80% 0%, 49% 0);
  clip-path: polygon(20% 0%, 0 0, 0 50%, 0 100%, 20% 100%, 49% 100%, 80% 100%, 100% 100%, 100% 51%, 100% 0, 80% 0%, 49% 0);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  z-index: -1;
}
.icon-hover-style-8:hover {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background-color: transparent;
}
.icon-hover-style-8:hover:after {
  -webkit-clip-path: polygon(20% 0%, 0% 20%, 30% 50%, 0% 80%, 20% 100%, 50% 70%, 80% 100%, 100% 80%, 70% 50%, 100% 20%, 80% 0%, 50% 30%);
  clip-path: polygon(20% 0%, 0% 20%, 30% 50%, 0% 80%, 20% 100%, 50% 70%, 80% 100%, 100% 80%, 70% 50%, 100% 20%, 80% 0%, 50% 30%);
}

/*-===============================
    icon-hover-style-9
===============================-*/
.icon-hover-style-9 {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background-color: transparent;
  color: #fff;
}
.icon-hover-style-9:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #42a5f5;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 30%, 100% 70%, 100% 100%, 0 100%, 0% 70%, 0% 30%);
  clip-path: polygon(0 0, 100% 0, 100% 30%, 100% 70%, 100% 100%, 0 100%, 0% 70%, 0% 30%);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  z-index: -1;
}
.icon-hover-style-9:hover {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background-color: transparent;
}
.icon-hover-style-9:hover:after {
  -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
  clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
}

/*-===============================
    icon-hover-style-10
===============================-*/
.icon-hover-style-10 {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background-color: transparent;
  color: #fff;
}
.icon-hover-style-10:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #F78C01;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 46% 100%, 0 100%, 0 0, 49% 0);
  clip-path: polygon(100% 0, 100% 100%, 46% 100%, 0 100%, 0 0, 49% 0);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  z-index: -1;
}
.icon-hover-style-10:hover {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background-color: transparent;
}
.icon-hover-style-10:hover:after {
  -webkit-clip-path: polygon(100% 34%, 100% 100%, 51% 80%, 0 100%, 0 35%, 49% 0);
  clip-path: polygon(100% 34%, 100% 100%, 51% 80%, 0 100%, 0 35%, 49% 0);
}

/*-==========FLIP AREA =========-*/
.flip-box-item {
  -webkit-perspective: 1000px;
  -moz-perspective: 1000px;
  -o-perspective: 1000px;
  perspective: 1000px;
  margin-bottom: 30px;
}
.flip-box-item .info-box-item {
  background-color: transparent;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  margin-bottom: 0;
}
.flip-box-item .info-box-item .icon-item {
  width: 70px;
  height: 70px;
  line-height: 73px;
}
.flip-box-item .front,
.flip-box-item .back {
  position: relative;
  background-color: #fff;
  width: 100%;
  height: 100%;
  -webkit-transition: all 1s cubic-bezier(0.5, 1.3, 0.5, 1.3);
  -moz-transition: all 1s cubic-bezier(0.5, 1.3, 0.5, 1.3);
  -ms-transition: all 1s cubic-bezier(0.5, 1.3, 0.5, 1.3);
  -o-transition: all 1s cubic-bezier(0.5, 1.3, 0.5, 1.3);
  transition: all 1s cubic-bezier(0.5, 1.3, 0.5, 1.3);
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.flip-box-item .front {
  z-index: 10;
}
.flip-box-item .back {
  background-color: #2e3d62;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: -1;
  -webkit-transform: rotateY(-180deg);
  -moz-transform: rotateY(-180deg);
  -ms-transform: rotateY(-180deg);
  -o-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
}
.flip-box-item .back .info-box-item .info-body {
  margin-top: 0;
}
.flip-box-item .back .info-box-item .info-body .info__title {
  color: #fff;
}
.flip-box-item .back .info-box-item .info-body .info__text {
  margin-bottom: 30px;
  color: rgba(255, 255, 255, 0.7);
}
.flip-box-item .back .info-box-item .info-body .theme-btn {
  background-color: #fff;
  color: #2e3d62;
}
.flip-box-item .back .info-box-item .info-body .theme-btn:hover {
  background-color: #42a5f5;
  color: #fff;
}
.flip-box-item:hover .back {
  -webkit-transform: rotateY(0deg);
  -moz-transform: rotateY(0deg);
  -ms-transform: rotateY(0deg);
  -o-transform: rotateY(0deg);
  transform: rotateY(0deg);
  z-index: 3;
}
.flip-box-item:hover .front {
  -webkit-transform: rotateY(180deg);
  -moz-transform: rotateY(180deg);
  -ms-transform: rotateY(180deg);
  -o-transform: rotateY(180deg);
  transform: rotateY(180deg);
  z-index: -1;
}

/*-=========== flip-box-item 2 ==========-*/
.flip-box-item-2 .info-box-item {
  -webkit-transform: translateZ(40px);
  -moz-transform: translateZ(40px);
  -ms-transform: translateZ(40px);
  -o-transform: translateZ(40px);
  transform: translateZ(40px);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 992px) {
  .flip-box-item-2 .info-box-item {
    padding-top: 30px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .flip-box-item-2 .info-box-item {
    padding-top: 35px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .flip-box-item-2 .info-box-item {
    padding-top: 120px;
  }
}
@media (max-width: 320px) {
  .flip-box-item-2 .info-box-item {
    padding-top: 60px;
    padding-right: 20px;
    padding-left: 20px;
  }
}
.flip-box-item-2 .info-box-item .info-body {
  margin-top: 0;
}
.flip-box-item-2 .info-box-item .info-body .info__title {
  color: #fff;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .flip-box-item-2 .info-box-item .info-body .info__title {
    font-size: 18px;
    margin-bottom: 10px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .flip-box-item-2 .info-box-item .info-body .info__title {
    font-size: 18px;
    margin-bottom: 10px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .flip-box-item-2 .info-box-item .info-body .info__title {
    font-size: 18px;
    margin-bottom: 10px;
  }
}
.flip-box-item-2 .info-box-item .info-body .info__text {
  color: #fff;
}
@media (max-width: 320px) {
  .flip-box-item-2 .info-box-item .info-body .info__text {
    display: none;
  }
}
.flip-box-item-2 .front,
.flip-box-item-2 .back {
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
  width: 100%;
  height: 100%;
}
.flip-box-item-2 .front img,
.flip-box-item-2 .back img {
  width: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.flip-box-item-2 .front:after,
.flip-box-item-2 .back:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(46, 61, 98, 0.8);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.flip-box-item-2 .back {
  -webkit-transform: rotateX(-180deg);
  -moz-transform: rotateX(-180deg);
  -ms-transform: rotateX(-180deg);
  -o-transform: rotateX(-180deg);
  transform: rotateX(-180deg);
}
.flip-box-item-2:hover .back {
  -webkit-transform: rotateX(0deg);
  -moz-transform: rotateX(0deg);
  -ms-transform: rotateX(0deg);
  -o-transform: rotateX(0deg);
  transform: rotateX(0deg);
}
.flip-box-item-2:hover .front {
  -webkit-transform: rotateX(180deg);
  -moz-transform: rotateX(180deg);
  -ms-transform: rotateX(180deg);
  -o-transform: rotateX(180deg);
  transform: rotateX(180deg);
}

/*-========== flip-box-item 3============-*/
.flip-box-item-3 img {
  width: 100%;
  -webkit-border-radius: 4px 4px 30px 30px;
  -moz-border-radius: 4px 4px 30px 30px;
  border-radius: 4px 4px 30px 30px;
}
.flip-box-item-3 .info-box-item {
  padding: 0;
}
.flip-box-item-3 .info-box-item .author__profile li {
  display: inline-block;
}
.flip-box-item-3 .info-box-item .author__profile li a {
  display: block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 20px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.flip-box-item-3 .info-box-item .author__profile li a:hover {
  background-color: #fff;
  color: #2e3d62;
}
.flip-box-item-3 .front .info-box-item .info-body {
  padding: 25px 20px 20px 20px;
  margin-top: 0;
}
.flip-box-item-3 .front .info-box-item .info-body .info__title {
  margin-bottom: 0;
}
.flip-box-item-3 .front .info-box-item .info-body .info__text {
  font-weight: 500;
}
.flip-box-item-3 .back {
  background-color: #2e3d62;
}
.flip-box-item-3 .back .info-box-item {
  padding: 60px 30px;
}
@media (max-width: 992px) {
  .flip-box-item-3 .back .info-box-item {
    padding-top: 30px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .flip-box-item-3 .back .info-box-item {
    padding-top: 60px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .flip-box-item-3 .back .info-box-item {
    padding-top: 60px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .flip-box-item-3 .back .info-box-item {
    padding-top: 60px;
  }
}

/*-========== flip-box-item 4 =========-*/
.flip-box-item-4 .front {
  background-image: radial-gradient(circle farthest-corner at 12.3% 19.3%, #5558da 0%, #5fd1f9 100.2%);
}
.flip-box-item-4 .front .info-box-item {
  padding-top: 100px;
  padding-bottom: 100px;
}
.flip-box-item-4 .front .info-box-item .info-body {
  margin-top: 0;
}
.flip-box-item-4 .front .info-box-item .info-body .info__title,
.flip-box-item-4 .front .info-box-item .info-body .info__text {
  color: #fff;
}
.flip-box-item-4 .back {
  background-image: radial-gradient(circle farthest-corner at 12.3% 19.3%, #5558da 0%, #5fd1f9 100.2%);
}
@media (max-width: 992px) {
  .flip-box-item-4 .back .info-box-item {
    padding-top: 30px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .flip-box-item-4 .back .info-box-item {
    padding-top: 45px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .flip-box-item-4 .back .info-box-item {
    padding-top: 45px;
  }
}
.flip-box-item-4 .back .info-box-item .info-body .theme-btn {
  color: #fff;
  background-image: radial-gradient(circle farthest-corner at 12.3% 19.3%, #5558da 0%, #5fd1f9 100.2%);
}

/*-===============================
    ALERT AREA
===============================-*/
.alert-area .alert-boxes {
  margin-top: 30px;
}

/*-========== alert-box-item ============-*/
.alert-box-item .alert {
  padding: 20px 20px;
}
.alert-box-item .alert .alert-link:hover {
  text-decoration: underline;
}
.alert-box-item .alert .la {
  font-size: 18px;
  margin-right: 8px;
}
.alert-box-item .alert .close {
  padding: 20px 10px;
  outline: none;
}

/*-=========== alert-box-item 2 ============-*/
.alert-box-item-2 .alert-titles {
  margin-bottom: 30px;
}
.alert-box-item-2 .alert-titles .alert__title {
  margin-bottom: 5px;
  font-weight: 600;
}
.alert-box-item-2 .alert .alert-heading {
  margin-bottom: 5px;
}
.alert-box-item-2 .alert .alert-text {
  line-height: 26px;
}

/*-===============================
    COUNTDOWN
===============================-*/
.countdown {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
  justify-content: center;
  margin-top: 45px;
}
.countdown .countdown-item {
  width: 25%;
  padding-right: 15px;
  padding-left: 15px;
  margin-bottom: 30px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .countdown .countdown-item {
    width: 50%;
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .countdown .countdown-item {
    width: 100%;
    margin-bottom: 50px;
  }
}
.countdown .countdown-item .countdown-time {
  font-size: 60px;
  color: #2e3d62;
  font-weight: 600;
}
.countdown .countdown-item .countdown-text {
  font-size: 18px;
  margin-top: 10px;
}

/*-===============================
    COUNTDOWN 2
===============================-*/
.countdown-2 .countdown-item .days,
.countdown-2 .countdown-item .days-text {
  color: #F8C652;
}
.countdown-2 .countdown-item .hours,
.countdown-2 .countdown-item .hours-text {
  color: #F55974;
}
.countdown-2 .countdown-item .minutes,
.countdown-2 .countdown-item .minutes-text {
  color: #579657;
}
.countdown-2 .countdown-item .seconds,
.countdown-2 .countdown-item .seconds-text {
  color: #3897F0;
}

/*-===============================
    COUNTDOWN 3
===============================-*/
.countdown-3 .countdown-item .days,
.countdown-3 .countdown-item .days-text {
  background: #17a2b8;
  background: -moz-linear-gradient(45deg, #17a2b8 0%, #5c48e0 50%, #8f42ec 100%);
  background: -webkit-linear-gradient(45deg, #17a2b8 0%, #5c48e0 50%, #8f42ec 100%);
  background: linear-gradient(45deg, #17a2b8 0%, #5c48e0 50%, #8f42ec 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.countdown-3 .countdown-item .hours,
.countdown-3 .countdown-item .hours-text {
  background: #5c48e0;
  background: -moz-linear-gradient(45deg, #5c48e0 0%, #4be6b8 50%, #f78c01 100%);
  background: -webkit-linear-gradient(45deg, #5c48e0 0%, #4be6b8 50%, #f78c01 100%);
  background: linear-gradient(45deg, #5c48e0 0%, #4be6b8 50%, #f78c01 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.countdown-3 .countdown-item .minutes,
.countdown-3 .countdown-item .minutes-text {
  background: #c500ee;
  background: -moz-linear-gradient(45deg, #c500ee 0%, #f67000 51%, #f55a17 100%);
  background: -webkit-linear-gradient(45deg, #c500ee 0%, #f67000 51%, #f55a17 100%);
  background: linear-gradient(45deg, #c500ee 0%, #f67000 51%, #f55a17 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.countdown-3 .countdown-item .seconds,
.countdown-3 .countdown-item .seconds-text {
  background: #c500ee;
  background: -moz-linear-gradient(45deg, #c500ee 0%, #f8c652 50%, #f55974 100%);
  background: -webkit-linear-gradient(45deg, #c500ee 0%, #f8c652 50%, #f55974 100%);
  background: linear-gradient(45deg, #c500ee 0%, #f8c652 50%, #f55974 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/*-===============================
    COUNTDOWN 4
===============================-*/
.countdown-4 .countdown-item {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  border: 2px solid #2e3d62;
  width: 200px;
  height: 200px;
  padding-top: 85px;
  margin-right: 15px;
  margin-left: 15px;
}

/*-===============================
    COUNTDOWN 5
===============================-*/
.countdown-5 .countdown-item {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  border: 1px solid rgba(127, 136, 151, 0.2);
  width: 200px;
  height: 200px;
  padding-top: 85px;
  margin-right: 15px;
  margin-bottom: 30px;
  margin-left: 15px;
}

/*-===============================
    COUNTDOWN 6
===============================-*/
.countdown-6 .countdown-item {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-image: linear-gradient(89deg, #154abd 0.1%, #1a8ad3 51.5%, #48b1ea 100.2%);
  width: 200px;
  height: 200px;
  padding-top: 85px;
  margin: 0 15px 30px 15px;
}
.countdown-6 .countdown-item .countdown-time,
.countdown-6 .countdown-item .countdown-text {
  color: #fff;
}

/*-===============================
    COUNTDOWN 7
===============================-*/
.countdown-7 {
  background-color: #F7F9FB;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  height: 100%;
  padding: 25px 30px;
  -ms-flex-align: center;
  align-items: center;
}
@media (max-width: 1199px) {
  .countdown-7 {
    text-align: center;
    padding-top: 35px;
  }
}
.countdown-7 .countdown-heading {
  margin-right: 25px;
}
@media (max-width: 1199px) {
  .countdown-7 .countdown-heading {
    width: 100%;
    margin-right: 0;
  }
}
.countdown-7 .countdown-heading .countdown__title {
  font-weight: 600;
  margin-bottom: 3px;
}
.countdown-7 .countdown-item {
  width: auto;
  padding-top: 20px;
  margin: 0 5px;
}
@media (max-width: 1199px) {
  .countdown-7 .countdown-item {
    padding-left: 0;
    padding-right: 30px;
    padding-top: 30px;
  }
}
.countdown-7 .countdown-item .countdown-time {
  font-size: 40px;
}
.countdown-7 .countdown-item:nth-child(5) {
  padding-right: 0;
}
.countdown-7 .countdown-btn {
  margin-left: auto;
}
@media (max-width: 1199px) {
  .countdown-7 .countdown-btn {
    width: 100%;
    margin-top: 30px;
  }
}
.countdown-7 .countdown-btn .theme-btn {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 0 20px;
}

/*-===============================
    SOCIAL AREA
===============================-*/
.social-area .social-icon-box {
  margin-top: 30px;
}

/*-========== social-icons ==========-*/
.social-icons .social-icon {
  display: inline-block;
  margin: 0 10px 10px 10px;
}
.social-icons .social-icon a {
  color: #2e3d62;
  font-size: 18px;
  display: block;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.social-icons .social-icon a:hover {
  color: #42a5f5;
}

/*-===============================
    SOCIAL AREA 2
===============================-*/
.social-icons-2 .social-icon,
.social-icons-3 .social-icon,
.social-icons-4 .social-icon,
.social-icons-5 .social-icon,
.social-icons-6 .social-icon,
.social-icons-7 .social-icon,
.social-icons-11 .social-icon {
  margin: 0 5px 15px 5px;
}
.social-icons-2 .social-icon a,
.social-icons-3 .social-icon a,
.social-icons-4 .social-icon a,
.social-icons-5 .social-icon a,
.social-icons-6 .social-icon a,
.social-icons-7 .social-icon a,
.social-icons-11 .social-icon a {
  width: 50px;
  height: 50px;
  line-height: 50px;
  border: 1px solid #2e3d62;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.social-icons-2 .social-icon a:hover,
.social-icons-3 .social-icon a:hover,
.social-icons-4 .social-icon a:hover,
.social-icons-5 .social-icon a:hover,
.social-icons-6 .social-icon a:hover,
.social-icons-7 .social-icon a:hover,
.social-icons-11 .social-icon a:hover {
  background-color: #2e3d62;
  color: #fff;
}

/*-===============================
    SOCIAL AREA 3
===============================-*/
.social-icons-3 .social-icon a,
.social-icons-5 .social-icon a,
.social-icons-7 .social-icon a,
.social-icons-11 .social-icon a {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}

/*-===============================
    SOCIAL AREA 4
===============================-*/
.social-icons-4 .social-icon a,
.social-icons-5 .social-icon a {
  background-color: rgba(46, 61, 98, 0.1);
  border: none;
}

/*-===============================
    SOCIAL AREA 6
===============================-*/
.social-icons-6 .social-icon a,
.social-icons-7 .social-icon a {
  color: #fff;
  border: none;
}
.social-icons-6 .social-icon a.facebook,
.social-icons-7 .social-icon a.facebook {
  background-color: #3b5998;
}
.social-icons-6 .social-icon a.twitter,
.social-icons-7 .social-icon a.twitter {
  background-color: #55acee;
}
.social-icons-6 .social-icon a.skype,
.social-icons-7 .social-icon a.skype {
  background-color: #00aff0;
}
.social-icons-6 .social-icon a.google-plus,
.social-icons-7 .social-icon a.google-plus {
  background-color: #bd081c;
}
.social-icons-6 .social-icon a.tumblr,
.social-icons-7 .social-icon a.tumblr {
  background-color: #35465c;
}
.social-icons-6 .social-icon a.rss,
.social-icons-7 .social-icon a.rss {
  background-color: #f26522;
}
.social-icons-6 .social-icon a.behance,
.social-icons-7 .social-icon a.behance {
  background-color: #0063dc;
}
.social-icons-6 .social-icon a.youtube,
.social-icons-7 .social-icon a.youtube {
  background-color: #cd201f;
}
.social-icons-6 .social-icon a.vimeo,
.social-icons-7 .social-icon a.vimeo {
  background-color: #1ab7ea;
}
.social-icons-6 .social-icon a.envira,
.social-icons-7 .social-icon a.envira {
  background-color: #5b9a68;
}
.social-icons-6 .social-icon a.yahoo,
.social-icons-7 .social-icon a.yahoo {
  background-color: #410093;
}
.social-icons-6 .social-icon a.spotify,
.social-icons-7 .social-icon a.spotify {
  background-color: #2ebd59;
}
.social-icons-6 .social-icon a:hover,
.social-icons-7 .social-icon a:hover {
  -webkit-transform: translateY(-3px);
  -moz-transform: translateY(-3px);
  -ms-transform: translateY(-3px);
  -o-transform: translateY(-3px);
  transform: translateY(-3px);
}

/*-===============================
    SOCIAL AREA 8
===============================-*/
.social-icons-8 .social-icon a,
.social-icons-9 .social-icon a,
.social-icons-10 .social-icon a {
  padding: 12px 20px;
  background-color: #2e3d62;
  color: #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  font-size: 1rem;
}
.social-icons-8 .social-icon a i,
.social-icons-9 .social-icon a i,
.social-icons-10 .social-icon a i {
  margin-right: 8px;
}
.social-icons-8 .social-icon a:hover,
.social-icons-9 .social-icon a:hover,
.social-icons-10 .social-icon a:hover {
  background-color: #42a5f5;
  color: #fff;
}

/*-===============================
    SOCIAL AREA 10
===============================-*/
.social-icons-9 .social-icon a {
  color: #fff;
}
.social-icons-9 .social-icon a.facebook {
  background-color: #3B5998;
}
.social-icons-9 .social-icon a.twitter {
  background-color: #55ACEE;
}
.social-icons-9 .social-icon a.instagram {
  background-color: #E1306C;
}
.social-icons-9 .social-icon a.skype {
  background-color: #00aff0;
}
.social-icons-9 .social-icon a.google-plus {
  background-color: #bd081c;
}

/*-===============================
    SOCIAL AREA 12
===============================-*/
.social-icons-10 .social-icon a,
.social-icons-11 .social-icon a {
  color: #fff;
  background: #2e7ce4;
  background: -moz-linear-gradient(-45deg, #2e7ce4 0%, #7db9e8 100%);
  background: -webkit-linear-gradient(-45deg, #2e7ce4 0%, #7db9e8 100%);
  background: linear-gradient(135deg, #2e7ce4 0%, #7db9e8 100%);
}

/*-===============================
    SOCIAL AREA 13
===============================-*/
.social-icons-11 .social-icon a {
  border: none;
}

/*-===============================
    GOOGLE
===============================-*/
.google-map .map-wrap {
  margin-top: 50px;
}
.google-map .map-wrap .map__heading {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 30px;
}
.google-map iframe,
.google-map #map {
  width: 100%;
  height: 450px;
}

/*-===============================
    GOOGLE
===============================-*/
.google-map2 .map-wrap {
  margin-top: 0;
}

/*-===============================
    CHART AREA
===============================-*/
.chart-box {
  margin-top: 30px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.07);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.07);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.07);
  background-color: #fff;
  border: 1px solid rgba(127, 136, 151, 0.2);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 30px;
  overflow: hidden;
}
.chart-box .chart-title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 30px;
}

/*===== chart-legend ======*/
.chart-legend {
  padding-top: 25px;
}
.chart-legend ul li {
  display: inline-block;
  text-transform: capitalize;
  position: relative;
  color: #2e3d62;
  margin-left: 28px;
}
.chart-legend ul li .legend__item {
  width: 14px;
  height: 14px;
  display: inline-block;
  background-color: #42a5f5;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  left: -22px;
  top: 3px;
}
.chart-legend ul li .legend__two {
  background-color: #4BE6B8;
}

/*-===============================
    CHART AREA 2
===============================-*/
.chart-legend-2 {
  text-align: center;
}
.chart-legend-2 ul li .legend__two {
  background-color: #F55974;
}
.chart-legend-2 ul li .legend__three {
  background-color: #579657;
}
.chart-legend-2 ul li .legend__four {
  background-color: #06b590;
}
.chart-legend-2 ul li .legend__five {
  background-color: #35b53e;
}
.chart-legend-2 ul li .legend__six {
  background-color: #377dff;
}
.chart-legend-2 ul li .legend__seven {
  background-color: #ffaf00;
}

/*-===============================
    CHART AREA 3
===============================-*/
.chart-legend-3 ul li .legend__one {
  background-color: #06b590;
}
.chart-legend-3 ul li .legend__two {
  background-color: #42a5f5;
}

/*-===============================
    CHART AREA 4
===============================-*/
.chart-legend-4 ul li .legend__one {
  background-color: #6a82fb;
}
.chart-legend-4 ul li .legend__two {
  background-color: #6ccdd9;
}

/*-===============================
    CHART AREA 5
===============================-*/
.chart-legend-5 ul li .legend__one {
  background-color: #42a5f5;
}
.chart-legend-5 ul li .legend__two {
  background-color: #4BE6B8;
}
.chart-legend-5 ul li .legend__three {
  background-color: #F78C01;
}
.chart-legend-5 ul li .legend__four {
  background-color: #C500EE;
}
.chart-legend-5 ul li .legend__five {
  background-color: #F8C652;
}
.chart-legend-5 ul li .legend__six {
  background-color: #F55974;
}
.chart-legend-5 ul li .legend__seven {
  background-color: #579657;
}
.chart-legend-5 ul li .legend__eight {
  background-color: #42a5f5;
}
.chart-legend-5 ul li .legend__nine {
  background-color: #7f8897;
}

/*-===============================
    CHART AREA 6
===============================-*/
.chart-legend-6 ul li .legend__one {
  background-color: #42a5f5;
}
.chart-legend-6 ul li .legend__two {
  background-color: #4BE6B8;
}
.chart-legend-6 ul li .legend__three {
  background-color: #F78C01;
}
.chart-legend-6 ul li .legend__four {
  background-color: #C500EE;
}
.chart-legend-6 ul li .legend__five {
  background-color: #F8C652;
}

/*-===============================
    CHART
===============================-*/
@media (max-width: 425px) {
  #radar-chart,
#polar-chart {
    width: 400px !important;
    height: 200px !important;
    margin-left: -30px;
  }
}
@media (max-width: 375px) {
  #radar-chart,
#polar-chart {
    margin-left: -55px;
  }
}
@media (max-width: 320px) {
  #radar-chart,
#polar-chart {
    margin-left: -80px;
  }
}

/*-===============================
    BULLET AREA
===============================-*/
.bullet-area .bullet-content-wrap {
  margin-top: 30px;
}

/*========== bullet-item ==========*/
.bullet-item {
  margin-bottom: 30px;
}
.bullet-item ul li {
  position: relative;
  margin-bottom: 15px;
  padding-left: 20px;
}
.bullet-item ul li:after {
  position: absolute;
  content: "";
  top: 5px;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #ececec;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}

/*-===============================
    BULLET AREA 2
===============================-*/
.bullet-item-2 ul li:after {
  background-color: #42a5f5;
}

/*-===============================
    BULLET AREA 3
===============================-*/
.bullet-item-3 ul li {
  padding-left: 24px;
}
.bullet-item-3 ul li span {
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 0;
  color: #2e3d62;
}
.bullet-item-3 ul li:after {
  display: none;
}

/*-===============================
    BULLET AREA 4
===============================-*/
.bullet-item-4 ul li {
  padding-left: 38px;
}
.bullet-item-4 ul li span {
  position: absolute;
  top: 5px;
  left: 0;
  text-align: center;
  display: inline-block;
  width: 24px;
  height: 24px;
  line-height: 25px;
  color: #fff;
  background-color: #1e88e5;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.bullet-item-4 ul li:after {
  display: none;
}

/*-===============================
   ACCORDION AREA
===============================-*/
.accordion-area .accordion-wrap {
  margin-top: 30px;
}

/*-=========== ACCORDION ==========-*/
.accordion .card {
  border: none;
  margin-bottom: 10px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.accordion .card .card-header {
  background-color: transparent;
  border-bottom: 0;
  padding: 0;
  margin-bottom: 0;
}
.accordion .card .card-header .btn-link {
  width: 100%;
  text-align: left;
  padding: 12px 20px;
  color: #2e3d62;
  text-decoration: none;
  border: 1px solid #ececec;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  font-weight: 500;
  position: relative;
}
.accordion .card .card-header .btn-link:before {
  position: absolute;
  content: "\f067";
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 20px;
  font-family: "Line Awesome Free";
  font-weight: 900;
  font-size: 18px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.accordion .card .card-header .btn-link[aria-expanded=true] {
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
}
.accordion .card .card-header .btn-link[aria-expanded=true]:before {
  content: "\f068";
}
.accordion .card .card-body {
  border: 1px solid #ececec;
  margin-top: -1px;
  padding: 18px 20px;
  font-size: 15px;
  line-height: 26px;
}

/*-=========== ACCORDION 2 ==========-*/
.accordion-2 .card {
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  background-color: #fff;
}
.accordion-2 .card .card-header .btn-link:before {
  content: "\f106";
}
.accordion-2 .card .card-header .btn-link[aria-expanded=true]:before {
  content: "\f107";
}

/*-=========== ACCORDION 3 ==========-*/
.accordion-3 .card .card-header .btn-link .la {
  margin-right: 5px;
}
.accordion-3 .card .card-header .btn-link:before {
  content: "\f0d7";
}
.accordion-3 .card .card-header .btn-link[aria-expanded=true] {
  color: #42a5f5;
}
.accordion-3 .card .card-header .btn-link[aria-expanded=true]:before {
  content: "\f0d8";
}

/*-=========== ACCORDION 4 ==========-*/
.accordion-4 .card .card-header .btn-link {
  border-top: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  border-right: none;
  border-left: none;
  padding-right: 0;
  padding-left: 0;
}
.accordion-4 .card .card-header .btn-link:before {
  right: 0;
}
.accordion-4 .card .card-header .btn-link[aria-expanded=true] {
  border-bottom: transparent;
}
.accordion-4 .card .card-body {
  border-top: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  border-right: none;
  border-left: none;
  padding-top: 0;
  padding-right: 0;
  padding-left: 0;
}

/*-=========== ACCORDION 5 ==========-*/
.accordion-5 .card {
  background-color: #2e3d62;
  -webkit-border-radius: 4px !important;
  -moz-border-radius: 4px !important;
  border-radius: 4px !important;
}
.accordion-5 .card .card-header .btn-link {
  border: none;
  color: #fff;
}
.accordion-5 .card .card-header .btn-link .la {
  margin-right: 5px;
}
.accordion-5 .card .card-body {
  border: none;
  color: #fff;
}

/*-=========== ACCORDION 6 ==========-*/
.accordion-6 .card {
  background-color: #F55974;
  -webkit-border-radius: 4px !important;
  -moz-border-radius: 4px !important;
  border-radius: 4px !important;
}
.accordion-6 .card .card-header .btn-link {
  border: none;
  background-color: transparent;
  color: #fff;
}
.accordion-6 .card .card-header .btn-link .la {
  margin-right: 5px;
}
.accordion-6 .card .card-body {
  padding-top: 10px;
  border: none;
  color: #fff;
}

/*-=========== ACCORDION 7 ==========-*/
.accordion-7 .card {
  background: #8f42ec;
  background: -moz-linear-gradient(-45deg, #8f42ec 0%, #17a2b8 100%);
  background: -webkit-linear-gradient(-45deg, #8f42ec 0%, #17a2b8 100%);
  background: linear-gradient(135deg, #8f42ec 0%, #17a2b8 100%);
  -webkit-border-radius: 4px !important;
  -moz-border-radius: 4px !important;
  border-radius: 4px !important;
}
.accordion-7 .card .card-header .btn-link {
  border: none;
  background-color: transparent;
  color: #fff;
}
.accordion-7 .card .card-header .btn-link .la {
  margin-right: 5px;
}
.accordion-7 .card .card-body {
  padding-top: 10px;
  border: none;
  color: #fff;
}

/*-=========== FAQ ==========-*/
.faq-area .accordion-wrap {
  margin-top: 56px;
  margin-right: 60px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .faq-area .accordion-wrap {
    margin-right: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .faq-area .accordion-wrap {
    margin-right: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .faq-area .accordion-wrap {
    margin-right: 0;
  }
}
.faq-area .faq-img img {
  width: 100%;
}

/*-===============================
    TAB AREA
===============================-*/
.tab-area .tab-wrap {
  margin-top: 30px;
}

/*-=========== tab-layout ==========-*/
.tab-layout .tab-list .nav-tabs {
  border-bottom-color: #eee;
  border-bottom-width: 2px;
}
.tab-layout .tab-list .nav-tabs li a {
  color: #7f8897;
  text-transform: capitalize;
  font-weight: 500;
  display: block;
  padding: 14px 17px;
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.tab-layout .tab-list .nav-tabs li a .la {
  margin-right: 5px;
}
.tab-layout .tab-list .nav-tabs li a:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #42a5f5;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
}
.tab-layout .tab-list .nav-tabs li a.active {
  color: #42a5f5;
}
.tab-layout .tab-list .nav-tabs li a.active:after {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
.tab-layout .tab-list .nav-tabs li a.active:hover {
  color: #42a5f5;
}
.tab-layout .tab-list .nav-tabs li a:hover {
  color: #42a5f5;
}
.tab-layout .tab-list .nav-tabs li a:hover:after {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
.tab-layout .tab-content .tab-item {
  padding: 20px 17px 15px 0;
}
.tab-layout .tab-content .tab-item .tab__title {
  margin-top: 20px;
  margin-bottom: 10px;
  font-weight: 600;
  font-size: 20px;
}
.tab-layout .tab-content .tab-item .tab__text {
  line-height: 28px;
}

/*-=========== tab-layout-2 ==========-*/
.tab-layout-2 .tab-list .nav-tabs {
  border-bottom: none;
}
.tab-layout-2 .tab-list .nav-tabs li {
  display: block;
  width: 100%;
}
.tab-layout-2 .tab-content .tab-item {
  padding-top: 0;
}
.tab-layout-2 .tab-content .tab-item .tab__title {
  margin-top: 11px;
}
.tab-layout-2 .tab-content .tab-item .tab__text {
  margin-bottom: 13px;
}

/*-=========== tab-layout-3 ==========-*/
.tab-layout-3 .tab-list .nav-tabs {
  border-bottom: none;
}
.tab-layout-3 .tab-list .nav-tabs li {
  display: block;
  width: 100%;
}
.tab-layout-3 .tab-content {
  text-align: right;
}
.tab-layout-3 .tab-content .tab-item {
  padding-top: 0;
}
.tab-layout-3 .tab-content .tab-item .tab__title {
  margin-top: 11px;
}
.tab-layout-3 .tab-content .tab-item .tab__text {
  margin-bottom: 13px;
}

/*-=========== tab-layout-4 ==========-*/
.tab-layout-4 .tab-list .nav-tabs {
  border-bottom: none;
}
.tab-layout-4 .tab-list .nav-tabs li {
  margin-right: 8px;
  margin-bottom: 8px;
}
.tab-layout-4 .tab-list .nav-tabs li:last-child {
  margin-right: 0;
}
.tab-layout-4 .tab-list .nav-tabs li a {
  border: 1px solid #eee;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding-top: 12px;
  padding-bottom: 12px;
}
.tab-layout-4 .tab-list .nav-tabs li a:after {
  display: none;
}
.tab-layout-4 .tab-list .nav-tabs li a.active, .tab-layout-4 .tab-list .nav-tabs li a:hover {
  border-color: #42a5f5;
}
.tab-layout-4 .tab-content {
  margin-top: 40px;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tab-layout-4 .tab-content {
    width: auto;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .tab-layout-4 .tab-content {
    width: auto;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .tab-layout-4 .tab-content {
    width: auto;
  }
}
.tab-layout-4 .tab-content .tab-item {
  padding: 20px;
  border: 1px solid #eee;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.tab-layout-4 .tab-content .tab-item img {
  width: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.tab-layout-4 .tab-content .tab-item .tab-item-inner {
  padding-top: 30px;
  padding-bottom: 15px;
}
.tab-layout-4 .tab-content .tab-item .tab-item-inner .tab__title {
  margin-top: 0;
}
.tab-layout-4 .tab-content .tab-item .tab-item-inner .tab__text {
  margin-bottom: 25px;
}

/*-=========== tab-layout-5 ==========-*/
.tab-layout-5 .tab-list .nav-tabs {
  border-bottom: none;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tab-layout-5 .tab-list .nav-tabs {
    -ms-flex-pack: justify;
    justify-content: center;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .tab-layout-5 .tab-list .nav-tabs {
    -ms-flex-pack: justify;
    justify-content: center;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .tab-layout-5 .tab-list .nav-tabs {
    -ms-flex-pack: justify;
    justify-content: center;
  }
}
.tab-layout-5 .tab-list .nav-tabs li {
  margin-bottom: 8px;
  width: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tab-layout-5 .tab-list .nav-tabs li {
    margin-bottom: 20px;
    width: auto;
    margin-right: 10px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .tab-layout-5 .tab-list .nav-tabs li {
    margin-bottom: 20px;
    width: auto;
    margin-right: 10px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .tab-layout-5 .tab-list .nav-tabs li {
    margin-bottom: 20px;
    width: auto;
    margin-right: 10px;
  }
}
.tab-layout-5 .tab-list .nav-tabs li a {
  background-color: rgba(46, 61, 98, 0.1);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding-top: 16px;
  padding-bottom: 16px;
}
.tab-layout-5 .tab-list .nav-tabs li a:after {
  background-color: transparent;
  bottom: 16px;
  right: -10px;
  left: auto;
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #2e3d62;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tab-layout-5 .tab-list .nav-tabs li a:after {
    -webkit-transform: rotate(90deg) translateX(-50%) scale(0);
    -moz-transform: rotate(90deg) translateX(-50%) scale(0);
    -ms-transform: rotate(90deg) translateX(-50%) scale(0);
    -o-transform: rotate(90deg) translateX(-50%) scale(0);
    transform: rotate(90deg) translateX(-50%) scale(0);
    bottom: -19px;
    left: 50%;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .tab-layout-5 .tab-list .nav-tabs li a:after {
    -webkit-transform: rotate(90deg) translateX(-50%) scale(0);
    -moz-transform: rotate(90deg) translateX(-50%) scale(0);
    -ms-transform: rotate(90deg) translateX(-50%) scale(0);
    -o-transform: rotate(90deg) translateX(-50%) scale(0);
    transform: rotate(90deg) translateX(-50%) scale(0);
    bottom: -19px;
    left: 50%;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .tab-layout-5 .tab-list .nav-tabs li a:after {
    -webkit-transform: rotate(90deg) translateX(-50%) scale(0);
    -moz-transform: rotate(90deg) translateX(-50%) scale(0);
    -ms-transform: rotate(90deg) translateX(-50%) scale(0);
    -o-transform: rotate(90deg) translateX(-50%) scale(0);
    transform: rotate(90deg) translateX(-50%) scale(0);
    bottom: -19px;
    left: 50%;
  }
}
.tab-layout-5 .tab-list .nav-tabs li a.active:hover {
  color: #fff;
}
.tab-layout-5 .tab-list .nav-tabs li a.active, .tab-layout-5 .tab-list .nav-tabs li a:hover {
  background-color: #2e3d62;
  color: #fff;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tab-layout-5 .tab-list .nav-tabs li a.active:after, .tab-layout-5 .tab-list .nav-tabs li a:hover:after {
    -webkit-transform: rotate(90deg) translateX(-50%) scale(1);
    -moz-transform: rotate(90deg) translateX(-50%) scale(1);
    -ms-transform: rotate(90deg) translateX(-50%) scale(1);
    -o-transform: rotate(90deg) translateX(-50%) scale(1);
    transform: rotate(90deg) translateX(-50%) scale(1);
    bottom: -19px;
    left: 50%;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .tab-layout-5 .tab-list .nav-tabs li a.active:after, .tab-layout-5 .tab-list .nav-tabs li a:hover:after {
    -webkit-transform: rotate(90deg) translateX(-50%) scale(1);
    -moz-transform: rotate(90deg) translateX(-50%) scale(1);
    -ms-transform: rotate(90deg) translateX(-50%) scale(1);
    -o-transform: rotate(90deg) translateX(-50%) scale(1);
    transform: rotate(90deg) translateX(-50%) scale(1);
    bottom: -19px;
    left: 50%;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .tab-layout-5 .tab-list .nav-tabs li a.active:after, .tab-layout-5 .tab-list .nav-tabs li a:hover:after {
    -webkit-transform: rotate(90deg) translateX(-50%) scale(1);
    -moz-transform: rotate(90deg) translateX(-50%) scale(1);
    -ms-transform: rotate(90deg) translateX(-50%) scale(1);
    -o-transform: rotate(90deg) translateX(-50%) scale(1);
    transform: rotate(90deg) translateX(-50%) scale(1);
    bottom: -19px;
    left: 50%;
  }
}
.tab-layout-5 .tab-content {
  margin-left: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tab-layout-5 .tab-content {
    margin-left: 0;
    margin-top: 30px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .tab-layout-5 .tab-content {
    margin-left: 0;
    margin-top: 30px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .tab-layout-5 .tab-content {
    margin-left: 0;
    margin-top: 30px;
  }
}
.tab-layout-5 .tab-content .tab-item {
  padding: 20px;
  border: 1px solid #eee;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.tab-layout-5 .tab-content .tab-item img {
  width: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.tab-layout-5 .tab-content .tab-item .tab-item-inner {
  padding-top: 30px;
  padding-bottom: 15px;
}
.tab-layout-5 .tab-content .tab-item .tab-item-inner .tab__title {
  margin-top: 0;
}
.tab-layout-5 .tab-content .tab-item .tab-item-inner .tab__text {
  margin-bottom: 25px;
}

/*-=========== tab-layout-6 ==========-*/
.tab-layout-6 .tab-list .nav-tabs {
  border-bottom: 0;
}
.tab-layout-6 .tab-list .nav-tabs li {
  margin-right: 8px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .tab-layout-6 .tab-list .nav-tabs li {
    margin-bottom: 10px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .tab-layout-6 .tab-list .nav-tabs li {
    margin-bottom: 10px;
  }
}
.tab-layout-6 .tab-list .nav-tabs li:last-child {
  margin-right: 0;
}
.tab-layout-6 .tab-list .nav-tabs li a {
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  background-color: rgba(46, 61, 98, 0.1);
}
.tab-layout-6 .tab-list .nav-tabs li a:after {
  display: none;
}
.tab-layout-6 .tab-list .nav-tabs li a.active:hover {
  color: #fff;
}
.tab-layout-6 .tab-list .nav-tabs li a.active, .tab-layout-6 .tab-list .nav-tabs li a:hover {
  background-color: #2e3d62;
  color: #fff;
}
.tab-layout-6 .tab-content {
  margin-top: 30px;
}
.tab-layout-6 .tab-content .tab-item {
  padding: 40px;
  border: 1px solid #eee;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
}
.tab-layout-6 .tab-content .tab-item .tab-item-inner .tab-img {
  position: relative;
  height: 100%;
  display: table;
  width: 100%;
  border-bottom: 1px solid #eee;
  padding-bottom: 35px;
}
.tab-layout-6 .tab-content .tab-item .tab-item-inner .tab-img img {
  float: left;
  width: 90px;
  height: 90px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  margin-right: 25px;
}
@media (max-width: 375px) {
  .tab-layout-6 .tab-content .tab-item .tab-item-inner .tab-img img {
    float: none;
    margin-right: 0;
  }
}
.tab-layout-6 .tab-content .tab-item .tab-item-inner .tab-img .tabimg__title {
  font-size: 22px;
  margin-top: 15px;
  margin-bottom: 4px;
  font-weight: 600;
}
.tab-layout-6 .tab-content .tab-item .tab-item-inner .tab__title {
  font-size: 24px;
  margin-top: 30px;
}
.tab-layout-6 .tab-content .tab-item .tab-item-inner .tab__meta {
  margin-bottom: 20px;
}
.tab-layout-6 .tab-content .tab-item .tab-item-inner .tab__meta li {
  display: inline-block;
  margin-right: 15px;
  position: relative;
}
.tab-layout-6 .tab-content .tab-item .tab-item-inner .tab__meta li:after {
  position: absolute;
  content: "";
  bottom: 9px;
  right: -13px;
  width: 3px;
  height: 3px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #2e3d62;
}
.tab-layout-6 .tab-content .tab-item .tab-item-inner .tab__meta li:last-child {
  margin-right: 0;
}
.tab-layout-6 .tab-content .tab-item .tab-item-inner .tab__meta li:last-child:after {
  display: none;
}
.tab-layout-6 .tab-content .tab-item .tab-item-inner .tab__text {
  margin-bottom: 25px;
}

.tab-mission .tab-list .nav-tabs li a.active {
  color: #b99566;
}
.tab-mission .tab-list .nav-tabs li a.active:hover {
  color: #b99566;
}
.tab-mission .tab-list .nav-tabs li a:hover {
  color: #b99566;
}
.tab-mission .tab-list .nav-tabs li a:after {
  background-color: #b99566;
}

/*-===============================
    GALLERY AREA
===============================-*/
.gallery-area .image-gallery-wrap {
  margin-top: 30px;
}
.gallery-area .image-gallery-wrap figure {
  margin-bottom: 30px;
}

.image-gallery-item .gallery__title {
  text-align: left;
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 24px;
}
.image-gallery-item a {
  display: block;
}
.image-gallery-item a img {
  width: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

/*-===============================
    GALLERY AREA 2
===============================-*/
.image-gallery-item-2 .owl-nav div {
  position: absolute;
  top: 41%;
  left: 10px;
  width: 45px;
  height: 45px;
  line-height: 45px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.image-gallery-item-2 .owl-nav div:hover {
  background-color: #42a5f5;
  color: #fff;
}
.image-gallery-item-2 .owl-nav div.owl-next {
  left: auto;
  right: 10px;
}
@media (max-width: 400px) {
  .image-gallery-item-2 .owl-nav div {
    top: 18%;
    width: 40px;
    height: 40px;
    line-height: 40px;
  }
}
.image-gallery-item-2 .owl-dots {
  margin-top: 30px;
}
.image-gallery-item-2 .owl-dots .owl-dot {
  display: inline-block;
  margin-left: 5px;
  margin-right: 5px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
}
@media (max-width: 1199px) {
  .image-gallery-item-2 .owl-dots .owl-dot {
    margin-bottom: 10px;
  }
}
.image-gallery-item-2 .owl-dots .owl-dot.active:after, .image-gallery-item-2 .owl-dots .owl-dot:hover:after {
  opacity: 0;
}
.image-gallery-item-2 .owl-dots .owl-dot img {
  width: 115px;
  height: 100px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
@media (max-width: 1199px) {
  .image-gallery-item-2 .owl-dots .owl-dot img {
    width: 113px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .image-gallery-item-2 .owl-dots .owl-dot img {
    width: 110px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .image-gallery-item-2 .owl-dots .owl-dot img {
    width: 110px;
  }
}
@media (max-width: 600px) {
  .image-gallery-item-2 .owl-dots .owl-dot img {
    width: 101px;
    height: 90px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .image-gallery-item-2 .owl-dots .owl-dot img {
    width: 110px;
  }
}
.image-gallery-item-2 .owl-dots .owl-dot:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2e3d62;
  opacity: 0.7;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

/*-===============================
   TIMELINE AREA
===============================-*/
.timeline-area .timeline-wrap {
  margin-top: 30px;
}

@media (max-width: 575px) {
  .zigzag-timeline-list {
    overflow: hidden;
  }
}
.zigzag-timeline-list li {
  border-top: 3px solid;
  border-image: linear-gradient(to right, #8f42ec 0%, #ba42ec 100%);
  border-image-slice: 1;
  border-width: 3px;
  margin: 0;
  padding: 40px 40px 38px 40px;
  counter-increment: section;
  position: relative;
  line-height: 28px;
}
.zigzag-timeline-list li:before {
  content: counter(section);
  position: absolute;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  height: 40px;
  width: 40px;
  text-align: center;
  line-height: 40px;
  background: #8f42ec;
  background: -moz-linear-gradient(left, #8f42ec 0%, #ba42ec 100%);
  background: -webkit-linear-gradient(left, #8f42ec 0%, #ba42ec 100%);
  background: linear-gradient(to right, #8f42ec 0%, #ba42ec 100%);
  font-size: 18px;
  color: #fff;
  font-weight: 500;
}
.zigzag-timeline-list li:nth-child(odd) {
  border-right: 3px solid;
  padding-left: 0;
}
.zigzag-timeline-list li:nth-child(odd):before {
  left: 100%;
  margin-left: -20px;
}
.zigzag-timeline-list li:nth-child(even) {
  border-left: 3px solid;
  padding-right: 0;
}
.zigzag-timeline-list li:nth-child(even):before {
  right: 100%;
  margin-right: -20px;
}
.zigzag-timeline-list li:first-child {
  border-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.zigzag-timeline-list li:last-child {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

/*======================================
       TIMELINE AREA 2
 ======================================*/
.road-map {
  position: relative;
  z-index: 1;
}
.road-map:after {
  position: absolute;
  content: "";
  left: 50%;
  top: 0;
  width: 4px;
  height: 100%;
  background-color: #2e3d62;
  opacity: 0.2;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: -1;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
@media (max-width: 481px) {
  .road-map:after {
    display: none;
  }
}
.road-map .happening:hover .happening-period .happening__desc {
  background-color: #42a5f5;
}
.road-map .happening:hover .happening-period:before {
  background-color: #42a5f5;
  border-color: #fff;
}
.road-map .happening:nth-child(2n+2) .happening-period {
  float: right;
  text-align: left;
  padding-top: 60px;
  padding-right: 0;
  padding-left: 45px;
}
@media (max-width: 481px) {
  .road-map .happening:nth-child(2n+2) .happening-period {
    padding-left: 0;
    float: none;
    text-align: right;
  }
}
.road-map .happening:nth-child(2n+2) .happening-period:before {
  right: auto;
  left: 0;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}
.road-map .happening:nth-child(2n+2) .happening-detail {
  float: left;
  text-align: right;
  margin-top: 31px;
  margin-bottom: 31px;
}
.road-map .happening:nth-child(2n+2) .happening-detail:before {
  left: auto;
  right: -12px;
  -webkit-transform: rotate(-179deg);
  -moz-transform: rotate(-179deg);
  -ms-transform: rotate(-179deg);
  -o-transform: rotate(-179deg);
  transform: rotate(-179deg);
}
@media (max-width: 481px) {
  .road-map .happening:nth-child(2n+2) .happening-detail:before {
    top: -18px;
    right: 37px;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}
.road-map .happening .happening-period {
  width: 50%;
  padding: 27px 42px 0 0;
  float: left;
  vertical-align: top;
  text-align: right;
  position: relative;
}
@media (max-width: 481px) {
  .road-map .happening .happening-period {
    width: 100%;
    float: none;
    text-align: left;
    padding-right: 0;
  }
}
.road-map .happening .happening-period .happening__desc {
  font-size: 15px;
  line-height: 16px;
  font-weight: 500;
  color: #fff;
  display: inline-block;
  background-color: #2e3d62;
  padding: 8px 15px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.road-map .happening .happening-period:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  border: 3px solid #fff;
  background-color: #2e3d62;
  right: 0;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translateX(50%);
  -moz-transform: translateX(50%);
  -ms-transform: translateX(50%);
  -o-transform: translateX(50%);
  transform: translateX(50%);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
@media (max-width: 481px) {
  .road-map .happening .happening-period:before {
    display: none;
  }
}
.road-map .happening .happening-detail {
  width: 45%;
  float: right;
  padding: 27px 30px 23px 30px;
  position: relative;
  background-color: #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
}
@media (max-width: 481px) {
  .road-map .happening .happening-detail {
    width: 100%;
    float: none;
    text-align: left;
    margin-top: 30px;
  }
}
.road-map .happening .happening-detail .happening__title {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 15px;
}
.road-map .happening .happening-detail .happening__desc {
  line-height: 28px;
}
.road-map .happening .happening-detail:before {
  position: absolute;
  top: 26px;
  left: -12px;
  content: "";
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-right: 12px solid #fff;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
}
@media (max-width: 481px) {
  .road-map .happening .happening-detail:before {
    top: -18px;
    left: 37px;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}
.road-map .happening:after {
  display: block;
  clear: both;
  content: "";
}
@media (max-width: 481px) {
  .road-map .happening:last-child .happening-detail {
    margin-bottom: 0;
  }
}

/*-===============================
    TOOLTIP AREA
===============================-*/
.tooltip-area .tooltip-wrap {
  margin-top: 30px;
}
.tooltip-area .tooltip-wrap .theme-btn {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  margin: 0 8px 10px 8px;
  outline: none;
}

/*-===============================
    POPOVER AREA
===============================-*/
.popover-area .tooltip-wrap .theme-btn {
  background-color: #7f8897;
}
.popover-area .tooltip-wrap .theme-btn:hover {
  background-color: #2e3d62;
}

/*-===============================
    MODAL AREA
===============================-*/
.modal-area .modal-wrap {
  margin-top: 30px;
}
.modal-area .modal-wrap .theme-btn {
  outline: none;
}
.modal-area .modal-wrap .modal .modal-header .close .la-close {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.modal-area .modal-wrap .modal .modal-header .close:hover .la-close {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}
.modal-area .modal-wrap .modal .modal-body {
  text-align: left;
  line-height: 28px;
}
.modal-area .modal-wrap .modal .modal-body .form-group .col-form-label {
  color: #2e3d62;
  font-weight: 500;
  font-size: 15px;
}
.modal-area .modal-wrap .modal .modal-body .form-group .form-control {
  height: auto;
  padding: 12px 20px;
  font-size: 15px;
  color: #7f8897;
  border-color: rgba(127, 136, 151, 0.3);
}
.modal-area .modal-wrap .modal .modal-body .form-group .form-control:focus {
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  border-color: rgba(127, 136, 151, 0.5);
}
.modal-area .modal-wrap .modal .modal-body .form-group .form-message {
  height: 130px;
}
.modal-area .modal-wrap .modal .modal-footer .btn {
  border: none;
}
.modal-area .modal-wrap .modal .modal-footer .btn-secondary {
  background-color: #F55974;
}
.modal-area .modal-wrap .modal .modal-footer .btn-primary {
  background-color: #579657;
}

/*-===============================
    HEADING AREA
===============================-*/
.heading-one .section__title {
  font-size: 60px;
  font-weight: 700;
}

/*-===============================
    HEADING AREA
===============================-*/
.heading-two .section__title,
.heading-four .section__title {
  font-weight: 600;
}

/*-===============================
    HEADING AREA
===============================-*/
.heading-three .section__title {
  font-weight: 700;
}

/*-===============================
    HEADING AREA 5
===============================-*/
.gradient-heading .section__title,
.gradient-heading .section__meta {
  font-weight: 600;
  background: #5c48e0;
  background: -moz-linear-gradient(left, #5c48e0 0%, #118589 47%, #16ada8 100%);
  background: -webkit-linear-gradient(left, #5c48e0 0%, #118589 47%, #16ada8 100%);
  background: linear-gradient(to right, #5c48e0 0%, #118589 47%, #16ada8 100%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
}
.gradient-heading .section__meta {
  font-weight: 500;
}
.gradient-heading .section-divider:before {
  background: #5c48e0;
  background: -moz-linear-gradient(left, #5c48e0 0%, #118589 47%, #16ada8 100%);
  background: -webkit-linear-gradient(left, #5c48e0 0%, #118589 47%, #16ada8 100%);
  background: linear-gradient(to right, #5c48e0 0%, #118589 47%, #16ada8 100%);
}

/*-===============================
    HEADING AREA 6
===============================-*/
.heading-five .section__title {
  font-size: 45px;
  font-weight: 900;
  line-height: 60px;
}

/*-===============================
    HEADING AREA 7
===============================-*/
.heading-six .section__title {
  font-size: 45px;
  font-weight: 400;
}

/*-===============================
    HEADING AREA 8
===============================-*/
.heading-seven .section__title {
  font-size: 45px;
  font-weight: 300;
}

/*-===============================
    HEADING AREA 9
===============================-*/
.heading-eight .section__title {
  font-size: 45px;
  font-weight: 100;
}

/*-===============================
    HEADING AREA 10
===============================-*/
.heading-nine p {
  margin-top: 10px;
  margin-bottom: 25px;
  font-size: 14px;
}

/*-===============================
    HEADING AREA 11
===============================-*/
.heading-text-wrap {
  margin-top: 28px;
}
.heading-text-wrap .heading__text h3 {
  margin-bottom: 14px;
}
.heading-text-wrap .heading__text p {
  line-height: 28px;
  margin-bottom: 25px;
}
.heading-text-wrap .heading__text p.lead {
  line-height: 35px;
}
.heading-text-wrap .heading__text .theme-btn {
  background-color: #fff;
  border: 1px solid #eee;
  color: #2e3d62;
  line-height: 45px;
  font-size: 14px;
}
.heading-text-wrap .heading__text .theme-btn:hover {
  background-color: #2e3d62;
  color: #fff;
  border-color: #2e3d62;
}

.lead-text-wrap {
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  padding-top: 35px;
}

.blockquote-text-wrap {
  padding-top: 35px;
}
.blockquote-text-wrap .heading__text h3 {
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
  margin-bottom: 35px;
}
.blockquote-text-wrap .blockquote {
  position: relative;
  border-left: 4px solid rgba(127, 136, 151, 0.4);
  padding-left: 25px;
}
.blockquote-text-wrap .blockquote p {
  line-height: 35px;
  font-weight: 500;
}

.dropcaps-text-wrap .heading__text .dropcaps {
  color: #42a5f5;
  float: left;
  font-size: 60px;
  width: 70px;
  height: 70px;
  margin-top: 6px;
  line-height: 73px;
}
.dropcaps-text-wrap .heading__text .dropcaps2 {
  border: 1px solid #42a5f5;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  text-align: center;
  margin-top: 7px;
  margin-right: 20px;
}
.dropcaps-text-wrap .heading__text .dropcaps3,
.dropcaps-text-wrap .heading__text .dropcaps4 {
  background-color: #42a5f5;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  color: #fff;
  text-align: center;
  margin-right: 20px;
}
.dropcaps-text-wrap .heading__text .dropcaps4 {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}

.inline-text-wrap,
.color-text-wrap,
.transform-text-wrap,
.code-text-wrap {
  padding-top: 35px;
}

/*-===============================
    HIGHLIGHT AREA
===============================-*/
.highlight-area .highlight-wrap {
  margin-top: 30px;
}

.highlight-text p {
  line-height: 28px;
  margin-bottom: 30px;
}
.highlight-text p mark {
  padding: 0;
}

/*-===============================
    CARD AREA
===============================-*/
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .card-area .col-lg-3.col-sm-6,
.card-area .col-lg-4.col-sm-6,
.card-area .col-lg-6.col-sm-6 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .card-area .section-heading .section__title br {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .card-area .section-heading .section__title br {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .card-area .section-heading .section__title br {
    display: none;
  }
}
.card-area .card-wrap {
  margin-top: 30px;
}

/*-============ CARD ITEM =========-*/
.card-item .card {
  border-color: rgba(127, 136, 151, 0.2);
  margin-bottom: 30px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.card-item .card .card-image {
  position: relative;
}
.card-item .card .card-image .card-img-top {
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
}
.card-item .card .card-image .card-info {
  position: absolute;
  top: 15px;
  left: 15px;
}
.card-item .card .card-image .card__date {
  z-index: 1;
  background-color: #fff;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  display: inline-block;
  padding: 8px 15px;
  font-weight: 600;
  font-size: 14px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.card-item .card .card-body {
  padding: 28px 30px 28px 30px;
}
.card-item .card .card-body .card-icon {
  height: 9rem;
  width: 9rem;
}
.card-item .card .card-body .card-list {
  margin-bottom: 16px;
}
.card-item .card .card-body .card-list li {
  display: inline-block;
  font-weight: 500;
  position: relative;
  margin-right: 5px;
}
.card-item .card .card-body .card-list li:last-child {
  margin-right: 0;
}
.card-item .card .card-body .card-list li span {
  color: #42a5f5;
  margin-right: 3px;
}
.card-item .card .card-body .card-list li a {
  color: #7f8897;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.card-item .card .card-body .card-list li a:hover {
  color: #42a5f5;
}
.card-item .card .card-body .post-meta {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 20px;
}
.card-item .card .card-body .post-meta .author img {
  margin-right: 6px;
  width: 40px;
  height: 40px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.card-item .card .card-body .card-title {
  font-weight: 600;
  font-size: 25px;
}
.card-item .card .card-body .card-title .card__link {
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.card-item .card .card-body .card-title .card__link:hover {
  color: #42a5f5;
}
.card-item .card .card-body .card-subtitle {
  color: #42a5f5;
  margin-bottom: 15px;
}
.card-item .card .card-body .card-text {
  margin-bottom: 15px;
  line-height: 26px;
}
.card-item .card .card-body .link-btn {
  color: #2e3d62;
  font-weight: 500;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.card-item .card .card-body .link-btn:hover {
  color: #42a5f5;
}
.card-item:hover .card-image .card__date {
  background-color: #42a5f5;
  color: #fff;
}

/*-============ CARD ITEM 2 =========-*/
.card-item-2 .card .card-image .card-img-top {
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
}

/*-============ CARD ITEM 3 =========-*/
.card-item-3 .card {
  border: none;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}
.card-item-3 .card .card-image {
  position: relative;
}
.card-item-3 .card .card-image .card-img-top {
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}
.card-item-3 .card .card-image .card-info {
  top: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}
.card-item-3 .card .card-image .card-info .la {
  cursor: pointer;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  background-color: #2e3d62;
  color: #fff;
  font-size: 20px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.card-item-3 .card .card-image .card-info .card__date {
  margin-left: auto;
  background-color: #2e3d62;
  font-weight: 500;
  color: #fff;
  display: inline-block;
}
.card-item-3 .card .card-body {
  position: relative;
  padding-top: 35px;
}
.card-item-3 .card .card-body .card-title .card__link:hover {
  color: #ffb02b;
}
.card-item-3 .card .card-body .card-subtitle {
  position: absolute;
  top: -12px;
  left: 30px;
  color: #7f8897;
  text-transform: uppercase;
  font-size: 15px;
  margin-bottom: 0;
  background-color: #fff;
  display: inline-block;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  padding: 10px 20px;
}
.card-item-3 .card .card-body .card-by .card__author {
  color: #ffb02b;
}
.card-item-3 .card:hover .card-image .card-info .la,
.card-item-3 .card:hover .card-image .card-info .card__date {
  background-color: #fff;
  color: #2e3d62;
}

/*-============ CARD ITEM 4 =========-*/
.card-item-4 .card {
  border: none;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
}
.card-item-4 .card .card-body {
  padding-top: 40px;
}
.card-item-4 .card .card-body .card-number {
  font-size: 50px;
  font-weight: 600;
  opacity: 0.3;
}
.card-item-4 .card .card-body .card-title {
  margin-top: 20px;
}
.card-item-4 .card .card-body .card-title .card__link:hover {
  color: #579657;
}
.card-item-4 .card .card-body .card-subtitle {
  color: #579657;
}
.card-item-4 .card .card-body .card-by {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.card-item-4 .card .card-body .card-by .card__author a {
  color: #579657;
}
.card-item-4 .card .card-body .card-by .link-btn {
  border: 1px solid rgba(127, 136, 151, 0.2);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 8px 16px;
  color: #7f8897;
}
.card-item-4 .card:hover .card-body .link-btn {
  background-color: #579657;
  color: #fff;
  border-color: #579657;
}

/*-============ CARD ITEM 5 =========-*/
.card-item-5 .card {
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  border: none;
}
.card-item-5 .card .card-image {
  width: calc(100% - 45px);
  margin-left: auto;
  margin-right: auto;
  -webkit-box-shadow: 0 15px 40px 0 rgba(82, 85, 90, 0.2);
  -moz-box-shadow: 0 15px 40px 0 rgba(82, 85, 90, 0.2);
  box-shadow: 0 15px 40px 0 rgba(82, 85, 90, 0.2);
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
.card-item-5 .card .card-image .card-img-top {
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
.card-item-5 .card .card-image .card-info {
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}
.card-item-5 .card .card-image .card-info .card__date {
  -webkit-border-radius: 0 0 30px 30px;
  -moz-border-radius: 0 0 30px 30px;
  border-radius: 0 0 30px 30px;
}
.card-item-5 .card .card-body {
  margin-top: -120px;
  padding-top: 140px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.2);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.2);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.2);
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
.card-item-5 .card .card-body .card-list li {
  text-transform: uppercase;
  color: #42a5f5;
}
.card-item-5 .card .card-body .card-list li a {
  color: #42a5f5;
}
.card-item-5 .card .card-body .card__link {
  line-height: 28px;
  font-size: 22px;
}
.card-item-5 .card .list-group .list-group-item {
  padding-right: 30px;
  padding-left: 30px;
}

/*-=========== CARD AREA 6 ==========-*/
.card-item-6 .card {
  border: none;
}
.card-item-6 .card .card-image .card-img-top {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.card-item-6 .card .card-image .card-info {
  top: 0;
  left: 0;
}
.card-item-6 .card .card-image .card-info .card__date {
  -webkit-border-radius: 4px 0 30px 0;
  -moz-border-radius: 4px 0 30px 0;
  border-radius: 4px 0 30px 0;
}
.card-item-6 .card .card-body {
  border: 1px solid rgba(127, 136, 151, 0.2);
  margin-top: 30px;
  position: relative;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.card-item-6 .card .card-body .card-title {
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
}
.card-item-6 .card .card-body:after {
  top: -8px;
  content: "";
  position: absolute;
  background-color: #fff;
  left: 30px;
  width: 16px;
  height: 16px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 1px solid rgba(127, 136, 151, 0.2);
  border-left: 1px solid rgba(127, 136, 151, 0.2);
}

/*-=========== CARD AREA 7 ==========-*/
.card-item-7 .card {
  -webkit-border-radius: 30px 30px 4px 4px;
  -moz-border-radius: 30px 30px 4px 4px;
  border-radius: 30px 30px 4px 4px;
  padding-top: 4px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  -moz-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
}
.card-item-7 .card .card-image {
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  width: calc(100% - 10px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.card-item-7 .card .card-image .card-img-top {
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
.card-item-7 .card .card-body {
  padding: 35px 30px 35px 30px;
}
.card-item-7 .card .card-body .card-btn {
  color: #7f8897;
  text-transform: capitalize;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.card-item-7 .card .card-body .card-btn:hover {
  color: #42a5f5;
}
.card-item-7:hover .card-image .card__date {
  background-color: #42a5f5;
  color: #fff;
}

/*-============ card-item-8 =============-*/
.card-item-8 .card {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  border: none;
}
.card-item-8 .card .card-image .card-img {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.card-item-8 .card .card-img-overlay {
  top: auto;
  right: auto;
  padding: 35px 30px 0 100px;
  height: 115px;
  background-color: rgba(46, 61, 98, 0.9);
  overflow: hidden;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
  color: #fff;
}
@media (max-width: 481px) {
  .card-item-8 .card .card-img-overlay {
    height: 135px;
  }
}
@media (max-width: 480px) {
  .card-item-8 .card .card-img-overlay {
    height: 180px;
    text-align: center;
    padding: 30px 30px 0 30px;
  }
}
@media (max-width: 320px) {
  .card-item-8 .card .card-img-overlay {
    height: 110px;
  }
}
.card-item-8 .card .card-img-overlay .la {
  position: absolute;
  top: 35px;
  left: 30px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 24px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  color: #2e3d62;
}
@media (max-width: 480px) {
  .card-item-8 .card .card-img-overlay .la {
    position: relative;
    top: auto;
    left: auto;
    display: inline-block;
    margin-bottom: 30px;
  }
}
.card-item-8 .card .card-img-overlay .card-title {
  margin-bottom: 16px;
}
@media (max-width: 480px) {
  .card-item-8 .card .card-img-overlay .card-title {
    margin-bottom: 30px;
  }
}
.card-item-8 .card .card-img-overlay .card-title .card__link {
  color: #fff;
  font-weight: 600;
  font-size: 25px;
}
@media (max-width: 480px) {
  .card-item-8 .card .card-img-overlay .card-title .card__link {
    font-size: 20px;
  }
}
.card-item-8 .card .card-img-overlay .card-text {
  margin-bottom: 16px;
  line-height: 26px;
}
@media (max-width: 480px) {
  .card-item-8 .card .card-img-overlay .card-text {
    display: none;
  }
}
.card-item-8 .card .card-img-overlay .card-info-text {
  opacity: 0.7;
  margin-bottom: 30px;
}
@media (max-width: 480px) {
  .card-item-8 .card .card-img-overlay .card-info-text {
    display: none;
  }
}
.card-item-8 .card .card-img-overlay .theme-btn {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background-color: #fff;
  color: #2e3d62;
}
.card-item-8 .card .card-img-overlay .theme-btn:hover {
  background-color: #42a5f5;
  color: #fff;
}
.card-item-8 .card:hover .card-img-overlay {
  height: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

/*-============ card-item-9 =============-*/
.card-item-9 .card .card-image {
  position: relative;
}
.card-item-9 .card .card-image .card-img-top {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.card-item-9 .card .card-image .add-to-wishlist {
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #2e3d62;
  color: #fff;
  position: absolute;
  right: 20px;
  bottom: -20px;
  font-size: 24px;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.card-item-9 .card .card-image .add-to-wishlist:hover {
  background-color: #42a5f5;
}
.card-item-9 .card .card-body .card-rating {
  margin-bottom: 16px;
}
.card-item-9 .card .card-body .card-rating li {
  display: inline-block;
  color: #ffb02b;
}
.card-item-9 .card .card-body .card-rating li .count-rating {
  color: #7f8897;
}
.card-item-9 .card .card-body .card-action {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 30px;
}
.card-item-9 .card .card-body .card-action .card__price {
  color: #2e3d62;
  font-size: 28px;
  font-weight: 600;
}
.card-item-9 .card .card-body .card-action .theme-btn {
  background-color: transparent;
  border: 1px solid rgba(127, 136, 151, 0.2);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  color: rgba(127, 136, 151, 0.8);
  padding-right: 35px;
  padding-left: 15px;
  line-height: 45px;
}
.card-item-9 .card .card-body .card-action .theme-btn:hover {
  background-color: #42a5f5;
  color: #fff;
  border-color: #42a5f5;
}
.card-item-9 .card .card-body .card-action .theme-btn .la {
  font-size: 20px;
  right: 10px;
}

/*-============ card-item-10 =============-*/
.card-item-10 .card .card-image {
  position: relative;
}
.card-item-10 .card .card-image:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 30px;
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 12px solid #fff;
}
.card-item-10 .card .card-body {
  padding-top: 35px;
}
.card-item-10 .card .card-body .card-title {
  font-size: 24px;
  line-height: 30px;
}
.card-item-10 .card .card-body .card-subtitle {
  color: #7f8897;
  display: inline-block;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background-color: rgba(127, 136, 151, 0.1);
  font-size: 15px;
  padding: 6px 12px;
}
.card-item-10 .card .card-body .card-separator {
  width: 80px;
  height: 2px;
  background-color: #42a5f5;
  margin-bottom: 20px;
  margin-top: 20px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.card-item-10 .card .card-body .card-text {
  margin-bottom: 30px;
}
.card-item-10 .card .card-body .card-action {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.card-item-10 .card .card-body .card-action .dropdown .dropdown-toggle {
  color: #7f8897;
}
.card-item-10 .card .card-body .card-action .dropdown .dropdown-toggle:after {
  display: none;
}
.card-item-10 .card .card-body .card-action .dropdown .dropdown-toggle:hover {
  color: #2e3d62;
}
.card-item-10 .card .card-body .card-action .dropdown .dropdown-menu {
  min-width: auto;
  left: auto !important;
  right: -8px;
  border-color: rgba(127, 136, 151, 0.2);
  margin-top: 15px;
}
.card-item-10 .card .card-body .card-action .dropdown .dropdown-menu:after {
  position: absolute;
  content: "";
  right: 12px;
  width: 12px;
  height: 12px;
  background-color: #fff;
  border-top: 1px solid rgba(127, 136, 151, 0.2);
  border-left: 1px solid rgba(127, 136, 151, 0.2);
  top: -6px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.card-item-10 .card .card-body .theme-btn {
  line-height: 45px;
  padding-right: 40px;
  padding-left: 25px;
}
.card-item-10 .card .card-body .theme-btn .la {
  right: 15px;
}
.card-item-10 .card:hover .card-body .card-separator {
  width: 100px;
}

/*-=========== card-item-11 ======-*/
.card-item-11 .card .card-image {
  position: relative;
}
.card-item-11 .card .card-image .card-img-top {
  -webkit-clip-path: polygon(50% 0%, 100% 0, 100% 92%, 0 100%, 0 0);
  clip-path: polygon(50% 0%, 100% 0, 100% 92%, 0 100%, 0 0);
}
.card-item-11 .card .card-image .card-info {
  top: auto;
  bottom: 30px;
  left: 30px;
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
  transform: rotate(-3deg);
}
.card-item-11 .card .card-body .card-title {
  font-size: 20px;
  line-height: 26px;
  margin-bottom: 0;
}
.card-item-11 .card .card-body .card-bottom {
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.card-item-11 .card:hover .card-image .card-img-badge {
  background-color: #42a5f5;
  color: #fff;
}

.card-side-item .card {
  margin-bottom: 10px;
}
.card-side-item .button-shared {
  border: none;
}
.card-side-item .button-shared .card-body {
  padding: 0;
}
.card-side-item .button-shared .card-body .theme-btn {
  text-align: center;
  width: 100%;
  display: block;
  background-color: #fff;
  color: #2e3d62;
  border: 1px solid rgba(127, 136, 151, 0.2);
}
.card-side-item .button-shared .card-body .theme-btn:hover {
  background-color: #42a5f5;
  border-color: #42a5f5;
  color: #fff;
}

/*-===============================
    Blog AREA
===============================-*/
.blog-area .card-wrap {
  margin-top: 45px;
}
.blog-area .card-wrap .card-item .card .card-body .card-title {
  font-size: 20px;
  line-height: 28px;
}
.blog-area .card-wrap .card-item .card .card-body .card-separator {
  margin-top: 32px;
  margin-bottom: 35px;
  width: 50px;
}
.blog-area .card-wrap .card-item .card .card-body .card-action .theme-btn {
  padding-right: 45px;
  line-height: 40px;
}
.blog-area .card-wrap .card-item .card .card-body .card-action .theme-btn .la-caret-right {
  right: 20px;
}
.blog-area .card-wrap .card-item .card:hover .card-body .card-separator {
  width: 70px;
}

/*-===============================
    Blog AREA 2
===============================-*/
.blog-area-2 .card-wrap,
.blog-area-3 .card-wrap {
  margin-top: 45px;
}

/*-===============================
    SINGLE SERVICE AREA
===============================-*/
.single-service-area .card-wrap {
  margin-top: 0;
}
.single-service-area .card-wrap .card-item .card .card-body .card--title {
  font-size: 30px;
  line-height: 40px;
}
.single-service-area .card-wrap .card-item .card .card-body .blockquote-item {
  margin-top: 40px;
  margin-bottom: 40px;
}
.single-service-area .card-wrap .card-item .card .card-body .blockquote-item blockquote {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
}
.single-service-area .card-wrap .card-item .card .card-body .card-chart-box {
  margin: 40px -15px 40px -15px;
}
.single-service-area .card-wrap .card-item .card .card-body .card-chart-box .chart-box {
  margin-top: 0;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  padding: 0;
}
.single-service-area .card-wrap .card-item .card .card-body .card-chart-box .chart-box .chart-legend {
  padding-top: 10px;
}
.single-service-area .card-wrap .card-item .card .card-body .card-image-box {
  margin: 40px -15px 40px -15px;
}
.single-service-area .card-wrap .card-item .card .card-body .card-image-box img {
  width: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .single-service-area .card-wrap .card-item .card .card-body .card-image-box img {
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .single-service-area .card-wrap .card-item .card .card-body .card-image-box img {
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .single-service-area .card-wrap .card-item .card .card-body .card-image-box img {
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .single-service-area .card-wrap .card-item .card .card-body .card-image-box .list-items {
    margin-top: 25px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .single-service-area .card-wrap .card-item .card .card-body .card-image-box .list-items {
    margin-top: 25px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .single-service-area .card-wrap .card-item .card .card-body .card-image-box .list-items {
    margin-top: 25px;
  }
}
.single-service-area .card-wrap .card-item .card .card-body .card-image-box .list-items li {
  font-weight: 500;
  padding-left: 30px;
}
@media (max-width: 425px) {
  .single-service-area .card-wrap .card-item .card .card-body .card-image-box .list-items li {
    margin-bottom: 10px;
  }
}
.single-service-area .card-wrap .card-item .card .card-body .card-image-box .list-items li span {
  font-size: 20px;
  margin-right: 0;
  top: 0;
}
.single-service-area .card-wrap .card-item .card .card-body .card-image-box .list-items li + li {
  margin-top: 12px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .single-service-area .card-wrap .card-item .card .card-body .card-chart-box.d-flex,
.single-service-area .card-wrap .card-item .card .card-body .card-image-box.d-flex {
    display: block !important;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .single-service-area .card-wrap .card-item .card .card-body .card-chart-box.d-flex,
.single-service-area .card-wrap .card-item .card .card-body .card-image-box.d-flex {
    display: block !important;
  }
}
.single-service-area .card-wrap .card-item .card .card-body .card-form {
  padding-top: 45px;
  border-top: 1px solid rgba(127, 136, 151, 0.2);
}
.single-service-area .card-wrap .card-item .card .card-body .card-form .card-form-content {
  margin-bottom: 35px;
}

/*-===============================
    SINGLE BLOG AREA
===============================-*/
.single-blog-area {
  padding-bottom: 0;
}
.single-blog-area .card-wrap .card-item .card .card-body .card-inner-box img {
  width: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .single-blog-area .card-wrap .card-item .card .card-body .card-inner-box img {
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .single-blog-area .card-wrap .card-item .card .card-body .card-inner-box img {
    margin-bottom: 30px;
  }
}
.single-blog-area .card-wrap .card-item .card .card-body .card-inner-box .card-list {
  margin-top: 0;
  margin-bottom: 0;
}
.single-blog-area .card-wrap .card-item .card .card-body .card-inner-box .card-list li {
  margin-right: 0;
  margin-bottom: 10px;
}
.single-blog-area .card-wrap .card-item .card .card-body .card-form {
  margin-top: 30px;
}

.tag-items {
  padding-top: 45px;
  padding-bottom: 45px;
  border-top: 1px solid rgba(127, 136, 151, 0.2);
  border-bottom: 1px solid rgba(127, 136, 151, 0.2);
}
.tag-items .tag-inner {
  margin-right: -15px;
  margin-left: -15px;
}
.tag-items .tag-inner ul li {
  display: inline-block;
}
.tag-items .tag-inner ul li span {
  font-weight: 600;
  color: #2e3d62;
}
.tag-items .tag-inner ul li a {
  display: block;
  color: #2e3d62;
  position: relative;
}
@media (max-width: 1199px) {
  .tag-items .tag-inner ul.tag__list li {
    margin-bottom: 5px;
  }
}
.tag-items .tag-inner ul.tag__list li a {
  background-color: rgba(46, 61, 98, 0.1);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 15px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.tag-items .tag-inner ul.tag__list li a:after {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 3px;
  height: 20px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: rgba(46, 61, 98, 0.2);
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.tag-items .tag-inner ul.tag__list li a:hover {
  color: #fff;
  background-color: #2e3d62;
}
.tag-items .tag-inner ul.tag__list li a:hover:after {
  background-color: #fff;
}
.tag-items .tag-inner ul.social__list {
  text-align: right;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .tag-items .tag-inner ul.social__list {
    text-align: left;
    margin-top: 20px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .tag-items .tag-inner ul.social__list {
    text-align: left;
    margin-top: 20px;
  }
}
.tag-items .tag-inner ul.social__list li a {
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  background-color: rgba(46, 61, 98, 0.1);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.tag-items .tag-inner ul.social__list li a:hover {
  background-color: #42a5f5;
  color: #fff;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .tag-items .tag-inner.d-flex {
    display: block !important;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .tag-items .tag-inner.d-flex {
    display: block !important;
  }
}

/*========== blog-four-column ===========*/
.blog-four-column .card-wrap .card-item .card .card-body .card-text {
  margin-bottom: 20px;
}
.blog-four-column .card-wrap .card-item .card .card-body .card-action .theme-btn {
  background-color: transparent;
  color: #7f8897;
  padding-left: 0;
  padding-right: 20px;
  line-height: 28px;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.blog-four-column .card-wrap .card-item .card .card-body .card-action .theme-btn .la {
  right: 0;
}
.blog-four-column .card-wrap .card-item .card .card-body .card-action .theme-btn:hover {
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
  color: #42a5f5;
}

/*-===============================
    PRODUCT AREA
===============================-*/
.product-area .product-wrap {
  margin-top: 30px;
}

/*-======== product-nav-tabs =======-*/
.product-nav-tabs {
  margin-top: 30px;
  border-bottom: none;
  margin-bottom: 15px;
}
.product-nav-tabs .nav-item {
  margin-right: 8px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .product-nav-tabs .nav-item {
    margin-bottom: 8px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .product-nav-tabs .nav-item {
    margin-bottom: 8px;
  }
}
.product-nav-tabs .nav-item:last-child {
  margin-right: 0;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .product-nav-tabs .nav-item:last-child {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .product-nav-tabs .nav-item:last-child {
    margin-bottom: 0;
  }
}
.product-nav-tabs .nav-item .nav-link {
  color: #7f8897;
  font-weight: 500;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  border: 1px solid rgba(127, 136, 151, 0.1);
  position: relative;
}
.product-nav-tabs .nav-item .nav-link:after {
  position: absolute;
  content: "";
  bottom: 0;
  width: 0;
  height: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #42a5f5;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.product-nav-tabs .nav-item .nav-link.active {
  background-color: #42a5f5;
  color: #fff;
  border-color: #42a5f5;
}
.product-nav-tabs .nav-item .nav-link.active:after {
  bottom: -6px;
  opacity: 1;
  visibility: visible;
}

/*-======== product-item =======-*/
.product-item {
  margin-bottom: 30px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  border: 1px solid rgba(127, 136, 151, 0.1);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.product-item .product-img {
  position: relative;
}
.product-item .product-img .price-off {
  position: absolute;
  top: 15px;
  right: 15px;
  padding: 3px 12px;
  text-align: center;
  background-color: #2e3d62;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
.product-item .product-img .product__img {
  width: 100%;
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
}
.product-item .product-img .product-action {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.product-item .product-img .product-action ul li {
  display: inline-block;
  margin-right: 3px;
}
.product-item .product-img .product-action ul li:last-child {
  margin-right: 0;
}
.product-item .product-img .product-action ul li .theme-btn {
  line-height: 40px;
  font-size: 13px;
  font-weight: 600;
  padding-left: 15px;
  padding-right: 40px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
.product-item .product-img .product-action ul li .theme-btn .la {
  right: 14px;
  font-size: 18px;
}
.product-item .product-img .product-action ul li .cart-icon {
  color: #2e3d62;
  width: 35px;
  height: 35px;
  line-height: 35px;
  display: block;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  text-align: center;
  background-color: rgba(46, 61, 98, 0.1);
}
.product-item .product-img .product-action ul li .cart-icon:hover {
  background-color: #42a5f5;
  color: #fff;
}
.product-item .product-content {
  padding: 20px;
}
.product-item .product-content .pro__title {
  font-weight: 600;
  font-size: 20px;
}
.product-item .product-content .pro__title a {
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.product-item .product-content .pro__title a:hover {
  color: #42a5f5;
}
.product-item .product-content .content-block {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 18px;
}
.product-item .product-content .content-block .old__price {
  margin-left: 5px;
  text-decoration: line-through;
}
.product-item .product-content .content-block .pro__price {
  font-weight: 600;
  color: #2e3d62;
  font-size: 20px;
}
.product-item:hover .product-img .product-action {
  opacity: 1;
  visibility: visible;
  bottom: 20px;
}

/*-===============================
    PRODUCT GRID
===============================-*/
.product-grid .product-wrap {
  margin-top: 0;
}

.product-sort {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 30px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .product-sort {
    display: block;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .product-sort {
    display: block;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .product-sort .product-sort-ordering {
    margin-bottom: 10px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .product-sort .product-sort-ordering {
    margin-bottom: 10px;
  }
}
.product-sort .product-sort-ordering .select-option {
  width: 280px;
}
.product-sort .product-sort-ordering .select-option select {
  margin-bottom: 0;
}

/*-===============================
    PRODUCT SINGLE
===============================-*/
.product-single .pro-tab-content .pro-tab-img img {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  width: 100%;
}
.product-single .pro-tab-content .nav-tabs {
  border: none;
  margin-top: 30px;
}
.product-single .pro-tab-content .nav-tabs .nav-item {
  border: none;
  padding: 0;
  margin: 5px 5px 0 5px;
}
.product-single .pro-tab-content .nav-tabs .nav-item img {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  width: 130px;
  height: 130px;
  border: 8px solid transparent;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0);
  opacity: 0.3;
}
@media (max-width: 1199px) {
  .product-single .pro-tab-content .nav-tabs .nav-item img {
    width: 100px;
    height: 100px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .product-single .pro-tab-content .nav-tabs .nav-item img {
    width: 130px;
    height: 130px;
  }
}
@media (max-width: 320px) {
  .product-single .pro-tab-content .nav-tabs .nav-item img {
    width: 80px;
    height: 80px;
  }
}
.product-single .pro-tab-content .nav-tabs .nav-item.active {
  border: none;
}
.product-single .pro-tab-content .nav-tabs .nav-item.active img {
  border-color: #fff;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  opacity: 1;
}
.product-single .product-description-wrapper {
  padding-left: 15px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .product-single .product-description-wrapper {
    margin-top: 50px;
    padding-left: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .product-single .product-description-wrapper {
    margin-top: 50px;
    padding-left: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .product-single .product-description-wrapper {
    margin-top: 50px;
    padding-left: 0;
  }
}
.product-single .product-description-wrapper .pro-detail-cat-box {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 2px;
}
.product-single .product-description-wrapper .pro-detail-cat-box .pro-detail-cat a {
  font-size: 14px;
  color: #2e3d62;
  font-weight: 500;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.product-single .product-description-wrapper .pro-detail-cat-box .pro-detail-cat a:hover {
  color: #42a5f5;
}
.product-single .product-description-wrapper .pro-detail-cat-box .pro-detail-sku .prodetail__sku {
  font-size: 14px;
  color: #7f8897;
  font-weight: 500;
}
.product-single .product-description-wrapper .pro-detail-title-box {
  margin-bottom: 10px;
}
.product-single .product-description-wrapper .pro-detail-title-box .description__title {
  font-size: 30px;
  font-weight: 600;
}
@media (max-width: 320px) {
  .product-single .product-description-wrapper .pro-detail-title-box .description__title {
    font-size: 28px;
  }
}
.product-single .product-description-wrapper .pro-detail-rating {
  display: flex;
  font-size: 14px;
  margin-bottom: 18px;
}
.product-single .product-description-wrapper .pro-detail-rating .prodetail__rating {
  display: flex;
  margin-right: 10px;
}
.product-single .product-description-wrapper .pro-detail-rating .prodetail__rating li {
  color: #ffb02b;
}
.product-single .product-description-wrapper .pro-detail-rating .prorating__links {
  color: #7f8897;
  font-weight: 500;
}
.product-single .product-description-wrapper .pro-detail-rating .prorating__links a {
  color: #7f8897;
  text-transform: capitalize;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.product-single .product-description-wrapper .pro-detail-rating .prorating__links a:hover {
  color: #42a5f5;
}
.product-single .product-description-wrapper .pro-detail-rating .prorating__links span {
  margin-left: 3px;
  margin-right: 3px;
}
.product-single .product-description-wrapper .pro-detail-prize {
  margin-bottom: 22px;
}
.product-single .product-description-wrapper .pro-detail-prize .prodetail__price {
  font-size: 30px;
  font-weight: 600;
  color: #2e3d62;
}
.product-single .product-description-wrapper .pro-detail-prize .prodetail__price.old__price {
  opacity: 0.6;
  color: #7f8897;
  font-size: 22px;
  text-decoration: line-through;
}
.product-single .product-description-wrapper .pro-detail-desc {
  margin-bottom: 23px;
}
.product-single .product-description-wrapper .pro-detail-desc .prodetail__desc {
  line-height: 28px;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__title {
  margin-bottom: 21px;
}
.product-single .product-description-wrapper .pro-detail-options .option__meta {
  color: #2e3d62;
  font-weight: 600;
  display: inline-block;
}
.product-single .product-description-wrapper .pro-detail-options .option__meta span {
  color: #7f8897;
  opacity: 0.7;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__color {
  margin-bottom: 21px;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__color .pro__color-option {
  margin-left: 10px;
  display: inline-block;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__color .pro__color-option li {
  display: inline-block;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__color .pro__color-option li a {
  background-color: #eee;
  display: block;
  height: 20px;
  text-indent: -999999px;
  width: 20px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__color .pro__color-option li.red a {
  background-color: #2e3d62;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__color .pro__color-option li.green a {
  background-color: #42a5f5;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__color .pro__color-option li.black a {
  background-color: #1e88e5;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__color .pro__color-option li.blue a {
  background-color: #7f8897;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__color .pro__color-option li + li {
  margin-left: 6px;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__sizes {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 21px;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__sizes .select-size-option {
  width: 80px;
  margin-left: 12px;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__sizes .select-size-option .select-option select {
  margin-bottom: 0;
  padding: 8px 20px 8px 20px;
  font-size: 18px;
  font-weight: 600;
}
.product-single .product-description-wrapper .pro-detail-options .prooption__sizes .select-size-option .select-option:after {
  top: 8px;
}
.product-single .product-description-wrapper .pro-detail-options .pro-detail-share {
  margin-top: 21px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}
.product-single .product-description-wrapper .pro-detail-options .pro-detail-share ul {
  margin-left: 15px;
}
.product-single .product-description-wrapper .pro-detail-options .pro-detail-share ul li {
  display: inline-block;
}
.product-single .product-description-wrapper .pro-detail-options .pro-detail-share ul li a {
  display: block;
  color: #2e3d62;
  background-color: rgba(46, 61, 98, 0.1);
  width: 35px;
  height: 35px;
  line-height: 35px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  text-align: center;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.product-single .product-description-wrapper .pro-detail-options .pro-detail-share ul li a:hover {
  background-color: #42a5f5;
  color: #fff;
}
.product-single .product-description-wrapper .pro-detail-options .quantity .add-to-cart-btn {
  margin-left: 15px;
}
@media (max-width: 425px) {
  .product-single .product-description-wrapper .pro-detail-options .quantity .add-to-cart-btn {
    margin-top: 15px;
  }
}
@media (max-width: 375px) {
  .product-single .product-description-wrapper .pro-detail-options .quantity .add-to-cart-btn {
    margin-left: 0;
  }
}
.product-single .pro-description-wrap {
  margin-top: 110px;
}
.product-single .pro-description-wrap .nav-tabs {
  border-bottom: none;
  margin-bottom: 30px;
}
.product-single .pro-description-wrap .nav-tabs li {
  margin-bottom: 5px;
}
.product-single .pro-description-wrap .nav-tabs li a {
  border: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  color: #2e3d62;
  font-weight: 600;
  padding: 10px 20px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
}
.product-single .pro-description-wrap .nav-tabs li a:after {
  position: absolute;
  content: "";
  bottom: 0;
  width: 0;
  height: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #42a5f5;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.product-single .pro-description-wrap .nav-tabs li a.active, .product-single .pro-description-wrap .nav-tabs li a:hover {
  background-color: #42a5f5;
  color: #fff;
}
.product-single .pro-description-wrap .nav-tabs li a.active:after, .product-single .pro-description-wrap .nav-tabs li a:hover:after {
  bottom: -10px;
  opacity: 1;
  visibility: visible;
}
.product-single .pro-description-wrap .tab-content {
  background-color: #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  border: 1px solid rgba(127, 136, 151, 0.2);
  padding: 31px 30px 31px 30px;
}
.product-single .pro-description-wrap .tab-content .desc-tab__title {
  font-weight: 600;
}
.product-single .pro-description-wrap .tab-content .section-divider {
  margin-top: 20px;
  margin-bottom: 30px;
  width: 50px;
}
.product-single .pro-description-wrap .tab-content .section-divider:after {
  right: 12px;
}
.product-single .pro-description-wrap .tab-content .desc-tab__text {
  line-height: 28px;
}
.product-single .pro-description-wrap .tab-content .information-section .information-sec-inner .information__title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 10px;
}
.product-single .pro-description-wrap .tab-content .information-section .information-sec-inner .information-row {
  display: flex;
  border-bottom: 1px solid #eee;
  border-left: 1px solid #eee;
  border-right: 1px solid #eee;
  color: #2e3d62;
  font-weight: 500;
}
.product-single .pro-description-wrap .tab-content .information-section .information-sec-inner .information-row .information__name {
  width: 230px;
  flex-shrink: 0;
  border-right: 1px solid #eee;
  padding: 10px 15px;
}
@media (max-width: 375px) {
  .product-single .pro-description-wrap .tab-content .information-section .information-sec-inner .information-row .information__name {
    width: 120px;
  }
}
@media (max-width: 400px) {
  .product-single .pro-description-wrap .tab-content .information-section .information-sec-inner .information-row .information__name {
    width: 100px;
  }
}
.product-single .pro-description-wrap .tab-content .information-section .information-sec-inner .information-row .information__value {
  padding: 10px 15px;
  color: #7f8897;
}
.product-single .pro-description-wrap .tab-content .information-section .information-sec-inner .information-row:first-of-type {
  border-top: 1px solid #eee;
}
.product-single .pro-description-wrap .tab-content .information-section .information-sec-inner + .information-sec-inner {
  margin-top: 40px;
}
.product-single .pro-description-wrap .tab-content .comments-wrapper .comments-title {
  font-size: 25px;
}
.product-single .pro-description-wrap .tab-content .comments-wrapper .comments-list li .comment .comment-body .meta-data .comment__author {
  margin-bottom: 5px;
}

/*====================================================
    cart-area
 ====================================================*/
.cart-area .cart-body-wrapper .table thead > tr > td,
.cart-area .cart-body-wrapper .table thead > tr > th {
  border-bottom-width: 1px;
}
.cart-area .cart-body-wrapper .table img {
  width: 100px;
}
.cart-area .cart-body-wrapper .table tr td {
  padding: 15px 20px;
  vertical-align: middle;
  line-height: inherit;
  position: relative;
}
.cart-area .cart-body-wrapper .table tr td.cart__title {
  font-size: 1rem;
  text-transform: capitalize;
  color: #2e3d62;
  font-weight: 600;
}
.cart-area .cart-body-wrapper .table tr td .cartproduct__desc img {
  margin-right: 20px;
  border: 1px solid #eee;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
}
.cart-area .cart-body-wrapper .table tr td .cartproduct__desc a {
  font-size: 1rem;
  color: #2e3d62;
  font-weight: 700;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  display: inline-block;
  margin-bottom: 7px;
}
.cart-area .cart-body-wrapper .table tr td .cartproduct__desc a:hover {
  color: #42a5f5;
}
.cart-area .cart-body-wrapper .table tr td .cartproduct__desc p {
  font-size: 15px;
  color: #7f8897;
  font-weight: 500;
  width: calc(100% - 80px);
}
.cart-area .cart-body-wrapper .table tr td .pro-price {
  color: #2e3d62;
  font-weight: 600;
}
.cart-area .cart-body-wrapper .table tr td .input-number-group .input-number-decrement {
  margin-left: 0;
}
.cart-area .cart-body-wrapper .table tr td .button-remove {
  background-color: transparent;
  border: 1px solid #eee;
  width: 35px;
  height: 35px;
  text-align: center;
  line-height: 0;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  color: #7f8897;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.cart-area .cart-body-wrapper .table tr td .button-remove .fa-close {
  margin-top: -1px;
}
.cart-area .cart-body-wrapper .table tr td .button-remove:hover {
  background-color: #42a5f5;
  color: #fff;
  border-color: #42a5f5;
}
.cart-area .cart-detail-wrap {
  margin-top: 20px;
}
.cart-area .cart-detail-wrap .cart-detail-item {
  background-color: #F7F9FB;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 30px 30px 33px 30px;
  margin-bottom: 30px;
}
.cart-area .cart-detail-wrap .cart-detail-item .cartdetail__title {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 21px;
}
.cart-area .cart-detail-wrap .cart-detail-item .cartdetail__content .cart__detail-desc {
  line-height: 28px;
  margin-bottom: 26px;
}
.cart-area .cart-detail-wrap .cart-detail-item .cartdetail__content .cart-table {
  margin-top: -5px;
}
.cart-area .cart-detail-wrap .cart-detail-item .cartdetail__content .cart-table tr th {
  border-bottom: none;
  color: #2e3d62;
  line-height: inherit;
  padding: 8px 0;
  font-weight: 600;
}
.cart-area .cart-detail-wrap .cart-detail-item .cartdetail__content .cart-table tr td {
  color: #7f8897;
  font-weight: 500;
  text-align: right;
}

/*====================================================
    checkout-area
 ====================================================*/
.checkout-header .checkout__title {
  font-size: 25px;
  font-weight: 600;
  margin-bottom: 25px;
}

.billing-content {
  background-color: #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  border: 1px solid rgba(127, 136, 151, 0.2);
  padding: 30px 30px;
  position: relative;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .billing-content {
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .billing-content {
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .billing-content {
    margin-bottom: 30px;
  }
}
.billing-content .card-content .checkout-table {
  font-size: 15px;
}
.billing-content .card-content .checkout-table .checktable__head > tr > th {
  border-bottom: none;
  padding-top: 0;
}
.billing-content .card-content .checkout-table .checktable__head > tr:last-child {
  padding-bottom: 10px;
}
.billing-content .card-content .checkout-table .checktable__head > tr > th:first-child,
.billing-content .card-content .checkout-table .checktable__body > tr > th:first-child,
.billing-content .card-content .checkout-table .checktable__foot > tr:first-child th,
.billing-content .card-content .checkout-table .checktable__body > tr > td:first-child {
  padding-left: 0;
}
.billing-content .card-content .checkout-table .checktable__head > tr > th:last-child,
.billing-content .card-content .checkout-table .checktable__body > tr > td:last-child,
.billing-content .card-content .checkout-table .checktable__foot > tr:last-child td {
  text-align: right;
  padding-right: 0;
}
.billing-content .card-content .checkout-table .checktable__products tr:first-child > * {
  border-top: 1px solid #eee;
}
.billing-content .card-content .checkout-table .checktable__products tr:last-child > *,
.billing-content .card-content .checkout-table .checktable__subtotals tr:last-child > * {
  padding-bottom: 15px;
}
.billing-content .card-content .checkout-table .checktable__subtotals tr:first-child > *,
.billing-content .card-content .checkout-table .checktable__products tr:first-child > * {
  padding-top: 15px;
}
.billing-content .card-content .checkout-table .checktable__body tr td,
.billing-content .card-content .checkout-table .checktable__body tr th {
  padding: 2px 0;
}
.billing-content .card-content .checkout-table .checktable__foot tr th,
.billing-content .card-content .checkout-table .checktable__foot tr td {
  font-size: 22px;
  padding: 15px 0 0 0;
}
.billing-content .card-content .checkout-table tbody + tbody {
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.billing-content .card-content .checkout-table tr th {
  color: #2e3d62;
  font-weight: 600;
  line-height: inherit;
  border: none;
  padding: 5px 0;
}
.billing-content .card-content .checkout-table tr td {
  color: #7f8897;
  font-weight: 600;
  border: none;
  line-height: inherit;
}
.billing-content:after {
  top: -7px;
  content: "";
  position: absolute;
  background-color: #fff;
  left: 30px;
  width: 14px;
  height: 14px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-box-shadow: -2px -2px 10px -5px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: -2px -2px 10px -5px rgba(0, 0, 0, 0.2);
  box-shadow: -2px -2px 10px -5px rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(127, 136, 151, 0.2);
  border-right: 0;
  border-bottom: 0;
}

.payment-method-area {
  border-top: 1px solid #eee;
  padding-top: 30px;
}

.payment-method-wrap {
  padding-top: 25px;
}
.payment-method-wrap .payment-radio {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 1rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-weight: 500;
  color: #7f8897;
}
.payment-method-wrap .payment-radio input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.payment-method-wrap .payment-radio input:checked ~ .checkmark {
  border-color: #42a5f5;
}
.payment-method-wrap .payment-radio input:checked ~ .checkmark:after {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}
.payment-method-wrap .payment-radio .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  margin: 3px 0 0 0;
  border: 2px solid #eee;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.payment-method-wrap .payment-radio .checkmark:after {
  top: 2px;
  left: 2px;
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  background-color: #42a5f5;
  opacity: 0;
  -webkit-transform: scale(0.1);
  -moz-transform: scale(0.1);
  -ms-transform: scale(0.1);
  -o-transform: scale(0.1);
  transform: scale(0.1);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.payment-method-wrap .payment-radio:hover input ~ .checkmark:after {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}
.payment-method-wrap .payment-radio:hover input ~ .checkmark {
  border-color: #42a5f5;
}
.payment-method-wrap .theme-button {
  border: none;
  margin-top: 25px;
  margin-bottom: 5px;
  padding: 12px 25px;
}

/*-===============================
    DISCOUNT AREA
===============================-*/
.discount-area .discount-wrap .discount-item {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  position: relative;
}
.discount-area .discount-wrap .discount-item img {
  width: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.discount-area .discount-wrap .discount-item .discount-img-content {
  padding-top: 40px;
  padding-right: 60px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: end;
  justify-content: flex-end;
  z-index: 1;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .discount-area .discount-wrap .discount-item .discount-img-content {
    padding-top: 20px;
    padding-right: 30px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .discount-area .discount-wrap .discount-item .discount-img-content {
    padding-top: 20px;
    padding-right: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .discount-area .discount-wrap .discount-item .discount-img-content {
    padding-top: 20px;
    padding-right: 0;
  }
}
@media (max-width: 320px) {
  .discount-area .discount-wrap .discount-item .discount-img-content {
    padding-top: 10px;
  }
}
.discount-area .discount-wrap .discount-item .discount-img-content .onsale {
  padding-top: 40px;
  width: 120px;
  height: 120px;
  background-color: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  color: #2e3d62;
  text-align: center;
  font-weight: 600;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .onsale {
    padding-top: 35px;
    width: 110px;
    height: 110px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .onsale {
    padding-top: 35px;
    width: 110px;
    height: 110px;
  }
}
@media (max-width: 375px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .onsale {
    font-size: 1rem;
    width: 100px;
    height: 100px;
    padding-top: 30px;
  }
}
.discount-area .discount-wrap .discount-item .discount-img-content .onsale .onsale__text {
  font-size: 20px;
  display: block;
  margin-bottom: 5px;
}
.discount-area .discount-wrap .discount-item .discount-img-content .onsale .onsale__price {
  opacity: 0.7;
}
.discount-area .discount-wrap .discount-item .discount-img-content .discount-info {
  flex-basis: 50%;
  margin-left: 40px;
}
@media (max-width: 375px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .discount-info {
    flex-basis: 55%;
    margin-left: 30px;
  }
}
.discount-area .discount-wrap .discount-item .discount-img-content .discount-info .discount__title {
  color: #fff;
  font-weight: 700;
  margin-bottom: 15px;
  font-size: 45px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .discount-info .discount__title {
    font-size: 30px;
    margin-bottom: 10px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .discount-info .discount__title {
    font-size: 30px;
    margin-bottom: 10px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .discount-info .discount__title {
    font-size: 24px;
    margin-bottom: 10px;
  }
}
@media (max-width: 320px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .discount-info .discount__title {
    font-size: 18px;
  }
}
.discount-area .discount-wrap .discount-item .discount-img-content .discount-info .discount__text {
  color: #fff;
  line-height: 28px;
  font-weight: 500;
  margin-bottom: 25px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .discount-info .discount__text {
    font-size: 14px;
    margin-bottom: 15px;
    line-height: 24px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .discount-info .discount__text {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .discount-info .discount__text {
    display: none;
  }
}
.discount-area .discount-wrap .discount-item .discount-img-content .discount-info .theme-btn {
  background-color: #fff;
  color: #2e3d62;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .discount-info .theme-btn {
    line-height: 40px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .discount-info .theme-btn {
    line-height: 40px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .discount-area .discount-wrap .discount-item .discount-img-content .discount-info .theme-btn {
    line-height: 40px;
  }
}
.discount-area .discount-wrap .discount-item .discount-img-content .discount-info .theme-btn:hover {
  background-color: #42a5f5;
  color: #fff;
}
.discount-area .discount-wrap .discount-item:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2e3d62;
  opacity: 0.4;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.discount-area .owl-nav div {
  position: absolute;
  bottom: 30px;
  right: 30px;
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid rgba(127, 136, 151, 0.1);
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  font-size: 22px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 480px) {
  .discount-area .owl-nav div {
    width: 35px;
    height: 35px;
    line-height: 35px;
    bottom: 10px;
  }
}
@media (max-width: 375px) {
  .discount-area .owl-nav div {
    bottom: -15px;
  }
}
.discount-area .owl-nav div:hover {
  background-color: #42a5f5;
  color: #fff;
}
.discount-area .owl-nav div.owl-prev {
  right: 85px;
}
@media (max-width: 480px) {
  .discount-area .owl-nav div.owl-prev {
    right: 70px;
  }
}

/*-===============================
    BLOG AREA 5
===============================-*/
.blog-area5 .card-wrap .card-item .card .card-body .card-action .theme-btn {
  padding-left: 18px;
  padding-right: 35px;
}
.blog-area5 .card-wrap .card-item .card .card-body .card-action .theme-btn .la {
  right: 10px;
}

/*-===============================
    INFO BOX AREA
===============================-*/
.info-box-area .info-box-wrap {
  margin-top: 30px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .info-box-area .info-box-wrap .col-sm-6 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.info-box-wrap {
  display: grid;
  grid-auto-flow: column;
  grid-gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-flow: unset;
}
.info-box-wrap .info-box-item-4 {
  height: 100%;
}

/*==== info-box-item ===*/
.info-box-item {
  background-color: #fff;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 50px 40px 47px 40px;
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
}
.info-box-item .info-dot {
  position: absolute;
  width: 10px;
  height: 10px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #42a5f5;
  opacity: 0.1;
}
.info-box-item .info-dot:nth-child(1) {
  top: 25px;
  left: 10%;
}
.info-box-item .info-dot:nth-child(2) {
  top: 60px;
  left: 50%;
}
.info-box-item .info-dot:nth-child(3) {
  top: 35px;
  right: 15%;
}
.info-box-item .info-dot:nth-child(4) {
  top: 110px;
  left: 35%;
}
.info-box-item .info-dot:nth-child(5) {
  bottom: 10%;
  left: 40%;
}
.info-box-item .info-dot:nth-child(6) {
  bottom: 20%;
  right: 20%;
}
.info-box-item .info-header .info__svg {
  fill: #42a5f5;
  width: 60px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.info-box-item .info-body {
  margin-top: 30px;
}
.info-box-item .info-body .info__title {
  font-weight: 600;
  font-size: 22px;
  line-height: 28px;
  margin-bottom: 18px;
}
.info-box-item .info-body .info__title a {
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.info-box-item .info-body .info__text {
  margin-bottom: 20px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.info-box-item .info-body .info__btn {
  color: #2e3d62;
  font-size: 18px;
  font-weight: 500;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.info-box-item .info-body .info__btn .la {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.info-box-item .info-body .info__btn:hover .la {
  margin-left: 8px;
}
.info-box-item .info-body .bullet-item {
  margin-bottom: 0;
}
.info-box-item:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: #42a5f5;
  z-index: -1;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.info-box-item:hover .info-dot {
  background-color: #fff;
}
.info-box-item:hover .info-header .info__svg {
  fill: #fff;
}
.info-box-item:hover .info-body {
  color: #fff;
}
.info-box-item:hover .info-body .info__title a,
.info-box-item:hover .info-body .info__text,
.info-box-item:hover .info-body .info__btn {
  color: #fff;
}
.info-box-item:hover .info-body .bullet-item-2 ul li:after {
  background-color: #fff;
}
.info-box-item:hover:after {
  height: 100%;
  top: 0;
  bottom: auto;
}

.info-box-area2 .info-box-wrap {
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .info-box-area2 .info-box-wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .info-box-area2 .info-box-wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .info-box-area2 .info-box-wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}

/*-===============================
    INFO BOX AREA 3
===============================-*/
.info-box-item-3 {
  background-color: #fff;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  padding: 30px;
}
.info-box-item-3 .info-header {
  width: 80px;
  height: 80px;
  line-height: 80px;
  background: rgba(66, 165, 245, 0.1);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  margin-left: auto;
  margin-right: 0.75rem;
  text-align: center;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.info-box-item-3 .info-header .info__svg {
  width: 40px;
  fill: #42a5f5;
}
.info-box-item-3 .info-body .info__text {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .info-box-item-3 .info-body {
    flex-direction: column;
  }
  .info-box-item-3 .info-body .card-icon {
    align-self: center;
    padding-bottom: 2rem;
  }
}
.info-box-item-3:after {
  display: none;
}
.info-box-item-3:before {
  position: absolute;
  content: "";
  top: 20px;
  left: 0;
  width: 4px;
  height: 100px;
  background-color: #42a5f5;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
  opacity: 0.2;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.info-box-item-3:hover .info-header1 {
  background-color: #42a5f5;
}
.info-box-item-3:hover .info-header2 {
  background-color: #4BE6B8;
}
.info-box-item-3:hover .info-header3 {
  background-color: #F78C01;
}
.info-box-item-3:hover .info-header4 {
  background-color: #C500EE;
}
.info-box-item-3:hover .info-header5 {
  background-color: #F8C652;
}
.info-box-item-3:hover .info-header6 {
  background-color: #F55974;
}
.info-box-item-3:hover .info-header7 {
  background-color: #579657;
}
.info-box-item-3:hover .info-header8 {
  background-color: #3897F0;
}
.info-box-item-3:hover .info-body {
  color: #7f8897;
}
.info-box-item-3:hover .info-body .info__text {
  color: #7f8897;
}
.info-box-item-3:hover .info-body .bullet-item-2 ul li:after {
  background-color: #42a5f5;
}
.info-box-item-3:hover:before {
  opacity: 1;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.info-box-style-2:before {
  background-color: #4BE6B8;
}

.info-box-style-3:before {
  background-color: #F78C01;
}

.info-box-style-4:before {
  background-color: #C500EE;
}

.info-box-style-5:before {
  background-color: #F8C652;
}

.info-box-style-6:before {
  background-color: #F55974;
}

.info-box-style-7:before {
  background-color: #579657;
}

.info-box-style-8:before {
  background-color: #3897F0;
}

/*-===============================
    INFO BOX AREA 4
===============================-*/
.info-box-item-4 {
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0);
  border: 1px solid #2e3d62;
}
.info-box-item-4 .info-header {
  position: relative;
}
.info-box-item-4 .info-header .info-icon {
  background-color: rgba(23, 162, 184, 0.1);
  border-radius: 50%;
  display: inline-block;
  padding: 1rem;
}
.info-box-item-4 .info-header .infobg__svg {
  position: absolute;
  top: -20px;
  left: -70px;
  z-index: -1;
  fill: rgba(23, 162, 184, 0.1);
}
.info-box-item-4 .info-header .info__svg {
  width: 40px;
  fill: #579657;
}
.info-box-item-4 .info-header .info__title a {
  color: #2e3d62;
}
.info-box-item-4 .info-body .info__text {
  margin-bottom: 0;
}
.info-box-item-4:after {
  display: none;
}
.info-box-item-4:before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: #579657;
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.info-box-item-4:hover, .info-box-item-4:focus {
  -webkit-box-shadow: 0 0 10px rgba(82, 85, 90, 0.2);
  -moz-box-shadow: 0 0 10px rgba(82, 85, 90, 0.2);
  box-shadow: 0 0 10px rgba(82, 85, 90, 0.2);
}
.info-box-item-4:hover:before, .info-box-item-4:focus:before {
  height: 4px;
}
.info-box-item-4:hover .info-header .info__svg, .info-box-item-4:focus .info-header .info__svg {
  fill: #579657;
}
.info-box-item-4:hover .info-header .info__title a, .info-box-item-4:focus .info-header .info__title a {
  color: #579657;
}
.info-box-item-4:hover .info-body .info__title a, .info-box-item-4:focus .info-body .info__title a {
  color: #579657;
}
.info-box-item-4:hover .info-body .info__text, .info-box-item-4:focus .info-body .info__text {
  color: #7f8897;
}

/*-===============================
    INFO BOX AREA 5
===============================-*/
.info-box-area5 .info-box-wrap {
  margin-top: 60px;
}

.info-box-item-5 {
  margin-bottom: 60px;
}
.info-box-item-5 .info-dot {
  background-color: transparent;
  border: 2px solid #2e3d62;
}
.info-box-item-5 .info-dot:nth-child(1) {
  width: 20px;
  height: 20px;
}
.info-box-item-5 .info-dot:nth-child(2) {
  top: 195px;
  left: 40%;
}
.info-box-item-5 .info-dot:nth-child(3) {
  top: 40px;
}
.info-box-item-5 .info-header {
  width: 130px;
  height: 70px;
  line-height: 70px;
  background: #fff;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  margin-left: auto;
  margin-right: auto;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  margin-top: -85px;
}
.info-box-item-5 .info-header .info__icon {
  font-size: 40px;
  color: #2e3d62;
  width: 100%;
  height: 100%;
  line-height: 70px;
}
.info-box-item-5 .info-body .info__text {
  margin-bottom: 0;
}
.info-box-item-5:after {
  display: none;
}
.info-box-item-5:hover .info-dot {
  background-color: #2e3d62;
}
.info-box-item-5:hover .info-header {
  background-color: #2e3d62;
}
.info-box-item-5:hover .info-header .info__icon {
  color: #fff;
}
.info-box-item-5:hover .info-body .info__text {
  color: #7f8897;
}

/*-===============================
    INFO BOX AREA 6
===============================-*/
.info-box-item-6 {
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background-color: transparent;
  padding: 0;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}
.info-box-item-6 .info-header {
  -ms-flex: 0 0 55px;
  flex: 0 0 55px;
  max-width: 55px;
  max-height: 55px;
  line-height: 55px;
  position: relative;
  text-align: center;
  z-index: 1;
}
.info-box-item-6 .info-header .info__icon {
  font-size: 30px;
  color: #2e3d62;
  width: 100%;
  height: 100%;
  line-height: 55px;
}
.info-box-item-6 .info-header:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(46, 61, 98, 0.1);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: -1;
}
.info-box-item-6 .info-body {
  margin-top: 0;
  margin-left: 30px;
}
.info-box-item-6 .info-body .info__text {
  margin-bottom: 0;
}
.info-box-item-6:after {
  display: none;
}
.info-box-item-6:hover .info-header .info__icon {
  color: #fff;
}
.info-box-item-6:hover .info-header:after {
  background-color: #2e3d62;
}
.info-box-item-6:hover .info-body .info__text {
  color: #7f8897;
}

/*=========== info-box--item-6 ==========*/
.info-box--item-6 .info-header {
  -ms-flex: 0 0 50px;
  flex: 0 0 50px;
  max-width: 50px;
  max-height: 50px;
  line-height: 50px;
}
.info-box--item-6 .info-header .info__icon {
  line-height: 50px;
}
.info-box--item-6 .info-header:after {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -ms-transform: rotate(0);
  -o-transform: rotate(0);
  transform: rotate(0);
}
.info-box--item-6 .info-body {
  margin-left: 15px;
}
.info-box--item-6 .info-body .info__title {
  font-size: 18px;
  margin-bottom: 10px;
}
.info-box--item-6:hover .info-header:after {
  background-color: #b99566;
}

/*-===============================
    INFO BOX AREA 7
===============================-*/
.info-box-area7 .info-box-wrap {
  margin-top: 80px;
}

.info-box-item-7 {
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  background-color: transparent;
  border: 1px solid rgba(127, 136, 151, 0.2);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  margin-bottom: 80px;
  text-align: center;
}
.info-box-item-7 .info-header {
  max-width: 75px;
  max-height: 75px;
  line-height: 75px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  margin-top: -88px;
}
.info-box-item-7 .info-header .info__icon {
  font-size: 40px;
  color: #2e3d62;
  width: 100%;
  height: 100%;
  line-height: 75px;
}
.info-box-item-7 .info-header .info__svg {
  width: 40px;
  fill: #579657;
}
.info-box-item-7 .info-header:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(127, 136, 151, 0.2);
  background-color: #fff;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  z-index: -1;
}
.info-box-item-7 .info-body {
  margin-top: 44px;
}
.info-box-item-7:after {
  display: none;
}
.info-box-item-7:hover .info-header .info__icon {
  color: #fff;
}
.info-box-item-7:hover .info-header:after {
  background-color: #42a5f5;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.info-box-item-7:hover .info-body .info__text {
  color: #7f8897;
}
.info-box-item-7:hover .info-body .info__btn {
  color: #42a5f5;
}

/*-========== info-box-item-8 ==========-*/
.info-box-item-8 {
  -webkit-border-radius: 0px 30px 0 30px;
  -moz-border-radius: 0px 30px 0 30px;
  border-radius: 0px 30px 0 30px;
}
.info-box-item-8 .icon-item {
  margin: 0;
  -webkit-border-radius: 0px 20px 0 20px;
  -moz-border-radius: 0px 20px 0 20px;
  border-radius: 0px 20px 0 20px;
  background-color: #42a5f5;
  color: #fff;
}
.info-box-item-8 .info-body .info__text {
  margin-bottom: 30px;
}
.info-box-item-8:after {
  display: none;
}
.info-box-item-8:hover .info-body .info__text {
  color: #7f8897;
}

/*-========== info-box-item-9 ==========-*/
.info-box-item-9 .icon-item {
  margin: 0;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #579657;
  color: #fff;
  width: 95px;
  height: 95px;
  line-height: 97px;
}
.info-box-item-9 .icon-item .info__numb {
  position: absolute;
  top: -3px;
  right: -3px;
  background-color: #579657;
  width: 37px;
  height: 37px;
  line-height: 35px;
  -webkit-border-radius: 55px 0 55px 55px;
  -moz-border-radius: 55px 0 55px 55px;
  border-radius: 55px 0 55px 55px;
  font-size: 18px;
  font-weight: 500;
  padding-left: 3px;
  border: 2px solid #fff;
}
.info-box-item-9:after {
  display: none;
}
.info-box-item-9 .info-body .info__text {
  margin-bottom: 0;
}
.info-box-item-9:hover .info-body .info__text {
  color: #7f8897;
}

/*-========== info-box-item-10 ==========-*/
.info-box-item-10 {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  padding: 20px 30px 41px 30px;
}
.info-box-item-10 .icon-item {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background-color: transparent;
  color: #42a5f5;
  margin: 0;
  padding-left: 10px;
}
.info-box-item-10 .icon-item:after {
  position: absolute;
  content: "";
  top: 3px;
  left: 0;
  width: 60px;
  height: 60px;
  background-color: #42a5f5;
  clip-path: polygon(20% 0%, 0% 20%, 30% 50%, 0% 80%, 20% 100%, 50% 70%, 80% 100%, 100% 80%, 70% 50%, 100% 20%, 80% 0%, 50% 30%);
  opacity: 0.1;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.info-box-item-10 .info-body .info__text {
  margin-bottom: 0;
}
.info-box-item-10:after {
  display: none;
}
.info-box-item-10:hover {
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
}
.info-box-item-10:hover .icon-item:after {
  clip-path: polygon(0 0, 0% 20%, 30% 50%, 0% 80%, 0 100%, 50% 70%, 100% 99%, 100% 80%, 70% 50%, 100% 20%, 100% 0, 50% 30%);
}
.info-box-item-10:hover .info-body .info__text {
  color: #7f8897;
}

.info-box-item-right .icon-item {
  padding-left: 0;
  padding-right: 10px;
}
.info-box-item-right .icon-item:after {
  left: auto;
  right: 0;
}

/*-========== info-box-item-11 ==========-*/
.info-box-item-11 {
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  padding: 5px 0 0 0;
}
.info-box-item-11 .info-header img {
  width: calc(100% - 10px);
  -webkit-border-radius: 30px 30px;
  -moz-border-radius: 30px 30px;
  border-radius: 30px 30px;
}
.info-box-item-11 .info-body {
  margin: 0;
  padding: 30px;
}
.info-box-item-11 .info-body .info__title {
  margin-bottom: 0;
}
.info-box-item-11 .info-body .info__text {
  margin-bottom: 30px;
}
.info-box-item-11 .info-body .section-divider {
  width: 60px;
}
.info-box-item-11 .info-body .section-divider:after {
  right: 14px;
}
.info-box-item-11 .info-body .theme-btn {
  background-color: #fff;
  color: #2e3d62;
  border: 1px solid rgba(127, 136, 151, 0.2);
}
.info-box-item-11:after {
  display: none;
}
.info-box-item-11:hover .info-body .info__text {
  color: #7f8897;
}
.info-box-item-11:hover .info-body .theme-btn {
  background-color: #42a5f5;
  color: #fff;
  border-color: transparent;
}

/*-========== info-box-item-12 ==========-*/
.info-box-item-12 {
  padding: 0;
  overflow: hidden;
}
.info-box-item-12 .info-header {
  position: relative;
}
.info-box-item-12 .info-header img {
  width: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}
.info-box-item-12 .info-header .info-body {
  margin: 0;
  padding: 30px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background-color: rgba(46, 61, 98, 0.9);
  color: #fff;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.info-box-item-12 .info-header .info-body .la {
  font-size: 50px;
}
.info-box-item-12 .info-header .info-body .info__title {
  color: #fff;
  margin-top: 12px;
  margin-bottom: 10px;
}
@media (max-width: 1199px) {
  .info-box-item-12 .info-header .info-body .info__title {
    font-size: 20px;
  }
}
.info-box-item-12 .info-header .info-body .info__text {
  margin-bottom: 0;
}
.info-box-item-12:after {
  display: none;
}
.info-box-item-12:hover .info-header img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}
.info-box-item-12:hover .info-header .info-body {
  opacity: 1;
  visibility: visible;
}
.info-box-item-12:hover .info-header .info-body .info__text {
  color: #fff;
}

/*-========== info-box-item-13 ==========-*/
.info-box-item-13 {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  padding: 10px;
}
.info-box-item-13 .info-header {
  width: 160px;
  height: 160px;
  background-color: #2e3d62;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.info-box-item-13 .info-header .info__svg {
  fill: rgba(255, 255, 255, 0.6);
}
.info-box-item-13 .info-header:after {
  position: absolute;
  content: "";
  width: 45px;
  height: 55px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  top: 0;
  right: 0;
}
.info-box-item-13:after {
  display: none;
}
.info-box-item-13:hover .info-header {
  background-color: #b99566;
}
.info-box-item-13:hover .info-body .info__text {
  color: inherit;
}

/*-========== content-carousel-item ==========-*/
.content-carousel-item {
  padding: 20px 15px;
}
.content-carousel-item .info-box-item {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
}
.content-carousel-item .info-box-item .icon-item {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

.content-carousel .owl-dots {
  text-align: center;
}
.content-carousel .owl-dots div {
  width: 12px;
  height: 12px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #9ea6ba;
  display: inline-block;
  margin: 0 3px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.4;
}
.content-carousel .owl-dots div.active {
  background-color: #42a5f5;
  opacity: 1;
}

/*-========== content-carousel-item-2 ==========-*/
.content-carousel-item-2 .info-box-item {
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  border: 1px solid rgba(127, 136, 151, 0.3);
}

.content-carousel2 .owl-item {
  -webkit-transform: scale(0.9);
  -moz-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -o-transform: scale(0.9);
  transform: scale(0.9);
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}
.content-carousel2 .owl-item.active.center {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
.content-carousel2 .owl-item.active.center .info-box-item {
  background-color: #579657;
}
.content-carousel2 .owl-item.active.center .info-box-item .icon-item {
  background-color: #fff;
  color: #2e3d62;
}
.content-carousel2 .owl-item.active.center .info-box-item .icon-item .info__numb {
  background-color: #fff;
  border-color: #579657;
}
.content-carousel2 .owl-item.active.center .info-box-item .info-body .info__title,
.content-carousel2 .owl-item.active.center .info-box-item .info-body .info__text {
  color: #fff;
}
.content-carousel2 .owl-dots div {
  width: 14px;
  height: 5px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background-color: #9ea6ba;
  display: inline-block;
  margin: 0 3px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.4;
}
.content-carousel2 .owl-dots div.active {
  width: 20px;
  background-color: #579657;
  opacity: 1;
}

/*-========== content-carousel-item-3 ==========-*/
.content-carousel-item-3 .info-box-item {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0);
}
.content-carousel-item-3 .info-box-item .icon-item {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.content-carousel-item-3 .info-box-item:hover {
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.07);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.07);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.07);
}

.content-carousel-3 .owl-dots {
  display: none;
}

.content-carousel3 .owl-nav div {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid rgba(127, 136, 151, 0.1);
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  font-size: 22px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 1366px) {
  .content-carousel3 .owl-nav div {
    top: 38%;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
@media (max-width: 575px) {
  .content-carousel3 .owl-nav div {
    top: auto;
    bottom: -50px;
  }
}
.content-carousel3 .owl-nav div:hover {
  background-color: #42a5f5;
  color: #fff;
}
.content-carousel3 .owl-nav div.owl-prev {
  left: -100px;
}
@media (max-width: 1366px) {
  .content-carousel3 .owl-nav div.owl-prev {
    left: -25px;
  }
}
@media (max-width: 575px) {
  .content-carousel3 .owl-nav div.owl-prev {
    left: 200px;
  }
}
@media (max-width: 480px) {
  .content-carousel3 .owl-nav div.owl-prev {
    left: 160px;
  }
}
@media (max-width: 425px) {
  .content-carousel3 .owl-nav div.owl-prev {
    left: 130px;
  }
}
@media (max-width: 384px) {
  .content-carousel3 .owl-nav div.owl-prev {
    left: 110px;
  }
}
@media (max-width: 320px) {
  .content-carousel3 .owl-nav div.owl-prev {
    left: 85px;
  }
}
.content-carousel3 .owl-nav div.owl-next {
  left: auto;
  right: -100px;
}
@media (max-width: 1366px) {
  .content-carousel3 .owl-nav div.owl-next {
    right: -25px;
  }
}
@media (max-width: 575px) {
  .content-carousel3 .owl-nav div.owl-next {
    right: 200px;
  }
}
@media (max-width: 480px) {
  .content-carousel3 .owl-nav div.owl-next {
    right: 160px;
  }
}
@media (max-width: 425px) {
  .content-carousel3 .owl-nav div.owl-next {
    right: 130px;
  }
}
@media (max-width: 384px) {
  .content-carousel3 .owl-nav div.owl-next {
    right: 110px;
  }
}
@media (max-width: 320px) {
  .content-carousel3 .owl-nav div.owl-next {
    right: 85px;
  }
}

.content-carousel4 .owl-dots {
  text-align: center;
}
.content-carousel4 .owl-dots div {
  width: 12px;
  height: 12px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #9ea6ba;
  display: inline-block;
  margin: 0 3px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  opacity: 0.4;
}
.content-carousel4 .owl-dots div.active {
  opacity: 1;
  border: 2px solid #2e3d62;
  background-color: #fff;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

/*-===============================
    FEATURE AREA
===============================-*/
.feature-area {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .feature-area .info-box-wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .feature-area .info-box-wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .feature-area .info-box-wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .feature-area .col-lg-4.col-sm-6 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.feature-area:before, .feature-area:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 400px;
  background-color: #2e3d62;
  z-index: 1;
  opacity: 0.9;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .feature-area:before, .feature-area:after {
    height: 750px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .feature-area:before, .feature-area:after {
    height: 700px;
  }
}
.feature-area:after {
  background-size: cover;
  background-position: center;
  z-index: -1;
  opacity: 1;
}

/*====== feature-item ====*/
.feature-item {
  -webkit-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  -moz-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  padding: 50px 40px 42px 40px;
  background-color: #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
  z-index: 2;
}
.feature-item .hover-overlay:before, .feature-item .hover-overlay:after {
  position: absolute;
  content: "";
  top: 50%;
  left: -90px;
  width: 540px;
  height: 540px;
  z-index: -1;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -webkit-transform: translateY(100%) rotate(-10deg);
  -moz-transform: translateY(100%) rotate(-10deg);
  -ms-transform: translateY(100%) rotate(-10deg);
  -o-transform: translateY(100%) rotate(-10deg);
  transform: translateY(100%) rotate(-10deg);
  background-color: rgba(255, 255, 255, 0.2);
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .feature-item .hover-overlay:before, .feature-item .hover-overlay:after {
    width: 740px;
  }
}
.feature-item .hover-overlay:after {
  top: 70%;
  background-color: rgba(255, 255, 255, 0.3);
}
.feature-item .feature__icon {
  color: #fff;
  font-size: 40px;
  position: relative;
  width: 80px;
  height: 80px;
  line-height: 87px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #42a5f5;
  text-align: center;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-shadow: 0 4px 20px rgba(108, 92, 231, 0.3);
  -moz-box-shadow: 0 4px 20px rgba(108, 92, 231, 0.3);
  box-shadow: 0 4px 20px rgba(108, 92, 231, 0.3);
  overflow: hidden;
}
.feature-item .feature__icon .div-strokes {
  position: absolute;
  right: 0;
  width: 30px;
  display: inline-block;
  -webkit-transform: rotate(-55deg);
  -moz-transform: rotate(-55deg);
  -ms-transform: rotate(-55deg);
  -o-transform: rotate(-55deg);
  transform: rotate(-55deg);
}
.feature-item .feature__icon .div-strokes .stroke__bar {
  background-color: #fff;
  height: 3px;
  display: block;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.feature-item .feature__icon .div-strokes .stroke__bar:nth-child(1), .feature-item .feature__icon .div-strokes .stroke__bar:nth-child(2) {
  margin-bottom: 3px;
}
.feature-item .feature__title {
  font-weight: 600;
  text-transform: capitalize;
  font-size: 24px;
  margin-top: 30px;
  margin-bottom: 20px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.feature-item .feature__title a {
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.feature-item .feature__text {
  line-height: 28px;
  margin-bottom: 20px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.feature-item .feature__btn {
  text-transform: capitalize;
  color: #42a5f5;
  font-weight: 500;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
}
.feature-item .feature__btn:after {
  width: 0;
  height: 2px;
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.feature-item .feature__btn:hover:after {
  width: 100%;
  right: auto;
  left: 0;
}
.feature-item:before {
  position: absolute;
  content: "";
  top: 30%;
  left: -90px;
  width: 540px;
  height: 540px;
  background-color: rgba(255, 255, 255, 0.1);
  z-index: -1;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -webkit-transform: translateY(100%) rotate(-10deg);
  -moz-transform: translateY(100%) rotate(-10deg);
  -ms-transform: translateY(100%) rotate(-10deg);
  -o-transform: translateY(100%) rotate(-10deg);
  transform: translateY(100%) rotate(-10deg);
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .feature-item:before {
    width: 740px;
  }
}
.feature-item:hover {
  background-color: #42a5f5;
}
.feature-item:hover .feature__title,
.feature-item:hover .feature__title a,
.feature-item:hover .feature__text,
.feature-item:hover .feature__btn {
  color: #fff;
}
.feature-item:hover .feature__icon {
  color: #42a5f5;
  background-color: #fff;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}
.feature-item:hover .feature__icon .div-strokes .stroke__bar {
  background-color: #42a5f5;
}
.feature-item:hover:before {
  transition-delay: 0.2s;
  -webkit-transform: translateY(0) rotate(-10deg);
  -moz-transform: translateY(0) rotate(-10deg);
  -ms-transform: translateY(0) rotate(-10deg);
  -o-transform: translateY(0) rotate(-10deg);
  transform: translateY(0) rotate(-10deg);
}
.feature-item:hover .hover-overlay:before, .feature-item:hover .hover-overlay:after {
  -webkit-transform: translateY(0) rotate(-10deg);
  -moz-transform: translateY(0) rotate(-10deg);
  -ms-transform: translateY(0) rotate(-10deg);
  -o-transform: translateY(0) rotate(-10deg);
  transform: translateY(0) rotate(-10deg);
}
.feature-item:hover .hover-overlay:after {
  transition-delay: 0.1s;
}

.feature-box-color-2 .feature__icon {
  background-color: #4BE6B8;
  -webkit-box-shadow: 0 4px 20px rgba(40, 213, 67, 0.3);
  -moz-box-shadow: 0 4px 20px rgba(40, 213, 67, 0.3);
  box-shadow: 0 4px 20px rgba(40, 213, 67, 0.3);
}
.feature-box-color-2 .feature__btn {
  color: #4BE6B8;
}

.feature-box-color-3 .feature__icon {
  background-color: #F78C01;
  -webkit-box-shadow: 0 4px 20px rgba(249, 184, 81, 0.3);
  -moz-box-shadow: 0 4px 20px rgba(249, 184, 81, 0.3);
  box-shadow: 0 4px 20px rgba(249, 184, 81, 0.3);
}
.feature-box-color-3 .feature__btn {
  color: #F78C01;
}

.feature-box-color-4 .feature__icon {
  background-color: #C500EE;
  -webkit-box-shadow: 0 4px 20px rgba(197, 0, 238, 0.3);
  -moz-box-shadow: 0 4px 20px rgba(197, 0, 238, 0.3);
  box-shadow: 0 4px 20px rgba(197, 0, 238, 0.3);
}

.feature-box-color-5 .feature__icon {
  background-color: #F8C652;
  -webkit-box-shadow: 0 4px 20px rgba(248, 198, 82, 0.3);
  -moz-box-shadow: 0 4px 20px rgba(248, 198, 82, 0.3);
  box-shadow: 0 4px 20px rgba(248, 198, 82, 0.3);
}

.feature-box-color-6 .feature__icon {
  background-color: #F55974;
  -webkit-box-shadow: 0 4px 20px rgba(245, 89, 116, 0.3);
  -moz-box-shadow: 0 4px 20px rgba(245, 89, 116, 0.3);
  box-shadow: 0 4px 20px rgba(245, 89, 116, 0.3);
}

/*-===============================
    FEATURE AREA 2
===============================-*/
.feature-area2 .feature-content-wrap {
  margin-top: 30px;
}
.feature-area2:before, .feature-area2:after {
  height: 950px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 81%, 0% 100%);
  clip-path: polygon(0 0, 100% 0, 100% 81%, 0% 100%);
}

.feature-item-2 .feature__icon {
  width: 70px;
  height: 70px;
  line-height: 75px;
  margin-left: auto;
  margin-right: auto;
  -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
  clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  font-size: 35px;
}
.feature-item-2 .feature__title {
  font-size: 20px;
}
.feature-item-2 .feature__text {
  margin-bottom: 0;
}
.feature-item-2:hover .feature__title a {
  color: #fff;
}

/*-===============================
    FEATURE AREA 3
===============================-*/
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .feature-area3 .info-box-wrap,
.feature-area4 .info-box-wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .feature-area3 .info-box-wrap,
.feature-area4 .info-box-wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .feature-area3 .info-box-wrap,
.feature-area4 .info-box-wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}
.feature-area3 .info-box-wrap,
.feature-area4 .info-box-wrap {
  margin-top: 46px;
}
.feature-area3 .info-box-wrap .info-box-item .info-body .info__text,
.feature-area4 .info-box-wrap .info-box-item .info-body .info__text {
  margin-bottom: 0;
}

/*-===============================
    SERVICE AREA
===============================-*/
.service-area {
  position: relative;
  z-index: 1;
}
.service-area .info-box-wrap {
  margin-top: 106px;
}
.service-area .info-box-wrap .info-box-item .info-header:after {
  background-color: #F7F9FB;
}
.service-area .info-box-wrap .info-box-item .info-body .info__title {
  font-size: 20px;
}
.service-area .info-box-wrap .info-box-item:hover .info-header:after {
  background-color: #42a5f5;
}
.service-area:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #F7F9FB;
  z-index: -1;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 84%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 84%);
}

/*-===============================
    SERVICE AREA 2
===============================-*/
.service-wrap {
  margin-top: 60px;
}
.service-wrap .service-nav .nav-tabs {
  border-bottom: none;
}
.service-wrap .service-nav .nav-tabs li {
  width: 100%;
  margin-bottom: 5px;
}
.service-wrap .service-nav .nav-tabs li a {
  border: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  color: #2e3d62;
  font-weight: 600;
  padding: 20px;
  font-size: 20px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.service-wrap .service-nav .nav-tabs li a svg {
  width: 25px;
  fill: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.service-wrap .service-nav .nav-tabs li a .nav-link__text {
  margin-left: 5px;
}
.service-wrap .service-nav .nav-tabs li a.active, .service-wrap .service-nav .nav-tabs li a:hover {
  background-color: #42a5f5;
  color: #fff;
}
.service-wrap .service-nav .nav-tabs li a.active svg, .service-wrap .service-nav .nav-tabs li a:hover svg {
  fill: #fff;
}
.service-wrap .service-content-wrap .service-content {
  margin-left: 80px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .service-wrap .service-content-wrap .service-content {
    margin-left: 0;
    margin-top: 60px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .service-wrap .service-content-wrap .service-content {
    margin-left: 0;
    margin-top: 60px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .service-wrap .service-content-wrap .service-content {
    margin-left: 0;
    margin-top: 60px;
  }
}
.service-wrap .service-content-wrap .service-content .service__img {
  width: 320px;
}
@media (max-width: 320px) {
  .service-wrap .service-content-wrap .service-content .service__img {
    width: 280px;
  }
}
.service-wrap .service-content-wrap .service-content .service__title {
  font-weight: 600;
  margin-top: 30px;
  margin-bottom: 20px;
}
.service-wrap .service-content-wrap .service-content .service__text {
  line-height: 30px;
  margin-bottom: 20px;
}
.service-wrap .service-content-wrap .service-content .service__btn {
  color: #2e3d62;
  text-transform: capitalize;
  font-weight: 500;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.service-wrap .service-content-wrap .service-content .service__btn:hover {
  color: #42a5f5;
}

/*-===============================
    SERVICE AREA 3
===============================-*/
.service-area-3 .info-box-wrap {
  margin-top: 45px;
}

/*-===============================
    why-choose-area3
===============================-*/
.why-choose-area3 .why-choose-tab {
  margin-top: 55px;
}
.why-choose-area3 .why-choose-tab .nav-tabs {
  border-bottom: none;
}
.why-choose-area3 .why-choose-tab .nav-tabs li {
  margin-bottom: 5px;
}
.why-choose-area3 .why-choose-tab .nav-tabs li a {
  border: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  color: #2e3d62;
  font-weight: 600;
  padding: 20px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
}
.why-choose-area3 .why-choose-tab .nav-tabs li a .nav-link__text {
  margin-left: 5px;
}
.why-choose-area3 .why-choose-tab .nav-tabs li a:after {
  position: absolute;
  content: "";
  bottom: 0;
  width: 0;
  height: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #42a5f5;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.why-choose-area3 .why-choose-tab .nav-tabs li a.active, .why-choose-area3 .why-choose-tab .nav-tabs li a:hover {
  background-color: #42a5f5;
  color: #fff;
}
.why-choose-area3 .why-choose-tab .nav-tabs li a.active:after, .why-choose-area3 .why-choose-tab .nav-tabs li a:hover:after {
  bottom: -10px;
  opacity: 1;
  visibility: visible;
}
.why-choose-area3 .why-choose-tab .tab-content {
  padding-top: 40px;
}
.why-choose-area3 .why-choose-tab .tab-content .choose-tab-content .choose-tab-item .choose-tab__title {
  margin-bottom: 20px;
  font-weight: 600;
}
.why-choose-area3 .why-choose-tab .tab-content .choose-tab-content .choose-tab-item .choose-tab__text {
  line-height: 28px;
  margin-bottom: 25px;
}
.why-choose-area3 .why-choose-tab .tab-content .choose-tab-content .choose-tab-item .choose-tab__list li {
  margin-bottom: 10px;
  font-weight: 500;
}
.why-choose-area3 .why-choose-tab .tab-content .choose-tab-content .choose-tab-item .choose-tab__list li span {
  color: #42a5f5;
}
.why-choose-area3 .why-choose-tab .tab-content .choose-tab-content .choose-tab-item .choose-btn-box {
  margin-top: 33px;
}
.why-choose-area3 .why-choose-tab .tab-content .choose-tab-content .choose-tab-item .choose-btn-box .theme-btn {
  background-color: transparent;
  border: 1px solid rgba(127, 136, 151, 0.2);
  color: #7f8897;
}
.why-choose-area3 .why-choose-tab .tab-content .choose-tab-content .choose-tab-item .choose-btn-box .theme-btn:hover {
  background-color: #42a5f5;
  border-color: #42a5f5;
  color: #fff;
}
.why-choose-area3 .why-choose-tab .tab-content .choose-tab-content .choose-tab-item .choose-img {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .why-choose-area3 .why-choose-tab .tab-content .choose-tab-content .choose-tab-item .choose-img {
    margin-top: 50px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .why-choose-area3 .why-choose-tab .tab-content .choose-tab-content .choose-tab-item .choose-img {
    margin-top: 50px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .why-choose-area3 .why-choose-tab .tab-content .choose-tab-content .choose-tab-item .choose-img {
    margin-top: 50px;
  }
}
.why-choose-area3 .why-choose-tab .tab-content .choose-tab-content .choose-tab-item .choose-img img {
  width: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.why-choose-area3 .why-choose-tab .tab-content .choose-tab-content .choose-tab-item .choose-img:after {
  position: absolute;
  content: "";
  bottom: -60px;
  right: -60px;
  width: 200px;
  height: 200px;
  background-image: url("../images/dots.png");
  background-position: center;
  background-size: cover;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  animation: spinme 11000ms infinite linear;
  z-index: -1;
  opacity: 0.2;
}

/*-========== shop-feature-area =========-*/
.shop-feature-area {
  padding-bottom: 60px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .choose-box-wrap {
    margin-top: 60px !important;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .choose-box-wrap {
    margin-top: 60px !important;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .choose-box-wrap {
    margin-top: 60px !important;
  }
}

.step-content-wrap {
  position: relative;
  bottom: -50px;
}

.step-item {
  position: relative;
  width: 100%;
  padding: 30px 20px;
  background: #fff;
  border: 1px solid #f1eae0;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  margin-bottom: 30px;
}
.step-item span {
  width: 40px;
  height: 40px;
  line-height: 40px;
  font-weight: 600;
  display: inline-block;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #b99566;
  color: #fff;
  position: absolute;
  top: -18px;
  left: 18px;
}
.step-item h3 {
  font-size: 20px;
}
.step-item:hover {
  -webkit-box-shadow: 0px 13px 46px -19px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 13px 46px -19px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 13px 46px -19px rgba(0, 0, 0, 0.15);
}

/*-===============================
    ICON BOX AREA
===============================-*/
.icon-box-area .icon-box-wrap {
  margin-top: 30px;
}

/*-========== ICON BOX =========-*/
.icon-box {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  border: 1px solid rgba(127, 136, 151, 0.2);
  padding: 30px;
  position: relative;
  margin-bottom: 30px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.icon-box .icon-box-shape {
  position: absolute;
  width: 10px;
  height: 10px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  border: 2px solid rgba(127, 136, 151, 0.2);
}
.icon-box .icon-box-shape:nth-child(1) {
  top: 25px;
  left: 10%;
}
.icon-box .icon-box-shape:nth-child(2) {
  bottom: 20px;
  left: 50%;
}
.icon-box .icon-box-shape:nth-child(3) {
  top: 35px;
  right: 15%;
}
.icon-box .box__icon {
  font-size: 50px;
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.icon-box .icon__title {
  margin-top: 20px;
  font-size: 22px;
  font-weight: 600;
  color: #7f8897;
  text-transform: capitalize;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.icon-box:hover {
  border-color: #42a5f5;
}
.icon-box:hover .box__icon,
.icon-box:hover .icon__title {
  color: #42a5f5;
}

/*-========== ICON BOX 2 =========-*/
.icon-box-2 {
  background-color: #fff;
  -webkit-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  border: none;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}
.icon-box-2 .icon-box-shape {
  width: 1px;
  height: 50px;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  border: none;
  background-color: rgba(46, 61, 98, 0.1);
  -webkit-transform: rotate(-30deg);
  -moz-transform: rotate(-30deg);
  -ms-transform: rotate(-30deg);
  -o-transform: rotate(-30deg);
  transform: rotate(-30deg);
}
.icon-box-2 .box__icon {
  width: 65px;
  height: 65px;
  line-height: 65px;
  background-color: rgba(46, 61, 98, 0.1);
  font-size: 30px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.icon-box-2:hover .box__icon {
  background-color: #2e3d62;
  color: #fff;
}
.icon-box-2:hover .icon__title {
  color: #2e3d62;
}

/*-========== ICON BOX 3 =========-*/
.icon-box-3 {
  background-color: #2e3d62;
  -webkit-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  border: none;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}
.icon-box-3 .icon-box-outline {
  position: absolute;
  width: 100%;
  bottom: 30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: rgba(255, 255, 255, 0.1);
  -ms-text-stroke-color: rgba(255, 255, 255, 0.1);
  -o-text-stroke-color: rgba(255, 255, 255, 0.1);
  color: transparent;
  text-transform: uppercase;
  font-size: 50px;
}
.icon-box-3 .box__icon {
  width: 65px;
  height: 65px;
  line-height: 65px;
  background-color: rgba(255, 255, 255, 0.1);
  font-size: 30px;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  color: #fff;
}
.icon-box-3 .icon__title {
  color: rgba(255, 255, 255, 0.4);
  margin-top: 25px;
}
.icon-box-3:hover .box__icon {
  background-color: #fff;
  color: #2e3d62;
}
.icon-box-3:hover .icon__title {
  color: #fff;
}

/*-========== ICON BOX 4 =========-*/
.icon-box-4 {
  background-color: #fff;
  -webkit-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  border: none;
  padding-top: 42px;
  margin-bottom: 60px;
}
.icon-box-4 .box__icon {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  margin-top: -30px;
  width: 65px;
  height: 65px;
  line-height: 65px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  font-size: 30px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.icon-box-4 .icon__title {
  margin-bottom: 8px;
  color: #2e3d62;
}
.icon-box-4 .icon__text a {
  color: #7f8897;
}
.icon-box-4:hover .box__icon {
  background-color: #42a5f5;
  color: #fff;
}
.icon-box-4:hover .icon__title {
  color: #2e3d62;
}

/*-========== ICON BOX 5 =========-*/
.icon-box-5 {
  background-color: #fff;
  -webkit-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  border: none;
}
.icon-box-5 .box-icon {
  position: relative;
  width: 80px;
  height: 80px;
  line-height: 95px;
  margin-left: auto;
  margin-right: auto;
  background-color: #579657;
  -webkit-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.icon-box-5 .box-icon .box__count {
  position: absolute;
  bottom: 0;
  right: -5px;
  font-weight: 600;
  font-size: 15px;
  width: 30px;
  height: 30px;
  line-height: 33px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.icon-box-5 .box__icon {
  font-size: 30px;
  color: #fff;
}
.icon-box-5 .icon__title {
  color: #2e3d62;
  font-size: 20px;
}
.icon-box-5:hover .box-icon .box__icon {
  color: #fff;
}
.icon-box-5:hover .box-icon .box__count {
  background-color: #579657;
  color: #fff;
  -webkit-box-shadow: 0 0 25px rgba(82, 85, 90, 0);
  -moz-box-shadow: 0 0 25px rgba(82, 85, 90, 0);
  box-shadow: 0 0 25px rgba(82, 85, 90, 0);
}
.icon-box-5:hover .icon__title {
  color: #2e3d62;
}

/*-========== ICON BOX 6 =========-*/
.icon-box-6 {
  -webkit-box-shadow: 0 0 25px rgba(82, 85, 90, 0);
  -moz-box-shadow: 0 0 25px rgba(82, 85, 90, 0);
  box-shadow: 0 0 25px rgba(82, 85, 90, 0);
  border-color: transparent;
}
.icon-box-6 .box__icon {
  width: 65px;
  height: 65px;
  line-height: 65px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  font-size: 30px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.icon-box-6 .icon__title {
  font-size: 20px;
  font-weight: 500;
}
.icon-box-6:hover {
  -webkit-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
}

/*-========== ICON BOX 7 =========-*/
.icon-box-7 {
  background-color: #fff;
  -webkit-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  border-color: transparent;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}
.icon-box-7 .box__icon {
  width: 50px;
  height: 65px;
  line-height: 65px;
  background-color: #fff;
  text-align: center;
  -webkit-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 25px rgba(82, 85, 90, 0.1);
  font-size: 28px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
.icon-box-7 .fa-facebook {
  color: #3776FF;
}
.icon-box-7 .fa-twitter {
  color: #46C9FF;
}
.icon-box-7 .fa-instagram {
  color: #E0306C;
}
.icon-box-7 .fa-youtube-play {
  color: #F54C04;
}
.icon-box-7 .icon__title {
  margin-top: 0;
  font-size: 20px;
  color: #2e3d62;
  margin-bottom: 5px;
}
.icon-box-7 .icon-box-content {
  margin-left: 20px;
}

.icon-style-one:hover {
  border-color: #3776FF;
}
.icon-style-one:hover .fa-facebook {
  color: #3776FF;
}
.icon-style-one:hover .icon__title {
  color: #3776FF;
}

.icon-style-two:hover {
  border-color: #46C9FF;
}
.icon-style-two:hover .fa-twitter {
  color: #46C9FF;
}
.icon-style-two:hover .icon__title {
  color: #46C9FF;
}

.icon-style-three:hover {
  border-color: #E0306C;
}
.icon-style-three:hover .fa-instagram {
  color: #E0306C;
}
.icon-style-three:hover .icon__title {
  color: #E0306C;
}

.icon-style-four:hover {
  border-color: #F54C04;
}
.icon-style-four:hover .fa-youtube-play {
  color: #F54C04;
}
.icon-style-four:hover .icon__title {
  color: #F54C04;
}

/*-========== ICON BOX 8 =========-*/
.icon-box-8 {
  margin-bottom: 15px;
  font-weight: 500;
  background-color: #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  padding: 30px 20px;
  position: relative;
  border: none;
}
.icon-box-8 .box__icon {
  display: block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: rgba(108, 92, 231, 0.1);
  font-size: 24px;
  margin-bottom: 15px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.icon-box-8 .icon-box-content .icon__title {
  font-size: 1rem;
  font-weight: 500;
}
.icon-box-8:after {
  position: absolute;
  content: "";
  top: 20px;
  left: 0;
  width: 4px;
  height: 40px;
  background-color: #42a5f5;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
  opacity: 0.2;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.icon-box-8:hover .box__icon {
  background-color: #42a5f5;
  color: #fff;
}
.icon-box-8:hover:after {
  opacity: 1;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

/*-===============================
    PROGRESS BAR AREA
===============================-*/
.progress-bar-area .progress-bar-wrap {
  margin-top: 30px;
}

.progress-bar-1 .bar {
  margin-bottom: 30px;
}
.progress-bar-1 .bar .skill h4 {
  font-size: 1rem;
  text-transform: uppercase;
  margin-bottom: 7px;
  font-weight: 600;
}
.progress-bar-1 .bar .bar-outer {
  height: 18px;
  background-color: #eee;
  position: relative;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.progress-bar-1 .bar .bar-outer .speech-bubble {
  font-size: 14px;
  line-height: 26px;
  position: absolute;
  top: -37px;
  text-align: center;
  min-width: 40px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  display: none;
  color: #fff;
}
.progress-bar-1 .bar .bar-outer .speech-bubble:after {
  border: 0.4em solid transparent;
  content: "";
  margin-left: -0.4em;
  position: absolute;
  top: 100%;
  left: 50%;
}
.progress-bar-1 .bar .bar-outer .bar-inner {
  width: 0;
  height: 18px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.progress-bar-1 .bar .bar-outer .html,
.progress-bar-1 .bar .bar-outer .photo {
  left: calc(75% - 1.5em);
}
.progress-bar-1 .bar .bar-outer .jquery {
  left: calc(55% - 1.5em);
}
.progress-bar-1 .bar .bar-outer .sketch,
.progress-bar-1 .bar .bar-outer .illustrator {
  left: calc(90% - 1.5em);
}
.progress-bar-1 .bar .bar-outer .indesign {
  left: calc(85% - 1.5em);
}
.progress-bar-1 .bar .bar-outer .ht,
.progress-bar-1 .bar .bar-outer .html {
  background-color: #42a5f5;
}
.progress-bar-1 .bar .bar-outer .html:after {
  border-top-color: #42a5f5;
}
.progress-bar-1 .bar .bar-outer .jq,
.progress-bar-1 .bar .bar-outer .jquery {
  background-color: #4BE6B8;
}
.progress-bar-1 .bar .bar-outer .jquery:after {
  border-top-color: #4BE6B8;
}
.progress-bar-1 .bar .bar-outer .sk,
.progress-bar-1 .bar .bar-outer .sketch {
  background: #F78C01;
}
.progress-bar-1 .bar .bar-outer .sketch:after {
  border-top-color: #F78C01;
}
.progress-bar-1 .bar .bar-outer .ph,
.progress-bar-1 .bar .bar-outer .photo {
  background: #C500EE;
}
.progress-bar-1 .bar .bar-outer .photo:after {
  border-top-color: #C500EE;
}
.progress-bar-1 .bar .bar-outer .il,
.progress-bar-1 .bar .bar-outer .illustrator {
  background: #F8C652;
}
.progress-bar-1 .bar .bar-outer .illustrator:after {
  border-top-color: #F8C652;
}
.progress-bar-1 .bar .bar-outer .in,
.progress-bar-1 .bar .bar-outer .indesign {
  background: #579657;
}
.progress-bar-1 .bar .bar-outer .indesign:after {
  border-top-color: #579657;
}

/*-===============================
    PROGRESS BAR AREA 4
===============================-*/
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .circle-bar-wrap .circlechart {
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .circle-bar-wrap .circlechart {
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .circle-bar-wrap .circlechart {
    margin-bottom: 30px;
  }
}
.circle-bar-wrap .circlechart .circle-chart {
  width: 200px;
  height: 200px;
}
.circle-bar-wrap .circlechart .success-stroke {
  stroke: #42a5f5;
}
.circle-bar-wrap .circlechart2 .success-stroke {
  stroke: #ffb02b;
}
.circle-bar-wrap .circlechart3 .success-stroke {
  stroke: #4BE6B8;
}
.circle-bar-wrap .circlechart4 .success-stroke {
  stroke: #579657;
}

/*-===============================
    INSTAGRAM WIDGET AREA
===============================-*/
.instagram-widget-area .instagram-widget-wrap {
  margin-top: 30px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .instagram-widget-area .instagram-widget-wrap .col-lg-4.col-sm-6 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/*-========== instagram-widget-item ============-*/
.instagram-widget-item {
  text-align: center;
  margin-bottom: 30px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  padding-bottom: 40px;
}
.instagram-widget-item .avatar-more-option .dropdown {
  position: absolute;
  right: 20px;
  top: 80px;
}
.instagram-widget-item .avatar-more-option .dropdown-toggle {
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  padding: 0;
  line-height: 6px;
  font-size: 35px;
  background-color: transparent;
  color: rgba(158, 166, 186, 0.7);
  outline: none;
}
.instagram-widget-item .avatar-more-option .dropdown-toggle .la-ellipsis-h {
  line-height: 6px;
}
.instagram-widget-item .avatar-more-option .dropdown-toggle:after {
  display: none;
}
.instagram-widget-item .avatar-more-option .dropdown-menu {
  left: auto !important;
  right: 0;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  border-color: #ececec;
  padding-top: 12px;
  padding-bottom: 12px;
}
.instagram-widget-item .avatar-more-option .dropdown-menu .dropdown-item {
  color: #2e3d62;
  font-weight: 500;
  padding: 7px 25px;
  font-size: 14px;
}
.instagram-widget-item .avatar-more-option .dropdown-menu .dropdown-item:hover {
  color: #42a5f5;
}
.instagram-widget-item .instagram-widget-thumb img {
  width: 100%;
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
}
.instagram-widget-item .avatar-user-action {
  position: relative;
  margin-top: -55px;
}
.instagram-widget-item .avatar-user-action .avatar-user-profile {
  margin-bottom: 34px;
}
.instagram-widget-item .avatar-user-action .avatar-user-profile img {
  width: 110px;
  height: 110px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  border: 5px solid #fff;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
}
.instagram-widget-item .avatar-user-action .avatar-user-profile .avatar-user__name {
  font-size: 22px;
  font-weight: 600;
  margin-top: 18px;
  margin-bottom: 2px;
}
.instagram-widget-item .avatar-user-action .avatar-user-profile .avatar-user__name .fa-check-circle {
  color: #3897F0;
}
.instagram-widget-item .avatar-user-action .avatar-user-profile .avatar-user__meta {
  color: #7f8897;
  font-size: 1rem;
}
.instagram-widget-item .avatar-user-action .avatar-user-profile .avatar-user__text {
  line-height: 27px;
  margin-top: 10px;
  margin-bottom: 5px;
}
.instagram-widget-item .avatar-user-action .avatar-user-profile .avatar-user__link {
  color: #3897F0;
}
.instagram-widget-item .avatar-user-action .avatar-user-profile .avatar-user__link:hover {
  text-decoration: underline;
}
.instagram-widget-item .avatar-user-action .instagram-widget-nav {
  margin-bottom: 34px;
}
.instagram-widget-item .avatar-user-action .instagram-widget-nav ul li {
  display: inline-block;
  width: 29%;
  margin-right: 3%;
}
.instagram-widget-item .avatar-user-action .instagram-widget-nav ul li span {
  display: block;
}
.instagram-widget-item .avatar-user-action .instagram-widget-nav ul li span.instagram__number {
  color: #2e3d62;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 3px;
}
.instagram-widget-item .avatar-user-action .instagram-widget-nav ul li span.instagram__text {
  font-weight: 500;
}
.instagram-widget-item .avatar-user-action .instagram-widget-action-btn .theme-btn {
  line-height: 40px;
  text-transform: capitalize;
  padding-right: 25px;
  padding-left: 25px;
  outline: none;
}
.instagram-widget-item .avatar-user-action .instagram-widget-action-btn .theme-btn:hover {
  -webkit-box-shadow: 0 12px 24px -6px rgba(46, 61, 98, 0.1);
  -moz-box-shadow: 0 12px 24px -6px rgba(46, 61, 98, 0.1);
  box-shadow: 0 12px 24px -6px rgba(46, 61, 98, 0.1);
}
.instagram-widget-item .avatar-user-action .instagram-widget-action-btn .follow-btn {
  margin-right: 8px;
  background-color: #3897F0;
}
.instagram-widget-item .avatar-user-action .instagram-widget-action-btn .message-btn {
  background-color: #fff;
  border: 1px solid rgba(127, 136, 151, 0.2);
  color: #2e3d62;
}
.instagram-widget-item .avatar-user-action .instagram-widget-action-btn .message-btn:hover {
  border-color: rgba(127, 136, 151, 0.6);
}

/*-========== instagram-widget-item-2 ============-*/
.instagram-widget-item-2 {
  padding-top: 40px;
  padding-right: 20px;
  padding-left: 20px;
}
.instagram-widget-item-2 .instagram-widget-avatar {
  display: -ms-flex;
  display: flex;
  width: auto;
  height: auto;
  -ms-flex-align: center;
  align-items: center;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  margin-bottom: 35px;
}
@media (max-width: 1199px) {
  .instagram-widget-item-2 .instagram-widget-avatar {
    display: block;
  }
}
.instagram-widget-item-2 .instagram-widget-avatar img {
  width: 80px;
  height: 80px;
  border: 3px solid #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
}
@media (max-width: 1199px) {
  .instagram-widget-item-2 .instagram-widget-avatar img {
    width: 90px;
    height: 90px;
  }
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-nav {
  margin-left: 18px;
}
@media (max-width: 1199px) {
  .instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-nav {
    margin-left: 0;
    margin-top: 20px;
  }
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-nav ul li {
  display: inline-block;
  margin-right: 5px;
}
@media (max-width: 1199px) {
  .instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-nav ul li {
    margin-right: 10px;
  }
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-nav ul li span {
  display: block;
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-nav ul li span.instagram__number {
  color: #2e3d62;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 3px;
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-nav ul li span.instagram__text {
  font-weight: 500;
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-action-btn {
  margin-top: 8px;
  display: -ms-flex;
  display: flex;
}
@media (max-width: 1199px) {
  .instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-action-btn {
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 10px;
  }
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-action-btn .theme-btn {
  text-transform: capitalize;
  outline: none;
  line-height: 30px;
  padding-right: 15px;
  padding-left: 15px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  margin-right: 5px;
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-action-btn .theme-btn:hover {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-action-btn .follow-btn {
  background-color: #3897F0;
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-action-btn .message-btn {
  background-color: #fff;
  border: 1px solid rgba(127, 136, 151, 0.2);
  color: #2e3d62;
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-action-btn .message-btn:hover {
  border-color: rgba(127, 136, 151, 0.6);
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-action-btn .dropdown {
  position: relative;
  top: auto;
  right: auto;
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-action-btn .setting-btn {
  background-color: #fff;
  border: 1px solid rgba(127, 136, 151, 0.2);
  color: #2e3d62;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  display: inline-block;
  font-size: 18px;
  width: 32px;
  height: 32px;
  line-height: 32px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  outline: none;
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-action-btn .setting-btn:after {
  display: none;
}
.instagram-widget-item-2 .instagram-widget-avatar .instagram-widget-action-btn .setting-btn:hover {
  border-color: rgba(127, 136, 151, 0.6);
}
.instagram-widget-item-2 .avatar-user-profile {
  text-align: left;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .instagram-widget-item-2 .avatar-user-profile {
    text-align: center;
  }
}
.instagram-widget-item-2 .avatar-user-profile .avatar-user__name {
  font-size: 22px;
  font-weight: 600;
  margin-top: 18px;
  margin-bottom: 2px;
}
.instagram-widget-item-2 .avatar-user-profile .avatar-user__name .fa-check-circle {
  color: #3897F0;
}
.instagram-widget-item-2 .avatar-user-profile .avatar-user__meta {
  color: #7f8897;
  font-size: 1rem;
}
.instagram-widget-item-2 .avatar-user-profile .avatar-user__text {
  line-height: 27px;
  margin-top: 10px;
  margin-bottom: 5px;
}
.instagram-widget-item-2 .avatar-user-profile .avatar-user__link {
  color: #3897F0;
}
.instagram-widget-item-2 .avatar-user-profile .avatar-user__link:hover {
  text-decoration: underline;
}

/*-===============================
    VIDEO GALLERY AREA
===============================-*/
.video-gallery-area .video-gallery-wrap {
  margin-top: 30px;
}

/*-======== video-gallery-item =========-*/
.video-gallery-item {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.2);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.2);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.2);
  position: relative;
  margin-bottom: 30px;
  border: 8px solid #fff;
}
.video-gallery-item img {
  width: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.video-gallery-item .video-play-btn {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(46, 61, 98, 0.7);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0;
  visibility: hidden;
  color: #fff;
  font-size: 40px;
}
.video-gallery-item .video-play-btn .video__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.video-gallery-item:hover .video-play-btn {
  opacity: 1;
  visibility: visible;
}

/*-======== video-gallery-item-2 =========-*/
.video-gallery-item-2 .video-play-btn {
  opacity: 1;
  visibility: visible;
  width: 100px;
  height: 70px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border-width: 2px;
  font-size: 28px;
}
.video-gallery-item-2 .video-play-btn:hover {
  background-color: rgba(46, 61, 98, 0.9);
}

.video-gallery-carousel .owl-nav div,
.video-gallery-carousel2 .owl-nav div {
  position: absolute;
  top: 50%;
  left: 30px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #2e3d62;
  text-align: center;
  font-size: 1rem;
  width: 30px;
  height: 30px;
  line-height: 33px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.video-gallery-carousel .owl-nav div:hover,
.video-gallery-carousel2 .owl-nav div:hover {
  background-color: #42a5f5;
  color: #fff;
}
.video-gallery-carousel .owl-nav div.owl-next,
.video-gallery-carousel2 .owl-nav div.owl-next {
  left: auto;
  right: 30px;
}

.video-gallery-item-4 {
  background-color: transparent;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  border: none;
}
.video-gallery-item-4 .gallery__title {
  text-align: left;
  margin-bottom: 20px;
}

/*-============ blockquote-item ===========-*/
.blockquote-item {
  margin-top: 30px;
}
.blockquote-item blockquote {
  padding: 15px 30px 15px 75px;
  border-left: 5px solid #579657;
  position: relative;
  margin-bottom: 0;
}
@media (max-width: 375px) {
  .blockquote-item blockquote {
    padding-left: 30px;
  }
}
.blockquote-item blockquote .blockquote__icon {
  color: #579657;
  font-size: 35px;
  position: absolute;
  left: 20px;
  top: 10px;
}
@media (max-width: 375px) {
  .blockquote-item blockquote .blockquote__icon {
    position: inherit;
    top: auto;
    left: auto;
    margin-bottom: 20px;
  }
}
.blockquote-item blockquote .blockquote__text {
  line-height: 30px;
  font-weight: 500;
  font-style: italic;
}
.blockquote-item blockquote .blockquote__meta {
  font-weight: 500;
  margin-top: 16px;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}
@media (max-width: 425px) {
  .blockquote-item blockquote .blockquote__meta {
    display: block;
  }
}
.blockquote-item blockquote .blockquote__meta span {
  font-size: 1rem;
  color: #7f8897;
  margin-left: 5px;
}

/*-============ blockquote-item-2 ===========-*/
.blockquote-item-2 blockquote {
  border-left: none;
  background-image: url("../images/img11.jpg");
  background-size: cover;
  background-position: center;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  z-index: 1;
  padding-top: 40px;
  padding-bottom: 35px;
  padding-left: 40px;
}
.blockquote-item-2 blockquote:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2e3d62;
  opacity: 0.8;
  z-index: -1;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.blockquote-item-2 blockquote .blockquote__icon {
  top: 20px;
  left: 50px;
  font-size: 100px;
  color: transparent;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: rgba(255, 255, 255, 0.1);
}
.blockquote-item-2 blockquote .blockquote__text,
.blockquote-item-2 blockquote .blockquote__meta {
  color: #fff;
}
.blockquote-item-2 blockquote .blockquote__meta {
  opacity: 0.8;
}

/*-============ blockquote-item-3 ===========-*/
.blockquote-item-3 .blockquote {
  position: relative;
  margin-bottom: 0;
}
.blockquote-item-3 .blockquote h1 {
  position: relative;
  color: #7f8897;
  font-size: 20px;
  line-height: 35px;
  margin: 0;
  border: 2px solid #eee;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  padding: 25px 35px;
}
.blockquote-item-3 .blockquote h1:after {
  content: "";
  position: absolute;
  border: 2px solid #eee;
  -webkit-border-radius: 0 50px 0 0;
  -moz-border-radius: 0 50px 0 0;
  border-radius: 0 50px 0 0;
  width: 70px;
  height: 70px;
  bottom: -70px;
  left: 50px;
  border-bottom: none;
  border-left: none;
  z-index: 3;
}
.blockquote-item-3 .blockquote h1:before {
  content: "";
  position: absolute;
  width: 80px;
  border: 6px solid #fff;
  bottom: -2px;
  left: 50px;
  z-index: 2;
}
.blockquote-item-3 .blockquote h4 {
  position: relative;
  padding-top: 15px;
  z-index: 1;
  margin-left: 150px;
  padding-left: 12px;
}
.blockquote-item-3 .blockquote h4 span {
  font-size: 1rem;
  color: #7f8897;
  font-style: italic;
}

/*-============ blockquote-item-4 ===========-*/
.blockquote-item-4 .blockquote-item-text {
  line-height: 28px;
  margin-bottom: 15px;
}
.blockquote-item-4 blockquote {
  padding: 20px;
  border-left-color: #eee;
}

/*-============ blockquote-item-5 ===========-*/
.blockquote-item-5 blockquote {
  border-left: none;
  padding: 45px 50px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  position: relative;
}
.blockquote-item-5 blockquote .info-dot {
  position: absolute;
  width: 15px;
  height: 15px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #eee;
}
.blockquote-item-5 blockquote .info-dot:nth-child(1) {
  top: 25px;
  left: 10%;
}
.blockquote-item-5 blockquote .info-dot:nth-child(2) {
  top: 60px;
  left: 50%;
}
.blockquote-item-5 blockquote .info-dot:nth-child(3) {
  bottom: 10%;
  left: 40%;
}
.blockquote-item-5 blockquote .info-dot:nth-child(4) {
  bottom: 20%;
  right: 20%;
}
.blockquote-item-5 blockquote .quotation-mark {
  font-size: 70px;
  margin-bottom: 20px;
  color: rgba(127, 138, 151, 0.2);
}
.blockquote-item-5 blockquote .quote-text {
  font-size: 20px;
  line-height: 30px;
}
.blockquote-item-5 blockquote .blog-post-actions {
  border-top: 2px solid rgba(127, 138, 151, 0.1);
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 30px;
  padding-top: 30px;
}
.blockquote-item-5 blockquote .blog-post-actions .blog-post-meta {
  font-weight: 500;
}
.blockquote-item-5 blockquote .blog-post-actions .blog-post-badge {
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}
.blockquote-item-5 blockquote .blog-post-actions .blog-post-badge .quote-badge {
  background-color: rgba(127, 138, 151, 0.3);
  margin-right: 5px;
  padding: 8px 10px 5px 10px;
  font-size: 85%;
  line-height: 10px;
}
.blockquote-item-5 blockquote:before, .blockquote-item-5 blockquote:after {
  position: absolute;
  content: "";
  background-color: #fff;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  left: 20px;
  top: 15px;
  margin-left: auto;
  margin-right: auto;
  z-index: -1;
  width: calc(100% - 40px);
  height: 100%;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}
.blockquote-item-5 blockquote:after {
  left: 40px;
  top: 30px;
  z-index: -2;
  width: calc(100% - 80px);
}

/*-===============================
    COUNTER AREA
===============================-*/
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .counter-area .section-heading .section__title br {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .counter-area .section-heading .section__title br {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .counter-area .section-heading .section__title br {
    display: none;
  }
}

.counter-wrap {
  margin-top: 30px;
}

/*========= counter-item =========*/
.counter-item {
  margin-bottom: 30px;
  text-align: center;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.counter-item .counter-content span {
  display: block;
}
.counter-item .counter-content .counter__icon {
  width: 70px;
  height: 70px;
  line-height: 70px;
  margin-left: auto;
  margin-right: auto;
  background-color: #579657;
  -webkit-border-radius: 65% 30% 30% 65%/55% 35% 50% 40%;
  -moz-border-radius: 65% 30% 30% 65%/55% 35% 50% 40%;
  border-radius: 65% 30% 30% 65%/55% 35% 50% 40%;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.2);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.2);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.2);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  font-size: 30px;
  color: #fff;
}
.counter-item .counter-content .counter__numb {
  font-size: 40px;
  color: #2e3d62;
  font-weight: 600;
  margin-top: 33px;
  margin-bottom: 30px;
}
.counter-item .counter-content .counter__title {
  font-size: 20px;
  color: #7f8897;
}
.counter-item:hover .counter-content .counter__icon {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}

/*-===============================
    counter-item-2
===============================-*/
.counter-item-2 {
  background-color: #fff;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.05);
  padding-top: 40px;
  padding-bottom: 40px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  position: relative;
}
.counter-item-2:after {
  position: absolute;
  content: "";
  top: 0;
  left: 50%;
  width: 50px;
  height: 4px;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
  background-color: #3897F0;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.5;
}
.counter-item-2 .counter-content .counter__icon {
  background-color: rgba(26, 151, 240, 0.1);
  width: 65px;
  height: 65px;
  line-height: 65px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  color: #3897F0;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}
.counter-item-2 .counter-content .counter__numb {
  margin-bottom: 20px;
  font-size: 35px;
}
.counter-item-2 .counter-content .counter__title {
  font-size: 1rem;
}
.counter-item-2:hover .counter-content .counter__icon {
  background-color: #3897F0;
  color: #fff;
}
.counter-item-2:hover:after {
  opacity: 1;
}

/*-===============================
    counter-item-3
===============================-*/
.counter-item-3 .counter-content {
  background-color: #fff;
  width: 235px;
  height: 235px;
  padding-top: 80px;
  text-align: center;
  position: relative;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  -moz-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1199px) {
  .counter-item-3 .counter-content {
    padding-top: 70px;
    width: 210px;
    height: 210px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .counter-item-3 .counter-content {
    padding-top: 65px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .counter-item-3 .counter-content {
    padding-top: 65px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .counter-item-3 .counter-content {
    padding-top: 65px;
  }
}
@media (max-width: 425px) {
  .counter-item-3 .counter-content {
    margin-left: auto;
    margin-right: auto;
  }
}
.counter-item-3 .counter-content:after {
  position: absolute;
  content: "";
  top: 12px;
  left: 12px;
  width: 90%;
  height: 90%;
  border: 3px dotted rgba(92, 72, 224, 0.2);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  z-index: -1;
}
.counter-item-3 .counter-content .counter__icon {
  position: absolute;
  top: 70px;
  left: 40px;
  font-size: 70px;
  color: rgba(127, 136, 151, 0.1);
  background-color: transparent;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  width: auto;
  height: auto;
  line-height: inherit;
}
.counter-item-3 .counter-content .counter__numb {
  font-size: 50px;
  font-weight: 500;
  color: #42a5f5;
  margin-top: 0;
  margin-bottom: 0;
}
.counter-item-3 .counter-content .counter__numb sup {
  left: -15px;
}
.counter-item-3 .counter-content .counter__title {
  font-size: 15px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.counter-item-3:nth-child(2) .counter-item .counter-content .counter__numb {
  color: #4BE6B8;
}
.counter-item-3:nth-child(2) .counter-item .counter-content:after {
  border-color: rgba(75, 230, 184, 0.2);
}
.counter-item-3:nth-child(3) .counter-item .counter-content .counter__numb {
  color: #F78C01;
}
.counter-item-3:nth-child(3) .counter-item .counter-content:after {
  border-color: rgba(247, 140, 1, 0.2);
}
.counter-item-3:nth-child(4) .counter-item .counter-content .counter__numb {
  color: #C500EE;
}
.counter-item-3:nth-child(4) .counter-item .counter-content:after {
  border-color: rgba(197, 0, 238, 0.2);
}

/*-===============================
     counter-item-4
===============================-*/
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .counter-item-4 {
    text-align: center;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .counter-item-4 {
    text-align: center;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .counter-item-4 {
    text-align: center;
  }
}
.counter-item-4 .counter-content .counter__icon {
  width: 60px;
  line-height: 60px;
  height: 60px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background-color: #2e3d62;
  position: relative;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .counter-item-4 .counter-content .counter__icon {
    margin-left: auto;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .counter-item-4 .counter-content .counter__icon {
    margin-left: auto;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .counter-item-4 .counter-content .counter__icon {
    margin-left: auto;
  }
}
.counter-item-4 .counter-content .counter__icon:after {
  position: absolute;
  content: "";
  bottom: -9px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-top: 9px solid #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.counter-item-4 .counter-content .counter__numb {
  margin-top: 40px;
}
.counter-item-4:hover .counter-content .counter__icon {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background-color: #42a5f5;
}
.counter-item-4:hover .counter-content .counter__icon:after {
  border-top-color: #42a5f5;
}

/*-===============================
     counter-item-5
===============================-*/
.counter-item-5 .counter-content .counter__icon {
  background-color: #42a5f5;
  line-height: 70px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  position: relative;
}
.counter-item-5 .counter-content .counter__icon:after {
  position: absolute;
  content: "";
  bottom: -6px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #42a5f5;
}
.counter-item-5 .counter-content .counter__icon.bg-2:after {
  border-top-color: #4BE6B8;
}
.counter-item-5 .counter-content .counter__icon.bg-3:after {
  border-top-color: #F78C01;
}
.counter-item-5 .counter-content .counter__icon.bg-4:after {
  border-top-color: #C500EE;
}
.counter-item-5 .counter-content .counter__numb {
  color: #42a5f5;
  margin-bottom: 25px;
}
.counter-item-5 .counter-content .counter__title {
  font-size: 18px;
}
.counter-item-5:hover .counter-content .counter__icon {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}

/*-===============================
     counter-item-6
===============================-*/
.counter-item-6 .counter-content .counter__numb {
  background-color: #fff;
  border: 1px solid rgba(127, 137, 151, 0.1);
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.07);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.07);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.07);
  padding: 30px 10px;
  margin-top: 0;
  position: relative;
}
.counter-item-6 .counter-content .counter__numb:after {
  position: absolute;
  content: "";
  bottom: -8px;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(45deg);
  -moz-transform: translateX(-50%) rotate(45deg);
  -ms-transform: translateX(-50%) rotate(45deg);
  -o-transform: translateX(-50%) rotate(45deg);
  transform: translateX(-50%) rotate(45deg);
  background-color: #fff;
  width: 16px;
  height: 16px;
  border-bottom: 1px solid rgba(127, 137, 151, 0.1);
  border-right: 1px solid rgba(127, 137, 151, 0.1);
}

/*-===============================
    FUNFACT AREA
===============================-*/
.funfact-area {
  position: relative;
  z-index: 1;
}
.funfact-area .funfact-img-box {
  position: relative;
  margin-top: 20px;
  margin-bottom: 30px;
}
.funfact-area .funfact-img-box img {
  width: 100%;
  border: 10px solid #fff;
  -webkit-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  -moz-box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  box-shadow: 0 0 40px rgba(14, 16, 48, 0.05);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.funfact-area .funfact-img-box .video-play-btn {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #2e3d62;
  font-size: 28px;
  width: 100px;
  height: 100px;
  line-height: 100px;
  -webkit-border-radius: 4px 0 4px 0;
  -moz-border-radius: 4px 0 4px 0;
  border-radius: 4px 0 4px 0;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.funfact-area .funfact-img-box .video-play-btn:hover {
  color: #42a5f5;
}
.funfact-area:before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 520px;
  z-index: -1;
  background-color: #F7F9FB;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .funfact-area:before {
    height: 790px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .funfact-area:before {
    height: 790px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .funfact-area:before {
    height: 790px;
  }
}
@media (max-width: 575px) {
  .funfact-area:before {
    height: 1117px;
  }
}

/*-===============================
    FUNFACT AREA 2
===============================-*/
.funfact-area2 .counter-wrap .col-lg-3:nth-child(2) .counter-item, .funfact-area2 .counter-wrap .col-lg-3:nth-child(3) .counter-item {
  margin-top: 90px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .funfact-area2 .counter-wrap .col-lg-3:nth-child(2) .counter-item, .funfact-area2 .counter-wrap .col-lg-3:nth-child(3) .counter-item {
    margin-top: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .funfact-area2 .counter-wrap .col-lg-3:nth-child(2) .counter-item, .funfact-area2 .counter-wrap .col-lg-3:nth-child(3) .counter-item {
    margin-top: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .funfact-area2 .counter-wrap .col-lg-3:nth-child(2) .counter-item, .funfact-area2 .counter-wrap .col-lg-3:nth-child(3) .counter-item {
    margin-top: 0;
  }
}
.funfact-area2:after, .funfact-area2:before {
  position: absolute;
  content: "";
  width: 200px;
  height: 200px;
  top: 50px;
  left: 50px;
  background-image: url("../images/dots.png");
  background-size: cover;
  background-position: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  opacity: 0.2;
}
.funfact-area2:before {
  left: auto;
  top: auto;
  bottom: 50px;
  right: 50px;
  background-color: transparent;
}

.get-started-text .getstart__desc .theme-btn {
  background-color: transparent;
  color: #2e3d62;
  line-height: 45px;
  font-size: 14px;
}
.get-started-text .getstart__desc .theme-btn:hover {
  background-color: #42a5f5;
  color: #fff;
}

/*-===============================
    FUNFACT AREA 5
===============================-*/
.funfact-area5 .counter-wrap {
  margin-top: 45px;
}
.funfact-area5 .counter-wrap .counter__percent {
  font-size: 25px;
  top: -13px;
  right: 10px;
}

/*-===============================
    MOBILE AREA
===============================-*/
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .mobile-app-img {
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .mobile-app-img {
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .mobile-app-img {
    margin-bottom: 60px;
  }
}
.mobile-app-img img {
  width: 100%;
}

.app-content {
  margin-left: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .app-content {
    margin-left: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .app-content {
    margin-left: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .app-content {
    margin-left: 0;
  }
}

@media (max-width: 320px) {
  .app-btn-box {
    text-align: center;
  }
}

/*====================================================
   clientlogo-area
 ====================================================*/
.clientlogo-area {
  padding-top: 60px;
  padding-bottom: 50px;
  position: relative;
}
.clientlogo-area .client-logo {
  text-align: center;
}
.clientlogo-area .client-logo .owl-item .client-logo-item {
  display: inline-block;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.clientlogo-area .client-logo .owl-item .client-logo-item img {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.clientlogo-area .client-logo .owl-item .client-logo-item:hover img, .clientlogo-area .client-logo .owl-item .client-logo-item:focus img {
  opacity: 1;
}

/*====================================================
   clientlogo-area 2
 ====================================================*/
.clientlogo-area2 {
  background-color: #F7F9FB;
  padding-top: 80px;
  padding-bottom: 75px;
}
.clientlogo-area2:after {
  position: absolute;
  content: "";
  bottom: -30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid #F7F9FB;
}

/*-===============================
   CONTACT AREA
===============================-*/
.contact-form-action form .form-group {
  position: relative;
}
.contact-form-action form .form-group .form-icon {
  position: absolute;
  top: 16px;
  left: 20px;
}
.contact-form-action form .form-group .search-btn {
  position: absolute;
  top: 0;
  right: 0;
  background-color: transparent;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left-color: rgba(127, 136, 151, 0.2);
  color: #2e3d62;
  padding: 14px 15px;
}
.contact-form-action form .form-group .search-btn:hover {
  color: #42a5f5;
}
.contact-form-action form .form-group .form-control {
  padding: 12px 20px 12px 40px;
  border-color: rgba(127, 136, 151, 0.2);
  height: inherit;
  color: #2e3d62;
}
.contact-form-action form .form-group .form-control:focus {
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  border-color: rgba(127, 136, 151, 0.5);
}
.contact-form-action form .form-group .message-control {
  height: 140px;
}
.contact-form-action form .form-group .form-control[type=email]::-webkit-input-placeholder {
  color: rgba(127, 136, 151, 0.6);
}
.contact-form-action form .form-group .form-control[type=email]::-moz-placeholder {
  color: rgba(127, 136, 151, 0.6);
}
.contact-form-action form .form-group .form-control[type=email]:-ms-input-placeholder {
  color: rgba(127, 136, 151, 0.6);
}
.contact-form-action form .form-group .form-control[type=email]:-moz-placeholder {
  color: rgba(127, 136, 151, 0.6);
}
.contact-form-action form .form-group .form-control[type=text]::-webkit-input-placeholder {
  color: rgba(127, 136, 151, 0.6);
}
.contact-form-action form .form-group .form-control[type=text]::-moz-placeholder {
  color: rgba(127, 136, 151, 0.6);
}
.contact-form-action form .form-group .form-control[type=text]:-ms-input-placeholder {
  color: rgba(127, 136, 151, 0.6);
}
.contact-form-action form .form-group .form-control[type=text]:-moz-placeholder {
  color: rgba(127, 136, 151, 0.6);
}
.contact-form-action form .form-group .form-control[type=search]::-webkit-input-placeholder {
  color: rgba(127, 136, 151, 0.6);
}
.contact-form-action form .form-group .form-control[type=search]::-moz-placeholder {
  color: rgba(127, 136, 151, 0.6);
}
.contact-form-action form .form-group .form-control[type=search]:-ms-input-placeholder {
  color: rgba(127, 136, 151, 0.6);
}
.contact-form-action form .form-group .form-control[type=search]:-moz-placeholder {
  color: rgba(127, 136, 151, 0.6);
}
.contact-form-action form .form-group .send__btn {
  position: absolute;
  right: 0;
  top: 0;
  line-height: 49px;
  font-size: 14px;
  padding-right: 20px;
  padding-left: 20px;
  outline: none;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.contact-form-action form .form-group .send__btn:hover {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}

/*======== select-option =======*/
.select-option {
  position: relative;
}
.select-option .form-icon {
  position: absolute;
  top: 16px;
  left: 20px;
}
.select-option select {
  width: 100%;
  border: 1px solid rgba(127, 136, 151, 0.2);
  padding: 12px 20px 12px 40px;
  display: block;
  margin-bottom: 20px;
  color: rgba(127, 136, 151, 0.6);
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  cursor: pointer;
  outline: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background-color: #fff;
}
.select-option select:focus {
  border-color: rgba(127, 136, 151, 0.5);
}
.select-option:after {
  position: absolute;
  content: "\f107";
  top: 12px;
  right: 13px;
  font-family: "Line Awesome Free";
  color: #7f8897;
  pointer-events: none;
  display: inline-block;
  font-weight: 900;
}

/*-===============================
   APPOINTMENT AREA
===============================-*/
.appointment-area {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.appointment-area .appointment-content-box .contact-form-action {
  margin-top: 50px;
}
.appointment-area .appointment-content-box .contact-form-action form .form-group .date-range {
  color: rgba(127, 136, 151, 0.6);
}
.appointment-area .appointment-img-box {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  border: 10px solid #fff;
  margin-top: 50px;
  margin-left: 30px;
  position: relative;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .appointment-area .appointment-img-box {
    margin-left: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .appointment-area .appointment-img-box {
    margin-left: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .appointment-area .appointment-img-box {
    margin-left: 0;
  }
}
.appointment-area .appointment-img-box img {
  width: 100%;
  height: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.appointment-area .appointment-img-box:after {
  position: absolute;
  content: "";
  top: -60px;
  right: -60px;
  width: 200px;
  height: 200px;
  background-image: url("../images/dots.png");
  background-position: center;
  background-size: cover;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  animation: spinme 11000ms infinite linear;
  z-index: -1;
  opacity: 0.2;
}
.appointment-area:after {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 70%;
  height: 100%;
  background-color: #F7F9FB;
  z-index: -1;
  -webkit-clip-path: polygon(0 0, 91% 0, 100% 100%, 0% 100%);
  clip-path: polygon(0 0, 91% 0, 100% 100%, 0% 100%);
}

/*-===============================
   CONTACT AREA
===============================-*/
.contact-area .section-heading {
  margin-bottom: 40px;
}
.contact-area .section-heading .section__title {
  font-size: 35px;
}
.contact-area .contact-img {
  margin-top: 75px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .contact-area .contact-img {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
  }
}
.contact-area .contact-img img {
  width: 100%;
}
.contact-area .contact-address {
  margin-top: 60px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .contact-area .contact-address .col-lg-4.col-sm-6 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.contact-area .contact-address .contact-heading {
  margin-bottom: 30px;
}
.contact-area .contact-address .contact-heading .contact__heading {
  font-weight: 600;
}

/*======== contact-form-item ========*/
.contact-form-item {
  background-color: #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  padding: 40px;
  position: relative;
}
.contact-form-item:after {
  position: absolute;
  content: "";
  top: 0;
  left: 40px;
  width: 50px;
  height: 4px;
  background-color: #42a5f5;
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
  opacity: 0.2;
}

/*======== contact-card ========*/
.contact-card {
  background-color: #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  padding: 40px 40px 25px 40px;
  position: relative;
  margin-bottom: 30px;
}
.contact-card .contact__subheding {
  margin-bottom: 25px;
  font-weight: 600;
}
.contact-card .contact__text span {
  display: block;
  margin-bottom: 15px;
}
.contact-card .contact__text span i {
  color: #2e3d62;
  width: 35px;
  height: 35px;
  line-height: 35px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  text-align: center;
  margin-right: 5px;
  background-color: rgba(46, 61, 98, 0.1);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.contact-card .contact__text span a {
  color: #7f8897;
}
.contact-card .contact__text span:hover a {
  color: #42a5f5;
}
.contact-card .contact__text span:hover i {
  background-color: #42a5f5;
  color: #fff;
}
.contact-card:after {
  position: absolute;
  content: "";
  top: 0;
  left: 40px;
  width: 50px;
  height: 4px;
  background-color: #42a5f5;
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
  opacity: 0.2;
}

/*======== support-area========*/
.support-area .contact-form-item {
  margin-top: 58px;
}

.account-assist {
  margin-top: 15px;
}
.account-assist p {
  font-size: 20px;
  position: relative;
  margin-bottom: 32px;
}
.account-assist p:before {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  width: 45%;
  height: 1px;
  background-color: rgba(128, 136, 158, 0.4);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.account-assist p:after {
  position: absolute;
  content: "";
  right: 0;
  top: 50%;
  width: 45%;
  height: 1px;
  background-color: rgba(128, 136, 158, 0.4);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.account-assist p a {
  color: #42a5f5;
}
.account-assist .create-account-text {
  font-size: 1rem;
  margin-bottom: 0;
}
.account-assist .create-account-text:after, .account-assist .create-account-text:before {
  display: none;
}

/*======== form-area ========*/
.form-area {
  padding-top: 240px;
  padding-bottom: 80px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .form-area {
    padding-top: 200px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .form-area {
    padding-top: 200px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .form-area {
    padding-top: 200px;
  }
}
.form-area .contact-img {
  margin-top: 140px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .form-area .contact-img {
    margin-top: 0;
    margin-bottom: 100px;
    text-align: center;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .form-area .contact-img {
    margin-top: 0;
    margin-bottom: 100px;
    text-align: center;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .form-area .contact-img {
    margin-top: 0;
    margin-bottom: 100px;
    text-align: center;
  }
}
@media (max-width: 375px) {
  .form-area .contact-img img {
    width: 100%;
  }
}
.form-area .contact-img.text-right {
  margin-top: 200px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .form-area .contact-img.text-right {
    margin-top: 100px;
    margin-bottom: 0;
    text-align: center !important;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .form-area .contact-img.text-right {
    margin-top: 100px;
    margin-bottom: 0;
    text-align: center !important;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .form-area .contact-img.text-right {
    margin-top: 100px;
    margin-bottom: 0;
    text-align: center !important;
  }
}
.form-area .contact-form-action .form-group .theme-btn {
  width: 100%;
}
.form-area .section-heading .section__title {
  font-size: 35px;
}
.form-area form {
  margin-top: 40px;
}

/*-===============================
   SIDEBAR
===============================-*/
.sidebar {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  border: 1px solid rgba(127, 136, 151, 0.2);
  padding: 30px 30px 0 30px;
}
.sidebar .sidebar-img {
  padding-bottom: 2rem;
  text-align: center;
  width: 100%;
}
.sidebar .sidebar-img img {
  height: 11rem;
  width: 11rem;
}
.sidebar .sidebar-widget {
  margin-bottom: 40px;
}
.sidebar .sidebar-widget .widget__title {
  font-size: 22px;
  font-weight: 600;
  color: #2e3d62;
  margin-bottom: 35px;
  border-bottom: 1px solid rgba(127, 136, 151, 0.2);
  padding-bottom: 15px;
}
.sidebar .sidebar-widget .side__desc {
  line-height: 28px;
}
.sidebar .sidebar-widget .widget__list li {
  margin-bottom: 10px;
  position: relative;
}
.sidebar .sidebar-widget .widget__list li:last-child {
  margin-bottom: 0;
}
.sidebar .sidebar-widget .widget__list li a,
.sidebar .sidebar-widget .widget__list li span {
  display: block;
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  background-color: rgba(46, 61, 98, 0.05);
  padding: 10px 20px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.sidebar .sidebar-widget .widget__list li a .cat-count,
.sidebar .sidebar-widget .widget__list li span .cat-count {
  font-size: 14px;
  opacity: 0.8;
}
.sidebar .sidebar-widget .widget__list li:after {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 3px;
  height: 25px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: rgba(46, 61, 98, 0.1);
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.sidebar .sidebar-widget .widget__list li:hover:after, .sidebar .sidebar-widget .widget__list li:focus:after {
  background-color: #fff;
}
.sidebar .sidebar-widget .widget__list li:hover a,
.sidebar .sidebar-widget .widget__list li:hover span, .sidebar .sidebar-widget .widget__list li:focus a,
.sidebar .sidebar-widget .widget__list li:focus span {
  color: #fff;
  background-color: #2e3d62;
  padding-left: 25px;
}
.sidebar .sidebar-widget .tag__list li {
  display: inline-block;
  margin-bottom: 5px;
}
.sidebar .sidebar-widget .tag__list li a {
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 15px;
}
.sidebar .sidebar-widget .tag__list li:hover a {
  padding-left: 20px;
}
.sidebar .sidebar-widget .contact__links li {
  margin-bottom: 10px;
}
.sidebar .sidebar-widget .contact__links li:last-child {
  margin-bottom: 0;
}
.sidebar .sidebar-widget .contact__links li i {
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  background-color: rgba(46, 61, 98, 0.1);
  margin-right: 5px;
}
.sidebar .sidebar-widget .contact__links li a {
  color: #7f8897;
}
.sidebar .sidebar-widget .contact__links li:hover i {
  background-color: #42a5f5;
  color: #fff;
}
.sidebar .sidebar-widget .contact__links li:hover a {
  color: #42a5f5;
}
.sidebar .sidebar-widget .side__btns {
  margin-top: 20px;
}
.sidebar .sidebar-widget .side__btns .theme-btn {
  display: block;
}
@media (max-width: 1199px) {
  .sidebar .sidebar-widget .side__btns .theme-btn {
    padding-left: 20px;
    padding-right: 30px;
  }
}
@media (max-width: 1199px) {
  .sidebar .sidebar-widget .side__btns .theme-btn .la {
    right: 15px;
  }
}
.sidebar .sidebar-widget .side__btns li:first-child {
  margin-bottom: 10px;
}
.sidebar .sidebar-widget .side__btns li:first-child .theme-btn {
  background-color: #579657;
}
.sidebar .sidebar-widget .social__links li {
  display: inline-block;
}
.sidebar .sidebar-widget .social__links li a {
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  color: #2e3d62;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  background-color: rgba(46, 61, 98, 0.1);
}
.sidebar .sidebar-widget .social__links li a:hover {
  color: #fff;
  background-color: #42a5f5;
}
.sidebar .contact-form-action form .form-group .form-control {
  padding-left: 20px;
}

.recent-widget .nav-tabs {
  border-bottom: none;
  margin-bottom: 25px;
}
.recent-widget .nav-tabs li {
  margin-right: 4px;
}
@media (max-width: 1199px) {
  .recent-widget .nav-tabs li {
    margin-bottom: 8px;
    margin-right: 8px;
  }
}
.recent-widget .nav-tabs li:last-child {
  margin-right: 0;
}
.recent-widget .nav-tabs li .nav-link {
  color: #7f8897;
  font-weight: 500;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  border: 1px solid rgba(127, 136, 151, 0.1);
  position: relative;
}
@media (max-width: 375px) {
  .recent-widget .nav-tabs li .nav-link {
    margin-bottom: 5px;
  }
}
.recent-widget .nav-tabs li .nav-link:after {
  position: absolute;
  content: "";
  bottom: 0;
  width: 0;
  height: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #42a5f5;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.recent-widget .nav-tabs li .nav-link.active {
  background-color: #42a5f5;
  color: #fff;
  border-color: #42a5f5;
}
.recent-widget .nav-tabs li .nav-link.active:after {
  bottom: -6px;
  opacity: 1;
  visibility: visible;
}
.recent-widget .recent-item {
  margin-bottom: 25px;
  padding-bottom: 25px;
  border-bottom: 1px solid rgba(127, 136, 151, 0.1);
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}
@media (max-width: 1199px) {
  .recent-widget .recent-item {
    display: block;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .recent-widget .recent-item {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .recent-widget .recent-item {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .recent-widget .recent-item {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
  }
}
.recent-widget .recent-item:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
.recent-widget .recent-item .recent-img img {
  width: 85px;
  height: 78px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  margin-right: 15px;
}
@media (max-width: 1199px) {
  .recent-widget .recent-item .recent-img img {
    width: 100%;
    height: auto;
    margin-right: 0;
    margin-bottom: 15px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .recent-widget .recent-item .recent-img img {
    width: 85px;
    height: 78px;
    margin-right: 15px;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .recent-widget .recent-item .recent-img img {
    width: 85px;
    height: 78px;
    margin-right: 15px;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .recent-widget .recent-item .recent-img img {
    width: 85px;
    height: 78px;
    margin-right: 15px;
    margin-bottom: 0;
  }
}
.recent-widget .recent-item .pro-img img {
  -webkit-box-shadow: 0 0 0 0;
  -moz-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}
.recent-widget .recent-item .recentpost-body .recent__meta {
  font-size: 14px;
  color: #7f8897;
  font-weight: 500;
}
.recent-widget .recent-item .recentpost-body .recent__meta a {
  color: #7f8897;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  margin-left: 2px;
}
.recent-widget .recent-item .recentpost-body .recent__meta a:hover {
  color: #42a5f5;
}
.recent-widget .recent-item .recentpost-body .recent__link a {
  color: #2e3d62;
  font-size: 1rem;
  line-height: 22px;
  display: block;
  margin-top: 4px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.recent-widget .recent-item .recentpost-body .recent__link a:hover {
  color: #42a5f5;
}
.recent-widget .recent-item .recentpost-body .pro__link a {
  margin-top: 0;
}
.recent-widget .recent-item .recentpost-body .sell-rating-content .sell__rating li {
  display: inline-block;
  font-size: 13px;
}
.recent-widget .recent-item .recentpost-body .sell-rating-content .sell__rating li a {
  color: #42a5f5;
}
.recent-widget .recent-item .recentpost-body .prices span {
  font-size: 1rem;
  color: #42a5f5;
  font-weight: 700;
}
.recent-widget .recent-item .recentpost-body .prices span.old__price {
  color: #7f8897;
  margin-right: 5px;
  text-decoration: line-through;
  font-size: 1rem;
  opacity: 0.7;
}

/*-===============================
    ERROR
===============================-*/
.error-content .error__img {
  margin-bottom: 40px;
}
.error-content .error__img img {
  width: 100%;
}
.error-content .error-heading {
  border-bottom: 1px solid rgba(127, 136, 151, 0.1);
  margin-bottom: 30px;
  padding-bottom: 30px;
}
.error-content .error-heading .error__title {
  font-weight: 700;
  font-size: 45px;
  margin-bottom: 10px;
  line-height: 60px;
}
@media (max-width: 425px) {
  .error-content .error-heading .error__title {
    font-size: 35px;
    line-height: 50px;
  }
}
.error-content .error-heading .error__text {
  font-weight: 500;
  line-height: 28px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .error-content .error-heading .error__text br {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .error-content .error-heading .error__text br {
    display: none;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .error-content .error-heading .error__text br {
    display: none;
  }
}
.error-content .contact-form-action .contact__text {
  margin-bottom: 20px;
}
.error-content .contact-form-action form .form-group .form-control {
  padding-left: 20px;
}
.error-content .contact-form-action form .form-group .search-btn {
  background-color: #42a5f5;
  border: none;
  color: #fff;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
  text-transform: uppercase;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.error-content .contact-form-action form .form-group .search-btn:hover {
  background-color: #1e88e5;
}

.comments-wrapper {
  margin-top: 50px;
}
.comments-wrapper .comments-title {
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 33px;
}
.comments-wrapper .leave-title {
  margin-top: 60px;
  margin-bottom: 7px;
}
.comments-wrapper .leave-desc {
  font-size: 1rem;
  color: #7f8897;
  font-weight: 500;
}
.comments-wrapper .comments-list li .comment {
  padding-bottom: 40px;
}
.comments-wrapper .comments-list li .comment .avatar__img {
  width: 100px;
  height: 100px;
  float: left;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  margin-right: 20px;
  border: 8px solid #fff;
  -webkit-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  -moz-box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
  box-shadow: 0 0 40px rgba(82, 85, 90, 0.1);
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .comments-wrapper .comments-list li .comment .avatar__img {
    float: none;
    margin-left: auto;
    margin-right: auto;
    display: inherit;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .comments-wrapper .comments-list li .comment .avatar__img {
    float: none;
    margin-left: auto;
    margin-right: auto;
    display: inherit;
  }
}
.comments-wrapper .comments-list li .comment .comment-body {
  margin-left: 110px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .comments-wrapper .comments-list li .comment .comment-body {
    margin-top: 25px;
    margin-left: 0;
    text-align: center;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .comments-wrapper .comments-list li .comment .comment-body {
    margin-left: 0;
    margin-top: 25px;
    text-align: center;
  }
}
.comments-wrapper .comments-list li .comment .comment-body .meta-data {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .comments-wrapper .comments-list li .comment .comment-body .meta-data {
    display: block;
    margin-bottom: 10px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .comments-wrapper .comments-list li .comment .comment-body .meta-data {
    display: block;
    margin-bottom: 10px;
  }
}
.comments-wrapper .comments-list li .comment .comment-body .meta-data .comment__author {
  font-size: 18px;
  color: #2e3d62;
  text-transform: capitalize;
  font-weight: 600;
  margin-bottom: 12px;
  display: inline-block;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .comments-wrapper .comments-list li .comment .comment-body .meta-data .comment__author {
    display: block;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .comments-wrapper .comments-list li .comment .comment-body .meta-data .comment__author {
    display: block;
  }
}
.comments-wrapper .comments-list li .comment .comment-body .meta-data .comment__date {
  margin-left: auto;
  font-weight: 500;
}
.comments-wrapper .comments-list li .comment .comment-body .review__stars {
  margin-bottom: 10px;
}
.comments-wrapper .comments-list li .comment .comment-body .review__stars li {
  display: inline-block;
  color: #ffb02b;
  font-size: 14px;
  margin-left: -2px;
}
.comments-wrapper .comments-list li .comment .comment-body .comment-content {
  margin-bottom: 15px;
  line-height: 28px;
}
.comments-wrapper .comments-list li .comment .comment-body .comment-reply {
  margin-left: 10px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .comments-wrapper .comments-list li .comment .comment-body .comment-reply {
    margin-left: 0;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .comments-wrapper .comments-list li .comment .comment-body .comment-reply {
    margin-left: 0;
  }
}
.comments-wrapper .comments-list li .comment .comment-body .comment-reply .comment__btn {
  color: #2e3d62;
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  display: inline-block;
  padding: 4px 14px;
  border: 1px solid #eee;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
.comments-wrapper .comments-list li .comment .comment-body .comment-reply .comment__btn:hover {
  color: #fff;
  background-color: #42a5f5;
  border-color: #42a5f5;
}
.comments-wrapper .comments-list li .comment .comment-body .comment-reply .helpful__btn {
  float: right;
  font-size: 14px;
  font-weight: 500;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .comments-wrapper .comments-list li .comment .comment-body .comment-reply .helpful__btn {
    float: none;
    margin-top: 25px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .comments-wrapper .comments-list li .comment .comment-body .comment-reply .helpful__btn {
    float: none;
    margin-top: 25px;
  }
}
.comments-wrapper .comments-list li .comment .comment-body .comment-reply .helpful__btn button {
  border: 1px solid rgba(128, 137, 150, 0.4);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 4px 12px;
  color: #7f8897;
  margin-left: 3px;
  margin-right: 3px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  display: inline-block;
  line-height: 20px;
}
.comments-wrapper .comments-list li .comment .comment-body .comment-reply .helpful__btn button i {
  color: #2e3d62;
}
.comments-wrapper .comments-list li .comment .comment-body .comment-reply .helpful__btn button:hover {
  background-color: rgba(128, 137, 150, 0.1);
  color: #2e3d62;
}
.comments-wrapper .comments-list li .comments-reply {
  margin-left: 130px;
}
@media (max-width: 1199px) {
  .comments-wrapper .comments-list li .comments-reply {
    margin-left: 25px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .comments-wrapper .comments-list li .comments-reply {
    margin-left: 10px;
  }
}
.comments-wrapper .contact-form-action {
  margin-top: 36px;
  padding-left: 0;
}
.comments-wrapper .contact-form-action .form-group .message-control {
  height: 170px;
}

/*-===============================
   FOOTER AREA
===============================-*/
.footer-area {
  padding-top: 120px;
  position: relative;
  overflow: hidden;
}
.footer-area .footer-svg {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100%;
  fill: #F7F9FB;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .footer-area .footer-item {
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .footer-area .footer-item {
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .footer-area .footer-item {
    margin-bottom: 50px;
  }
}
.footer-area .footer-item .section-divider {
  margin-top: 15px;
  margin-bottom: 0;
  width: 50px;
}
.footer-area .footer-item .section-divider:after {
  right: 12px;
  width: 8px;
}
.footer-area .footer-item .logo {
  margin-bottom: 25px;
}
.footer-area .footer-item .logo img {
  width: 200px;
  margin-right: 0.5rem;
}
.footer-area .footer-item .footer__desc {
  line-height: 26px;
}
.footer-area .footer-item .footer__title {
  font-weight: 600;
  font-size: 20px;
  margin-top: 10px;
}
.footer-area .footer-item .user-links {
  margin-top: 30px;
}
.footer-area .footer-item .user-links li a {
  display: block;
  text-transform: capitalize;
  color: #7f8897;
  margin-bottom: 10px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
  font-size: 15px;
}
.footer-area .footer-item .user-links li a:after {
  position: absolute;
  content: "";
  top: 7px;
  left: 0;
  width: 5px;
  height: 5px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #42a5f5;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0;
  visibility: hidden;
}
.footer-area .footer-item .user-links li a:hover {
  color: #42a5f5;
  padding-left: 12px;
}
.footer-area .footer-item .user-links li a:hover:after {
  opacity: 1;
  visibility: visible;
}
.footer-area .footer-item .footer-contact .contact__text {
  line-height: 26px;
  padding-top: 12px;
}
.footer-area .footer-item .footer-contact .contact__text a {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  color: #7f8897;
}
.footer-area .footer-item .footer-contact .contact__text a:hover {
  color: #42a5f5;
}
.footer-area .footer-item .contact-form-action {
  margin-top: 30px;
}
.footer-area .footer-item .contact-form-action .contact__text {
  line-height: 26px;
  margin-bottom: 20px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .footer-area .footer-item .contact-form-action form .form-group .send__btn {
    position: inherit;
    line-height: 45px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    margin-top: 15px;
    top: auto;
    right: auto;
  }
}
@media (max-width: 575px) {
  .footer-area .footer-item .contact-form-action form .form-group .send__btn {
    position: absolute;
    line-height: 49px;
    -webkit-border-radius: 0 4px 4px 0;
    -moz-border-radius: 0 4px 4px 0;
    border-radius: 0 4px 4px 0;
    margin-top: 0;
    top: 0;
    right: 0;
  }
}
.footer-area .total-box {
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 25px;
}
.footer-area .total-box .total-item .total__num {
  font-weight: 600;
  margin-bottom: 4px;
  font-size: 18px;
}
.footer-area .total-box .total-item .total__text {
  font-weight: 500;
  font-size: 15px;
}
.footer-area .total-box .total-item + .total-item {
  margin-left: 40px;
}
.footer-area .copy-right {
  margin-top: 40px;
  padding-top: 40px;
  padding-bottom: 40px;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  border-top: 1px solid rgba(127, 136, 151, 0.1);
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .footer-area .copy-right {
    margin-top: 0;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .footer-area .copy-right {
    margin-top: 0;
    display: block;
    text-align: center;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .footer-area .copy-right {
    margin-top: 0;
    display: block;
    text-align: center;
  }
}
.footer-area .copy-right .copy__desc {
  font-size: 15px;
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .footer-area .copy-right .copy__desc {
    margin-bottom: 10px;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .footer-area .copy-right .copy__desc {
    margin-bottom: 10px;
  }
}
.footer-area .copy-right .copy__desc .la-heart {
  color: #42a5f5;
  animation: heartBeat 1000ms infinite linear;
  font-size: 18px;
}
.footer-area .copy-right .copy__desc a {
  color: #7f8897;
}
.footer-area .copy-right .copy__desc a:hover {
  color: #42a5f5;
}
.footer-area .copy-right .condition-links li {
  display: inline-block;
  margin-right: 10px;
  position: relative;
  font-size: 15px;
}
.footer-area .copy-right .condition-links li:after {
  position: absolute;
  content: "/";
  top: 1px;
  right: -12px;
  font-size: 12px;
}
.footer-area .copy-right .condition-links li:last-child {
  margin-right: 0;
}
.footer-area .copy-right .condition-links li:last-child:after {
  display: none;
}
.footer-area .copy-right .condition-links li a {
  display: block;
  color: #7f8897;
}
.footer-area .copy-right .condition-links li a:hover {
  color: #42a5f5;
  text-decoration: underline;
}

/*-===============================
    BREADCRUMB AREA
===============================-*/
.breadcrumb-area {
  position: relative;
  padding-top: 120px;
  padding-bottom: 40px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .breadcrumb-area {
    padding-top: 200px;
    padding-bottom: 95px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .breadcrumb-area {
    padding-top: 200px;
    padding-bottom: 95px;
  }
}
@media (max-width: 480px) {
  .breadcrumb-area {
    padding-top: 170px;
    padding-bottom: 80px;
  }
}
.breadcrumb-area .breadcrumb-shape {
  position: absolute;
  top: 95px;
  left: 40px;
  width: 40px;
  height: 40px;
  background-color: #2e3d62;
  opacity: 0.1;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  z-index: 2;
}
.breadcrumb-area .breadcrumb-shape2 {
  left: 15%;
  top: auto;
  bottom: 40px;
  width: 40px;
  height: 40px;
}
.breadcrumb-area .breadcrumb-shape3 {
  left: 50%;
  top: 27%;
  width: 80px;
  height: 80px;
}
.breadcrumb-area .breadcrumb-shape4 {
  left: auto;
  top: auto;
  right: 30px;
  bottom: 60px;
  width: 80px;
  height: 80px;
}
.breadcrumb-area .breadcrumb-content {
  color: #fff;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  text-transform: capitalize;
  z-index: 2;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .breadcrumb-area .breadcrumb-content {
    display: block;
    text-align: center;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .breadcrumb-area .breadcrumb-content {
    display: block;
    text-align: center;
  }
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
  .breadcrumb-area .breadcrumb-content {
    display: block;
    text-align: center;
  }
}
.breadcrumb-area .breadcrumb-content .breadcrumb__titles .breadcrumb__title {
  color: #fff;
  font-size: 50px;
  line-height: 70px;
  font-weight: 700;
}
@media (max-width: 480px) {
  .breadcrumb-area .breadcrumb-content .breadcrumb__titles .breadcrumb__title {
    font-size: 40px;
    line-height: 50px;
  }
}
.breadcrumb-area .breadcrumb-content .breadcrumb__list li {
  display: inline-block;
  position: relative;
  padding-right: 22px;
}
.breadcrumb-area .breadcrumb-content .breadcrumb__list li:last-child {
  padding-right: 0;
}
.breadcrumb-area .breadcrumb-content .breadcrumb__list li a {
  color: #fff;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.breadcrumb-area .breadcrumb-content .breadcrumb__list li a:hover {
  opacity: 0.4;
}
.breadcrumb-area .breadcrumb-content .breadcrumb__list li.breadcrumb__list-active:after {
  position: absolute;
  content: ".";
  top: -6px;
  right: 0;
  padding: 0 6px;
  font-size: 28px;
}
.breadcrumb-area:after, .breadcrumb-area:before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}
.breadcrumb-area:after {
  opacity: 0.97;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 1600 800'%3E%3Cg %3E%3Cpath fill='%2332426a' d='M486 705.8c-109.3-21.8-223.4-32.2-335.3-19.4C99.5 692.1 49 703 0 719.8V800h843.8c-115.9-33.2-230.8-68.1-347.6-92.2C492.8 707.1 489.4 706.5 486 705.8z'/%3E%3Cpath fill='%23354772' d='M1600 0H0v719.8c49-16.8 99.5-27.8 150.7-33.5c111.9-12.7 226-2.4 335.3 19.4c3.4 0.7 6.8 1.4 10.2 2c116.8 24 231.7 59 347.6 92.2H1600V0z'/%3E%3Cpath fill='%23394c7a' d='M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z'/%3E%3Cpath fill='%233c5182' d='M0 0v429.4c55.6-18.4 113.5-27.3 171.4-27.7c102.8-0.8 203.2 22.7 299.3 54.5c3 1 5.9 2 8.9 3c183.6 62 365.7 146.1 562.4 192.1c186.7 43.7 376.3 34.4 557.9-12.6V0H0z'/%3E%3Cpath fill='%2340568a' d='M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z'/%3E%3Cpath fill='%23435990' d='M1600 0H0v136.3c62.3-20.9 127.7-27.5 192.2-19.2c93.6 12.1 180.5 47.7 263.3 89.6c2.6 1.3 5.1 2.6 7.7 3.9c158.4 81.1 319.7 170.9 500.3 223.2c210.5 61 430.8 49 636.6-16.6V0z'/%3E%3Cpath fill='%23465d95' d='M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z'/%3E%3Cpath fill='%2348609b' d='M1600 0H498c118.1 85.8 243.5 164.5 386.8 216.2c191.8 69.2 400 74.7 595 21.1c40.8-11.2 81.1-25.2 120.3-41.7V0z'/%3E%3Cpath fill='%234b64a0' d='M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z'/%3E%3Cpath fill='%234e67a6' d='M1315.3 72.4c75.3-12.6 148.9-37.1 216.8-72.4h-723C966.8 71 1144.7 101 1315.3 72.4z'/%3E%3C/g%3E%3C/svg%3E");
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3MiLCJwYXJ0aWFscy9fY29tbW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtcm93LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXZiYXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2FyZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19pbnRlcmFjdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiLCJvd2xDYXJvdXNlbC9fY29yZS5zY3NzIiwib3dsQ2Fyb3VzZWwvX2FuaW1hdGUuc2NzcyIsIm93bENhcm91c2VsL19hdXRvaGVpZ2h0LnNjc3MiLCJvd2xDYXJvdXNlbC9fbGF6eWxvYWQuc2NzcyIsIm93bENhcm91c2VsL192aWRlby5zY3NzIiwib3dsQ2Fyb3VzZWwvX3RoZW1lLmRlZmF1bHQuc2NzcyIsIm93bENhcm91c2VsL190aGVtZS5zY3NzIiwicGFydGlhbHMvX2tleWZyYW1lcy5zY3NzIiwicGFydGlhbHMvX21peGluLnNjc3MiLCJwYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiLCJwYXJ0aWFscy9fYnV0dG9uLnNjc3MiLCJwYXJ0aWFscy9fY2lyY2xlLnNjc3MiLCJzdHlsZS5zY3NzIiwicGFydGlhbHMvX21lbnUuc2NzcyIsInBhcnRpYWxzL19iYW5uZXIuc2NzcyIsInBhcnRpYWxzL19hYm91dC5zY3NzIiwicGFydGlhbHMvX3dpZGdldC5zY3NzIiwicGFydGlhbHMvX3Rlc3RpbW9uaWFsLnNjc3MiLCJwYXJ0aWFscy9fc3Vic2NyaWJlci5zY3NzIiwicGFydGlhbHMvX2dldC1zdGFydC1wYXJ0LnNjc3MiLCJwYXJ0aWFscy9fdGVhbS1tZW1iZXIuc2NzcyIsInBhcnRpYWxzL19wcmljaW5nLnNjc3MiLCJwYXJ0aWFscy9faWNvbi1ob3Zlci1lZmZlY3RzLnNjc3MiLCJwYXJ0aWFscy9fZmxpcC1ib3hlcy5zY3NzIiwicGFydGlhbHMvX2FsZXJ0LWJveGVzLnNjc3MiLCJwYXJ0aWFscy9fY291bnRkb3duLnNjc3MiLCJwYXJ0aWFscy9fc29jaWFsLWljb25zLnNjc3MiLCJwYXJ0aWFscy9fZ29vZ2xlLW1hcC5zY3NzIiwicGFydGlhbHMvX2NoYXJ0LnNjc3MiLCJwYXJ0aWFscy9fYnVsbGV0LWxpc3Quc2NzcyIsInBhcnRpYWxzL19hY2NvcmRpb24uc2NzcyIsInBhcnRpYWxzL190YWIuc2NzcyIsInBhcnRpYWxzL19pbWFnZS1nYWxsZXJ5LnNjc3MiLCJwYXJ0aWFscy9fdGltZWxpbmUuc2NzcyIsInBhcnRpYWxzL190b29sdGlwLnNjc3MiLCJwYXJ0aWFscy9fbW9kYWwuc2NzcyIsInBhcnRpYWxzL19oZWFkaW5nLnNjc3MiLCJwYXJ0aWFscy9faGlnaGxpZ2h0LWJveC5zY3NzIiwicGFydGlhbHMvX2NhcmRzLnNjc3MiLCJwYXJ0aWFscy9faW5mby1ib3guc2NzcyIsInBhcnRpYWxzL19pY29uLWJveC5zY3NzIiwicGFydGlhbHMvX3Byb2dyZXNzLWJhci5zY3NzIiwicGFydGlhbHMvX2luc3RhZ3JhbS13aWRnZXQuc2NzcyIsInBhcnRpYWxzL192aWRlby1nYWxsZXJ5LnNjc3MiLCJwYXJ0aWFscy9fYmxvY2txdW90ZS5zY3NzIiwicGFydGlhbHMvX2NvdW50ZXIuc2NzcyIsInBhcnRpYWxzL19tb2JpbGUtcGFydC5zY3NzIiwicGFydGlhbHMvX2NsaWVudC1sb2dvLnNjc3MiLCJwYXJ0aWFscy9fY29udGFjdC5zY3NzIiwicGFydGlhbHMvX3NpZGViYXIuc2NzcyIsInBhcnRpYWxzL19lcnJvci1wYWdlLnNjc3MiLCJwYXJ0aWFscy9fY29tbWVudC5zY3NzIiwicGFydGlhbHMvX2Zvb3Rlci5zY3NzIiwicGFydGlhbHMvX2JyZWFkY3J1bWIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDOEZRO0FDOUZSO0VBR0k7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUtGO0VBQ0E7OztBQ0NGO0FBQUE7QUFBQTtFQUdFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUNFOzs7QUFVRjtFQUNFO0VBQ0EsYUNxTzRCO0VDaEd4QjtFRm5JSixhQzhPNEI7RUQ3TzVCLGFDa1A0QjtFRGpQNUIsT0NuQ1M7RURvQ1Q7RUFDQSxrQkM5Q1M7OztBRDBEWDtFQUNFOzs7QUFTRjtFQUNFO0VBQ0E7RUFDQTs7O0FBYUY7RUFDRTtFQUNBLGVDZ040Qjs7O0FEek05QjtFQUNFO0VBQ0EsZUNvRjBCOzs7QUR6RTVCO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7RUFDRSxhQ2lKNEI7OztBRDlJOUI7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0VBRUUsYUNvSTRCOzs7QURqSTlCO0VFSUk7OztBRktKO0FBQUE7RUFFRTtFRVBFO0VGU0Y7RUFDQTs7O0FBR0Y7RUFBTTs7O0FBQ047RUFBTTs7O0FBT047RUFDRSxPQ1h3QztFRFl4QyxpQkNYd0M7RURZeEM7O0FHaExBO0VIbUxFLE9DZHNDO0VEZXRDLGlCQ2RzQzs7O0FEdUIxQztFQUNFO0VBQ0E7O0FHL0xBO0VIa01FO0VBQ0E7OztBQVNKO0FBQUE7QUFBQTtBQUFBO0VBSUUsYUN5RDRCO0VDakgxQjs7O0FGNERKO0VBRUU7RUFFQTtFQUVBO0VBR0E7OztBQVFGO0VBRUU7OztBQVFGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFHRTtFQUNBOzs7QUFRRjtFQUNFOzs7QUFHRjtFQUNFLGFDNkU0QjtFRDVFNUIsZ0JDNEU0QjtFRDNFNUIsT0N0UVM7RUR1UVQ7RUFDQTs7O0FBT0Y7RUFFRTtFQUNBOzs7QUFRRjtFQUVFO0VBQ0EsZUMySnNDOzs7QURySnhDO0VBRUU7OztBQVFGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTtFQUNBO0VFaEtFO0VGa0tGOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBTUY7RUFDRTs7O0FBTUY7RUFDRTs7O0FBT0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBU0U7QUFBQTtBQUFBO0FBQUE7RUFDRTs7O0FBTU47QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7O0FBSUY7RUFDRTtFQUVBOzs7QUFHRjtFQU1FO0VBRUE7RUFDQTtFQUNBOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUU5T0k7RUZnUEo7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFJRjtBQUFBO0VBRUU7OztBQUdGO0VBS0U7RUFDQTs7O0FBT0Y7RUFDRTs7O0FBUUY7RUFDRTtFQUNBOzs7QUFPRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUtGO0VBQ0U7OztBSTVkRjtBQUFBO0VBRUUsZUhxUzRCO0VHblM1QixhSHFTNEI7RUdwUzVCLGFIcVM0Qjs7O0FHalM5QjtFRnFLTTs7O0FFcEtOO0VGb0tNOzs7QUVuS047RUZtS007OztBRWxLTjtFRmtLTTs7O0FFaktOO0VGaUtNOzs7QUVoS047RUZnS007OztBRTlKTjtFRjhKTTtFRTVKSixhSHVTNEI7OztBR25TOUI7RUZ3Sk07RUV0SkosYUgwUjRCO0VHelI1QixhSGlSNEI7OztBRy9ROUI7RUZtSk07RUVqSkosYUhzUjRCO0VHclI1QixhSDRRNEI7OztBRzFROUI7RUY4SU07RUU1SUosYUhrUjRCO0VHalI1QixhSHVRNEI7OztBR3JROUI7RUZ5SU07RUV2SUosYUg4UTRCO0VHN1E1QixhSGtRNEI7OztBRzFQOUI7RUFDRSxZSGdGTztFRy9FUCxlSCtFTztFRzlFUDtFQUNBOzs7QUFRRjtBQUFBO0VGa0dJO0VFL0ZGLGFIME40Qjs7O0FHdk45QjtBQUFBO0VBRUUsU0hrUTRCO0VHalE1QixrQkgwUTRCOzs7QUdsUTlCO0VDL0VFO0VBQ0E7OztBRG1GRjtFQ3BGRTtFQUNBOzs7QURzRkY7RUFDRTs7QUFFQTtFQUNFLGNIb1AwQjs7O0FHMU85QjtFRjJESTtFRXpERjs7O0FBSUY7RUFDRSxlSHVCTztFQzZDSDs7O0FFaEVOO0VBQ0U7RUYrQ0U7RUU3Q0YsT0gxR1M7O0FHNEdUO0VBQ0U7OztBRW5ISjtFQ0lFO0VBR0E7OztBRERGO0VBQ0UsU0xvZ0NrQztFS25nQ2xDLGtCTFJTO0VLU1Q7RUVFRTtFRFBGO0VBR0E7OztBRGNGO0VBRUU7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUo4SEk7RUk1SEYsT0wzQlM7OztBUVpYO0VQbUtJO0VPaktGLE9SbUNRO0VRbENSOztBQUdBO0VBQ0U7OztBQUtKO0VBQ0U7RVBzSkU7RU9wSkYsT1JUUztFUVVULGtCUkRTO0VPRVA7O0FDR0Y7RUFDRTtFUDhJQTtFTzVJQSxhUndRMEI7OztBUWxROUI7RUFDRTtFUHFJRTtFT25JRixPUmpCUzs7QVFvQlQ7RVBnSUU7RU85SEE7RUFDQTs7O0FBS0o7RUFDRSxZUmdrQ2tDO0VRL2pDbEM7OztBQ3hDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUNEQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUNtREU7RUZ6Q0U7SUFDRSxXVDhMZTs7O0FXdEpuQjtFRnpDRTtJQUNFLFdUOExlOzs7QVd0Sm5CO0VGekNFO0lBQ0UsV1Q4TGU7OztBV3RKbkI7RUZ6Q0U7SUFDRSxXVDhMZTs7O0FTbEtyQjtFQ25DQTtFQUNBO0VBQ0E7RUFDQTs7O0FEc0NBO0VBQ0U7RUFDQTs7QUFFQTtBQUFBO0VBRUU7RUFDQTs7O0FHdERKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFzQkU7RUFDRTtFQUNBO0VBQ0E7OztBRjRCTjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUVuQkU7RUZDSjtFQUNBO0VBQ0E7OztBRUdRO0VGYlI7RUFJQTs7O0FFU1E7RUZiUjtFQUlBOzs7QUVTUTtFRmJSO0VBSUE7OztBRVNRO0VGYlI7RUFJQTs7O0FFU1E7RUZiUjtFQUlBOzs7QUVTUTtFRmJSO0VBSUE7OztBRVNRO0VGYlI7RUFJQTs7O0FFU1E7RUZiUjtFQUlBOzs7QUVTUTtFRmJSO0VBSUE7OztBRVNRO0VGYlI7RUFJQTs7O0FFU1E7RUZiUjtFQUlBOzs7QUVTUTtFRmJSO0VBSUE7OztBRWVJO0VBQXdCOzs7QUFFeEI7RUFBdUI7OztBQUdyQjtFQUF3QixPQURiOzs7QUFDWDtFQUF3QixPQURiOzs7QUFDWDtFQUF3QixPQURiOzs7QUFDWDtFQUF3QixPQURiOzs7QUFDWDtFQUF3QixPQURiOzs7QUFDWDtFQUF3QixPQURiOzs7QUFDWDtFQUF3QixPQURiOzs7QUFDWDtFQUF3QixPQURiOzs7QUFDWDtFQUF3QixPQURiOzs7QUFDWDtFQUF3QixPQURiOzs7QUFDWDtFQUF3QixPQURiOzs7QUFDWDtFQUF3QixPQURiOzs7QUFDWDtFQUF3QixPQURiOzs7QUFRUDtFRmhCVjs7O0FFZ0JVO0VGaEJWOzs7QUVnQlU7RUZoQlY7OztBRWdCVTtFRmhCVjs7O0FFZ0JVO0VGaEJWOzs7QUVnQlU7RUZoQlY7OztBRWdCVTtFRmhCVjs7O0FFZ0JVO0VGaEJWOzs7QUVnQlU7RUZoQlY7OztBRWdCVTtFRmhCVjs7O0FFZ0JVO0VGaEJWOzs7QUNLRTtFQzNCRTtJQUNFO0lBQ0E7SUFDQTs7O0VGNEJOO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFRW5CRTtJRkNKO0lBQ0E7SUFDQTs7O0VFR1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFZUk7SUFBd0I7OztFQUV4QjtJQUF1Qjs7O0VBR3JCO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQVFQO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0FDS0U7RUMzQkU7SUFDRTtJQUNBO0lBQ0E7OztFRjRCTjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUVuQkU7SUZDSjtJQUNBO0lBQ0E7OztFRUdRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRWVJO0lBQXdCOzs7RUFFeEI7SUFBdUI7OztFQUdyQjtJQUF3QixPQURiOzs7RUFDWDtJQUF3QixPQURiOzs7RUFDWDtJQUF3QixPQURiOzs7RUFDWDtJQUF3QixPQURiOzs7RUFDWDtJQUF3QixPQURiOzs7RUFDWDtJQUF3QixPQURiOzs7RUFDWDtJQUF3QixPQURiOzs7RUFDWDtJQUF3QixPQURiOzs7RUFDWDtJQUF3QixPQURiOzs7RUFDWDtJQUF3QixPQURiOzs7RUFDWDtJQUF3QixPQURiOzs7RUFDWDtJQUF3QixPQURiOzs7RUFDWDtJQUF3QixPQURiOzs7RUFRUDtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztBQ0tFO0VDM0JFO0lBQ0U7SUFDQTtJQUNBOzs7RUY0Qk47SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VFbkJFO0lGQ0o7SUFDQTtJQUNBOzs7RUVHUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVlSTtJQUF3Qjs7O0VBRXhCO0lBQXVCOzs7RUFHckI7SUFBd0IsT0FEYjs7O0VBQ1g7SUFBd0IsT0FEYjs7O0VBQ1g7SUFBd0IsT0FEYjs7O0VBQ1g7SUFBd0IsT0FEYjs7O0VBQ1g7SUFBd0IsT0FEYjs7O0VBQ1g7SUFBd0IsT0FEYjs7O0VBQ1g7SUFBd0IsT0FEYjs7O0VBQ1g7SUFBd0IsT0FEYjs7O0VBQ1g7SUFBd0IsT0FEYjs7O0VBQ1g7SUFBd0IsT0FEYjs7O0VBQ1g7SUFBd0IsT0FEYjs7O0VBQ1g7SUFBd0IsT0FEYjs7O0VBQ1g7SUFBd0IsT0FEYjs7O0VBUVA7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7QUNLRTtFQzNCRTtJQUNFO0lBQ0E7SUFDQTs7O0VGNEJOO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFRW5CRTtJRkNKO0lBQ0E7SUFDQTs7O0VFR1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFU1E7SUZiUjtJQUlBOzs7RUVTUTtJRmJSO0lBSUE7OztFRVNRO0lGYlI7SUFJQTs7O0VFZUk7SUFBd0I7OztFQUV4QjtJQUF1Qjs7O0VBR3JCO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQUNYO0lBQXdCLE9BRGI7OztFQVFQO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0VFZ0JVO0lGaEJWOzs7RUVnQlU7SUZoQlY7OztFRWdCVTtJRmhCVjs7O0FHbkRGO0VBQ0U7RUFDQSxlYmlJTztFYWhJUCxPYlNTOztBYU5UO0FBQUE7RUFFRSxTYmtWMEI7RWFqVjFCO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7OztBQVVGO0FBQUE7RUFFRSxTYjRUMEI7OztBYW5UOUI7RUFDRTs7QUFFQTtBQUFBO0VBRUU7O0FBSUE7QUFBQTtFQUVFOzs7QUFNSjtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFTRjtFQUNFLGtCYndSMEI7OztBRXZWNUI7RVcyRUksT2J2RUs7RWF3RUwsa0JiNlF3Qjs7O0FjL1YxQjtBQUFBO0FBQUE7RUFHRSxrQkQyRitCOztBQ3ZGL0I7QUFBQTtBQUFBO0FBQUE7RUFJRSxjRG1GeUU7OztBWHhGL0U7RVlpQk0sa0JBSmU7O0FBTWY7QUFBQTtFQUVFLGtCQVJhOzs7QUFuQm5CO0FBQUE7QUFBQTtFQUdFLGtCRDJGK0I7O0FDdkYvQjtBQUFBO0FBQUE7QUFBQTtFQUlFLGNEbUZ5RTs7O0FYeEYvRTtFWWlCTSxrQkFKZTs7QUFNZjtBQUFBO0VBRUUsa0JBUmE7OztBQW5CbkI7QUFBQTtBQUFBO0VBR0Usa0JEMkYrQjs7QUN2Ri9CO0FBQUE7QUFBQTtBQUFBO0VBSUUsY0RtRnlFOzs7QVh4Ri9FO0VZaUJNLGtCQUplOztBQU1mO0FBQUE7RUFFRSxrQkFSYTs7O0FBbkJuQjtBQUFBO0FBQUE7RUFHRSxrQkQyRitCOztBQ3ZGL0I7QUFBQTtBQUFBO0FBQUE7RUFJRSxjRG1GeUU7OztBWHhGL0U7RVlpQk0sa0JBSmU7O0FBTWY7QUFBQTtFQUVFLGtCQVJhOzs7QUFuQm5CO0FBQUE7QUFBQTtFQUdFLGtCRDJGK0I7O0FDdkYvQjtBQUFBO0FBQUE7QUFBQTtFQUlFLGNEbUZ5RTs7O0FYeEYvRTtFWWlCTSxrQkFKZTs7QUFNZjtBQUFBO0VBRUUsa0JBUmE7OztBQW5CbkI7QUFBQTtBQUFBO0VBR0Usa0JEMkYrQjs7QUN2Ri9CO0FBQUE7QUFBQTtBQUFBO0VBSUUsY0RtRnlFOzs7QVh4Ri9FO0VZaUJNLGtCQUplOztBQU1mO0FBQUE7RUFFRSxrQkFSYTs7O0FBbkJuQjtBQUFBO0FBQUE7RUFHRSxrQkQyRitCOztBQ3ZGL0I7QUFBQTtBQUFBO0FBQUE7RUFJRSxjRG1GeUU7OztBWHhGL0U7RVlpQk0sa0JBSmU7O0FBTWY7QUFBQTtFQUVFLGtCQVJhOzs7QUFuQm5CO0FBQUE7QUFBQTtFQUdFLGtCRDJGK0I7O0FDdkYvQjtBQUFBO0FBQUE7QUFBQTtFQUlFLGNEbUZ5RTs7O0FYeEYvRTtFWWlCTSxrQkFKZTs7QUFNZjtBQUFBO0VBRUUsa0JBUmE7OztBQW5CbkI7QUFBQTtBQUFBO0VBR0Usa0JkNFZ3Qjs7O0FFelY1QjtFWWlCTSxrQkFKZTs7QUFNZjtBQUFBO0VBRUUsa0JBUmE7OztBRHdGbkI7RUFDRSxPYjNHSztFYTRHTCxrQmJwR0s7RWFxR0wsY2JnUXdCOztBYTNQMUI7RUFDRSxPYjVHSztFYTZHTCxrQmJsSEs7RWFtSEwsY2JsSEs7OztBYXVIWDtFQUNFLE9iM0hTO0VhNEhULGtCYnBIUzs7QWFzSFQ7QUFBQTtBQUFBO0VBR0UsY2I0TzBCOztBYXpPNUI7RUFDRTs7QUFJQTtFQUNFLGtCYmdPd0I7O0FFclc1QjtFVzRJTSxPYmpKRztFYWtKSCxrQmIwTnNCOzs7QVcxUzFCO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7O0VBR0E7SUFDRTs7O0FGMUdOO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7O0VBR0E7SUFDRTs7O0FGMUdOO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7O0VBR0E7SUFDRTs7O0FGMUdOO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7O0VBR0E7SUFDRTs7O0FBVE47RUFFSTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNFOzs7QUU3S1Y7RUFDRTtFQUNBO0VBQ0EsUWYwZXNDO0VlemV0QztFZDBLSTtFY3ZLSixhZmtSNEI7RWVqUjVCLGFmc1I0QjtFZXJSNUIsT2ZEUztFZUVULGtCZlRTO0VlVVQ7RUFDQTtFUkFFO0VTRkUsWURRSjs7QUNKSTtFRGROO0lDZVE7OztBRE1OO0VBQ0U7RUFDQTs7QUVoQkY7RUFDRTtFQUNBLGtCakJSTztFaUJTUCxjakJxZG9DO0VpQnBkcEM7RUFLRSxZakJvWHdCOztBZXRXNUI7RUFDRSxPZnhCTztFZTBCUDs7QUFRRjtFQUVFLGtCZnhDTztFZTBDUDs7O0FBUUY7QUFBQTtBQUFBO0FBQUE7RUFDRTs7O0FBTUY7RUFDRTtFQUNBOztBQUdGO0VBTUUsT2YvRE87RWVnRVAsa0JmdkVPOzs7QWU0RVg7QUFBQTtFQUVFO0VBQ0E7OztBQVVGO0VBQ0U7RUFDQTtFQUNBO0VkaUVFO0VjL0RGLGFmK0w0Qjs7O0FlNUw5QjtFQUNFO0VBQ0E7RWQwRUk7RWN4RUosYWY2SDRCOzs7QWUxSDlCO0VBQ0U7RUFDQTtFZG1FSTtFY2pFSixhZnVINEI7OztBZTlHOUI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFZG9ESTtFY2xESixhZmtLNEI7RWVqSzVCLE9mbkhTO0Vlb0hU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R0E7RUFDQTtFQUNBO0VBQ0E7RUN1RkE7RW5CNEVJO0VtQjFFSixhcEIwTDRCO0VPbFIxQjtFU0ZFLFlHR0o7O0FIQ0k7RUdkTjtJSGVROzs7QWRUTjtFaUJVRSxPbkJOTztFbUJPUDs7QUFHRjtFQUVFO0VBQ0EsWW5CNlcwQjs7QW1Celc1QjtFQUVFLFNuQmlaMEI7O0FtQjdZNUI7RUFDRTs7QUFjSjtBQUFBO0VBRUU7OztBQVNBO0VDM0RBO0VGQUUsa0JsQnNFVztFb0JwRWIsY3BCb0VhOztBRWhFYjtFa0JBRTtFRk5BLGtCRUQyRDtFQVMzRCxjQVRxRzs7QUFZdkc7RUFFRTtFRmJBLGtCRUQyRDtFQWdCM0QsY0FoQnFHO0VBcUJuRzs7QUFLSjtFQUVFO0VBQ0Esa0JwQjBDVztFb0J6Q1gsY3BCeUNXOztBb0JsQ2I7RUFHRTtFQUNBLGtCQXpDK0k7RUE2Qy9JLGNBN0N5TDs7QUErQ3pMO0VBS0k7OztBRFFOO0VDM0RBO0VGQUUsa0JsQnNFVztFb0JwRWIsY3BCb0VhOztBRWhFYjtFa0JBRTtFRk5BLGtCRUQyRDtFQVMzRCxjQVRxRzs7QUFZdkc7RUFFRTtFRmJBLGtCRUQyRDtFQWdCM0QsY0FoQnFHO0VBcUJuRzs7QUFLSjtFQUVFO0VBQ0Esa0JwQjBDVztFb0J6Q1gsY3BCeUNXOztBb0JsQ2I7RUFHRTtFQUNBLGtCQXpDK0k7RUE2Qy9JLGNBN0N5TDs7QUErQ3pMO0VBS0k7OztBRFFOO0VDM0RBO0VGQUUsa0JsQnNFVztFb0JwRWIsY3BCb0VhOztBRWhFYjtFa0JBRTtFRk5BLGtCRUQyRDtFQVMzRCxjQVRxRzs7QUFZdkc7RUFFRTtFRmJBLGtCRUQyRDtFQWdCM0QsY0FoQnFHO0VBcUJuRzs7QUFLSjtFQUVFO0VBQ0Esa0JwQjBDVztFb0J6Q1gsY3BCeUNXOztBb0JsQ2I7RUFHRTtFQUNBLGtCQXpDK0k7RUE2Qy9JLGNBN0N5TDs7QUErQ3pMO0VBS0k7OztBRFFOO0VDM0RBO0VGQUUsa0JsQnNFVztFb0JwRWIsY3BCb0VhOztBRWhFYjtFa0JBRTtFRk5BLGtCRUQyRDtFQVMzRCxjQVRxRzs7QUFZdkc7RUFFRTtFRmJBLGtCRUQyRDtFQWdCM0QsY0FoQnFHO0VBcUJuRzs7QUFLSjtFQUVFO0VBQ0Esa0JwQjBDVztFb0J6Q1gsY3BCeUNXOztBb0JsQ2I7RUFHRTtFQUNBLGtCQXpDK0k7RUE2Qy9JLGNBN0N5TDs7QUErQ3pMO0VBS0k7OztBRFFOO0VDM0RBO0VGQUUsa0JsQnNFVztFb0JwRWIsY3BCb0VhOztBRWhFYjtFa0JBRTtFRk5BLGtCRUQyRDtFQVMzRCxjQVRxRzs7QUFZdkc7RUFFRTtFRmJBLGtCRUQyRDtFQWdCM0QsY0FoQnFHO0VBcUJuRzs7QUFLSjtFQUVFO0VBQ0Esa0JwQjBDVztFb0J6Q1gsY3BCeUNXOztBb0JsQ2I7RUFHRTtFQUNBLGtCQXpDK0k7RUE2Qy9JLGNBN0N5TDs7QUErQ3pMO0VBS0k7OztBRFFOO0VDM0RBO0VGQUUsa0JsQnNFVztFb0JwRWIsY3BCb0VhOztBRWhFYjtFa0JBRTtFRk5BLGtCRUQyRDtFQVMzRCxjQVRxRzs7QUFZdkc7RUFFRTtFRmJBLGtCRUQyRDtFQWdCM0QsY0FoQnFHO0VBcUJuRzs7QUFLSjtFQUVFO0VBQ0Esa0JwQjBDVztFb0J6Q1gsY3BCeUNXOztBb0JsQ2I7RUFHRTtFQUNBLGtCQXpDK0k7RUE2Qy9JLGNBN0N5TDs7QUErQ3pMO0VBS0k7OztBRFFOO0VDM0RBO0VGQUUsa0JsQnNFVztFb0JwRWIsY3BCb0VhOztBRWhFYjtFa0JBRTtFRk5BLGtCRUQyRDtFQVMzRCxjQVRxRzs7QUFZdkc7RUFFRTtFRmJBLGtCRUQyRDtFQWdCM0QsY0FoQnFHO0VBcUJuRzs7QUFLSjtFQUVFO0VBQ0Esa0JwQjBDVztFb0J6Q1gsY3BCeUNXOztBb0JsQ2I7RUFHRTtFQUNBLGtCQXpDK0k7RUE2Qy9JLGNBN0N5TDs7QUErQ3pMO0VBS0k7OztBRFFOO0VDM0RBO0VGQUUsa0JsQnNFVztFb0JwRWIsY3BCb0VhOztBRWhFYjtFa0JBRTtFRk5BLGtCRUQyRDtFQVMzRCxjQVRxRzs7QUFZdkc7RUFFRTtFRmJBLGtCRUQyRDtFQWdCM0QsY0FoQnFHO0VBcUJuRzs7QUFLSjtFQUVFO0VBQ0Esa0JwQjBDVztFb0J6Q1gsY3BCeUNXOztBb0JsQ2I7RUFHRTtFQUNBLGtCQXpDK0k7RUE2Qy9JLGNBN0N5TDs7QUErQ3pMO0VBS0k7OztBRGNOO0VDUEEsT3BCWWE7RW9CWGIsY3BCV2E7O0FFaEViO0VrQndERSxPQUxnRDtFQU1oRCxrQnBCT1c7RW9CTlgsY3BCTVc7O0FvQkhiO0VBRUU7O0FBR0Y7RUFFRSxPcEJKVztFb0JLWDs7QUFHRjtFQUdFO0VBQ0Esa0JwQlpXO0VvQmFYLGNwQmJXOztBb0JlWDtFQUtJOzs7QUR6Qk47RUNQQSxPcEJZYTtFb0JYYixjcEJXYTs7QUVoRWI7RWtCd0RFLE9BTGdEO0VBTWhELGtCcEJPVztFb0JOWCxjcEJNVzs7QW9CSGI7RUFFRTs7QUFHRjtFQUVFLE9wQkpXO0VvQktYOztBQUdGO0VBR0U7RUFDQSxrQnBCWlc7RW9CYVgsY3BCYlc7O0FvQmVYO0VBS0k7OztBRHpCTjtFQ1BBLE9wQllhO0VvQlhiLGNwQldhOztBRWhFYjtFa0J3REUsT0FMZ0Q7RUFNaEQsa0JwQk9XO0VvQk5YLGNwQk1XOztBb0JIYjtFQUVFOztBQUdGO0VBRUUsT3BCSlc7RW9CS1g7O0FBR0Y7RUFHRTtFQUNBLGtCcEJaVztFb0JhWCxjcEJiVzs7QW9CZVg7RUFLSTs7O0FEekJOO0VDUEEsT3BCWWE7RW9CWGIsY3BCV2E7O0FFaEViO0VrQndERSxPQUxnRDtFQU1oRCxrQnBCT1c7RW9CTlgsY3BCTVc7O0FvQkhiO0VBRUU7O0FBR0Y7RUFFRSxPcEJKVztFb0JLWDs7QUFHRjtFQUdFO0VBQ0Esa0JwQlpXO0VvQmFYLGNwQmJXOztBb0JlWDtFQUtJOzs7QUR6Qk47RUNQQSxPcEJZYTtFb0JYYixjcEJXYTs7QUVoRWI7RWtCd0RFLE9BTGdEO0VBTWhELGtCcEJPVztFb0JOWCxjcEJNVzs7QW9CSGI7RUFFRTs7QUFHRjtFQUVFLE9wQkpXO0VvQktYOztBQUdGO0VBR0U7RUFDQSxrQnBCWlc7RW9CYVgsY3BCYlc7O0FvQmVYO0VBS0k7OztBRHpCTjtFQ1BBLE9wQllhO0VvQlhiLGNwQldhOztBRWhFYjtFa0J3REUsT0FMZ0Q7RUFNaEQsa0JwQk9XO0VvQk5YLGNwQk1XOztBb0JIYjtFQUVFOztBQUdGO0VBRUUsT3BCSlc7RW9CS1g7O0FBR0Y7RUFHRTtFQUNBLGtCcEJaVztFb0JhWCxjcEJiVzs7QW9CZVg7RUFLSTs7O0FEekJOO0VDUEEsT3BCWWE7RW9CWGIsY3BCV2E7O0FFaEViO0VrQndERSxPQUxnRDtFQU1oRCxrQnBCT1c7RW9CTlgsY3BCTVc7O0FvQkhiO0VBRUU7O0FBR0Y7RUFFRSxPcEJKVztFb0JLWDs7QUFHRjtFQUdFO0VBQ0Esa0JwQlpXO0VvQmFYLGNwQmJXOztBb0JlWDtFQUtJOzs7QUR6Qk47RUNQQSxPcEJZYTtFb0JYYixjcEJXYTs7QUVoRWI7RWtCd0RFLE9BTGdEO0VBTWhELGtCcEJPVztFb0JOWCxjcEJNVzs7QW9CSGI7RUFFRTs7QUFHRjtFQUVFLE9wQkpXO0VvQktYOztBQUdGO0VBR0U7RUFDQSxrQnBCWlc7RW9CYVgsY3BCYlc7O0FvQmVYO0VBS0k7OztBRGRSO0VBQ0UsYW5CNE00QjtFbUIzTTVCLE9uQjJGd0M7RW1CMUZ4QyxpQm5CMkZ3Qzs7QUVwS3hDO0VpQjRFRSxPbkJ5RnNDO0VtQnhGdEMsaUJuQnlGc0M7O0FtQnRGeEM7RUFFRSxpQm5Cb0ZzQzs7QW1CakZ4QztFQUVFLE9uQnRGTztFbUJ1RlA7OztBQVdKO0VDUEU7RW5CNEVJO0VtQjFFSixhcEIrSDRCO0VPdk4xQjs7O0FZaUdKO0VDWEU7RW5CNEVJO0VtQjFFSixhcEJnSTRCO0VPeE4xQjs7O0FZMEdKO0VBQ0U7RUFDQTs7QUFHQTtFQUNFLFluQnVUMEI7OztBbUIvUzVCO0FBQUE7QUFBQTtFQUNFOzs7QUUzSUo7RUxnQk0sWUtmSjs7QUxtQkk7RUtwQk47SUxxQlE7OztBS2xCTjtFQUNFOzs7QUFLRjtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFTERJLFlLRUo7O0FMRUk7RUtOTjtJTE9ROzs7O0FNcEJSO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0VBQ0U7O0FDb0JFO0VBQ0U7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S0ksWTNCK1Z3Qjs7QTJCM1Y1QjtFQUNFLGMzQnFib0M7O0EyQmxidEM7RUFDRSxPM0I3Q087RTJCOENQLGtCM0JpZjRDO0UyQmhmNUMsYzNCZ2Y0Qzs7QTJCemU1QztFQUNFLE8zQmpESzs7QTJCbURMO0VBQ0Usa0IzQnhERzs7O0EyQmtFWDtFQUNFO0VBQ0E7RUFFQTs7QUFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsTzNCdWJvQztFMkJ0YnBDLFEzQnNib0M7RTJCcmJwQztFQUNBO0VBQ0Esa0IzQnJGTztFMkJzRlA7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE8zQndhb0M7RTJCdmFwQyxRM0J1YW9DO0UyQnRhcEM7RUFDQTs7O0FBVUY7RXBCbEdFOztBb0J1R0E7RUFDRTs7QUFLRjtFQUNFLGMzQjBId0I7RWtCcFAxQixrQmxCb1AwQjs7QTJCdEgxQjtFQUNFOztBQUtGO0VUcElBLGtCbEJ3aEI0Qzs7QTJCalo1QztFVHZJQSxrQmxCd2hCNEM7OztBMkJ0WTlDO0VBRUUsZTNCeVo0Qzs7QTJCclo1QztFQUNFOztBQUtGO0VUOUpBLGtCbEJ3aEI0Qzs7O0EyQi9XaEQ7RUFDRTs7QUFHRTtFQUNFO0VBQ0EsTzNCaVkwQztFMkJoWTFDO0VBRUEsZTNCK1gwQzs7QTJCNVg1QztFQUNFO0VBQ0E7RUFDQSxPM0IwWDBDO0UyQnpYMUMsUTNCeVgwQztFMkJ4WDFDLGtCM0JwTEs7RTJCc0xMLGUzQnFYMEM7RWdCdmlCMUMsWVdtTEE7O0FYL0tBO0VXdUtGO0lYdEtJOzs7QVdtTEo7RUFDRSxrQjNCbE1LO0UyQm1NTDs7QUFLRjtFVHpNQSxrQmxCd2hCNEM7OztBMkJsVWhEO0VBQ0U7RUFDQTtFQUNBLFEzQm9Sc0M7RTJCblJ0QztFMUI1Q0k7RTBCK0NKLGEzQjRENEI7RTJCM0Q1QixhM0JnRTRCO0UyQi9ENUIsTzNCdk5TO0UyQndOVDtFQUNBO0VBQ0E7RXBCdE5FO0VvQnlORjs7QUFFQTtFQUNFLGMzQnVQb0M7RTJCdFBwQztFQUtFLFkzQmtXOEI7O0EyQi9WaEM7RUFNRSxPM0IvT0s7RTJCZ1BMLGtCM0J2UEs7O0EyQjJQVDtFQUVFO0VBQ0EsZTNCOEgwQjtFMkI3SDFCOztBQUdGO0VBQ0UsTzNCN1BPO0UyQjhQUCxrQjNCbFFPOztBMkJzUVQ7RUFDRTs7QUFJRjtFQUNFO0VBQ0E7OztBQUlKO0VBQ0UsUTNCeU5zQztFMkJ4TnRDLGEzQmdINEI7RTJCL0c1QixnQjNCK0c0QjtFMkI5RzVCLGMzQitHNEI7RUN6TnhCOzs7QTBCOEdOO0VBQ0UsUTNCa05zQztFMkJqTnRDLGEzQjZHNEI7RTJCNUc1QixnQjNCNEc0QjtFMkIzRzVCLGMzQjRHNEI7RUM5TnhCOzs7QTBCMkhOO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsUTNCZ01zQztFMkIvTHRDOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLFEzQndMc0M7RTJCdkx0QztFQUNBO0VBQ0E7O0FBRUE7RUFDRSxjM0JvS29DO0UyQm5LcEMsWTNCd0UwQjs7QTJCcEU1QjtFQUVFLGtCM0IvVE87O0EyQm1VUDtFQUNFLFMzQjBUYTs7QTJCdFRqQjtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxRM0J1SnNDO0UyQnRKdEM7RUFDQTtFQUVBLGEzQmpFNEI7RTJCa0U1QixhM0I3RDRCO0UyQjhENUIsTzNCcFZTO0UyQnFWVCxrQjNCNVZTO0UyQjZWVDtFcEJsVkU7O0FvQnNWRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFEzQmdJb0M7RTJCL0hwQztFQUNBLGEzQjdFMEI7RTJCOEUxQixPM0JwV087RTJCcVdQO0VUN1dBLGtCbEJHTztFMkI0V1A7RXBCbldBOzs7QW9COFdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUlBO0VBQTBCLFkzQm1PZTs7QTJCbE96QztFQUEwQixZM0JrT2U7O0EyQmpPekM7RUFBMEIsWTNCaU9lOztBMkI5TjNDO0VBQ0U7O0FBR0Y7RUFDRSxPM0JtTnlDO0UyQmxOekMsUTNCa055QztFMkJqTnpDO0VUbFpBLGtCbEJvUDBCO0UyQmdLMUIsUTNCa055QztFTzFsQnpDO0VTRkUsWVc2WUY7RUFDQTs7QVgxWUU7RVdpWUo7SVhoWU07OztBVzJZSjtFVDFaQSxrQmxCMm1CeUM7O0EyQjVNM0M7RUFDRSxPM0I0TGdDO0UyQjNMaEMsUTNCNExnQztFMkIzTGhDO0VBQ0EsUTNCMkxnQztFMkIxTGhDLGtCM0JoYU87RTJCaWFQO0VwQnpaQTs7QW9COFpGO0VBQ0UsTzNCd0x5QztFMkJ2THpDLFEzQnVMeUM7RWtCbm1CekMsa0JsQm9QMEI7RTJCMEwxQixRM0J3THlDO0VPMWxCekM7RVNGRSxZV3VhRjtFQUNBOztBWHBhRTtFVzRaSjtJWDNaTTs7O0FXcWFKO0VUcGJBLGtCbEIybUJ5Qzs7QTJCbEwzQztFQUNFLE8zQmtLZ0M7RTJCaktoQyxRM0JrS2dDO0UyQmpLaEM7RUFDQSxRM0JpS2dDO0UyQmhLaEMsa0IzQjFiTztFMkIyYlA7RXBCbmJBOztBb0J3YkY7RUFDRSxPM0I4SnlDO0UyQjdKekMsUTNCNkp5QztFMkI1SnpDO0VBQ0EsYzNCdEUwQjtFMkJ1RTFCLGEzQnZFMEI7RWtCbFkxQixrQmxCb1AwQjtFMkJ1TjFCLFEzQjJKeUM7RU8xbEJ6QztFU0ZFLFlXb2NGO0VBQ0E7O0FYamNFO0VXc2JKO0lYcmJNOzs7QVdrY0o7RVRqZEEsa0JsQjJtQnlDOztBMkJySjNDO0VBQ0UsTzNCcUlnQztFMkJwSWhDLFEzQnFJZ0M7RTJCcEloQztFQUNBLFEzQm9JZ0M7RTJCbkloQztFQUNBO0VBQ0E7O0FBSUY7RUFDRSxrQjNCOWRPO0VPUVA7O0FvQjBkRjtFQUNFO0VBQ0Esa0IzQnBlTztFT1FQOztBb0JpZUE7RUFDRSxrQjNCeGVLOztBMkIyZVA7RUFDRTs7QUFHRjtFQUNFLGtCM0JoZks7O0EyQm1mUDtFQUNFOztBQUdGO0VBQ0Usa0IzQnhmSzs7O0EyQjZmWDtBQUFBO0FBQUE7RVh6Zk0sWVc0Zko7O0FYeGZJO0VXcWZOO0FBQUE7QUFBQTtJWHBmUTs7OztBWWhCUjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7QTFCQ0E7RTBCR0U7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Q0U7O0FBY0Y7RUFDRTs7QUFHRjtFQUNFO0VBR0E7O0FBR0Y7RUFDRTs7O0FBY1I7RUFDRSxPN0JnZ0JnQzs7QUV4dEJsQztFMkIyTkksTzdCNmY4Qjs7QTZCeGZoQztFQUNFLE83QnFmOEI7O0FFdHRCbEM7RTJCb09NLE83Qm1mNEI7O0E2QmhmOUI7RUFDRSxPN0JpZjRCOztBNkI3ZWhDO0FBQUE7QUFBQTtBQUFBO0VBSUUsTzdCd2U4Qjs7QTZCcGVsQztFQUNFLE83QmllZ0M7RTZCaGVoQyxjN0JxZWdDOztBNkJsZWxDO0VBQ0U7O0FBR0Y7RUFDRSxPN0J3ZGdDOztBNkJ2ZGhDO0VBQ0UsTzdCd2Q4Qjs7QUV4dEJsQztFMkJtUU0sTzdCcWQ0Qjs7O0E2QjdjbEM7RUFDRSxPN0JyUk87O0FFU1Q7RTJCK1FJLE83QnhSSzs7QTZCNlJQO0VBQ0UsTzdCMGI4Qjs7QUUvc0JsQztFMkJ3Uk0sTzdCd2I0Qjs7QTZCcmI5QjtFQUNFLE83QnNiNEI7O0E2QmxiaEM7QUFBQTtBQUFBO0FBQUE7RUFJRSxPN0I3U0s7O0E2QmlUVDtFQUNFLE83QnNhZ0M7RTZCcmFoQyxjN0IwYWdDOztBNkJ2YWxDO0VBQ0U7O0FBR0Y7RUFDRSxPN0I2WmdDOztBNkI1WmhDO0VBQ0UsTzdCN1RLOztBRVNUO0UyQnVUTSxPN0JoVUc7OztBOEJIWDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQSxrQjlCSlM7RThCS1Q7RUFDQTtFdkJLRTs7QXVCRkY7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0V2QkNGO0VBQ0E7O0F1QkVBO0VBQ0U7RXZCVUY7RUFDQTs7QXVCSkY7QUFBQTtFQUVFOzs7QUFJSjtFQUdFO0VBR0E7RUFDQSxTOUIrd0JrQzs7O0E4QjN3QnBDO0VBQ0UsZTlCeXdCa0M7OztBOEJ0d0JwQztFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBNUJyREE7RTRCMERFOztBQUdGO0VBQ0UsYTlCd3ZCZ0M7OztBOEJodkJwQztFQUNFO0VBQ0E7RUFFQSxrQjlCaXZCa0M7RThCaHZCbEM7O0FBRUE7RXZCdkVFOzs7QXVCNEVKO0VBQ0U7RUFFQSxrQjlCc3VCa0M7RThCcnVCbEM7O0FBRUE7RXZCbEZFOzs7QXVCNEZKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUzlCNHNCa0M7RU8zekJoQzs7O0F1Qm1ISjtBQUFBO0FBQUE7RUFHRTtFQUNBOzs7QUFHRjtBQUFBO0V2QmpISTtFQUNBOzs7QXVCcUhKO0FBQUE7RXZCeEdJO0VBQ0E7OztBdUJnSEY7RUFDRSxlOUJvckJnQzs7QVdueEJoQztFbUI2Rko7SUFNSTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUVFO0lBQ0EsYzlCd3FCOEI7SThCdnFCOUI7SUFDQSxhOUJzcUI4Qjs7OztBOEJ6cEJsQztFQUNFLGU5QndwQmdDOztBV254QmhDO0VtQnVISjtJQVFJO0lBQ0E7O0VBR0E7SUFFRTtJQUNBOztFQUVBO0lBQ0U7SUFDQTs7RUFLQTtJdkJ6S0o7SUFDQTs7RXVCMktNO0FBQUE7SUFHRTs7RUFFRjtBQUFBO0lBR0U7O0VBSUo7SXZCMUtKO0lBQ0E7O0V1QjRLTTtBQUFBO0lBR0U7O0VBRUY7QUFBQTtJQUdFOzs7O0FBY1Y7RUFDRSxlOUI2a0JnQzs7QVdyd0JoQztFbUJzTEo7SUFNSSxjOUIwbEJnQztJOEJ6bEJoQyxZOUIwbEJnQztJOEJ6bEJoQztJQUNBOztFQUVBO0lBQ0U7SUFDQTs7OztBQVVOO0VBQ0U7O0FBRUE7RUFDRTs7QUFFQTtFQUNFO0V2QnZPRjtFQUNBOztBdUIwT0E7RXZCelBBO0VBQ0E7O0F1QjRQQTtFdkJ0UUE7RXVCd1FFOzs7QUMxUk47RUFDRTtFQUNBO0VBQ0E7RUFDQSxlL0JvaUNrQztFK0JsaUNsQztFQUNBLGtCL0JFUztFT1NQOzs7QXdCTEY7RUFDRSxjL0J3aENnQzs7QStCdGhDaEM7RUFDRTtFQUNBLGUvQm9oQzhCO0UrQm5oQzlCLE8vQk5LO0UrQk9MOztBQVVKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFLE8vQjFCTzs7O0FnQ2JYO0VBQ0U7RTVCR0E7RUFDQTtFR2FFOzs7QXlCWko7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFoQ214QmtDO0VnQ2x4QmxDLE9oQ21Ld0M7RWdDakt4QyxrQmhDUFM7RWdDUVQ7O0FBRUE7RUFDRTtFQUNBLE9oQzhKc0M7RWdDN0p0QztFQUNBLGtCaENaTztFZ0NhUCxjaENaTzs7QWdDZVQ7RUFDRTtFQUNBLFNoQzJ3QmdDO0VnQzF3QmhDLFloQzhXMEI7OztBZ0N4VzFCO0VBQ0U7RXpCYUY7RUFDQTs7QXlCVEE7RXpCTkE7RUFDQTs7QXlCVUY7RUFDRTtFQUNBLE9oQ3hDTztFZ0N5Q1Asa0JoQzBNMEI7RWdDek0xQixjaEN5TTBCOztBZ0N0TTVCO0VBQ0UsT2hDeENPO0VnQ3lDUDtFQUVBO0VBQ0Esa0JoQ2xETztFZ0NtRFAsY2hDaERPOzs7QWlDUFQ7RUFDRTtFaENnTEU7RWdDOUtGLGFqQ21PMEI7O0FpQzlOeEI7RTFCcUNGO0VBQ0E7O0EwQmpDRTtFMUJrQkY7RUFDQTs7O0EwQmhDRjtFQUNFO0VoQ2dMRTtFZ0M5S0YsYWpDb08wQjs7QWlDL054QjtFMUJxQ0Y7RUFDQTs7QTBCakNFO0UxQmtCRjtFQUNBOzs7QTJCOUJKO0VBQ0U7RUFDQTtFakM2SkU7RWlDM0pGLGFsQ3VSNEI7RWtDdFI1QjtFQUNBO0VBQ0E7RUFDQTtFM0JLRTtFU0ZFLFlrQkRKOztBbEJLSTtFa0JmTjtJbEJnQlE7OztBZExOO0VnQ0dJOzs7QUFLSjtFQUNFOzs7QUFLSjtFQUNFO0VBQ0E7OztBQU9GO0VBQ0UsZWxDZzRCa0M7RWtDLzNCbEMsY2xDKzNCa0M7RU90NUJoQzs7O0EyQmdDRjtFQ2pEQTtFQUNBLGtCbkMwRWE7O0FFNURiO0VpQ1ZJO0VBQ0E7O0FBR0Y7RUFFRTtFQUNBOzs7QURxQ0o7RUNqREE7RUFDQSxrQm5DMEVhOztBRTVEYjtFaUNWSTtFQUNBOztBQUdGO0VBRUU7RUFDQTs7O0FEcUNKO0VDakRBO0VBQ0Esa0JuQzBFYTs7QUU1RGI7RWlDVkk7RUFDQTs7QUFHRjtFQUVFO0VBQ0E7OztBRHFDSjtFQ2pEQTtFQUNBLGtCbkMwRWE7O0FFNURiO0VpQ1ZJO0VBQ0E7O0FBR0Y7RUFFRTtFQUNBOzs7QURxQ0o7RUNqREE7RUFDQSxrQm5DMEVhOztBRTVEYjtFaUNWSTtFQUNBOztBQUdGO0VBRUU7RUFDQTs7O0FEcUNKO0VDakRBO0VBQ0Esa0JuQzBFYTs7QUU1RGI7RWlDVkk7RUFDQTs7QUFHRjtFQUVFO0VBQ0E7OztBRHFDSjtFQ2pEQTtFQUNBLGtCbkMwRWE7O0FFNURiO0VpQ1ZJO0VBQ0E7O0FBR0Y7RUFFRTtFQUNBOzs7QURxQ0o7RUNqREE7RUFDQSxrQm5DMEVhOztBRTVEYjtFaUNWSTtFQUNBOztBQUdGO0VBRUU7RUFDQTs7O0FDYk47RUFDRTtFQUNBLGVwQ3d6QmtDO0VvQ3R6QmxDLGtCcENLUztFT1NQOztBSTBDQTtFeUI1REo7SUFRSTs7OztBQUlKO0VBQ0U7RUFDQTtFN0JJRTs7O0E4QmRKO0VBQ0U7RUFDQTtFQUNBLGVyQ3c5QmtDO0VxQ3Y5QmxDO0U5QlVFOzs7QThCTEo7RUFFRTs7O0FBSUY7RUFDRSxhckM0UTRCOzs7QXFDcFE5QjtFQUNFOztBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFVRjtFQy9DQSxPRGdEcUg7RW5CM0NuSCxrQm1CMkN1QjtFQzlDekIsY0Q4Q3FFOztBQzVDckU7RUFDRTs7QUFHRjtFQUNFOzs7QURzQ0Y7RUMvQ0EsT0RnRHFIO0VuQjNDbkgsa0JtQjJDdUI7RUM5Q3pCLGNEOENxRTs7QUM1Q3JFO0VBQ0U7O0FBR0Y7RUFDRTs7O0FEc0NGO0VDL0NBLE9EZ0RxSDtFbkIzQ25ILGtCbUIyQ3VCO0VDOUN6QixjRDhDcUU7O0FDNUNyRTtFQUNFOztBQUdGO0VBQ0U7OztBRHNDRjtFQy9DQSxPRGdEcUg7RW5CM0NuSCxrQm1CMkN1QjtFQzlDekIsY0Q4Q3FFOztBQzVDckU7RUFDRTs7QUFHRjtFQUNFOzs7QURzQ0Y7RUMvQ0EsT0RnRHFIO0VuQjNDbkgsa0JtQjJDdUI7RUM5Q3pCLGNEOENxRTs7QUM1Q3JFO0VBQ0U7O0FBR0Y7RUFDRTs7O0FEc0NGO0VDL0NBLE9EZ0RxSDtFbkIzQ25ILGtCbUIyQ3VCO0VDOUN6QixjRDhDcUU7O0FDNUNyRTtFQUNFOztBQUdGO0VBQ0U7OztBRHNDRjtFQy9DQSxPRGdEcUg7RW5CM0NuSCxrQm1CMkN1QjtFQzlDekIsY0Q4Q3FFOztBQzVDckU7RUFDRTs7QUFHRjtFQUNFOzs7QURzQ0Y7RUMvQ0EsT0RnRHFIO0VuQjNDbkgsa0JtQjJDdUI7RUM5Q3pCLGNEOENxRTs7QUM1Q3JFO0VBQ0U7O0FBR0Y7RUFDRTs7O0FDUkY7RUFDRTtJQUFPOztFQUNQO0lBQUs7OztBQUlUO0VBQ0U7RUFDQSxRdkNpK0JrQztFdUNoK0JsQztFQUNBO0V0Q3dLSTtFc0N0S0osa0J2Q0xTO0VPU1A7OztBZ0NDSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT3ZDakJTO0V1Q2tCVDtFQUNBO0VBQ0Esa0J2Q3M5QmtDO0VnQmorQjlCLFl1QllKOztBdkJSSTtFdUJETjtJdkJFUTs7OztBdUJVUjtFckJZRTtFcUJWQTs7O0FBSUE7RUFDRTs7QUFHRTtFQUpKO0lBS007Ozs7QUMxQ1I7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUNGRjtFQUNFO0VBQ0E7RUFHQTtFQUNBO0VsQ1FFOzs7QWtDRUo7RUFDRTtFQUNBLE96Q1JTO0V5Q1NUOztBdkNQQTtFdUNXRTtFQUNBLE96Q2RPO0V5Q2VQO0VBQ0Esa0J6Q3RCTzs7QXlDeUJUO0VBQ0UsT3pDbEJPO0V5Q21CUCxrQnpDMUJPOzs7QXlDbUNYO0VBQ0U7RUFDQTtFQUNBO0VBR0Esa0J6QzNDUztFeUM0Q1Q7O0FBRUE7RWxDMUJFO0VBQ0E7O0FrQzZCRjtFbENoQkU7RUFDQTs7QWtDbUJGO0VBRUUsT3pDbERPO0V5Q21EUDtFQUNBLGtCekMxRE87O0F5QzhEVDtFQUNFO0VBQ0EsT3pDaEVPO0V5Q2lFUCxrQnpDa0wwQjtFeUNqTDFCLGN6Q2lMMEI7O0F5QzlLNUI7RUFDRTs7QUFFQTtFQUNFO0VBQ0Esa0J6QzJKd0I7OztBeUM3STFCO0VBQ0U7O0FBR0U7RWxDMUJKO0VBWkE7O0FrQzJDSTtFbEMzQ0o7RUFZQTs7QWtDb0NJO0VBQ0U7O0FBR0Y7RUFDRSxrQnpDMEhvQjtFeUN6SHBCOztBQUVBO0VBQ0U7RUFDQSxtQnpDcUhrQjs7O0FXaEwxQjtFOEJtQ0E7SUFDRTs7RUFHRTtJbEMxQko7SUFaQTs7RWtDMkNJO0lsQzNDSjtJQVlBOztFa0NvQ0k7SUFDRTs7RUFHRjtJQUNFLGtCekMwSG9CO0l5Q3pIcEI7O0VBRUE7SUFDRTtJQUNBLG1CekNxSGtCOzs7QVdoTDFCO0U4Qm1DQTtJQUNFOztFQUdFO0lsQzFCSjtJQVpBOztFa0MyQ0k7SWxDM0NKO0lBWUE7O0VrQ29DSTtJQUNFOztFQUdGO0lBQ0Usa0J6QzBIb0I7SXlDekhwQjs7RUFFQTtJQUNFO0lBQ0EsbUJ6Q3FIa0I7OztBV2hMMUI7RThCbUNBO0lBQ0U7O0VBR0U7SWxDMUJKO0lBWkE7O0VrQzJDSTtJbEMzQ0o7SUFZQTs7RWtDb0NJO0lBQ0U7O0VBR0Y7SUFDRSxrQnpDMEhvQjtJeUN6SHBCOztFQUVBO0lBQ0U7SUFDQSxtQnpDcUhrQjs7O0FXaEwxQjtFOEJtQ0E7SUFDRTs7RUFHRTtJbEMxQko7SUFaQTs7RWtDMkNJO0lsQzNDSjtJQVlBOztFa0NvQ0k7SUFDRTs7RUFHRjtJQUNFLGtCekMwSG9CO0l5Q3pIcEI7O0VBRUE7SUFDRTtJQUNBLG1CekNxSGtCOzs7QXlDdkc5QjtFbENuSEk7O0FrQ3NIRjtFQUNFOztBQUVBO0VBQ0U7OztBQ3pJSjtFQUNFLE9Eb0pzRTtFQ25KdEUsa0JEbUp1Qzs7QXZDeEl6QztFd0NQTSxPRCtJa0U7RUM5SWxFOztBQUdGO0VBQ0UsTzFDUEc7RTBDUUgsa0JEeUlrRTtFQ3hJbEUsY0R3SWtFOzs7QUNySnhFO0VBQ0UsT0RvSnNFO0VDbkp0RSxrQkRtSnVDOztBdkN4SXpDO0V3Q1BNLE9EK0lrRTtFQzlJbEU7O0FBR0Y7RUFDRSxPMUNQRztFMENRSCxrQkR5SWtFO0VDeElsRSxjRHdJa0U7OztBQ3JKeEU7RUFDRSxPRG9Kc0U7RUNuSnRFLGtCRG1KdUM7O0F2Q3hJekM7RXdDUE0sT0QrSWtFO0VDOUlsRTs7QUFHRjtFQUNFLE8xQ1BHO0UwQ1FILGtCRHlJa0U7RUN4SWxFLGNEd0lrRTs7O0FDckp4RTtFQUNFLE9Eb0pzRTtFQ25KdEUsa0JEbUp1Qzs7QXZDeEl6QztFd0NQTSxPRCtJa0U7RUM5SWxFOztBQUdGO0VBQ0UsTzFDUEc7RTBDUUgsa0JEeUlrRTtFQ3hJbEUsY0R3SWtFOzs7QUNySnhFO0VBQ0UsT0RvSnNFO0VDbkp0RSxrQkRtSnVDOztBdkN4SXpDO0V3Q1BNLE9EK0lrRTtFQzlJbEU7O0FBR0Y7RUFDRSxPMUNQRztFMENRSCxrQkR5SWtFO0VDeElsRSxjRHdJa0U7OztBQ3JKeEU7RUFDRSxPRG9Kc0U7RUNuSnRFLGtCRG1KdUM7O0F2Q3hJekM7RXdDUE0sT0QrSWtFO0VDOUlsRTs7QUFHRjtFQUNFLE8xQ1BHO0UwQ1FILGtCRHlJa0U7RUN4SWxFLGNEd0lrRTs7O0FDckp4RTtFQUNFLE9Eb0pzRTtFQ25KdEUsa0JEbUp1Qzs7QXZDeEl6QztFd0NQTSxPRCtJa0U7RUM5SWxFOztBQUdGO0VBQ0UsTzFDUEc7RTBDUUgsa0JEeUlrRTtFQ3hJbEUsY0R3SWtFOzs7QUNySnhFO0VBQ0UsT0RvSnNFO0VDbkp0RSxrQkRtSnVDOztBdkN4SXpDO0V3Q1BNLE9EK0lrRTtFQzlJbEU7O0FBR0Y7RUFDRSxPMUNQRztFMENRSCxrQkR5SWtFO0VDeElsRSxjRHdJa0U7OztBRXhKMUU7RUFDRTtFMUNtTEk7RTBDakxKLGEzQzZSNEI7RTJDNVI1QjtFQUNBLE8zQ1lTO0UyQ1hULGEzQ3dsQ2tDO0UyQ3ZsQ2xDOztBekNLQTtFeUNERSxPM0NNTztFMkNMUDs7QXpDSUY7RXlDQ0k7OztBQVdOO0VBQ0U7RUFDQTtFQUNBOzs7QUFNRjtFQUNFOzs7QUN0Q0Y7RUFHRSxZNUMwNEJrQztFNEN6NEJsQyxXNUN5NEJrQztFQ3p0QjlCO0UyQzdLSixrQjVDMjRCa0M7RTRDMTRCbEM7RUFDQTtFQUNBLFk1QzQ0QmtDO0U0QzM0QmxDO0VyQ09FOztBcUNKRjtFQUNFLGU1QyszQmdDOztBNEM1M0JsQztFQUNFOztBQUdGO0VBQ0U7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QztFK0NuM0JsQyxhL0NtUjRCO0UrQ2pSNUI7RUFDQSxhL0MyUjRCO0UrQzFSNUIsYS9DK1I0QjtFK0M5UjVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U5Q3FLSTtFK0N4S0o7RUFDQSxrQmhETlM7RWdET1Q7RUFDQTtFekNHRTs7QXlDQ0Y7RUFDRTtFQUNBO0VBQ0EsT2hEODJCZ0M7RWdENzJCaEMsUWhEODJCZ0M7RWdENzJCaEM7O0FBRUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLTjtFQUNFLGVoRCsxQmtDOztBZ0Q3MUJsQztFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBLGtCaEQwMUI4Qjs7QWdEdjFCaEM7RUFDRSxRaEQwTHdCO0VnRHpMeEI7RUFDQSxrQmhEN0NLOzs7QWdEa0RYO0VBQ0UsYWhEMjBCa0M7O0FnRHowQmxDO0VBQ0U7RUFDQSxPaER1MEJnQztFZ0R0MEJoQyxRaERxMEJnQztFZ0RwMEJoQzs7QUFFQTtFQUNFO0VBQ0E7RUFDQSxvQmhEbTBCOEI7O0FnRGgwQmhDO0VBQ0UsTWhEbUt3QjtFZ0RsS3hCO0VBQ0Esb0JoRHBFSzs7O0FnRHlFWDtFQUNFLFloRG96QmtDOztBZ0RsekJsQztFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBLHFCaEQreUI4Qjs7QWdENXlCaEM7RUFDRSxLaEQrSXdCO0VnRDlJeEI7RUFDQSxxQmhEeEZLOztBZ0Q2RlQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9oRDJ4QmdDO0VnRDF4QmhDO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRSxjaERveEJrQzs7QWdEbHhCbEM7RUFDRTtFQUNBLE9oRGd4QmdDO0VnRC93QmhDLFFoRDh3QmdDO0VnRDd3QmhDOztBQUVBO0VBQ0U7RUFDQTtFQUNBLG1CaEQ0d0I4Qjs7QWdEendCaEM7RUFDRSxPaEQ0R3dCO0VnRDNHeEI7RUFDQSxtQmhEM0hLOzs7QWdEaUpYO0VBQ0U7RUFDQTtFL0MwQkk7RStDdkJKLGtCaEQ4dEJrQztFZ0Q3dEJsQztFekNuSUU7RUFDQTs7QXlD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QjtFQUF1Qjs7O0FBQXZCO0VBQXVCOzs7QUFJM0I7RUFBVTs7O0FBQ1Y7RUFBVTs7O0FBSVY7RUFBYzs7O0FBQ2Q7RUFBYzs7O0FBRWQ7RUFBVTs7O0FBQ1Y7RUFBVTs7O0FDVEY7RUFBZ0M7OztBQUNoQztBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQWdDOzs7QUFDaEM7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUFnQzs7O0FBQ2hDO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBZ0M7OztBQUNoQztBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQWdDOzs7QUFDaEM7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUFnQzs7O0FBQ2hDO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBZ0M7OztBQUNoQztBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQWdDOzs7QUFDaEM7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUFnQzs7O0FBQ2hDO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBZ0M7OztBQUNoQztBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQWdDOzs7QUFDaEM7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUFnQzs7O0FBQ2hDO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBUUY7RUFBd0I7OztBQUN4QjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQXdCOzs7QUFDeEI7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUF3Qjs7O0FBQ3hCO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBd0I7OztBQUN4QjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQXdCOzs7QUFDeEI7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFNTjtFQUFtQjs7O0FBQ25CO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0F4RFRGO0V3RGxESTtJQUFnQzs7O0VBQ2hDO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBZ0M7OztFQUNoQztBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQWdDOzs7RUFDaEM7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFmRjtJQUFnQzs7O0VBQ2hDO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBZ0M7OztFQUNoQztBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQWdDOzs7RUFDaEM7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFmRjtJQUFnQzs7O0VBQ2hDO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBZ0M7OztFQUNoQztBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQWdDOzs7RUFDaEM7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFmRjtJQUFnQzs7O0VBQ2hDO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBZ0M7OztFQUNoQztBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQWdDOzs7RUFDaEM7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFRRjtJQUF3Qjs7O0VBQ3hCO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBd0I7OztFQUN4QjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7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SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztBeERURjtFd0RsREk7SUFBZ0M7OztFQUNoQztBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQWdDOzs7RUFDaEM7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFmRjtJQUFnQzs7O0VBQ2hDO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBZ0M7OztFQUNoQztBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQWdDOzs7RUFDaEM7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFmRjtJQUFnQzs7O0VBQ2hDO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBZ0M7OztFQUNoQztBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQWdDOzs7RUFDaEM7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFmRjtJQUFnQzs7O0VBQ2hDO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBZ0M7OztFQUNoQztBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQWdDOzs7RUFDaEM7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFmRjtJQUFnQzs7O0VBQ2hDO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBUUY7SUFBd0I7OztFQUN4QjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQXdCOzs7RUFDeEI7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFmRjtJQUF3Qjs7O0VBQ3hCO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBd0I7OztFQUN4QjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQXdCOzs7RUFDeEI7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFNTjtJQUFtQjs7O0VBQ25CO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0F4RFRGO0V3RGxESTtJQUFnQzs7O0VBQ2hDO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBZ0M7OztFQUNoQztBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQWdDOzs7RUFDaEM7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFmRjtJQUFnQzs7O0VBQ2hDO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBZ0M7OztFQUNoQztBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQWdDOzs7RUFDaEM7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFmRjtJQUFnQzs7O0VBQ2hDO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBZ0M7OztFQUNoQztBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQWdDOzs7RUFDaEM7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFmRjtJQUFnQzs7O0VBQ2hDO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBZ0M7OztFQUNoQztBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQWdDOzs7RUFDaEM7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFRRjtJQUF3Qjs7O0VBQ3hCO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBZkY7SUFBd0I7OztFQUN4QjtBQUFBO0lBRUU7OztFQUVGO0FBQUE7SUFFRTs7O0VBRUY7QUFBQTtJQUVFOzs7RUFFRjtBQUFBO0lBRUU7OztFQWZGO0lBQXdCOzs7RUFDeEI7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cUI7SUMzSHJCLGdCRDJIcUI7SUMxSHJCLGVEMEhxQjtJQ3pIckIsY0R5SHFCO0lDeEhyQixXRHdIcUI7SUFDbkI7O0VBRUY7SUFDRTs7RUFFRjtJQ2xJQSxtQkRtSXFCO0lDbElyQixnQkRrSXFCO0lDaklyQixlRGlJcUI7SUNoSXJCLGNEZ0lxQjtJQy9IckIsV0QrSHFCO0lBQ25COzs7QUFHSjtFQUNFO0lDeElBLG1CRHlJcUI7SUN4SXJCLGdCRHdJcUI7SUN2SXJCLGVEdUlxQjtJQ3RJckIsY0RzSXFCO0lDcklyQixXRHFJcUI7SUFDbkI7O0VBRUY7SUFDRTs7RUFFRjtJQy9JQSxtQkRnSnFCO0lDL0lyQixnQkQrSXFCO0lDOUlyQixlRDhJcUI7SUM3SXJCLGNENklxQjtJQzVJckIsV0Q0SXFCO0lBQ25COzs7QUFHSjtFQUNFO0lDckpBLG1CRHNKcUI7SUNySnJCLGdCRHFKcUI7SUNwSnJCLGVEb0pxQjtJQ25KckIsY0RtSnFCO0lDbEpyQixXRGtKcUI7SUFDbkI7O0VBRUY7SUFDRTs7RUFFRjtJQzVKQSxtQkQ2SnFCO0lDNUpyQixnQkQ0SnFCO0lDM0pyQixlRDJKcUI7SUMxSnJCLGNEMEpxQjtJQ3pKckIsV0R5SnFCO0lBQ25COzs7QUFJSjtBQUNBO0VBQ0U7SUNwS0EsbUJEcUtxQjtJQ3BLckIsZ0JEb0txQjtJQ25LckIsZURtS3FCO0lDbEtyQixjRGtLcUI7SUNqS3JCLFdEaUtxQjs7RUFFckI7SUN2S0EsbUJEd0txQjtJQ3ZLckIsZ0JEdUtxQjtJQ3RLckIsZURzS3FCO0lDcktyQixjRHFLcUI7SUNwS3JCLFdEb0txQjs7RUFFckI7SUMxS0EsbUJEMktxQjtJQzFLckIsZ0JEMEtxQjtJQ3pLckIsZUR5S3FCO0lDeEtyQixjRHdLcUI7SUN2S3JCLFdEdUtxQjs7RUFFckI7SUM3S0EsbUJEOEtxQjtJQzdLckIsZ0JENktxQjtJQzVLckIsZUQ0S3FCO0lDM0tyQixjRDJLcUI7SUMxS3JCLFdEMEtxQjs7RUFFckI7SUNoTEEsbUJEaUxxQjtJQ2hMckIsZ0JEZ0xxQjtJQy9LckIsZUQrS3FCO0lDOUtyQixjRDhLcUI7SUM3S3JCLFdENktxQjs7O0FBSXZCO0FBQ0E7RUFDRTtJQUNBOztFQUVBO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQUlKO0FBQ0E7RUFDRTtJQUFLOztFQUNMO0lBQU87OztBQUVUO0VBQ0U7SUFBSzs7RUFDTDtJQUFNOzs7QUFFUjtFQUNFO0lBQUk7O0VBQ0o7SUFBTTs7O0FBR1I7QUFDQTtFQUNFO0lBQUs7O0VBQ0w7SUFBTzs7O0FBRVQ7RUFDRTtJQUFLOztFQUNMO0lBQU07OztBQUVSO0VBQ0U7SUFBSTs7RUFDSjtJQUFNOzs7QUFHUjtBQUNBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7O0FyRnBUSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBd0ZBO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFLE91RmxIWTs7O0F2Rm9IZDtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQSxhdUY3R1c7RXZGOEdYLE91RnhIYztFdkZ5SGQ7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQSxrQnVGbEljO0V2Rm1JZCxPdUY1SE07RXZGNkhOO0VzRjdIQSx1QnRGOEh1QjtFc0Y3SHZCLG9CdEY2SHVCO0VzRjVIdkIsZXRGNEh1QjtFQUN2QjtFQUNBLGF1RmhHc0I7OztBdkZtR3hCO0FBQ0E7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7QUFDQTtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtBQUNBO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUdGO0FBQ0E7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0Usa0J1RjFUYzs7O0F2RjRUaEI7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0E7RUFDRTs7O0FBSUY7RUFDRTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RXNGM1ZFLHVCdEY0VnVCO0VzRjNWdkIsb0J0RjJWdUI7RXNGMVZ2QixldEYwVnVCOzs7QUFFekI7RXNGOVZFLHVCdEYrVnVCO0VzRjlWdkIsb0J0RjhWdUI7RXNGN1Z2QixldEY2VnVCOzs7QUFFekI7QUFDQTtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7O0FBR0o7RUFDRTtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7OztBQUlKO0FBQ0E7RUFDRSxrQnVGcllZO0V2RnNZWjtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBLGtCdUZ2WkE7RXZGd1pBO0VzRnhaTix1QnRGeVo2QjtFc0Z4WjdCLG9CdEZ3WjZCO0VzRnZaN0IsZXRGdVo2Qjs7QUFFekI7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNUjtBQUNBO0VBQ0U7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQSxXdUYvYWE7RXZGZ2JiLE91Ri9iWTtFdkZnY1o7RUFDQTtFc0YxYkYsdUJ0RjJieUI7RXNGMWJ6QixvQnRGMGJ5QjtFc0Z6YnpCLGV0RnlieUI7RUFDdkI7RUFDQTtFQUNBLGF1Ri9aaUI7O0F2RmlhbkI7RUFDRTtFQUNBLE91RmxjSTs7QXZGb2NOO0VBQ0U7RXNGcmNGLHVCdEZzY3lCO0VzRnJjekIsb0J0RnFjeUI7RXNGcGN6QixldEZvY3lCO0VBQ3ZCO0VBQ0EsT3VGemNZOztBdkYyY2Q7RUFDRSxXdUZoY1c7RXZGaWNYLGF1RjVhb0I7O0F2RjZhcEI7RUFIRjtJQUlJLFd1RjViTTs7O0F2RjhiUjtFQU5GO0lBT0ksV3VGN2JNOzs7QXZGZ2NOO0VBREY7SUFFSTs7O0FBRUY7RUFKRjtJQUtJOzs7QUFFRjtFQVBGO0lBUUk7OztBQUlOO0VBQ0UsT3VGcmVZO0V2RnNlWjtFQUNBLFd1RnpjUzs7O0F2RjRjYjtBQUNBO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBRUU7RUFERjtJQUVJOzs7QUFFRjtFQUpGO0lBS0k7OztBQUVGO0VBUEY7SUFRSTs7OztBQUtSO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFc0Z6Z0JGLHVCdEYwZ0J5QjtFc0Z6Z0J6QixvQnRGeWdCeUI7RXNGeGdCekIsZXRGd2dCeUI7RUFDdkIsa0J1RmxoQlk7O0F2Rm9oQmQ7RUFDRTtFQUNBO0VBQ0Esa0J1RmhoQkk7RXZGaWhCSjtFc0ZqaEJGLHVCdEZraEJ5QjtFc0ZqaEJ6QixvQnRGaWhCeUI7RXNGaGhCekIsZXRGZ2hCeUI7OztBQUt6QjtFQUVFLGtCdUZ6aEJJOztBdkYyaEJOO0VBQ0Usa0J1RnBpQlU7OztBdkZ1aUJkO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFc0ZwaUJBLHVCdEZxaUJ1QjtFc0ZwaUJ2QixvQnRGb2lCdUI7RXNGbmlCdkIsZXRGbWlCdUI7RUFDdkIsa0J1RnRpQk07RURLTixvQnRGa2lCb0I7RXNGamlCcEIsaUJ0RmlpQm9CO0VzRmhpQnBCLFl0RmdpQm9CO0VBQ3BCO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFd1RnZpQlE7RXZGd2lCUjtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV3VGOWlCUztFdkYraUJUO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFd1RnJrQlM7RXZGc2tCVCxPdUZubUJZO0V2Rm9tQlo7OztBQUlKO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFd1RjNsQlM7RXZGNGxCVCxPdUZ6bkJZO0V2RjBuQlo7OztBQUtGO0VBQ0UsT3VGem5CSTs7O0F2RjZuQk47RUFDRSxPdUYvbkJZOzs7QXZGa29CaEI7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQSxrQnVGM29CYzs7O0F2RjhvQmhCO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VzRnBvQkEsbUJ0RnFvQm1CO0VzRnBvQm5CLGdCdEZvb0JtQjtFc0Zub0JuQixldEZtb0JtQjtFc0Zsb0JuQixjdEZrb0JtQjtFc0Zqb0JuQixXdEZpb0JtQjs7QUFDbkI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7OztBQUdKO0VBQ0U7O0FBQ0E7RUFDRTtFQUNBOzs7QUFHSjtFQUNFOztBQUNBO0VBQ0U7RUFDQTs7O0FBR0o7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7OztBQUdKO0VBQ0U7O0FBQ0E7RUFDRTtFQUNBOzs7QUFHSjtFQUNFOztBQUNBO0VBQ0U7RUFDQTs7O0FBS0o7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE91Rmx2Qlk7RXZGbXZCWixrQnVGM3VCTTtFREFOLHVCdEY0dUJ1QjtFc0YzdUJ2QixvQnRGMnVCdUI7RXNGMXVCdkIsZXRGMHVCdUI7RXNGdnVCdkIsb0J0Rnd1Qm9CO0VzRnZ1QnBCLGlCdEZ1dUJvQjtFc0Z0dUJwQixZdEZzdUJvQjtFQUNwQjtFQUNBO0VzRnR2QkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXRGb3ZCQTtFQUNFLGtCdUYxdkJVO0V2RjJ2QlYsT3VGbnZCSTs7O0F2RnV2QlI7QUFBQTtBQUFBO0FBS0k7RUFDRSxPdUZwd0JVO0V2RnF3QlY7RUFDQSxXdUZydUJPO0V2RnN1QlA7RXNGaHdCSix1QnRGaXdCMkI7RXNGaHdCM0Isb0J0Rmd3QjJCO0VzRi92QjNCLGV0Rit2QjJCO0VBQ3ZCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFc0Y5d0JKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0F0RjZ3QkU7RUFFRSxrQnVGbnhCVTtFdkZveEJWLE91Rjd3QkU7OztBdkZreEJSO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQSxrQnVGcnhCTTtFREZOLHVCdEZ3eEJ1QjtFc0Z2eEJ2QixvQnRGdXhCdUI7RXNGdHhCdkIsZXRGc3hCdUI7RUFDdkI7RUFDQTtFQUNBOztBQUNBO0VBQ0Usa0J1RnB5Qlk7O0F2RnN5QmQ7RUFDRSxrQnVGaHlCSTtFdkZpeUJKO0VzRmp5QkYsdUJ0Rmt5QnlCO0VzRmp5QnpCLG9CdEZpeUJ5QjtFc0ZoeUJ6QixldEZneUJ5QjtFQUN2QjtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQVBGO0lBUUk7OztBQUVGO0VBQ0U7RXNGcnpCRix1QnRGc3pCeUI7RXNGcnpCekIsb0J0RnF6QnlCO0VzRnB6QnpCLGV0Rm96QnlCO0VBQ3ZCO0VBQ0E7RUFDQTtFQUNBLGtCdUZsMEJVO0V2Rm0wQlYsT3VGM3pCSTtFRFBOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0F0RmcwQkU7RUFDRSxrQnVGcjBCVTs7QXZGdzBCZDtFQUNFLE91RjEwQlU7RXZGMjBCVjtFQUNBLFd1RjF5QlM7RXZGMnlCVDtFQUNBLGF1RnR5Qm9COztBdkZ3eUJ0QjtFQUNFO0VBQ0EsT3VGLzBCWTtFdkZnMUJaLGF1RjN5Qm9CO0V2RjR5QnBCOzs7QUFJSjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0FBQUE7RUFFRTtFQUNBOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhdUYvMEJvQjtFdkZnMUJwQixXdUZ0MUJTO0VEMUJYLHVCdEZpM0J5QjtFc0ZoM0J6QixvQnRGZzNCeUI7RXNGLzJCekIsZXRGKzJCeUI7RUFDdkIsT3VGMTNCVTs7QXZGNDNCWjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RXNGejNCRix1QnRGMDNCeUI7RXNGejNCekIsb0J0RnkzQnlCO0VzRngzQnpCLGV0RnczQnlCO0VzRmo0QnpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0F0RiszQkU7QUFBQTtFQUNFLGtCdUZwNEJVO0V2RnE0QlYsT3VGOTNCRTtFdkYrM0JGLGN1RnQ0QlU7O0F2Rnk0QmQ7RUFDRTtFQUNBOztBQUVGO0VBQ0U7OztBQUlKO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFHSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0FBQUE7QUFBQTtBQUlFO0VBQ0UsT3VGbCtCVTtFdkZtK0JWLFd1RnA5QmE7RXZGcTlCYixhdUY3N0JpQjtFdkY4N0JqQjs7QUFFRjtBQUFBO0VBRUU7RUFDQTs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOztBQUVGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCdUZuL0JJO0VEQU4sdUJ0Rm8vQnlCO0VzRm4vQnpCLG9CdEZtL0J5QjtFc0ZsL0J6QixldEZrL0J5Qjs7QUFFekI7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV3VGbC9CYTtFdkZtL0JiLE91RjcvQkk7RURQTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V0RmtnQ0U7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFLGtCdUZqaENZO0V2RmtoQ1osY3VGbGhDWTs7QXZGb2hDZDtFQUNFLE91RnJoQ1k7RXZGc2hDWixhdUZoL0JpQjtFdkZpL0JqQixXdUZ6Z0NhOztBdkY0Z0NiO0VBREY7SUFFSTtJQUNBOzs7O0FBS047QUFFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFd1RmhoQ1E7RXZGaWhDUjtFc0ZwaUNGLHVCdEZxaUN5QjtFc0ZwaUN6QixvQnRGb2lDeUI7RXNGbmlDekIsZXRGbWlDeUI7RUFDdkIsa0J1RnRpQ0k7RXZGdWlDSixPdUYvaUNVO0V2RmdqQ1Y7O0FBQ0E7RUFDRSxPdUZqakNVOztBdkZtakNaO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXNGcGpDSix1QnRGcWpDMkI7RXNGcGpDM0Isb0J0Rm9qQzJCO0VzRm5qQzNCLGV0Rm1qQzJCO0VBQ3ZCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7O0FBR0o7RUFDRSxPdUZua0NJO0V2Rm9rQ0o7RUFDQSxhdUZ0aUNpQjs7O0F2RjBpQ3JCO0FBRUU7RUFDRTs7QUFDQTtFQUNFO0VBQ0EsT3VGdmxDUTtFdkZ3bENSO0VBQ0E7RUFDQTtFc0ZsbENKLHVCdEZtbEMyQjtFc0ZsbEMzQixvQnRGa2xDMkI7RXNGamxDM0IsZXRGaWxDMkI7RUFDdkI7RUFDQTtFc0Y1bENKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0F0RjBsQ0k7RUFDRSxrQnVGL2xDUTtFdkZnbUNSLE91RnpsQ0E7OztBQ1JSO0FBQ0E7RUFDRSxXRGFlO0VDWmY7RUFDQSxrQkRIYztFQ0lkLE9ER007RUNGTixhRGlDbUI7RUNoQ25CO0VBQ0E7RUZBQSx1QkVDdUI7RUZBdkI7RUFDQSxlRUR1QjtFQUN2QjtFQUNBO0VBQ0E7RUZYQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VFU0E7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUZNRixtQkVMcUI7RUZNckIsZ0JFTnFCO0VGT3JCLGVFUHFCO0VGUXJCLGNFUnFCO0VGU3JCLFdFVHFCOztBQUVyQjtFQUNFLE9EZEk7RUNlSixrQkRyQlk7RURXZCxvQkVXc0I7RUZWdEIsaUJFVXNCO0VGVHRCLFlFU3NCO0VGQXRCLG1CRUNxQjtFRkFyQjtFQUNBLGVFRHFCO0VGRXJCLGNFRnFCO0VGR3JCLFdFSHFCOzs7QUFHdkI7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBUkY7SUFTSTtJQUNBOzs7QUFFRjtFQUNFOztBQUNBO0VBQ0U7O0FBSUY7RUFDRSxrQkQvQ1U7OztBQ29EaEI7RUFDRSxrQkRWYzs7O0FDWWhCO0VBQ0Usa0JEVGM7OztBQ1doQjtFQUNFLGtCRFhjOzs7QUNhaEI7QUFDQTtFQUNFO0VBQ0Esa0JEakVjO0VDa0VkLE9EM0RNO0VDNEROLGFEN0JtQjtFQzhCbkIsV0R0RGU7RURkZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VFa0VBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTs7QUFFRjtFQUNFLGtCRDlFWTtFQytFWixPRHpFSTs7O0FDNkVSO0FBQ0E7RUFDRTtF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QksyYXlCO0VMMWF6QixlSzBheUI7RUx6YXpCLGNLeWF5QjtFTHhhekIsV0t3YXlCO0VMbmN6QjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS2tjSTtFTC9hSixtQktnYnlCO0VML2F6QixnQksrYXlCO0VMOWF6QixlSzhheUI7RUw3YXpCLGNLNmF5QjtFTDVhekIsV0s0YXlCOztBQUduQjtFTG5iTixtQktxYjJCO0VMcGIzQixnQktvYjJCO0VMbmIzQixlS21iMkI7RUxsYjNCLGNLa2IyQjtFTGpiM0IsV0tpYjJCOztBQUszQjtFQUNFOztBQUVFO0VBQ0U7RUxyZE47RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUttZE07RUFDRSxPSmpkRjtFSWtkRTtFQUNBO0VBQ0E7RUwzZFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFS3lkUSxhSnZiVzs7QUl5YmI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFTHRlUjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS29lUTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCSnplSjtFRGdCTixtQkswZDZCO0VMemQ3QixnQkt5ZDZCO0VMeGQ3QixlS3dkNkI7RUx2ZDdCLGNLdWQ2QjtFTHRkN0IsV0tzZDZCO0VMamY3QjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS2dmUTtFTDdkUixtQks4ZDZCO0VMN2Q3QixnQks2ZDZCO0VMNWQ3QixlSzRkNkI7RUwzZDdCLGNLMmQ2QjtFTDFkN0IsV0swZDZCOztBQUVyQjtFQUNFOztBQUdKO0VBQ0U7O0FBQ0E7RUFDRTs7QUFDQTtFQUNFOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFTHZnQmQsdUJLd2dCcUM7RUx2Z0JyQyxvQkt1Z0JxQztFTHRnQnJDLGVLc2dCcUM7RUFDdkI7RUxoaEJkO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FLK2dCWTtFQUNFLE9KN2dCUjtFSThnQlE7O0FBQ0E7RUFDRSxrQkpoaEJWO0VJaWhCVSxPSnpoQko7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O0VSakQzQixlUWlEMkI7RVI5QzNCLG9CUStDd0I7RVI5Q3hCLGlCUThDd0I7RVI3Q3hCLFlRNkN3QjtFQUNwQjtFQUNBO0VBQ0E7RVI5REo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFUTRESTs7QUFDQTtFQUNFO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RVJoRVIsdUJRaUUrQjtFUmhFL0Isb0JRZ0UrQjtFUi9EL0IsZVErRCtCO0VBQ3ZCO0VBQ0EsT1AxRU07RU8yRU4sV1BqREU7RU9rREY7RVI1RVI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVEwRVE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVI3RVYsdUJROEVpQztFUjdFakMsb0JRNkVpQztFUjVFakMsZVE0RWlDO0VBQ3ZCLGtCUC9FSjtFRGdCTixtQlFnRTZCO0VSL0Q3QixnQlErRDZCO0VSOUQ3QixlUThENkI7RVI3RDdCLGNRNkQ2QjtFUjVEN0IsV1E0RDZCO0VSdkY3QjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBUXVGTTtFQUNFO0VBQ0EsV1A1REc7RU82REg7RVI5RlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVE4Rkk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFUmhHTix1QlFpRzZCO0VSaEc3QixvQlFnRzZCO0VSL0Y3QixlUStGNkI7RUFDdkIsa0JQbEdBO0VPbUdBO0VSMUdOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVF3R007O0FBRUY7RUFDRTtFQUNBO0VSekZOLG1CUTBGeUI7RVJ6RnpCLGdCUXlGeUI7RVJ4RnpCLGVRd0Z5QjtFUnZGekIsY1F1RnlCO0VSdEZ6QixXUXNGeUI7O0FBRXJCO0VBQ0U7RUFDQTtFUjlGTixtQlErRnlCO0VSOUZ6QixnQlE4RnlCO0VSN0Z6QixlUTZGeUI7RVI1RnpCLGNRNEZ5QjtFUjNGekIsV1EyRnlCOztBQUVyQjtFQUNFLGtCUHpIUTs7QU8ySE47RUFDRSxrQlBySEo7O0FPc0hJO0VBQ0Usa0JQOUhFOztBT2lJTjtFQUNFLE9QM0hKOztBTzhIQTtFUjlHTixtQlErRzJCO0VSOUczQixnQlE4RzJCO0VSN0czQixlUTZHMkI7RVI1RzNCLGNRNEcyQjtFUjNHM0IsV1EyRzJCOztBQUVyQjtFUmpITixtQlFrSDJCO0VSakgzQixnQlFpSDJCO0VSaEgzQixlUWdIMkI7RVIvRzNCLGNRK0cyQjtFUjlHM0IsV1E4RzJCOzs7QUN6STdCO0FBRUU7RUFDRTs7QUFFRTtFQUNFOztBQUdKO0VBQ0U7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VUVE4sdUJTVTZCO0VUVDdCLG9CU1M2QjtFVFI3QixlU1E2Qjs7QUFFekI7RUFDRSxXUlVLO0VRVEw7RUFDQTtFQUNBLGFSZ0JnQjtFUWZoQjs7QUFFRjtFQUNFLFdSYlM7RVFjVDtFQUNBLGFSU2E7RVFSYjtFQUNBOztBQUVGO0VBQ0UsT1IvQlE7RVFnQ1IsV1JyQlM7O0FRc0JUO0VBQ0U7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPUjdDUTtFUThDUixhUlJXO0VEeENqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VTOENNOztBQUlOO0VBQ0U7O0FBQ0E7RUFDRTtFQUNBO0VUbkNKLG1CU29DdUI7RVRuQ3ZCLGdCU21DdUI7RVRsQ3ZCLGVTa0N1QjtFVGpDdkIsY1NpQ3VCO0VUaEN2QixXU2dDdUI7RUFDbkI7RUFDQTtFQUNBO0VBQ0E7RVR4REosdUJTeUQyQjtFVHhEM0Isb0JTd0QyQjtFVHZEM0IsZVN1RDJCO0VBQ3ZCLGtCUjFERTtFUTJERjtFVHRESixvQlN1RHdCO0VUdER4QixpQlNzRHdCO0VUckR4QixZU3FEd0I7RUFDcEIsV1JyQ087RUQvQlg7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVNrRUk7RUFkRjtJQWVJO0lUaEROLG1CU2lEeUI7SVRoRHpCLGdCU2dEeUI7SVQvQ3pCLGVTK0N5QjtJVDlDekIsY1M4Q3lCO0lUN0N6QixXUzZDeUI7OztBQUVyQjtFQWxCRjtJQW1CSTtJQUNBOzs7QUFFRjtFQUNFLGtCUi9FUTtFUWdGUixPUnpFQTs7QVEyRUY7RUFDRTs7QUFDQTtFQUZGO0lBR0k7OztBQUVGO0VBTEY7SUFNSTs7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NkI7RVRwVDdCLG9CU29UNkI7RVRuVDdCLGVTbVQ2Qjs7QUFHM0I7RUFDRTs7QUFDQTtFQUNFLFdScFNLO0VRcVNMO0VBQ0E7RUFDQSxhUjlSZ0I7RVErUmhCOztBQUVGO0VBQ0UsV1IzVFM7RVE0VFQ7RUFDQSxhUnJTYTtFUXNTYjtFQUNBOztBQUVGO0VBQ0UsT1I3VVE7RVE4VVIsV1JuVVM7O0FRb1VUO0VBQ0U7O0FBR0o7RUFDRTtFQUNBOztBQUdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsV1JyVU07RVFzVU47RUFDQTtFQUNBO0VBQ0Esa0JSNVZFO0VRNlZGLE9SbFdVO0VRbVdWO0VBQ0E7RVQvVkosdUJTZ1cyQjtFVC9WM0Isb0JTK1YyQjtFVDlWM0IsZVM4VjJCO0VUaFYzQixtQlNpVnVCO0VUaFZ2QixnQlNnVnVCO0VUL1V2QixlUytVdUI7RVQ5VXZCLGNTOFV1QjtFVDdVdkIsV1M2VXVCO0VBQ25CLGFSalVhO0VEeENqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VTdVdJOztBQUdBO0VBQ0Usa0JSL1dRO0VRZ1hSLE9SeldBO0VRMFdBLGNSalhROzs7QVF1WGhCO0FBR0U7RUFDRTtFQUNBO0VUclhGLHVCU3NYeUI7RVRyWHpCLG9CU3FYeUI7RVRwWHpCLGVTb1h5QjtFQUN2QixrQlJ2WEk7RVF3WEo7RVQvWEY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFUzZYRTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVR2WU4sdUJTd1k2QjtFVHZZN0Isb0JTdVk2QjtFVHRZN0IsZVNzWTZCO0VBQ3ZCLGtCUnpZQTtFREtOLG9CU3FZMEI7RVRwWTFCLGlCU29ZMEI7RVRuWTFCLFlTbVkwQjs7QUFFdEI7RUFDRSxXUnRYSztFUXVYTDtFQUNBLGFSL1dnQjtFRHZDdEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFU29aTTs7QUFFRjtFQUNFLFdSN1lTO0VROFlUO0VBQ0E7RUFDQSxhUnhYYTtFRHRDbkI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFUzRa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eUZkO0VabEVBLG1CWW1FcUI7RVpsRXJCLGdCWWtFcUI7RVpqRXJCLGVZaUVxQjtFWmhFckIsY1lnRXFCO0VaL0RyQixXWStEcUI7OztBQUl2QjtBQUNBO0VBQ0U7RUFDQTtFWjFGQSx1QlkyRnVCO0VaMUZ2QixvQlkwRnVCO0VaekZ2QixlWXlGdUI7O0FBRXJCO0VaN0ZGLHVCWThGMkI7RVo3RjNCLG9CWTZGMkI7RVo1RjNCLGVZNEYyQjtFQUN2Qjs7QUFHSjtFQUNFO0VBQ0E7O0FBRUU7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVo3R1IsdUJZOEcrQjtFWjdHL0Isb0JZNkcrQjtFWjVHL0IsZVk0RytCO0VBQ3ZCLFdYdEZHOztBV3VGSDtFQUNFLGtCWHpIRTtFVzBIRixPWGxISjs7O0FXMEhSO0FBR0k7RUFDRTtFWnpISixvQlkwSHdCO0Vaekh4QixpQll5SHdCO0VaeEh4QixZWXdId0I7O0FBRXRCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RVpySEosbUJZc0h1QjtFWnJIdkIsZ0JZcUh1QjtFWnBIdkIsZVlvSHVCO0Vabkh2QixjWW1IdUI7RVpsSHZCLFdZa0h1QjtFQUNuQixNWHZJRTtFV3dJRjs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VaeEpKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FZc0pJO0VBQ0U7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQlg1SkY7RURBTix1Qlk2SitCO0VaNUovQixvQlk0SitCO0VaM0ovQixlWTJKK0I7RUFDdkIsT1h0S0k7RURDWjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBWW1LUTtFQUNFLGtCWHhLSTtFV3lLSixPWGxLSjs7QVd3S047RVp4SkEsbUJZeUpxQjtFWnhKckIsZ0JZd0pxQjtFWnZKckIsZVl1SnFCO0VadEpyQixjWXNKcUI7RVpySnJCLFdZcUpxQjs7QUFFakI7RUFDRTtFQUNBO0VBQ0E7OztBQU9SO0FBR0k7RVp4TEYsdUJZeUwyQjtFWnhMM0Isb0JZd0wyQjtFWnZM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QTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JiekNVO0VhMENWO0VkekNGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0Fjd0NBO0VkckNBLHVCY3NDeUI7RWRyQ3pCLG9CY3FDeUI7RWRwQ3pCLGVjb0N5QjtFQUN2Qjs7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7O0FBS047QUFBQTtBQUFBO0FBR0E7RWRuREUsdUJjb0R1QjtFZG5EdkIsb0JjbUR1QjtFZGxEdkIsZWNrRHVCOztBQUN2QjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWRwRUY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBLHVCYytEeUI7RWQ5RHpCLG9CYzhEeUI7RWQ3RHpCLGVjNkR5QjtFZC9DekIsbUJjZ0RxQjtFZC9DckIsZ0JjK0NxQjtFZDlDckIsZWM4Q3FCO0VkN0NyQixjYzZDcUI7RWQ1Q3JCLFdjNENxQjtFQUNuQjtFQUNBOztBQUVGO0VBQ0U7RUFDQSxPYjlFVTs7QWErRVY7RWR2REYsbUJjd0R1QjtFZHZEdkIsZ0JjdUR1QjtFZHREdkIsZWNzRHVCO0VkckR2QixjY3FEdUI7RWRwRHZCLFdjb0R1QjtFQUNuQjtFQUNBOzs7QUFLTjtBQUFBO0FBQUE7QUFHQTtFZGxGRSx1QmNtRnVCO0VkbEZ2QixvQmNrRnVCO0VkakZ2QixlY2lGdUI7O0FBQ3ZCO0VkM0ZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FjMEZBO0VkdkZBLHVCY3dGeUI7RWR2RnpCLG9CY3VGeUI7RWR0RnpCLGVjc0Z5Qjs7QUFDdkI7RWR6RUYsbUJjMEV1QjtFZHpFdkIsZ0JjeUV1QjtFZHhFdkIsZWN3RXVCO0VkdkV2QixjY3VFdUI7RWR0RXZCLFdjc0V1QjtFQUNuQixPYjNGRTs7O0FhZ0dSO0FBQUE7QUFBQTtBQUdBO0VkbkdFLHVCY29HdUI7RWRuR3ZCLG9CY21HdUI7RWRsR3ZCLGVja0d1QjtFQUN2QixrQmJyR007RURLTixvQmNpR29CO0VkaEdwQixpQmNnR29CO0VkL0ZwQixZYytGb0I7RUFDcEI7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RWRsSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QWNpSEE7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWR0SEYsbUJjdUhxQjtFZHRIckIsZ0Jjc0hxQjtFZHJIckIsZWNxSHFCO0VkcEhyQixjY29IcUI7RWRuSHJCLFdjbUhxQjtFQUNuQjtFZC9JRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VjNklFOztBQUVGO0VBQ0U7RWQ3SUYsdUJjOEl5QjtFZDdJekIsb0JjNkl5QjtFZDVJekIsZWM0SXlCOztBQUN2QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNRSxPYnJKRTs7QWF1Sko7RUFDRTtFQUNBOzs7QUFLTjtBQUFBO0FBQUE7QUFHQTtFZGpLRSx1QmNrS3VCO0Vkakt2QixvQmNpS3VCO0VkaEt2QixlY2dLdUI7RUFDdkIsa0JibktNO0VES04sb0JjK0pvQjtFZDlKcEIsaUJjOEpvQjtFZDdKcEIsWWM2Sm9CO0VBQ3BCO0VBQ0E7RUFDQTtFZDlLQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBYzRLQTtFQUNFO0VBQ0Esa0JiakxZOzs7QWFvTGhCO0FBQUE7QUFBQTtBQUdBO0VkakxFLHVCY2tMdUI7RWRqTHZCLG9CY2lMdUI7RWRoTHZCLGVjZ0x1QjtFQUN2QjtFQUNBLE9iM0xjOztBYTRMZDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFZDNMRix1QmM0THlCO0VkM0x6QixvQmMyTHlCO0VkMUx6QixlYzBMeUI7RUFDdkI7RUFDQTtFZHJNRjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBY29NQTtFZGpNQSx1QmNrTXlCO0Vkak16QixvQmNpTXlCO0VkaE16QixlY2dNeUI7RUFDdkI7O0FBQ0E7RWRwTUYsdUJjcU0yQjtFZHBNM0Isb0Jjb00yQjtFZG5NM0IsZWNtTTJCO0VkckwzQixtQmNzTHVCO0Vkckx2QixnQmNxTHVCO0VkcEx2QixlY29MdUI7RWRuTHZCLGNjbUx1QjtFZGxMdkIsV2NrTHVCO0VBQ25CLGtCYjdNVTs7O0FhaU5oQjtBQUFBO0FBQUE7QUFHQTtFZDlNRSx1QmMrTXVCO0VkOU12QixvQmM4TXVCO0VkN012QixlYzZNdUI7RUFDdkI7RUFDQSxPYmpOTTs7QWFrTk47RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQmJqT1U7RWFrT1Y7RUFDQTtFZGxPRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VjZ09FOztBQUVGO0VkL05BLHVCY2dPeUI7RWQvTnpCLG9CYytOeUI7RWQ5TnpCLGVjOE55QjtFQUN2Qjs7QUFDQTtFQUNFO0VBQ0E7OztBQUtOO0FBQUE7QUFBQTtBQUdBO0VkNU9FLHVCYzZPdUI7RWQ1T3ZCLG9CYzRPdUI7RWQzT3ZCLGVjMk91QjtFQUN2QjtFQUNBLE9iL09NOztBYWdQTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCYjlQWTtFYStQWjtFQUNBO0VkaFFGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWM4UEU7O0FBRUY7RWQ3UEEsdUJjOFB5QjtFZDdQekIsb0JjNlB5QjtFZDVQekIsZWM0UHlCO0VBQ3ZCOztBQUNBO0VBQ0U7RUFDQTs7O0FBS047QUFBQTtBQUFBO0FBR0E7RWQxUUUsdUJjMlF1QjtFZDFRdkIsb0JjMFF1QjtFZHpRdkIsZWN5UXVCO0VBQ3ZCO0VBQ0EsT2I3UU07O0FhOFFOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JiaFBZO0VhaVBaO0VBQ0E7RWQ5UkY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFYzRSRTs7QUFFRjtFZDNSQSx1QmM0UnlCO0VkM1J6QixvQmMyUnlCO0VkMVJ6QixlYzBSeUI7RUFDdkI7O0FBQ0E7RUFDRTtFQUNBOzs7QUN2U047QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFZklGLG9CZUhzQjtFZkl0QixpQmVKc0I7RWZLdEIsWWVMc0I7RWZGdEIsdUJlR3lCO0VmRnpCLG9CZUV5QjtFZkR6QixlZUN5QjtFQUN2Qjs7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7QUFHSjtBQUFBO0VBRUU7RUFDQSxrQmRkSTtFY2VKO0VBQ0E7RWZ2QkY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQVFBLG9CZWFzQjtFZlp0QixpQmVZc0I7RWZYdEIsWWVXc0I7RWZsQnRCLHVCZW1CeUI7RWZsQnpCLG9CZWtCeUI7RWZqQnpCLGVlaUJ5Qjs7QUFFekI7RUFDRTs7QUFFRjtFQUNFLGtCZGpDVTtFY2tDVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWZmRixtQmVnQnFCO0VmZnJCLGdCZWVxQjtFZmRyQixlZWNxQjtFZmJyQixjZWFxQjtFZlpyQixXZVlxQjs7QUFFakI7RUFDRTs7QUFDQTtFQUNFLE9kckNGOztBY3VDQTtFQUNFO0VBQ0E7O0FBRUY7RUFDRSxrQmQ1Q0Y7RWM2Q0UsT2RyREk7O0Fjc0RKO0VBQ0Usa0JkdERJO0VjdURKLE9kaERKOztBY3VESjtFZnZDRixtQmV3Q3VCO0VmdkN2QixnQmV1Q3VCO0VmdEN2QixlZXNDdUI7RWZyQ3ZCLGNlcUN1QjtFZnBDdkIsV2VvQ3VCO0VBQ25COztBQUVGO0VmM0NGLG1CZTRDdUI7RWYzQ3ZCLGdCZTJDdUI7RWYxQ3ZCLGVlMEN1QjtFZnpDdkIsY2V5Q3VCO0VmeEN2QixXZXdDdUI7RUFDbkI7OztBQUtOO0FBRUU7RWZwREEsbUJlcURxQjtFZnBEckIsZ0Jlb0RxQjtFZm5EckIsZWVtRHFCO0VmbERyQixjZWtEcUI7RWZqRHJCLFdlaURxQjtFQUNuQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBUEY7SUFRSTs7O0FBRUY7RUFWRjtJQVdJOzs7QUFFRjtFQWJGO0lBY0k7OztBQUVGO0VBaEJGO0lBaUJJO0lBQ0E7SUFDQTs7O0FBRUY7RUFDRTs7QUFDQTtFQUNFLE9kNUZBOztBYzZGQTtFQUZGO0lBR0ksV2RwRUc7SWNxRUg7OztBQUVGO0VBTkY7SUFPSSxXZHhFRztJY3lFSDs7O0FBRUY7RUFWRjtJQVdJLFdkNUVHO0ljNkVIOzs7QUFHSjtFQUNFLE9kM0dBOztBYzRHQTtFQUZGO0lBR0k7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dUJ3TitCO0l2QnZOL0IsY3VCdU4rQjtJdkJ0Ti9CLFd1QnNOK0I7SUFDbkI7SUFDQTs7O0FBSUY7RUFDRSxPdEJqUE47O0FzQm9QRTtFQUVFLGtCdEI5UEU7RXNCK1BGLE90QnZQSjs7QXNCeVBNO0VBREY7SXZCeE9WLG1CdUIwT2lDO0l2QnpPakMsZ0J1QnlPaUM7SXZCeE9qQyxldUJ3T2lDO0l2QnZPakMsY3VCdU9pQztJdkJ0T2pDLFd1QnNPaUM7SUFDbkI7SUFDQTs7O0FBRUY7RUFORjtJdkJ4T1YsbUJ1QitPaUM7SXZCOU9qQyxnQnVCOE9pQztJdkI3T2pDLGV1QjZPaUM7SXZCNU9qQyxjdUI0T2lDO0l2QjNPakMsV3VCMk9pQztJQUNuQjtJQUNBOzs7QUFFRjtFQVhGO0l2QnhPVixtQnVCb1BpQztJdkJuUGpDLGdCdUJtUGlDO0l2QmxQakMsZXVCa1BpQztJdkJqUGpDLGN1QmlQaUM7SXZCaFBqQyxXdUJnUGlDO0lBQ25CO0lBQ0E7OztBQVFkO0VBQ0U7O0FBQ0E7RUFGRjtJQUdJO0lBQ0E7OztBQUVGO0VBTkY7SUFPSTtJQUNBOzs7QUFFRjtFQVZGO0lBV0k7SUFDQTs7O0FBRUY7RUFDRTtFQUNBO0V2QjlSSix1QnVCK1IyQjtFdkI5UjNCLG9CdUI4UjJCO0V2QjdSM0IsZXVCNlIyQjs7QUFDdkI7RUFDRTtFdkJqU04sdUJ1QmtTNkI7RXZCalM3QixvQnVCaVM2QjtFdkJoUzdCLGV1QmdTNkI7O0FBRXpCO0VBQ0U7RUFDQTs7QUFDQTtFQUNFOztBQUVGO0VBQ0U7OztBQU1WO0FBR0k7RUFDRTs7QUFDQTtFQUNFOztBQUNBO0VBRkY7SUFHSTs7O0FBRUY7RUFMRjtJQU1JOzs7QUFFRjtFQUNFOztBQUVGO0V2QmpVTix1QnVCa1UrQjtFdkJqVS9CLG9CdUJpVStCO0V2QmhVL0IsZXVCZ1UrQjtFQUN2Qjs7QUFDQTtFQUNFOztBQUdBO0VBQ0UsT3RCelVOOztBc0I0VUU7RUFFRSxrQnRCdFZFO0VzQnVWRixPdEIvVUo7O0FzQnFWTjtFQUNFOztBQUNBO0VBQ0U7RUFDQTtFdkJ6VkosdUJ1QjBW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RixtQnlCMERxQjtFekJ6RHJCLGdCeUJ5RHFCO0V6QnhEckIsZXlCd0RxQjtFekJ2RHJCLGN5QnVEcUI7RXpCdERyQixXeUJzRHFCO0VBQ25CO0V6QjNFRix1QnlCNEV5QjtFekIzRXpCLG9CeUIyRXlCO0V6QjFFekIsZXlCMEV5Qjs7QUFDdkI7RUFaRjtJQWFJOzs7QUFNRTtFQUNFLGtCeEI1Rk07O0F3QjhGUjtFQUNFLGtCeEIvRk07RXdCZ0dOLGN4QnpGRjs7QXdCOEZGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQU5GO0lBT0k7SUFDQTtJQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RXpCM0ZSLG1CeUI0RjJCO0V6QjNGM0IsZ0J5QjJGMkI7RXpCMUYzQixleUIwRjJCO0V6QnpGM0IsY3lCeUYyQjtFekJ4RjNCLFd5QndGMkI7O0FBR3ZCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBO0V6QnRHUixtQnlCdUcyQjtFekJ0RzNCLGdCeUJzRzJCO0V6QnJHM0IsZXlCcUcyQjtFekJwRzNCLGN5Qm9HMkI7RXpCbkczQixXeUJtRzJCOztBQUNuQjtFQUpGO0lBS0k7SUFDQTtJekIxR1YsbUJ5QjJHNkI7SXpCMUc3QixnQnlCMEc2QjtJekJ6RzdCLGV5QnlHNkI7SXpCeEc3QixjeUJ3RzZCO0l6QnZHN0IsV3lCdUc2Qjs7O0FBSzNCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBUEY7SUFRSTtJQUNBO0lBQ0E7SUFDQTs7O0FBRUY7RUFDRSxXeEJ2SVM7RXdCd0lUO0VBQ0EsYXhCakhhO0V3QmtIYixPeEJqSkE7RXdCa0pBO0VBQ0Esa0J4QjNKTTtFd0I0Sk47RXpCcEpOLHVCeUJxSjZCO0V6QnBKN0Isb0J5Qm9KNkI7RXpCbko3QixleUJtSjZCO0V6QjVKN0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXlCMkpJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCeEJ0S007RXdCdUtOO0V6QnRLTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBbUJBLG1CeUJpSnlCO0V6QmhKekIsZ0J5QmdKeUI7RXpCL0l6QixleUIrSXlCO0V6QjlJekIsY3lCOEl5QjtFekI3SXpCLFd5QjZJeUI7RXpCakt6Qix1QnlCa0s2QjtFekJqSzdCLG9CeUJpSzZCO0V6QmhLN0IsZXlCZ0s2Qjs7QUFDdkI7RUFYRjtJQVlJOzs7QUFJTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0J4QjdLRTtFREFOLHVCeUI4SzJCO0V6QjdLM0Isb0J5QjZLMkI7RXpCNUszQixleUI0SzJCO0V6QnpLM0Isb0J5QjBLd0I7RXpCekt4QixpQnlCeUt3QjtFekJ4S3hCLFl5QndLd0I7O0FBQ3BCO0VBUkY7SUFTSTtJQUNBO0lBQ0E7SUFDQTs7O0FBRUY7RUFDRSxXeEIvSks7RXdCZ0tMLGF4QnhKZ0I7RXdCeUpoQjs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V6QmxNTixvQnlCbU0wQjtFekJsTTFCLGlCeUJrTTBCO0V6QmpNMUIsWXlCaU0wQjs7QUFDcEI7RUFYRjtJQVlJO0lBQ0E7SXpCM0xSLG1CeUI0TDJCO0l6QjNMM0IsZ0J5QjJMMkI7SXpCMUwzQixleUIwTDJCO0l6QnpMM0IsY3lCeUwyQjtJekJ4TDNCLFd5QndMMkI7OztBQUl6QjtFQUNFO0VBQ0E7RUFDQTs7QUFJRTtFQURGO0lBRUk7Ozs7QUNoT1Y7QUFBQTtBQUFBO0FBSUU7RUFDRTs7QUFDQTtFMUJFRix1QjBCRDJCO0UxQkUzQixvQjBCRjJCO0UxQkczQixlMEJIMkI7RUFDdkI7RUFDQTs7O0FBSU47QUFBQTtBQUFBO0FBS0k7RUFDRSxrQnpCaEJVOztBeUJpQlY7RUFDRSxrQnpCckJNOzs7QTBCQWQ7QUFBQTtBQUFBO0FBSUU7RUFDRTs7QUFDQTtFQUNFOztBQUtJO0UzQlhSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0EyQldVO0UzQlFWLG1CMkJQK0I7RTNCUS9CLGdCMkJSK0I7RTNCUy9CLGUyQlQrQjtFM0JVL0IsYzJCVitCO0UzQlcvQixXMkJYK0I7O0FB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RUFDRTs7QUFDQTtFQUNFO0VBQ0E7O0FBRUY7RUFDRTs7QUFDQTtFQUNFO0VBQ0EsYTdCL0JXO0U2QmdDWDtFQUNBOztBQUNBO0VBQ0U7O0FBRUY7RUFDRSxPN0I1RUk7RTZCNkVKOztBQUVGO0VBQ0UsTzdCOUVJO0VERmQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QThCOEVVO0VBQ0UsTzdCbkZFOztBNkJ3RlY7RUFDRSxXN0IxRVM7RTZCMkVULGE3QnBEYTtFNkJxRGI7O0FBRUU7RUFDRTtFQUNBO0VBQ0E7RTlCekZWLHVCOEIwRmlDO0U5QnpGakMsb0I4QnlGaUM7RTlCeEZqQyxlOEJ3RmlDOztBQUk3QjtFQUNFLGE3Qi9EZ0I7RTZCZ0VoQixXN0IxRUs7O0E2QjJFTDtFQUNFLE83QjFHSTtFRENaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0E4QnVHUTtFQUNFLE83QjVHSTs7QTZCZ0hWO0VBQ0UsTzdCakhRO0U2QmtIUjs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRSxPN0IxSE07RTZCMkhOLGE3QnBGYTtFRHRDbkI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QThCd0hNO0VBQ0UsTzdCN0hNOztBNkJvSVY7RUFDRSxrQjdCcklRO0U2QnNJUixPN0IvSEE7OztBNkJxSVI7QUFJTTtFOUJ6SUosdUI4QjBJNkI7RTlCekk3QixvQjhCeUk2QjtFOUJ4STdCLGU4QndJNkI7OztBQUsvQjtBQUVFO0VBQ0U7RTlCN0lGLG9COEI4SXNCO0U5QjdJdEIsaUI4QjZJc0I7RTlCNUl0QixZOEI0SXNCO0U5Qm5KdEIsdUI4Qm9KeUI7RTlCbkp6QixvQjhCbUp5QjtFOUJsSnpCLGU4QmtKeUI7O0FBQ3ZCO0VBQ0U7O0FBQ0E7RTlCdkpKLHVCOEJ3SjZCO0U5QnZKN0Isb0I4QnVKNkI7RTlCdEo3QixlOEJzSjZCOztBQUV6QjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQjdCbExJO0U2Qm1MSixPN0IzS0Y7RTZCNEtFLFc3Qm5KRztFRHpCWCx1QjhCNksrQjtFOUI1Sy9CLG9COEI0SytCO0U5QjNLL0IsZThCMksrQjtFOUJwTC9CO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0E4Qm1MTTtFQUNFO0VBQ0Esa0I3QjFMSTtFNkIyTEosYTdCcEpXO0U2QnFKWCxPN0JwTEY7RTZCcUxFOztBQUlOO0VBQ0U7RUFDQTs7QUFHSTtFQUNFLE83Qm5NSTs7QTZCdU1WO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsTzdCNU1RO0U2QjZNUjtFQUNBLFc3QmxNUztFNkJtTVQ7RUFDQSxrQjdCM01BO0U2QjRNQTtFOUI1TU4sdUI4QjZNNkI7RTlCNU03QixvQjhCNE02QjtFOUIzTTdCLGU4QjJNNkI7RUFDdkI7O0FBR0E7RUFDRSxPN0J0Tk07O0E2QjZOTjtBQUFBO0VBRUUsa0I3QjNOSjtFNkI0TkksTzdCcE9FOzs7QTZCNE9kO0FBRUU7RUFDRTtFOUJsT0Ysb0I4Qm1Pc0I7RTlCbE90QixpQjhCa09zQjtFOUJqT3RCLFk4QmlPc0I7O0FBQ3BCO0VBQ0U7O0FBQ0E7RUFDRSxXN0IzTkk7RTZCNE5KLGE3QjdNZ0I7RTZCOE1oQjs7QUFFRjtFQUNFOztBQUVFO0VBQ0UsTzdCM01JOztBNkIrTVY7RUFDRSxPN0JoTlE7O0E2QmtOVjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVFO0VBQ0UsTzdCNU5JOztBNkIrTlI7RUFDRTtFOUJ6UVIsdUI4QjBRK0I7RTlCelEvQixvQjhCeVErQjtFOUJ4US9CLGU4QndRK0I7RUFDdkI7RUFDQSxPN0JqUk07O0E2QnVSUjtFQUNFLGtCN0IxT007RTZCMk9OLE83QnBSRjtFNkJxUkUsYzdCNU9NOzs7QTZCa1BoQjtBQUVFO0U5QnhSQSxvQjhCeVJzQjtFOUJ4UnRCLGlCOEJ3UnNCO0U5QnZSdEIsWThCdVJzQjtFQUNwQjs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFOUI5Ukosb0I4QitSd0I7RTlCOVJ4QixpQjhCOFJ3QjtFOUI3UnhCLFk4QjZSd0I7RTlCcFN4Qix1QjhCcVMyQjtFOUJwUzNCLG9COEJvUzJCO0U5Qm5TM0IsZThCbVMyQjs7QUFDdkI7RTlCdFNKLHVCOEJ1UzZCO0U5QnRTN0Isb0I4QnNTNkI7RTlCclM3QixlOEJxUzZCOztBQUV6QjtFQUNFO0VBQ0E7RTlCM1JOLG1COEI0UnlCO0U5QjNSekIsZ0I4QjJSeUI7RTlCMVJ6QixlOEIwUnlCO0U5QnpSekIsYzhCeVJ5QjtFOUJ4UnpCLFc4QndSeUI7O0FBQ25CO0U5QjdTTix1QjhCOFMrQjtFOUI3Uy9CLG9COEI2UytCO0U5QjVTL0IsZThCNFMrQjs7QUFJN0I7RUFDRTtFQUNBO0U5Qi9TSixvQjhCZ1R3QjtFOUIvU3hCLGlCOEIrU3dCO0U5QjlTeEIsWThCOFN3QjtFOUJyVHhCLHVCOEJzVDJCO0U5QnJUM0Isb0I4QnFUMkI7RTlCcFQzQixlOEJvVDJCOztBQUVyQjtFQUNFO0VBQ0EsTzdCalVNOztBNkJrVU47RUFDRSxPN0JuVUk7O0E2QnVVVjtFQUNFO0VBQ0EsVzdCMVNLOztBNkI4U1A7RUFDRTtFQUNBOzs7QUFNUjtBQUVFO0VBQ0U7O0FBRUU7RTlCblZKLHVCOEJvVjZCO0U5Qm5WN0Isb0I4Qm1WNkI7RTlCbFY3QixlOEJrVjZCOztBQUV6QjtFQUNFO0VBQ0E7O0FBQ0E7RTlCelZOLHVCOEIwVitCO0U5QnpWL0Isb0I4QnlWK0I7RTlCeFYvQixlOEJ3VitCOztBQUk3QjtFQUNFO0VBQ0E7RUFDQTtFOUJqV0osdUI4QmtXMkI7RTlCalczQixvQjhCaVcyQjtFOUJoVzNCLGU4QmdXMkI7O0FBQ3ZCO0VBQ0UsYTdCcFVnQjtFNkJxVWhCLFc3QjVVSztFNkI2VUw7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQSxrQjdCNVdBO0U2QjZXQTtFQUNBO0VBQ0E7RTlCL1ZOLG1COEJnV3lCO0U5Qi9WekIsZ0I4QitWeUI7RTlCOVZ6QixlOEI4VnlCO0U5QjdWekIsYzhCNlZ5QjtFOUI1VnpCLFc4QjRWeUI7RUFDbkI7RUFDQTs7O0FBS1I7QUFFRTtFOUJ6WEEsdUI4QjBYeUI7RTlCelh6QixvQjhCeVh5QjtFOUJ4WHpCLGU4QndYeUI7RUFDdkI7RUFDQSxrQjdCNVhJO0VES04sb0I4QndYc0I7RTlCdlh0QixpQjhCdVhzQjtFOUJ0WHRCLFk4QnNYc0I7O0FBQ3BCO0U5QjlYRix1QjhCK1gyQjtFOUI5WDNCLG9COEI4WDJCO0U5QjdYM0IsZThCNlgyQjtFQUN2QjtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFOUJwWUosdUI4QnFZNkI7RTlCcFk3QixvQjhCb1k2QjtFOUJuWTdCLGU4Qm1ZNkI7O0FBRzNCO0VBQ0U7O0FBQ0E7RUFDRSxPN0JoWlE7RTZCaVpSO0U5Qm5aTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBOEJpWk07RUFDRSxPN0J0Wk07O0E2QjZaVjtFQUNFLGtCN0I5WlE7RTZCK1pSLE83QnhaQTs7O0E2QjZaUjtBQUVFO0U5Qi9aQSx1QjhCZ2F5QjtFOUIvWnpCLG9COEIrWnlCO0U5QjlaekIsZThCOFp5QjtFOUIzWnpCLG9COEI0WnNCO0U5QjNadEIsaUI4QjJac0I7RTlCMVp0QixZOEIwWnNCO0VBQ3BCOztBQUVFO0U5QnBhSix1QjhCcWE2QjtFOUJwYTdCLG9COEJvYTZCO0U5Qm5hN0IsZThCbWE2Qjs7QUFHM0I7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTlCcmJKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQSx1QjhCZ2IyQjtFOUIvYTNCLG9COEIrYTJCO0U5QjlhM0IsZThCOGEyQjtFQUN2QixPN0JqYkU7O0E2QmtiRjtFQVZGO0lBV0k7OztBQUVGO0VBYkY7SUFjSTtJQUNBO0lBQ0E7OztBQUVGO0VBbEJGO0lBbUJJOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFc3QjdhSztFNkI4YUw7RTlCcmNOLHVCOEJzYzZCO0U5QnJjN0Isb0I4QnFjNkI7RTlCcGM3QixlOEJvYzZCO0VBQ3ZCLGtCN0J2Y0E7RTZCd2NBLE83QmhkTTs7QTZCaWROO0VBWkY7SUFhSTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOztBQUNBO0VBRkY7SUFHSTs7O0FBRUY7RUFDRSxPN0J2ZEY7RTZCd2RFLGE3QnhiYztFNkJ5YmQsVzdCbmNHOztBNkJvY0g7RUFKRjtJQUtJLFc3QmxjQzs7O0E2QnNjUDtFQUNFO0VBQ0E7O0FBQ0E7RUFIRjtJQUlJOzs7QUFHSjtFQUNFO0VBQ0E7O0FBQ0E7RUFIRjtJQUlJOzs7QUFHSjtFOUI3ZUosdUI4QjhlNkI7RTlCN2U3QixvQjhCNmU2QjtFOUI1ZTdCLGU4QjRlNkI7RUFDdkIsa0I3Qi9lQTtFNkJnZkEsTzdCeGZNOztBNkJ5Zk47RUFDRSxrQjdCemZNO0U2QjBmTixPN0JuZkY7O0E2QndmRjtFQUNFO0U5QnpmTix1QjhCMGY2QjtFOUJ6ZjdCLG9COEJ5ZjZCO0U5QnhmN0IsZThCd2Y2Qjs7O0FBTS9CO0FBR0k7RUFDRTs7QUFDQTtFOUJyZ0JKLHVCOEJzZ0I2QjtFOUJyZ0I3QixvQjhCcWdCNkI7RTlCcGdCN0IsZThCb2dCNkI7O0FBRXpCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RTlCNWdCTix1QjhCNmdCNkI7RTlCNWdCN0Isb0I4QjRnQjZCO0U5QjNnQjdCLGU4QjJnQjZCO0VBQ3ZCLGtCN0J0aEJNO0U2QnVoQk4sTzdCL2dCQTtFNkJnaEJBO0VBQ0E7RUFDQTtFQUNBLFc3QjVmSztFNkI2Zkw7RTlCM2hCTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBOEJ5aEJNO0VBQ0Usa0I3QjloQk07O0E2Qm1pQlY7RUFDRTs7QUFDQTtFQUNFO0VBQ0EsTzdCcGlCTTs7QTZCcWlCTjtFQUNFLE83QnZpQkk7O0E2QjJpQlY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0UsTzdCeGpCSTtFNkJ5akJKLFc3QjVoQkc7RTZCNmhCSCxhN0JsaEJjOztBNkJvaEJoQjtFQUNFO0VBQ0E7RTlCdGpCUix1QjhCdWpCK0I7RTlCdGpCL0Isb0I4QnNqQitCO0U5QnJqQi9CLGU4QnFqQitCO0VBQ3ZCO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0Usa0I3QnBrQkk7RTZCcWtCSixPN0I5akJKO0U2QitqQkksYzdCdGtCSTs7QTZCd2tCTjtFQUNFLFc3Qnpp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O0VBQ0EsTzdCbmhDRTtFNkJvaENGO0VBQ0E7RUFDQTtFOUJqaENaLHVCOEJraENtQztFOUJqaENuQyxvQjhCaWhDbUM7RTlCaGhDbkMsZThCZ2hDbUM7O0FBQ3ZCO0VBQ0U7O0FBRUY7RTlCamhDWixvQjhCa2hDa0M7RTlCamhDbEMsaUI4QmloQ2tDO0U5QmhoQ2xDLFk4QmdoQ2tDO0U5QnZnQ2xDLG1COEJ3Z0NpQztFOUJ2Z0NqQyxnQjhCdWdDaUM7RTlCdGdDakMsZThCc2dDaUM7RTlCcmdDakMsYzhCcWdDaUM7RTlCcGdDakMsVzhCb2dDaUM7RUFDbkIsTzdCaGlDQTs7O0E2QjBpQ2hCO0FBQUE7QUFBQTtBQUlFO0VBQ0U7OztBQUlKO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTs7QUFDQTtFQUZGO0lBR0k7OztBQUVGO0VBTEY7SUFNSTs7O0FBRUY7RUFDRTs7QUFDQTtFQUZGO0lBR0k7OztBQUVGO0VBTEY7SUFNSTs7O0FBR0o7RUFDRSxPN0J4a0NVO0U2QnlrQ1YsYTdCcmlDZTtFRC9CbkIsdUI4QnFrQzJCO0U5QnBrQzNCLG9COEJva0MyQjtFOUJua0MzQixlOEJta0MyQjtFQUN2QjtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U5QjlqQ04sbUI4QitqQ3lCO0U5QjlqQ3pCLGdCOEI4akN5QjtFOUI3akN6QixlOEI2akN5QjtFOUI1akN6QixjOEI0akN5QjtFOUIzakN6QixXOEIyakN5QjtFQUNuQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U5QjNsQ047RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QThCMGxDSTtFQUNFLGtCN0IvbENRO0U2QmdtQ1IsTzdCemxDQTtFNkIwbENBLGM3QmptQ1E7O0E2QmttQ1I7RUFDRTtFQUNBO0VBQ0E7OztBQU9WO0FBQ0E7RUFDRTtFOUJsbUNBLG9COEJtbUNvQjtFOUJsbUNwQixpQjhCa21Db0I7RTlCam1DcEIsWThCaW1Db0I7RUFDcEI7RTlCem1DQSx1QjhCMG1DdUI7RTlCem1DdkIsb0I4QnltQ3VCO0U5QnhtQ3ZCLGU4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QjUwRHJCLGU4QjQwRHFCO0U5QjMwRHJCLGM4QjIwRHFCO0U5QjEwRHJCLFc4QjAwRHFCO0U5QnoxRHJCLG9COEIwMURzQjtFOUJ6MUR0QixpQjhCeTFEc0I7RTlCeDFEdEIsWThCdzFEc0I7RUFDcEI7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVzdCNzJEVztFNkI4MkRYO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYTdCejFEaUI7RTZCMDFEakIsTzdCOTNEWTs7QTZCKzNEWjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRSxjN0J4NERROztBNkIwNERWO0U5Qm4zREosbUI4Qm8zRHlCO0U5Qm4zRHpCLGdCOEJtM0R5QjtFOUJsM0R6QixlOEJrM0R5QjtFOUJqM0R6QixjOEJpM0R5QjtFOUJoM0R6QixXOEJnM0R5QjtFQUNuQjs7QUFHSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U5Qi80REosdUI4Qmc1RDJCO0U5Qi80RDNCLG9COEIrNEQyQjtFOUI5NEQzQixlOEI4NEQyQjtFOUJ2NUQzQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBOEJxNURJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0I3Qmg2RFE7RTZCaTZEUjtFOUIxNEROLG1COEIyNER5QjtFOUIxNER6QixnQjhCMDREeUI7RTlCejREekIsZThCeTREeUI7RTlCeDREekIsYzhCdzREeUI7RTlCdjREekIsVzhCdTREeUI7RTlCMzVEekIsdUI4QjQ1RDZCO0U5QjM1RDdCLG9COEIyNUQ2QjtFOUIxNUQ3QixlOEIwNUQ2QjtFOUJuNkQ3QjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBOEJtNkRFO0U5Qmg1REYsbUI4Qmk1RHVCO0U5Qmg1RHZCLGdCOEJnNUR1QjtFOUIvNER2QixlOEIrNER1QjtFOUI5NER2QixjOEI4NER1QjtFOUI3NER2QixXOEI2NER1QjtFQUNuQjs7QUFFRjtFQUNFLGM3QjU2RFU7O0E2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QUFBQTtBQUFBO0FBR0E7RUFDRSxrQjlCM0tNO0VES04sb0IrQnVLb0I7RS9CdEtwQixpQitCc0tvQjtFL0JyS3BCLFkrQnFLb0I7RUFDcEI7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFL0JsTEYsdUIrQm1MeUI7RS9CbEx6QixvQitCa0x5QjtFL0JqTHpCLGUrQmlMeUI7RUFDdkI7RUFDQTtFQUNBO0UvQjdMRjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBK0IyTEU7RUFDRTtFQUNBLE05QnZKUTs7QThCMkpWO0VBQ0U7O0FBRUY7RUFKRjtJQUtJOztFQUNBO0lBQ0U7SUFDQTs7O0FBSU47RUFDRTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCOUIxTlk7RURPZCx1QitCb055QjtFL0JuTnpCLG9CK0JtTnlCO0UvQmxOekIsZStCa055QjtFQUN2QjtFL0I1TkY7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QStCNE5FO0VBQ0Usa0I5QnZMUTs7QThCeUxWO0VBQ0Usa0I5QnpMVTs7QThCMkxaO0VBQ0Usa0I5QjNMVTs7QThCNkxaO0VBQ0Usa0I5QjdMVTs7QThCK0xaO0VBQ0Usa0I5Qi9MVTs7QThCaU1aO0VBQ0Usa0I5QmpNVTs7QThCbU1aO0VBQ0Usa0I5Qm5NVTs7QThCcU1aO0VBQ0Usa0I5QnJNVTs7QThCdU1aO0VBQ0UsTzlCdlBVOztBOEJ3UFY7RUFDRSxPOUJ6UFE7O0E4QjJQVjtFQUNFOztBQUdKO0VBQ0U7RUFDQTtFL0I1T0osbUIrQjZPdUI7RS9CNU92QixnQitCNE91QjtFL0IzT3ZCLGUrQjJPdUI7RS9CMU92QixjK0IwT3VCO0UvQnpPdkIsVytCeU91Qjs7O0FBTXZCO0VBQ0Usa0I5QmhPWTs7O0E4Qm9PZDtFQUNFLGtCOUJwT1k7OztBOEJ3T2Q7RUFDRSxrQjlCeE9ZOzs7QThCNE9kO0VBQ0Usa0I5QjVPWTs7O0E4QmdQZDtFQUNFLGtCOUJoUFk7OztBOEJvUGQ7RUFDRSxrQjlCcFBZOzs7QThCd1BkO0VBQ0Usa0I5QnhQWTs7O0E4QjRQaEI7QUFBQTtBQUFB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QjRpQnVCO0UvQjNpQnZCLG9CK0IyaUJ1QjtFL0IxaUJ2QixlK0IwaUJ1QjtFQUN2QjtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNFLFc5QnZpQk07RThCd2lCTixPOUJsa0JRO0U4Qm1rQlI7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQSxNOUJ4aEJVOztBOEIwaEJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQjlCM2tCRTtFREFOLHVCK0I0a0IyQjtFL0Iza0IzQixvQitCMmtCMkI7RS9CMWtCM0IsZStCMGtCMkI7RS9CbmxCM0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQW1CQSxtQitCOGpCdUI7RS9CN2pCdkIsZ0IrQjZqQnVCO0UvQjVqQnZCLGUrQjRqQnVCO0UvQjNqQnZCLGMrQjJqQnVCO0UvQjFqQnZCLFcrQjBqQnVCO0VBQ25COztBQUdKO0VBQ0U7O0FBRUY7RUFDRTs7QUFJRTtFQUNFLE85QjNsQkE7O0E4QjZsQkY7RUFDRSxrQjlCcm1CUTtFRHVCZCxtQitCK2tCeUI7RS9COWtCekIsZ0IrQjhrQnlCO0UvQjdrQnpCLGUrQjZrQnlCO0UvQjVrQnpCLGMrQjRrQnlCO0UvQjNrQnpCLFcrQjJrQnlCOztBQUlyQjtFQUNFLE85QnptQlE7O0E4QjJtQlY7RUFDRSxPOUI5bUJROzs7QThCbW5CaEI7QUFDQTtFL0I3bUJFLHVCK0I4bUJ1QjtFL0I3bUJ2QixvQitCNm1CdUI7RS9CNW1CdkIsZStCNG1CdUI7O0FBQ3ZCO0VBQ0U7RS9CaG5CRix1QitCaW5CeUI7RS9CaG5CekIsb0IrQmduQnlCO0UvQi9tQnpCLGUrQittQnlCO0VBQ3ZCLGtCOUJ6bkJZO0U4QjBuQlosTzlCbm5CSTs7QThCc25CSjtFQUNFOztBQUdKO0VBQ0U7O0FBSUU7RUFDRSxPOUJyb0JROzs7QThCMm9CaEI7QUFFRTtFQUNFO0UvQnpvQkYsdUIrQjBvQnlCO0UvQnpvQnpCLG9CK0J5b0J5QjtFL0J4b0J6QixlK0J3b0J5QjtFQUN2QixrQjlCbG1CWTtFOEJtbUJaLE85QjVvQkk7RThCNm9CSjtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQSxrQjlCM21CVTtFOEI0bUJWO0VBQ0E7RUFDQTtFL0J2cEJKLHVCK0J3cEIyQjtFL0J2cEIzQixvQitCdXBCMkI7RS9CdHBCM0IsZStCc3BCMkI7RUFDdkIsVzlCL25CTztFOEJnb0JQLGE5QjNuQmU7RThCNG5CZjtFQUNBOztBQUdKO0VBQ0U7O0FBR0E7RUFDRTs7QUFLQTtFQUNFLE85Qi9xQlE7OztBOEJvckJoQjtBQUNBO0UvQmhyQkUsdUIrQmlyQnVCO0UvQmhyQnZCLG9CK0JnckJ1QjtFL0IvcUJ2QixlK0IrcUJ1QjtFL0I1cUJ2QixvQitCNnFCb0I7RS9CNXFCcEIsaUIrQjRxQm9CO0UvQjNxQnBCLFkrQjJxQm9CO0UvQnpyQnBCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RStCdXJCQTs7QUFDQTtFL0JyckJBLHVCK0JzckJ5QjtFL0JyckJ6QixvQitCcXJCeUI7RS9CcHJCekIsZStCb3JCeUI7RUFDdkI7RUFDQSxPOUIvckJZO0U4QmdzQlo7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCOUJ6c0JVO0U4QjBzQlY7RUFjQTtFL0J4dEJKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0ErQnl0QkU7RUFDRTs7QUFHSjtFQUNFOztBQUVGO0UvQnh0QkEsb0IrQnl0QnNCO0UvQnh0QnRCLGlCK0J3dEJzQjtFL0J2dEJ0QixZK0J1dEJzQjs7QUFFbEI7RUFDRTs7QUFpQkY7RUFDRSxPOUJ4dkJROzs7QThCK3ZCZDtFQUNFO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBOzs7QUFLTjtBQUNBO0UvQnJ3QkUsdUIrQnN3QnVCO0UvQnJ3QnZCLG9CK0Jxd0J1QjtFL0Jwd0J2QixlK0Jvd0J1QjtFQUN2Qjs7QUFFRTtFQUNFO0UvQjF3QkosdUIrQjJ3QjJCO0UvQjF3QjNCLG9CK0Iwd0IyQjtFL0J6d0IzQixlK0J5d0IyQjs7QUFHM0I7RUFDRTtFQUNBOztBQUNBO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUNBO0VBQ0U7O0FBR0o7RUFDRSxrQjlCOXhCRTtFOEIreEJGLE85QnZ5QlE7RThCd3lCUjs7QUFHSjtFQUNFOztBQUlFO0VBQ0UsTzlCOXlCUTs7QThCZ3pCVjtFQUNFLGtCOUJuekJRO0U4Qm96QlIsTzlCN3lCQTtFOEI4eUJBOzs7QUFNUjtBQUNBO0VBQ0U7RUFDQTs7QUFDQTtFQUNFOztBQUNBO0VBQ0U7RS9CM3pCSix1QitCNHpCMkI7RS9CM3pCM0Isb0IrQjJ6QjJCO0UvQjF6QjNCLGUrQjB6QjJCO0UvQm4wQjNCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0ErQmswQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFL0J0MEJKLHVCK0J1MEIyQjtFL0J0MEIzQixvQitCczBCMkI7RS9CcjBCM0IsZStCcTBCMkI7RUFDdkI7RUFDQSxPOUJ6MEJFO0U4QjAwQkY7RUFDQTtFL0JsMUJKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0ErQmcxQkk7RUFDRSxXOUI3ekJJOztBOEIrekJOO0VBQ0UsTzlCajFCQTtFOEJrMUJBO0VBQ0E7O0FBQ0E7RUFKRjtJQUtJLFc5QjV6Qkc7OztBOEIrekJQO0VBQ0U7O0FBSU47RUFDRTs7QUFJRTtFL0JsMUJKLG1CK0JtMUJ5QjtFL0JsMUJ6QixnQitCazFCeUI7RS9CajFCekIsZStCaTFCeUI7RS9CaDFCekIsYytCZzFCeUI7RS9CLzBCekIsVytCKzBCeUI7O0FBRXJCO0VBQ0U7RUFDQTs7QUFDQTtFQUNFLE85QnoyQkY7OztBOEIrMkJSO0FBQ0E7RS9CMzJCRSxvQitCNDJCb0I7RS9CMzJCcEIsaUIrQjIyQm9CO0UvQjEyQnBCLFkrQjAyQm9CO0UvQmozQnBCLHVCK0JrM0J1QjtFL0JqM0J2QixvQitCaTNCdUI7RS9CaDNCdkIsZStCZzNCdUI7RUFDdkI7O0FBQ0E7RUFDRTtFQUNBO0VBQ0Esa0I5Qi8zQlU7RURRWix1QitCdzNCeUI7RS9CdjNCekIsb0IrQnUzQnlCO0UvQnQzQnpCLGUrQnMzQnlCO0VBQ3ZCO0VBQ0E7RUFDQTtFL0JsNEJGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0ErQmc0QkU7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0UvQnA0QkosdUIrQnE0QjJCO0UvQnA0QjNCLG9CK0JvNEIyQjtFL0JuNEIzQixlK0JtNEIyQjtFQUN2QixrQjlCdDRCRTtFOEJ1NEJGO0VBQ0E7O0FBR0o7RUFDRTs7QUFHQTtFQUNFLGtCOUJqNUJVOztBOEJvNUJWO0VBQ0U7OztBQUtSO0FBQ0E7RUFDRTs7QUFDQTtFL0I1NUJBLHVCK0I2NUJ5QjtFL0I1NUJ6QixvQitCNDVCeUI7RS9CMzVCekIsZStCMjVCeUI7RS9CeDVCekIsb0IrQnk1QnNCO0UvQng1QnRCLGlCK0J3NUJzQjtFL0J2NUJ0QixZK0J1NUJzQjs7QUFDcEI7RS9CLzVCRix1QitCZzZCMkI7RS9CLzVCM0Isb0IrQis1QjJCO0UvQjk1QjNCLGUrQjg1QjJCOzs7QUFNM0I7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7RS9CMTZCSix1QitCMjZCMkI7RS9CMTZCM0Isb0IrQjA2QjJCO0UvQno2QjNCLGUrQnk2QjJCO0VBQ3ZCLGtCOUI5NkJVO0U4Qis2QlY7RUFDQTtFL0JyN0JKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RStCbTdCSTs7QUFDQTtFQUNFLGtCOUJ6N0JRO0U4QjA3QlI7OztBQUtSO0FBRUU7RS9CcjdCQSxvQitCczdCc0I7RS9CcjdCdEIsaUIrQnE3QnNCO0UvQnA3QnRCLFkrQm83QnNCO0VBQ3BCOzs7QUFLRjtFL0JqN0JBLG1CK0JrN0JxQjtFL0JqN0JyQixnQitCaTdCcUI7RS9CaDdCckIsZStCZzdCcUI7RS9CLzZCckIsYytCKzZCcUI7RS9COTZCckIsVytCODZCcUI7RS9CejhCckI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QStCdzhCQTtFL0JyN0JBLG1CK0JzN0JxQjtFL0JyN0JyQixnQitCcTdCcUI7RS9CcDdCckIsZStCbzdCcUI7RS9CbjdCckIsYytCbTdCcUI7RS9CbDdCckIsVytCazdCcUI7O0FBQ25CO0VBQ0Usa0I5Qi81QlU7O0E4Qmc2QlY7RUFDRSxrQjlCMThCQTtFOEIyOEJBLE85Qm45Qk07O0E4Qm85Qk47RUFDRSxrQjlCNzhCRjtFOEI4OEJFLGM5QnI2Qk07O0E4Qnk2QlI7QUFBQTtFQUVFLE85QnA5QkY7O0E4QjA5Qko7RUFDRTtFQUNBO0UvQjU5QkosdUIrQjY5QjJCO0UvQjU5QjNCLG9CK0I0OUIyQjtFL0IzOUIzQixlK0IyOUIyQjtFQUN2QixrQjlCaCtCVTtFOEJpK0JWO0VBQ0E7RS9CditCSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UrQnErQkk7O0FBQ0E7RUFDRTtFQUNBLGtCOUI1N0JRO0U4QjY3QlI7OztBQUtSO0FBRUU7RS9CNytCQSx1QitCOCtCeUI7RS9CNytCekIsb0IrQjYrQnlCO0UvQjUrQnpCLGUrQjQrQnlCO0UvQnorQnpCLG9CK0IwK0JzQjtFL0J6K0J0QixpQitCeStCc0I7RS9CeCtCdEIsWStCdytCc0I7O0FBQ3BCO0UvQmgvQkYsdUIrQmkvQjJCO0UvQmgvQjNCLG9CK0JnL0IyQjtFL0IvK0IzQixlK0IrK0IyQjs7QUFFekI7RS9COStCRixvQitCKytCd0I7RS9COStCeEIsaUIrQjgrQndCO0UvQjcrQnhCLFkrQjYrQndCOzs7QUFNeEI7RUFDRTs7O0FBTUE7RUFDRTtFQUNBO0UvQm4vQkosbUIrQm8vQnVCO0UvQm4vQnZCLGdCK0JtL0J1QjtFL0JsL0J2QixlK0JrL0J1QjtFL0JqL0J2QixjK0JpL0J1QjtFL0JoL0J2QixXK0JnL0J1QjtFQUNuQjtFQUNBO0VBQ0E7RUFDQTtFL0J4Z0NKLHVCK0J5Z0MyQjtFL0J4Z0MzQixvQitCd2dDMkI7RS9CdmdDM0IsZStCdWdDMkI7RUFDdkIsa0I5QjFnQ0U7RThCMmdDRjtFL0J0Z0NKLG9CK0J1Z0N3QjtFL0J0Z0N4QixpQitCc2dDd0I7RS9CcmdDeEIsWStCcWdDd0I7RUFDcEIsVzlCci9CTztFRC9CWDtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBK0JraENJO0VBZEY7SUFlSTtJL0JoZ0NOLG1CK0JpZ0N5QjtJL0JoZ0N6QixnQitCZ2dDeUI7SS9CLy9CekIsZStCKy9CeUI7SS9COS9CekIsYytCOC9CeUI7SS9CNy9CekIsVytCNi9CeUI7OztBQUVyQjtFQWxCRjtJQW1CSTtJQUNBOzs7QUFFRjtFQUNFLGtCOUIvaENRO0U4QmdpQ1IsTzlCemhDQTs7QThCMmhDRjtFQUNFOztBQUNBO0VBRkY7SUFHSTs7O0FBRUY7RUFMRjtJQU1JOzs7QUFFRjtFQVJGO0lBU0k7OztBQUVGO0VBWEY7SUFZSTs7O0FBRUY7RUFkRjtJQWVJOzs7QUFFRjtFQWpCRjtJQWtCSTs7O0FBR0o7RUFDRTtFQUNBOztBQUNBO0VBSEY7SUFJSTs7O0FBRUY7RUFORjtJQU9JOzs7QUFFRjtFQVRGO0lBVUk7OztBQUVGO0VBWkY7SUFhSTs7O0FBRUY7RUFmRjtJQWdCSTs7O0FBRUY7RUFsQkY7SUFtQkk7Ozs7QUFRUjtFQUNFOztBQUNBO0VBQ0U7RUFDQTtFL0Iva0NKLHVCK0JnbEMyQjtFL0Iva0MzQixvQitCK2tDMkI7RS9COWtDM0IsZStCOGtDMkI7RUFDdkIsa0I5Qm5sQ1U7RThCb2xDVjtFQUNBO0UvQjFsQ0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQW1CQSxtQitCcWtDdUI7RS9CcGtDdkIsZ0IrQm9rQ3VCO0UvQm5rQ3ZCLGUrQm1rQ3VCO0UvQmxrQ3ZCLGMrQmtrQ3VCO0UvQmprQ3ZCLFcrQmlrQ3VCO0VBQ25COztBQUNBO0VBQ0U7RUFDQTtFQUNBLGtCOUIxbENBO0VEZ0JOLG1CK0Iya0N5QjtFL0Ixa0N6QixnQitCMGtDeUI7RS9CemtDekIsZStCeWtDeUI7RS9CeGtDekIsYytCd2tDeUI7RS9CdmtDekIsVytCdWtDeUI7OztBQU0zQjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7O0FBR0o7RUFDRTtJQUNFOzs7QUFJRjtFQURGO0lBRUk7SUFDQTtJQUNBOzs7QUFHSjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCOUI5b0NVO0U4QitvQ1Y7RUFDQTs7QUFDQTtFQVhGO0lBWUk7OztBQUVGO0VBZEY7SUFlSTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7QUFDQTtFL0JwcENFLG9CK0JxcENvQjtFL0JwcENwQixpQitCb3BDb0I7RS9CbnBDcEIsWStCbXBDb0I7RUFDcEI7RUFDQSxrQjlCNXBDTTtFREFOLHVCK0I2cEN1QjtFL0I1cEN2QixvQitCNHBDdUI7RS9CM3BDdkIsZStCMnBDdUI7RS9CcHFDdkI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFK0JrcUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVFO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RS9CbnJDSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBbUJBLG1CK0I4cEN1QjtFL0I3cEN2QixnQitCNnBDdUI7RS9CNXBDdkIsZStCNHBDdUI7RS9CM3BDdkIsYytCMnBDdUI7RS9CMXBDdkIsVytCMHBDdUI7RUFDbkI7O0FBQ0E7RUFaRjtJQWFJOzs7QUFHSjtFQUNFO0VBQ0E7O0FBR0o7RUFDRSxPOUIxckNJO0U4QjJyQ0osVzlCenFDUTtFOEIwcUNSO0VBQ0E7RUFDQTtFQUNBO0UvQi9yQ0YsdUIrQmdzQ3lCO0UvQi9yQ3pCLG9CK0IrckN5QjtFL0I5ckN6QixlK0I4ckN5QjtFQUN2QixrQjlCeHNDWTtFOEJ5c0NaO0UvQnpzQ0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQVFBLG9CK0IrckNzQjtFL0I5ckN0QixpQitCOHJDc0I7RS9CN3JDdEIsWStCNnJDc0I7RUFDcEI7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFL0IxckNKLG1CK0IyckN1QjtFL0IxckN2QixnQitCMHJDdUI7RS9CenJDdkIsZStCeXJDdUI7RS9CeHJDdkIsYytCd3JDdUI7RS9CdnJDdkIsVytCdXJDdUI7O0FBQ25CO0VBQ0Usa0I5QjdzQ0E7RThCOHNDQTtFQUNBO0UvQi9zQ04sdUIrQmd0QzZCO0UvQi9zQzdCLG9CK0Irc0M2QjtFL0I5c0M3QixlK0I4c0M2QjtFL0J2dEM3QjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBK0JxdENN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RHZCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RStCNHJEQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGE5QjlwRG9CO0U4QitwRHBCO0UvQi9yREYsdUIrQmdzRHlCO0UvQi9yRHpCLG9CK0IrckR5QjtFL0I5ckR6QixlK0I4ckR5QjtFQUN2QixrQjlCbHNEWTtFOEJtc0RaLE85QmxzREk7RThCbXNESjtFQUNBO0VBQ0E7O0FBRUY7RUFDRSxXOUIvcURTOztBOEJpckRYO0UvQnJzREEsb0IrQnNzRHNCO0UvQnJzRHRCLGlCK0Jxc0RzQjtFL0Jwc0R0QixZK0Jvc0RzQjs7O0FDbnREeEI7QUFBQTtBQUFBO0FBSUU7RUFDRTs7O0FBSUo7QUFDQTtFaENGRSx1QmdDR3VCO0VoQ0Z2QixvQmdDRXVCO0VoQ0R2QixlZ0NDdUI7RUFDdkI7RUFDQTtFQUNBO0VBQ0E7RWhDZEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QWdDWUE7RUFDRTtFQUNBO0VBQ0E7RWhDWkYsdUJnQ2F5QjtFaENaekIsb0JnQ1l5QjtFaENYekIsZWdDV3lCO0VBQ3ZCOztBQUNBO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUdKO0VBQ0UsVy9CWlE7RStCYVIsTy9CdENVO0VEQ1o7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QWdDb0NBO0VBQ0U7RUFDQSxXL0JYUztFK0JZVCxhL0JKb0I7RStCS3BCLE8vQjFDWTtFK0IyQ1o7RWhDN0NGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FnQzRDQTtFQUNFLGMvQmpEWTs7QStCa0RaO0FBQUE7RUFFRSxPL0JwRFU7OztBK0J5RGhCO0FBQ0E7RUFDRSxrQi9CcERNO0VES04sb0JnQ2dEb0I7RWhDL0NwQixpQmdDK0NvQjtFaEM5Q3BCLFlnQzhDb0I7RUFDcEI7RWhDdERBLHVCZ0N1RHVCO0VoQ3REdkIsb0JnQ3NEdUI7RWhDckR2QixlZ0NxRHVCOztBQUN2QjtFQUNFO0VBQ0E7RWhDMURGLHVCZ0MyRHlCO0VoQzFEekIsb0JnQzBEeUI7RWhDekR6QixlZ0N5RHlCO0VBQ3ZCO0VBQ0E7RWhDN0NGLG1CZ0M4Q3FCO0VoQzdDckIsZ0JnQzZDcUI7RWhDNUNyQixlZ0M0Q3FCO0VoQzNDckIsY2dDMkNxQjtFaEMxQ3JCLFdnQzBDcUI7O0FBRXJCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXL0JsRFE7RURuQlYsdUJnQ3NFeUI7RWhDckV6QixvQmdDcUV5QjtFaENwRXpCLGVnQ29FeUI7O0FBR3ZCO0VBQ0Usa0IvQmxGUTtFK0JtRlIsTy9CM0VFOztBK0I2RUo7RUFDRSxPL0J0RlE7OztBK0IyRmQ7QUFDQTtFQUNFLGtCL0I3Rlk7RURhWixvQmdDaUZvQjtFaENoRnBCLGlCZ0NnRm9CO0VoQy9FcEIsWWdDK0VvQjtFQUNwQjtFaEN2RkEsdUJnQ3dGdUI7RWhDdkZ2QixvQmdDdUZ1QjtFaEN0RnZCLGVnQ3NGdUI7O0FBQ3ZCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RWhDN0VGLG1CZ0M4RXFCO0VoQzdFckIsZ0JnQzZFcUI7RWhDNUVyQixlZ0M0RXFCO0VoQzNFckIsY2dDMkVxQjtFaEMxRXJCLFdnQzBFcUI7RUFDbkI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVy9CcEZROztBK0JzRlY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFcvQnpGUTtFRG5CVix1QmdDNkd5QjtFaEM1R3pCLG9CZ0M0R3lCO0VoQzNHekIsZWdDMkd5QjtFQUN2QixPL0I5R0k7O0ErQmdITjtFQUNFO0VBQ0E7O0FBR0E7RUFDRSxrQi9CdEhFO0UrQnVIRixPL0IvSFE7O0ErQmlJVjtFQUNFLE8vQjFIRTs7O0ErQjhIUjtBQUNBO0VBQ0Usa0IvQmhJTTtFREtOLG9CZ0M0SG9CO0VoQzNIcEIsaUJnQzJIb0I7RWhDMUhwQixZZ0MwSG9CO0VoQ2pJcEIsdUJnQ2tJdUI7RWhDakl2QixvQmdDaUl1QjtFaENoSXZCLGVnQ2dJdUI7RUFDdkI7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VoQ3pIRixtQmdDMEhxQjtFaEN6SHJCLGdCZ0N5SHFCO0VoQ3hIckIsZWdDd0hxQjtFaEN2SHJCLGNnQ3VIcUI7RWhDdEhyQixXZ0NzSHFCO0VBQ25CO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0IvQi9JSTtFREtOLG9CZ0MySXNCO0VoQzFJdEIsaUJnQzBJc0I7RWhDekl0QixZZ0N5SXNCO0VBQ3BCLFcvQjlIUTtFRG5CVix1QmdDa0p5QjtFaENqSnpCLG9CZ0NpSnlCO0VoQ2hKekIsZWdDZ0p5Qjs7QUFFekI7RUFDRTtFQUNBLE8vQjlKVTs7QStCaUtWO0VBQ0UsTy9CL0pVOztBK0JtS1o7RUFDRSxrQi9CdEtVO0UrQnVLVixPL0JoS0U7O0ErQmtLSjtFQUNFLE8vQjNLUTs7O0ErQitLZDtBQUNBO0VBQ0Usa0IvQnpLTTtFREtOLG9CZ0NxS29CO0VoQ3BLcEIsaUJnQ29Lb0I7RWhDbktwQixZZ0NtS29CO0VoQzFLcEIsdUJnQzJLdUI7RWhDMUt2QixvQmdDMEt1QjtFaEN6S3ZCLGVnQ3lLdUI7RUFDdkI7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQi9CM0lZO0VEcENkLG9CZ0NnTHNCO0VoQy9LdEIsaUJnQytLc0I7RWhDOUt0QixZZ0M4S3NCO0VoQ3JMdEIsdUJnQ3NMeUI7RWhDckx6QixvQmdDcUx5QjtFaENwTHpCLGVnQ29MeUI7RWhDN0x6QjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBZ0MyTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQSxhL0I1SmtCO0UrQjZKbEIsVy9CdExXO0UrQnVMWDtFQUNBO0VBQ0E7RUFDQSxrQi9Cak1FO0VES04sb0JnQzZMd0I7RWhDNUx4QixpQmdDNEx3QjtFaEMzTHhCLFlnQzJMd0I7RWhDbE14Qix1QmdDbU0yQjtFaENsTTNCLG9CZ0NrTTJCO0VoQ2pNM0IsZWdDaU0yQjtFaEMxTTNCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FnQzBNQTtFQUNFLFcvQnJMUTtFK0JzTFIsTy9Cek1JOztBK0IyTU47RUFDRSxPL0JwTlU7RStCcU5WLFcvQnBMUzs7QStCd0xQO0VBQ0UsTy9CbE5BOztBK0JvTkY7RUFDRSxrQi9CNUtRO0UrQjZLUixPL0J0TkE7RURLTixvQmdDa04wQjtFaENqTjFCLGlCZ0NpTjBCO0VoQ2hOMUIsWWdDZ04wQjs7QUFHeEI7RUFDRSxPL0JuT1E7OztBK0J1T2Q7QUFDQTtFaEMzTkUsb0JnQzROb0I7RWhDM05wQixpQmdDMk5vQjtFaEMxTnBCLFlnQzBOb0I7RUFDcEI7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQSxrQi9Cdk9JO0VES04sb0JnQ21Pc0I7RWhDbE90QixpQmdDa09zQjtFaENqT3RCLFlnQ2lPc0I7RUFDcEIsVy9CdE5RO0VEbkJWLHVCZ0MwT3lCO0VoQ3pPekIsb0JnQ3lPeUI7RWhDeE96QixlZ0N3T3lCOztBQUV6QjtFQUNFLFcvQnBOUztFK0JxTlQsYS9CL01pQjs7QStCaU5uQjtFaEMzT0Esb0JnQzRPc0I7RWhDM090QixpQmdDMk9zQjtFaEMxT3RCLFlnQzBPc0I7OztBQUd4QjtBQUNBO0VBQ0Usa0IvQnRQTTtFREtOLG9CZ0NrUG9CO0VoQ2pQcEIsaUJnQ2lQb0I7RWhDaFBwQixZZ0NnUG9CO0VBQ3BCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGtCL0JsUUk7RStCbVFKO0VoQzlQRixvQmdDK1BzQjtFaEM5UHRCLGlCZ0M4UHNCO0VoQzdQdEIsWWdDNlBzQjtFQUNwQixXL0JoUFM7RURyQlgsdUJnQ3NReUI7RWhDclF6QixvQmdDcVF5QjtFaENwUXpCLGVnQ29ReUI7O0FBRXpCO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTtFQUNBLFcvQjdQUztFK0I4UFQsTy9CL1JVO0UrQmdTVjs7QUFFRjtFQUNFOzs7QUFLRjtFQUNFOztBQUNBO0VBQ0U7O0FBRUY7RUFDRTs7O0FBS0o7RUFDRTs7QUFDQTtFQUNFOztBQUVGO0VBQ0U7OztBQUtKO0VBQ0U7O0FBQ0E7RUFDRTs7QUFFRjtFQUNFOzs7QUFLSjtFQUNFOztBQUNBO0VBQ0U7O0FBRUY7RUFDRTs7O0FBS047QUFDQTtFQUNFO0VBQ0EsYS9CaFRtQjtFK0JpVG5CLGtCL0JoVk07RURBTix1QmdDaVZ1QjtFaENoVnZCLG9CZ0NnVnVCO0VoQy9VdkIsZWdDK1V1QjtFaEM1VXZCLG9CZ0M2VW9CO0VoQzVVcEIsaUJnQzRVb0I7RWhDM1VwQixZZ0MyVW9CO0VBQ3BCO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoQzdWRix1QmdDOFZ5QjtFaEM3VnpCLG9CZ0M2VnlCO0VoQzVWekIsZWdDNFZ5QjtFQUN2QjtFQUNBLFcvQnpVUztFK0IwVVQ7RWhDeFdGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FnQ3dXRTtFQUNFLFcvQmhXUztFK0JpV1QsYS9CeFVlOztBK0IyVW5CO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0IvQnhYWTtFRE9kLHVCZ0NrWHlCO0VoQ2pYekIsb0JnQ2lYeUI7RWhDaFh6QixlZ0NnWHlCO0VBQ3ZCO0VoQzFYRjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBZ0MwWEU7RUFDRSxrQi9CL1hVO0UrQmdZVixPL0J6WEU7O0ErQjJYSjtFQUNFO0VBQ0E7RWhDN1dKLG1CZ0M4V3VCO0VoQzdXdkIsZ0JnQzZXdUI7RWhDNVd2QixlZ0M0V3VCO0VoQzNXdkIsY2dDMld1QjtFaEMxV3ZCLFdnQzBXdUI7OztBQ3RZekI7QUFBQTtBQUFBO0FBSUU7RUFDRTs7O0FBSUY7RUFDRTs7QUFFRTtFQUNFLFdoQ0NPO0VnQ0FQO0VBQ0E7RUFDQSxhaEN3QmdCOztBZ0NyQnBCO0VBQ0U7RUFDQSxrQmhDWEU7RWdDWUY7RWpDZEosdUJpQ2UyQjtFakNkM0Isb0JpQ2MyQjtFakNiM0IsZWlDYTJCOztBQUN2QjtFQUNFLFdoQ1RTO0VnQ1VUO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpDdEJOLHVCaUN1QjZCO0VqQ3RCN0Isb0JpQ3NCNkI7RWpDckI3QixlaUNxQjZCO0VBQ3ZCO0VBQ0EsT2hDekJBOztBZ0MwQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDRTtFQUNBO0VqQ3JDTix1QmlDc0M2QjtFakNyQzdCLG9CaUNxQzZCO0VqQ3BDN0IsZWlDb0M2Qjs7QUFFekI7QUFBQTtFQUVFOztBQUVGO0VBQ0U7O0FBRUY7QUFBQTtFQUVFOztBQUVGO0VBQ0U7O0FBR0Y7QUFBQTtFQUVFLGtCaENoRVE7O0FnQ21FUjtFQUNFLGtCaENwRU07O0FnQ3VFVjtBQUFBO0VBRUUsa0JoQzlCUTs7QWdDaUNUO0VBQ0Usa0JoQ2xDTzs7QWdDcUNWO0FBQUE7RUFFRSxZaEN0Q1E7O0FnQ3lDVDtFQUNFLGtCaEMxQ087O0FnQzZDVjtBQUFBO0VBRUUsWWhDOUNROztBZ0NpRFI7RUFDRSxrQmhDbERNOztBZ0NxRFY7QUFBQTtFQUVFLFloQ3REUTs7QWdDeURUO0VBQ0Usa0JoQzFETzs7QWdDNkRWO0FBQUE7RUFFRSxZaEM3RFE7O0FnQ2dFUjtFQUNFLGtCaENqRU07OztBZ0N1RWhCO0FBQUE7QUFBQTtBQUtJO0VBREY7SUFFSTs7O0FBRUY7RUFKRjtJQUtJOzs7QUFFRjtFQVBGO0lBUUk7OztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFLFFoQzFJVTs7QWdDOElaO0VBQ0UsUWhDNUlVOztBZ0NnSlo7RUFDRSxRaEN6R1U7O0FnQzZHWjtFQUNFLFFoQ3pHVTs7O0FpQ2pEaEI7QUFBQTtBQUFBO0FBSUU7RUFDRTs7QUFFRTtFQURGO0lBRUk7SUFDQTtJQUNBOzs7O0FBS1I7QUFDQTtFQUNFO0VBQ0E7RWxDVkEsdUJrQ1d1QjtFbENWdkIsb0JrQ1V1QjtFbENUdkIsZWtDU3VCO0VsQ2xCdkI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQVFBLG9Ca0NRb0I7RWxDUHBCLGlCa0NPb0I7RWxDTnBCLFlrQ01vQjtFQUNwQjs7QUFFRTtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VsQ3RCSix1QmtDdUIyQjtFbEN0QjNCLG9Ca0NzQjJCO0VsQ3JCM0IsZWtDcUIyQjtFQUN2QjtFQUNBO0VBQ0EsV2pDTk07RWlDT047RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBRUY7RUFDRTs7QUFHSjtFQUNFO0VBQ0E7RWxDbENKLG9Ca0NtQ3dCO0VsQ2xDeEIsaUJrQ2tDd0I7RWxDakN4QixZa0NpQ3dCO0VBQ3BCLGNqQ3RDRztFaUN1Q0g7RUFDQTs7QUFDQTtFQUNFLE9qQ3JETTtFaUNzRE4sYWpDZmE7RWlDZ0JiO0VBQ0EsV2pDeENTOztBaUN5Q1Q7RUFDRSxPakN6RE07O0FpQytEWjtFQUNFO0VsQ3pESix1QmtDMEQyQjtFbEN6RDNCLG9Ca0N5RDJCO0VsQ3hEM0IsZWtDd0QyQjs7QUFHM0I7RUFDRTtFQUNBOztBQUNBO0VBQ0U7O0FBQ0E7RUFDRTtFQUNBO0VsQ3BFTix1QmtDcUU2QjtFbENwRTdCLG9Ca0NvRTZCO0VsQ25FN0IsZWtDbUU2QjtFQUN2QjtFbENqRU4sb0JrQ2tFMEI7RWxDakUxQixpQmtDaUUwQjtFbENoRTFCLFlrQ2dFMEI7O0FBRXRCO0VBQ0UsV2pDbERLO0VpQ21ETCxhakMzQ2dCO0VpQzRDaEI7RUFDQTs7QUFDQTtFQUNFLE9qQ3JDTTs7QWlDd0NWO0VBQ0UsT2pDeEZRO0VpQ3lGUixXakM5RU87O0FpQ2dGVDtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFLE9qQ2xEUTs7QWlDbURSO0VBQ0U7O0FBSU47RUFDRTs7QUFFRTtFQUNFO0VBQ0E7RUFDQTs7QUFDQTtFQUNFOztBQUNBO0VBQ0UsT2pDcEhBO0VpQ3FIQSxXakNwRkQ7RWlDcUZDLGFqQzlFVTtFaUMrRVY7O0FBRUY7RUFDRSxhakNuRk87O0FpQzBGZjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RWxDMUhOLG9Ca0MySDRCO0VsQzFINUIsaUJrQzBINEI7RWxDekg1QixZa0N5SDRCOztBQUd4QjtFQUNFO0VBQ0Esa0JqQzNGUTs7QWlDNkZWO0VBQ0Usa0JqQ3hJQTtFaUN5SUE7RUFDQSxPakNsSk07O0FpQ21KTjtFQUNFOzs7QUFNVjtBQUNBO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VsQzdKRix1QmtDOEp5QjtFbEM3SnpCLG9Ca0M2SnlCO0VsQzVKekIsZWtDNEp5QjtFQUN2Qjs7QUFDQTtFQVRGO0lBVUk7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VsQ3RLSix1QmtDdUsyQjtFbEN0SzNCLG9Ca0NzSzJCO0VsQ3JLM0IsZWtDcUsyQjtFbENsSzNCLG9Ca0NtS3dCO0VsQ2xLeEIsaUJrQ2tLd0I7RWxDakt4QixZa0NpS3dCOztBQUNwQjtFQU5GO0lBT0c7SUFDQzs7O0FBR0o7RUFDRTs7QUFDQTtFQUZGO0lBR0k7SUFDQTs7O0FBR0E7RUFDRTtFQUNBOztBQUNBO0VBSEY7SUFJRzs7O0FBRUQ7RUFDRTs7QUFDQTtFQUNFLE9qQ3RNQTtFaUN1TUEsV2pDdEtEO0VpQ3VLQyxhakNoS1U7RWlDaUtWOztBQUVGO0VBQ0UsYWpDcktPOztBaUMyS2pCO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBSkY7SUFLSTtJQUNBO0lBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbEN4Tk4sdUJrQ3lONkI7RWxDeE43QixvQmtDd042QjtFbEN2TjdCLGVrQ3VONkI7RUFDdkI7O0FBQ0E7RWxDM01OLG1Ca0M0TTJCO0VsQzNNM0IsZ0JrQzJNMkI7RWxDMU0zQixla0MwTTJCO0VsQ3pNM0IsY2tDeU0yQjtFbEN4TTNCLFdrQ3dNMkI7RWxDdk4zQixvQmtDd040QjtFbEN2TjVCLGlCa0N1TjRCO0VsQ3RONUIsWWtDc040Qjs7QUFHeEI7RUFDRSxrQmpDdkxROztBaUN5TFY7RUFDRSxrQmpDcE9BO0VpQ3FPQTtFQUNBLE9qQzlPTTs7QWlDK09OO0VBQ0U7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7O0FBRUY7RUFDRSxrQmpDalBBO0VpQ2tQQTtFQUNBLE9qQzNQTTtFRFFaLHVCa0NvUDZCO0VsQ25QN0Isb0JrQ21QNkI7RWxDbFA3Qixla0NrUDZCO0VBQ3ZCO0VBQ0EsV2pDNU5LO0VpQzZOTDtFQUNBO0VBQ0E7RWxDaFFOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWtDOFBNOztBQUNBO0VBQ0U7O0FBRUY7RUFDRTs7QUFLUjtFQUNFOztBQUNBO0VBRkY7SUFHSTs7O0FBRUY7RUFDRSxXakNuUE87RWlDb1BQLGFqQzVPa0I7RWlDNk9sQjtFQUNBOztBQUNBO0VBQ0UsT2pDdE9ROztBaUN5T1o7RUFDRSxPakN6UlU7RWlDMFJWLFdqQy9RUzs7QWlDaVJYO0VBQ0U7RUFDQTtFQUNBOztBQUVGO0VBQ0UsT2pDblBVOztBaUNvUFY7RUFDRTs7O0FDdlNSO0FBQUE7QUFBQTtBQUlFO0VBQ0U7OztBQUdKO0FBQ0E7RW5DREUsdUJtQ0V1QjtFbkNEdkIsb0JtQ0N1QjtFbkNBdkI7RUFHQSxvQm1DRm9CO0VuQ0dwQixpQm1DSG9CO0VuQ0lwQixZbUNKb0I7RUFDcEI7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RW5DUkYsdUJtQ1N5QjtFbkNSekIsb0JtQ1F5QjtFbkNQekIsZW1DT3lCOztBQUV6QjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbkNqQkYsdUJtQ2tCeUI7RW5DakJ6QixvQm1DaUJ5QjtFbkNoQnpCLGVtQ2dCeUI7RW5DekJ6QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VtQ3VCRTtFQUNBO0VBQ0EsT2xDdEJJO0VrQ3VCSixXbENMUTs7QWtDTVI7RUFDRTtFQUNBO0VBQ0E7RW5DWEosbUJtQ1l1QjtFbkNYdkIsZ0JtQ1d1QjtFbkNWdkIsZW1DVXVCO0VuQ1R2QixjbUNTdUI7RW5DUnZCLFdtQ1F1QjtFbkNuQ3ZCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FtQ29DRTtFQUNFO0VBQ0E7OztBQUlOO0FBRUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RW5DL0JGLG1CbUNnQ3FCO0VuQy9CckIsZ0JtQytCcUI7RW5DOUJyQixlbUM4QnFCO0VuQzdCckIsY21DNkJxQjtFbkM1QnJCLFdtQzRCcUI7RUFDbkI7RUFDQSxXbEM3QlM7O0FrQzhCVDtFQUNFOzs7QUFRRjtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VuQy9DSixtQm1DZ0R1QjtFbkMvQ3ZCLGdCbUMrQ3VCO0VuQzlDdkIsZW1DOEN1QjtFbkM3Q3ZCLGNtQzZDdUI7RW5DNUN2QixXbUM0Q3VCO0VBQ25CLE9sQ3pFUTtFa0MwRVI7RUFDQSxXbEM3RFM7RWtDOERUO0VBQ0E7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QUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFcENsT0osdUJvQ21PMkI7RXBDbE8zQixvQm9Da08yQjtFcENqTzNCLGVvQ2lPMkI7O0FBRXpCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQ2pQTjtBQUFBO0FBQUE7QUFPUTtFQURGO0lBRUk7OztBQUVGO0VBSkY7SUFLSTs7O0FBRUY7RUFQRjtJQVFJOzs7O0FBTVY7RUFDRTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RXJDMUJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FxQ3lCRTtFQUNFOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCcENVVTtFRHpDZCx1QnFDZ0MyQjtFckMvQjNCLG9CcUMrQjJCO0VyQzlCM0IsZXFDOEIyQjtFckMzQjNCLG9CcUM0QndCO0VyQzNCeEIsaUJxQzJCd0I7RXJDMUJ4QixZcUMwQndCO0VyQ3hDeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFcUNzQ0ksV3BDaEJNO0VvQ2lCTixPcENwQ0U7O0FvQ3NDSjtFQUNFLFdwQ3JCTTtFb0NzQk4sT3BDaERRO0VvQ2lEUixhcENUa0I7RW9DVWxCO0VBQ0E7O0FBRUY7RUFDRSxXcENyQk87RW9Dc0JQLE9wQ3BEVTs7QW9DeURWO0VyQ3BESix1QnFDcUQ2QjtFckNwRDdCLG9CcUNvRDZCO0VyQ25EN0IsZXFDbUQ2Qjs7O0FBSy9CO0FBQUE7QUFBQTtBQUdBO0VBQ0Usa0JwQzlETTtFREtOLG9CcUMwRG9CO0VyQ3pEcEIsaUJxQ3lEb0I7RXJDeERwQixZcUN3RG9CO0VBQ3BCO0VBQ0E7RXJDakVBLHVCcUNrRXVCO0VyQ2pFdkIsb0JxQ2lFdUI7RXJDaEV2QixlcUNnRXVCO0VBQ3ZCOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VyQzFERixtQnFDMkRxQjtFckMxRHJCLGdCcUMwRHFCO0VyQ3pEckIsZXFDeURxQjtFckN4RHJCLGNxQ3dEcUI7RXJDdkRyQixXcUN1RHFCO0VyQzNFckIsdUJxQzRFeUI7RXJDM0V6QixvQnFDMkV5QjtFckMxRXpC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Q0E7O0FBR0E7RUFDRSxrQnBDcFJNOztBb0N3UlI7RUFDRSxrQnBDeFJNOztBb0M0UlI7RUFDRSxrQnBDNVJNOztBb0NnU1o7RUFDRSxPcEM5VVU7RW9DK1VWOztBQUVGO0VBQ0UsV3BDalRPOztBb0NzVFA7RXJDaFZKLHVCcUNpVjZCO0VyQ2hWN0Isb0JxQ2dWNkI7RXJDL1U3QixlcUMrVTZCOzs7QUFLL0I7QUFBQTtBQUFBO0FBS0k7RUFDRSxrQnBDNVZFO0VvQzZWRjtFckM3VkosdUJxQzhWMkI7RXJDN1YzQixvQnFDNlYyQjtFckM1VjNCLGVxQzRWMkI7RXJDelYzQixvQnFDMFZ3QjtFckN6VnhCLGlCcUN5VndCO0VyQ3hWeEIsWXFDd1Z3QjtFQUNwQjtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFckN2Vk4sbUJxQ3dWeUI7RXJDdlZ6QixnQnFDdVZ5QjtFckN0VnpCLGVxQ3NWeUI7RXJDclZ6QixjcUNxVnlCO0VyQ3BWekIsV3FDb1Z5QjtFQUNuQixrQnBDeldBO0VvQzBXQTtFQUNBO0VBQ0E7RUFDQTs7O0FBT1I7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFckMzWEosb0JxQzRYd0I7RXJDM1h4QixpQnFDMlh3QjtFckMxWHhCLFlxQzBYd0I7RXJDall4Qix1QnFDa1kyQjtFckNqWTNCLG9CcUNpWTJCO0VyQ2hZM0IsZXFDZ1kyQjs7QUFFekI7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPcENoWlE7RW9DaVpSLFdwQ3BYTztFb0NxWFA7RUFDQTtFQUNBO0VyQzVZSix1QnFDNlkyQjtFckM1WTNCLG9CcUM0WTJCO0VyQzNZM0IsZXFDMlkyQjtFQUN2QixrQnBDOVlFO0VEUE47RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXFDbVpJO0VBQ0UsT3BDeFpROztBb0M0WmQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCcENoYVk7O0FvQ2lhWjtFQVRGO0lBVUk7OztBQUVGO0VBWkY7SUFhSTs7O0FBRUY7RUFmRjtJQWdCSTs7O0FBRUY7RUFsQkY7SUFtQkk7Ozs7QUFJTjtBQUFBO0FBQUE7QUFRUTtFQUNFOztBQUNBO0VBRkY7SUFHSTs7O0FBRUY7RUFMRjtJQU1JOzs7QUFFRjtFQVJGO0lBU0k7OztBQU1WO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VyQzdjRix1QnFDOGN5QjtFckM3Y3pCLG9CcUM2Y3lCO0VyQzVjekIsZXFDNGN5QjtFQUN2Qjs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1BO0VBQ0U7RUFDQSxPcEN0ZVE7RW9DdWVSO0VBQ0EsV3BDeGRXOztBb0N5ZFg7RUFDRSxrQnBDemVRO0VvQzBlUixPcENuZUE7OztBb0N3ZVI7QUFBQTtBQUFBO0FBSUU7RUFDRTs7QUFDQTtFQUNFLFdwQ3pkTztFb0MwZFA7RUFDQTs7O0FDemZOO0FBQUE7QUFBQTtBQUlFO0VBREY7SUFFSTs7O0FBRUY7RUFKRjtJQUtJOzs7QUFFRjtFQVBGO0lBUUk7OztBQUVGO0VBQ0U7OztBQUdKO0VBQ0U7O0FBQ0E7RUFGRjtJQUdJOzs7QUFFRjtFQUxGO0lBTUk7OztBQUVGO0VBUkY7SUFTSTs7OztBQUtGO0VBREY7SUFFSTs7OztBQ2hDSjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTs7QUFDQTtFQUNFOztBQUVFO0VBQ0U7RXZDVk47RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXVDUU07RXZDWk47RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXVDWVE7RUFDRTs7O0FBT1o7QUFBQTtBQUFBO0FBR0E7RUFDRSxrQnRDeEJjO0VzQ3lCZDtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RXZDWkYsbUJ1Q2FxQjtFdkNackIsZ0J1Q1lxQjtFdkNYckIsZXVDV3FCO0V2Q1ZyQixjdUNVcUI7RXZDVHJCLFd1Q1NxQjtFQUNuQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUMxQ0o7QUFBQTtBQUFBO0FBS0k7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPdkNyQk07RXVDc0JOOztBQUNBO0VBQ0UsT3ZDdkJNOztBdUMwQlY7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPdkMvQk07O0F1Q2dDTjtFeENuQk4sb0J3Q29CNEI7RXhDbkI1QixpQndDbUI0QjtFeENsQjVCLFl3Q2tCNEI7RUFDcEI7O0FBR0o7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV3ZDakVTO0V1Q2tFVDtFQUNBO0VBQ0E7RXhDNUVOLHVCd0M2RTZCO0V4QzVFN0Isb0J3QzRFNkI7RXhDM0U3Qixld0MyRTZCOztBQUN2QjtFeEM5RE4sbUJ3QytEMkI7RXhDOUQzQixnQndDOEQyQjtFeEM3RDNCLGV3QzZEMkI7RXhDNUQzQixjd0M0RDJCO0V4QzNEM0IsV3dDMkQyQjs7O0FBTTdCO0FBQ0E7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFeEN6R0YsdUJ3QzBHeUI7RXhDekd6QixvQndDeUd5QjtFeEN4R3pCLGV3Q3dHeUI7RUFDdkIsa0J2QzNHSTs7QXVDNEdKO0VBQ0U7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT3ZDM0hZO0V1QzRIWjtFQUNBO0VBQ0E7OztBQUlKO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBOztBQUVFO0VBQ0U7O0FBR0k7RUFDRTs7QUFNVjtFeENoSkEsdUJ3Q2lKeUI7RXhDaEp6QixvQndDZ0p5QjtFeEMvSXpCLGV3QytJeUI7RUFDdkI7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFORjtJQU9HOzs7QUFFRDtFQVRGO0lBVUc7OztBQUVEO0VBWkY7SUFhRzs7O0FBRUQ7RUFDRTtFQUNBO0V4Q2pLSix1QndDa0syQjtFeENqSzNCLG9Cd0NpSzJCO0V4Q2hLM0IsZXdDZ0syQjs7QUFFekI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXhDN0tKLHVCd0M4SzJCO0V4QzdLM0Isb0J3QzZLMkI7RXhDNUszQixld0M0SzJCO0VBQ3ZCO0VBQ0E7RUFDQTs7QUFHSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCdkM5TFk7RXVDK0xaO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUU7RUFDRTs7QUFDQTtFQUNFLFd2Q3BMTTs7QXVDdUxWO0VBQ0U7O0FBQ0E7RUFGRjtJQUdJO0lBQ0E7SUFDQTs7O0FBRUY7RUFDRTs7QUFHSjtFQUNFOztBQUVFO0VBREY7SUFFSTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7O0FBQ0E7RUFDRSxhdkNsTWdCOzs7QXVDdU14QjtBQUNBO0VBQ0Usa0J2Q3pPTTtFREFOLHVCd0MwT3VCO0V4Q3pPdkIsb0J3Q3lPdUI7RXhDeE92Qixld0N3T3VCO0V4Q3JPdkIsb0J3Q3NPb0I7RXhDck9wQixpQndDcU9vQjtFeENwT3BCLFl3Q29Pb0I7RUFDcEI7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCdkM1UFk7RURPZCx1QndDc1B5QjtFeENyUHpCLG9Cd0NxUHlCO0V4Q3BQekIsZXdDb1B5QjtFQUN2Qjs7O0FBR0o7QUFDQTtFQUNFLGtCdkM1UE07RURBTix1QndDNlB1QjtFeEM1UHZCLG9Cd0M0UHVCO0V4QzNQdkIsZXdDMlB1QjtFeEN4UHZCLG9Cd0N5UG9CO0V4Q3hQcEIsaUJ3Q3dQb0I7RXhDdlBwQixZd0N1UG9CO0VBQ3BCO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0EsYXZDcE9vQjs7QXVDdU9wQjtFQUNFO0VBQ0E7O0FBQ0E7RUFDRSxPdkNuUk07RXVDb1JOO0VBQ0E7RUFDQTtFeEM5UU4sdUJ3QytRNkI7RXhDOVE3QixvQndDOFE2QjtFeEM3UTdCLGV3QzZRNkI7RUFDdkI7RUFDQTtFQUNBO0V4Q3pSTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBd0N3Ukk7RUFDRSxPdkMzUlE7O0F1QzhSUjtFQUNFLE92Q2pTTTs7QXVDbVNSO0VBQ0Usa0J2Q3BTTTtFdUNxU04sT3ZDOVJGOztBdUNtU047RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQnZDalRZO0VET2QsdUJ3QzJTeUI7RXhDMVN6QixvQndDMFN5QjtFeEN6U3pCLGV3Q3lTeUI7RUFDdkI7OztBQUlKO0FBRUU7RUFDRTs7O0FBSUo7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V4Q3BUSixtQndDcVR1QjtFeENwVHZCLGdCd0NvVHVCO0V4Q25UdkIsZXdDbVR1QjtFeENsVHZCLGN3Q2tUdUI7RXhDalR2QixXd0NpVHVCOztBQUVyQjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V4QzlUSixtQndDK1R1QjtFeEM5VHZCLGdCd0M4VHVCO0V4QzdUdkIsZXdDNlR1QjtFeEM1VHZCLGN3QzRUdUI7RXhDM1R2QixXd0MyVHVCOztBQUVyQjtFQUNFLE92Q3pWVTs7QXVDNFZkO0VBQ0UsV3ZDaFZXO0V1Q2lWWDs7QUFDQTtFQUVFOzs7QUFLTjtBQUNBO0VBQ0U7RUFDQTs7QUFDQTtFQUhGO0lBSUk7OztBQUVGO0VBTkY7SUFPSTs7O0FBRUY7RUFURjtJQVVJOzs7QUFFRjtFQUNFOztBQUNBO0VBRkY7SUFHRztJQUNDO0lBQ0E7OztBQUVGO0VBUEY7SUFRRztJQUNDO0lBQ0E7OztBQUVGO0VBWkY7SUFhRztJQUNDO0lBQ0E7OztBQUdBO0VBREY7SUFFSTs7O0FBSU47RUFDRTs7QUFDQTtFQUZGO0lBR0k7SUFDQTtJQUNBOzs7QUFFRjtFQVBGO0lBUUk7SUFDQTtJQUNBOzs7QUFFRjtFQVpGO0lBYUk7SUFDQTtJQUNBOzs7QUFLQTtFQUNFOztBQUtKO0VBQ0UsV3ZDMVlNOztBdUM2WVY7RUFDRTs7O0FDMWFKO0FBQUE7QUFBQTtBQUdBO0V6Q0tFLHVCeUNKdUI7RXpDS3ZCLG9CeUNMdUI7RXpDTXZCLGV5Q051QjtFQUN2QjtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTs7QUFHSjtFQUNFOztBQUNBO0VBQ0UsV3hDYU87RXdDWlAsYXhDb0JrQjtFd0NuQmxCLE94Q3JCUTtFd0NzQlI7RUFDQTtFQUNBOztBQUVGO0VBQ0U7O0FBR0E7RUFDRTtFQUNBOztBQUNBO0VBQ0U7O0FBRUY7QUFBQTtFQUVFO0VBQ0EsT3hDdkNJO0VEQ1o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFeUNvQ1E7RUFDQTtFekNsQ1IsdUJ5Q21DK0I7RXpDbEMvQixvQnlDa0MrQjtFekNqQy9CLGV5Q2lDK0I7O0FBQ3ZCO0FBQUE7RUFDRSxXeEM3Qks7RXdDOEJMOztBQUdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V6Qy9CUixtQnlDZ0MyQjtFekMvQjNCLGdCeUMrQjJCO0V6QzlCM0IsZXlDOEIyQjtFekM3QjNCLGN5QzZCMkI7RXpDNUIzQixXeUM0QjJCO0VBQ25CO0V6Q2pEUix1QnlDa0QrQjtFekNqRC9CLG9CeUNpRCtCO0V6Q2hEL0IsZXlDZ0QrQjtFekN6RC9CO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0F5QzBEUTtFQUNFLGtCeEN4REo7O0F3QzBERTtBQUFBO0FBQUE7RUFFRSxPeEM1REo7RXdDNkRJLGtCeENyRUU7RXdDc0VGOztBQU1OO0VBQ0U7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQSxXeENuRU87O0F3Q3NFUDtFQUNFOztBQU1OO0VBQ0U7O0FBQ0E7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0V6QzdGUix1QnlDOEYrQjtFekM3Ri9CLG9CeUM2RitCO0V6QzVGL0IsZXlDNEYrQjtFQUN2QixPeEN2R0k7RURDWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V5Q29HUTtFQUNBOztBQUVGO0VBQ0UsT3hDMUdNOztBd0M2R047RUFDRSxrQnhDaEhJO0V3Q2lISixPeEMxR0o7O0F3QzRHRTtFQUNFLE94Q3BISTs7QXdDeUhaO0VBQ0U7O0FBQ0E7RUFDRTs7QUFDQTtFQUZGO0lBR0k7SUFDQTs7O0FBR0E7RUFERjtJQUVJOzs7QUFLSjtFQUNFOztBQUNBO0VBQ0Usa0J4QzNGSTs7QXdDaUdWO0VBQ0U7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V6Q2pKUix1QnlDa0orQjtFekNqSi9CLG9CeUNpSitCO0V6Q2hKL0IsZXlDZ0orQjtFQUN2QixPeEMzSkk7RURDWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V5Q3dKUTs7QUFDQTtFQUNFLE94Q3ZKSjtFd0N3Skksa0J4Qy9KSTs7QXdDd0tSO0VBQ0U7OztBQVFSO0VBQ0U7RUFDQTs7QUFDQTtFQUNFOztBQUNBO0VBRkY7SUFHSTtJQUNBOzs7QUFFRjtFQUNFOztBQUVGO0VBQ0UsT3hDNUxRO0V3QzZMUixheEN6SmE7RUQvQm5CLHVCeUN5TDZCO0V6Q3hMN0Isb0J5Q3dMNkI7RXpDdkw3QixleUN1TDZCO0VBQ3ZCO0VBQ0E7O0FBQ0E7RUFORjtJQU9JOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFekNyTFIsbUJ5Q3NMMkI7RXpDckwzQixnQnlDcUwyQjtFekNwTDNCLGV5Q29MMkI7RXpDbkwzQixjeUNtTDJCO0V6Q2xMM0IsV3lDa0wyQjtFQUNuQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V6Q2xOUjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBeUNpTk07RUFDRSxrQnhDdE5NO0V3Q3VOTixPeENoTkY7RXdDaU5FLGN4Q3hOTTs7QXdDeU5OO0VBQ0U7RUFDQTtFQUNBOztBQU1WO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBUEY7SUFRSTs7O0FBRUY7RUFWRjtJQVdJO0lBQ0E7SUFDQTs7O0FBRUY7RUFmRjtJQWdCSTtJQUNBO0lBQ0E7OztBQUVGO0VBcEJGO0lBcUJJO0lBQ0E7SUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7O0FBR0E7RUFDRTtFQUNBO0V6QzVQTix1QnlDNlA2QjtFekM1UDdCLG9CeUM0UDZCO0V6QzNQN0IsZXlDMlA2QjtFekN4UDdCLG9CeUN5UDBCO0V6Q3hQMUIsaUJ5Q3dQMEI7RXpDdlAxQixZeUN1UDBCO0VBQ3BCOztBQUNBO0VBTkY7SUFPSTtJQUNBO0lBQ0E7SUFDQTs7O0FBRUY7RUFaRjtJQWFJO0lBQ0E7SUFDQTtJQUNBOzs7QUFFRjtFQWxCRjtJQW1CSTtJQUNBO0lBQ0E7SUFDQTs7O0FBRUY7RUF4QkY7SUF5Qkk7SUFDQTtJQUNBO0lBQ0E7OztBQUtKO0V6Q3RSSixvQnlDdVIwQjtFekN0UjFCLGlCeUNzUjBCO0V6Q3JSMUIsWXlDcVIwQjs7QUFJdEI7RUFDRSxXeEN6UlM7RXdDMFJULE94Q3ZTUTtFd0N3U1IsYXhDcFFhOztBd0NxUWI7RUFDRSxPeEMxU007RURGZDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V5QzBTUTs7QUFDQTtFQUNFLE94Q2hUSTs7QXdDcVRSO0VBQ0UsT3hDdlRJO0V3Q3dUSixXeEMxU0s7RXdDMlNMO0VBQ0E7RUFDQTtFekMxVFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXlDd1RRO0VBQ0UsT3hDN1RJOztBd0NrVVI7RUFDRTs7QUFLQTtFQUNFO0VBQ0EsV3hDMVRLOztBd0MyVEw7RUFDRSxPeEM1VUU7O0F3Q2tWUjtFQUNFLFd4Q3RVSztFd0N1VUwsT3hDcFZNO0V3Q3FWTixheEM3U1M7O0F3QzhTVDtFQUNFLE94Q3JWSTtFd0NzVko7RUFDQTtFQUNBLFd4QzdVRztFd0M4VUg7OztBQzVWWjtBQUFBO0FBQUE7QUFJRTtFQUNFOztBQUNBO0VBQ0U7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRSxhekMwQmE7RXlDekJiLFd6Q0dTO0V5Q0ZUO0VBQ0E7O0FBQ0E7RUFMRjtJQU1JLFd6Q1FJO0l5Q1BKOzs7QUFHSjtFQUNFLGF6Q2NlO0V5Q2JmOztBQUVFO0VBREY7SUFFSTs7O0FBRUY7RUFKRjtJQUtJOzs7QUFFRjtFQVBGO0lBUUk7OztBQU1OO0VBQ0U7O0FBSUU7RUFDRTs7QUFFRjtFQUNFLGtCekNqRE07RXlDa0ROO0VBQ0EsT3pDNUNGO0VEQU4sdUIwQzZDK0I7RTFDNUMvQixvQjBDNEMrQjtFMUMzQy9CLGUwQzJDK0I7RUFDdkI7RTFDckRSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0EwQ21EUTtFQUNFLGtCekN2REk7OztBMENGaEI7RUFDRTs7QUFDQTtFQUNFLFcxQ3dCUTtFMEN2QlIsYTFDb0NvQjtFMENuQ3BCOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFLFcxQ0VXO0UwQ0RYLE8xQ1ZZO0UwQ1daLGExQ3lCaUI7O0EwQ3JCZjtFQUNFOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0UzQ2ZSLHVCMkNnQitCO0UzQ2YvQixvQjJDZStCO0UzQ2QvQixlMkNjK0I7RUFDdkI7RUFDQTtFM0NiUixvQjJDYzRCO0UzQ2I1QixpQjJDYTRCO0UzQ1o1QixZMkNZNEI7O0FBQ3BCO0VBUkY7SUFTSTtJQUNBO0lBQ0E7SUFDQTs7O0FBRUY7RUFkRjtJQWVJO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOztBQUNBO0VBRkY7SUFHSTtJQUNBO0lBQ0E7OztBQUVGO0VBUEY7SUFRSTtJQUNBO0lBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBSkY7SUFLSTtJQUNBOzs7QUFFRjtFQVJGO0lBU0k7SUFDQTs7O0FBRUY7RUFDRSxXMUNoQ0Q7RTBDaUNDLE8xQ25FQTtFMENvRUE7RUFDQSxhMUM3QlU7RTBDOEJWO0VBQ0E7O0FBQ0E7RUFQRjtJQVFJOzs7QUFFRjtFQVZGO0lBV0k7OztBQUdKO0VBQ0U7RUFDQSxhMUMxQ087O0EwQzZDWDtFQUNFOztBQUNBO0VBQ0U7RUFDQSxPMUNwRkU7RTBDcUZGLFcxQ3pFRztFMEMwRUg7O0FBR0o7RUFDRTtFQUNBOztBQUVGO0VBQ0U7O0FBQ0E7RUFGRjtJQUdJOzs7QUFFRjtFQUxGO0lBTUk7OztBQUVGO0VBQ0UsTzFDMUdBO0UwQzJHQTtFM0MxR1o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFMkN3R1k7RUFDQTtFQUNBO0UzQ3ZHWix1QjJDd0dtQztFM0N2R25DLG9CMkN1R21DO0UzQ3RHbkMsZTJDc0dtQzs7QUFDdkI7RUFDRSxPMUMxR1I7RTBDMkdRLGtCMUNsSEE7RTBDbUhBLGMxQ25IQTs7QTBDc0hKO0VBQ0U7RUFDQSxXMUN6R0c7RTBDMEdILGExQ25GTzs7QTBDb0ZQO0VBSkY7SUFLSTtJQUNBOzs7QUFFRjtFQVJGO0lBU0k7SUFDQTs7O0FBRUY7RUFDRTtFM0M1SGQsdUIyQzZIcUM7RTNDNUhyQyxvQjJDNEhxQztFM0MzSHJDLGUyQzJIcUM7RUFDdkI7RUFDQSxPMUNwSUE7RTBDcUlBO0VBQ0E7RTNDeElkO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTJDc0ljO0VBQ0E7O0FBQ0E7RUFDRSxPMUM5SUo7O0EwQ2dKRTtFQUNFO0VBQ0EsTzFDbEpKOztBMEN5SlI7RUFDRTs7QUFDQTtFQUZGO0lBR0k7OztBQUVGO0VBTEY7SUFNSTs7O0FBS1I7RUFDRTtFQUNBOztBQUVFO0VBQ0U7OztBQ3pLUjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsTTNDUFk7O0EyQ1VaO0VBREY7SUFFSTs7O0FBRUY7RUFKRjtJQUtJOzs7QUFFRjtFQVBGO0lBUUk7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTs7QUFHSjtFQUtFOztBQUpBO0VBQ0U7RUFDQTs7QUFJSjtFQUNFOztBQUVGO0VBQ0UsYTNDSmtCO0UyQ0tsQixXM0NaTztFMkNhUDs7QUFFRjtFQUNFOztBQUVFO0VBQ0U7RUFDQTtFQUNBLE8zQ25ETTtFMkNvRE47RTVDdERSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTRDb0RRO0VBQ0EsVzNDM0NPOztBMkM0Q1A7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTVDekRWLHVCNEMwRGlDO0U1Q3pEakMsb0I0Q3lEaUM7RTVDeERqQyxlNEN3RGlDO0VBQ3ZCLGtCM0NsRUk7RURBZDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U0Q2dFVTtFQUNBOztBQUVGO0VBQ0UsTzNDeEVJO0UyQ3lFSjs7QUFDQTtFQUNFO0VBQ0E7O0FBT1I7RUFDRTtFQUNBOztBQUNBO0U1Q3RGTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U0Q29GUSxPM0N0Rk07O0EyQ3VGTjtFQUNFLE8zQzFGSTs7QTJDK0ZaO0VBQ0U7O0FBQ0E7RUFDRTtFQUNBOztBQUtJO0VBREY7SUFFSTtJQUNBO0k1Q25HWix1QjRDb0dtQztJNUNuR25DLG9CNENtR21DO0k1Q2xHbkMsZTRDa0dtQztJQUN2QjtJQUNBO0lBQ0E7OztBQUVGO0VBVEY7SUFVSTtJQUNBO0k1QzNHWix1QjRDNEdtQztJNUMzR25DLG9CNEMyR21DO0k1QzFHbkMsZTRDMEdtQztJQUN2QjtJQUNBO0lBQ0E7OztBQU9aO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRTtFQUNFLGEzQzlGZ0I7RTJDK0ZoQjtFQUNBLFczQ3RHSzs7QTJDd0dQO0VBQ0UsYTNDcEdhO0UyQ3FHYixXM0M3SFM7O0EyQytIWDtFQUNFOztBQUlOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFYRjtJQVlJOzs7QUFFRjtFQWRGO0lBZUk7SUFDQTtJQUNBOzs7QUFFRjtFQW5CRjtJQW9CSTtJQUNBO0lBQ0E7OztBQUVGO0VBQ0UsVzNDN0pXOztBMkM4Slg7RUFGRjtJQUdJOzs7QUFFRjtFQUxGO0lBTUk7OztBQUVGO0VBQ0UsTzNDbkxRO0UyQ29MUjtFQUNBLFczQ3BKSzs7QTJDc0pQO0VBQ0UsTzNDdExROztBMkN1TFI7RUFDRSxPM0MxTE07O0EyQytMVjtFQUNFO0VBQ0E7RUFDQTtFQUNBLFczQ3JMUzs7QTJDc0xUO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXM0N4TE87O0EyQzBMVDtFQUNFOztBQUNBO0VBQ0U7O0FBR0o7RUFDRTtFQUNBLE8zQ2pOTTs7QTJDa05OO0VBQ0UsTzNDck5JO0UyQ3NOSjs7O0FDdk5aO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBSkY7SUFLSTtJQUNBOzs7QUFFRjtFQVJGO0lBU0k7SUFDQTs7O0FBRUY7RUFaRjtJQWFJO0lBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCNUN6QlU7RTRDMEJWO0U3Q2xCRix1QjZDbUJ5QjtFN0NsQnpCLG9CNkNrQnlCO0U3Q2pCekIsZTZDaUJ5QjtFQUN2Qjs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUNFLE81QzVDSTtFNEM2Q0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFaRjtJQWFJO0lBQ0E7OztBQUVGO0VBaEJGO0lBaUJJO0lBQ0E7OztBQUVGO0VBcEJGO0lBcUJJO0lBQ0E7OztBQUdBO0VBQ0UsTzVDckVBO0U0Q3NFQSxXNUNyREk7RTRDc0RKO0VBQ0EsYTVDdkNXOztBNEN3Q1g7RUFMRjtJQU1JLFc1Q3hERTtJNEN5REY7OztBQUtKO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBRUY7RUFDRSxPNUN4RkY7RURQTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBNkM2RlE7RUFDRTs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXNUNoRkM7O0E0Q3NGWDtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0EiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBCb290c3RyYXAgdjQuNi4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAyMSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMjEgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKi9cblxuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInJvb3RcIjtcbkBpbXBvcnQgXCJyZWJvb3RcIjtcbkBpbXBvcnQgXCJ0eXBlXCI7XG5AaW1wb3J0IFwiaW1hZ2VzXCI7XG5AaW1wb3J0IFwiY29kZVwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcbkBpbXBvcnQgXCJmb3Jtc1wiO1xuQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCJ0cmFuc2l0aW9uc1wiO1xuQGltcG9ydCBcImRyb3Bkb3duXCI7XG5AaW1wb3J0IFwiYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJjdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJuYXZcIjtcbkBpbXBvcnQgXCJuYXZiYXJcIjtcbkBpbXBvcnQgXCJjYXJkXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcInBhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJiYWRnZVwiO1xuQGltcG9ydCBcImp1bWJvdHJvblwiO1xuQGltcG9ydCBcImFsZXJ0XCI7XG5AaW1wb3J0IFwicHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCJtZWRpYVwiO1xuQGltcG9ydCBcImxpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJjbG9zZVwiO1xuQGltcG9ydCBcInRvYXN0c1wiO1xuQGltcG9ydCBcIm1vZGFsXCI7XG5AaW1wb3J0IFwidG9vbHRpcFwiO1xuQGltcG9ydCBcInBvcG92ZXJcIjtcbkBpbXBvcnQgXCJjYXJvdXNlbFwiO1xuQGltcG9ydCBcInNwaW5uZXJzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzXCI7XG5AaW1wb3J0IFwicHJpbnRcIjtcbiIsIi8qXG5cdFRlbXBsYXRlIE5hbWU6IEFkdWNhXG5cdFZlcnNpb246IDEuMFxuXHRBdXRob3I6IHRlY2h5ZGV2c1xuXHRBdXRob3IgRW1haWw6IGNvbnRhY3RAdGVjaHlkZXZzLmNvbVxuXHREZXNjcmlwdGlvbjogQWR1Y2EgLSBMZWFybmluZyAmIE9ubGluZSBFZHVjYXRpb24gSFRNTCBUZW1wbGF0ZVxuXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbltUYWJsZSBvZiBjb250ZW50c11cblx0KyBHZW5lcmFsXG5cdFx0LSBHbG9iYWwgU3R5bGVzXG5cdFx0LSBnZW5lcmFsIFN0eWxlc1xuXHRcdC0gUHJlbG9hZGVyXG5cdFx0LSBCYWNrIFRvIFRvcFxuXHRcdC0gdGhlbWUtYnRuXG5cdFx0LSBzZWN0aW9uLWhlYWRpbmdcblx0XHQtIE1vdmUgYmdcblx0XHQtIE1vdmUgYmcgMlxuXHRcdC0gc2VjdGlvbiBkaXZpZGVyXG5cdCsgSGVhZGVyXG5cdFx0LSBMb2dvXG5cdFx0LSBDYXRlZ29yeVxuXHRcdC0gU2VhY2ggZm9ybVxuXHRcdC0gTWFpbiBOYXZpZ2F0aW9uXG5cdFx0LSBEcm9wZG93blxuXHRcdC0gT2ZmY2FudmFzIG1lbnVcblx0XHQtIEFkbWlzc2lvblxuXHQrIENvbnRlbnRcblx0XHQrIE1haW4gRmlsZXNcblx0XHRcdC0gaW5kZXguaHRtbFxuXHRcdFx0LSBob21lLTIuaHRtbFxuXHRcdCsgQmFubmVyIEFyZWFcblx0XHRcdC0gQnJlYWRjcnVtYlxuXHQgICAgKyBBYm91dFxuXHQgICAgICAgIC0gQWJvdXQgdXNcblx0ICAgICsgQ291cnNlc1xuXHQgICAgICAgIC0gQ291cnNlIEdyaWRcblx0ICAgICAgICAtIENvdXJzZSBEZXRhaWxcblx0XHQrIFBhZ2VzXG5cdFx0XHQtIFRlYWNoZXJcblx0XHRcdC0gVGVhY2hlciBEZXRhaWxcblx0XHRcdC0gRkFRc1xuXHRcdFx0LSBBZG1pc3Npb25cblx0XHRcdC0gR2FsbGVyeVxuXHRcdFx0LSBQcmljaW5nIFRhYmxlXG5cdFx0XHQtIFNpbmcgdXBcblx0XHRcdC0gTG9nIGluXG5cdFx0XHQtIEVycm9yIDQwNCBwYWdlXG5cdFx0KyBCbG9nXG5cdFx0ICAgIC0gQmxvZyBHcmlkXG5cdFx0ICAgIC0gQmxvZyBTaW5nbGVcblx0XHQrIENvbnRhY3Rcblx0XHQgICAgLSBDb250YWN0XG5cdCsgRm9vdGVyXG5cdFx0KyBUb3AgRm9vdGVyXG5cdFx0XHQtIExvZ29cblx0XHRcdC0gQ29tcGFueVxuXHRcdFx0LSBDb3Vyc2VzXG5cdFx0XHQtIE1vYmlsZSBhcHBcblx0XHQrIEJvdHRvbSBGb290ZXJcblx0XHQgICAgLSBDb3B5cmlnaHRcblx0XHQgICAgLSBMYW5ndWFnZSBTZWxlY3Rcblx0KyBSZXNwb25zaXZlIERlc2lnbiBTdHlsZXNcbiAgICAgICAgICAgIC0gJGxhcHRvcF9sczogJ29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCknO1xuICAgICAgICAgICAgLSAkbGFwdG9wX2w6ICcobWF4LXdpZHRoOiAxNDQwcHgpJztcbiAgICAgICAgICAgIC0gJGxhcHRvcF9tOiAnKG1heC13aWR0aDogMTM2NnB4KSc7XG4gICAgICAgICAgICAtICRsYXB0b3BfbV90d286ICcobWF4LXdpZHRoOiAxMjgwcHgpJztcbiAgICAgICAgICAgIC0gJGxhcHRvcF9tX3RocmVlOiAnKG1heC13aWR0aDogMTIwMHB4KSc7XG4gICAgICAgICAgICAtICRsYXB0b3BfbV9mb3VyOiAnKG1heC13aWR0aDogMTE5OXB4KSc7XG4gICAgICAgICAgICAtICRsYXB0b3BfbV9maXZlOiAnKG1heC13aWR0aDogMTAyNHB4KSc7XG4gICAgICAgICAgICAtICRsYXB0b3BfbV9zaXg6ICcobWluLXdpZHRoOiAxMjAwcHgpJztcbiAgICAgICAgICAgIC0gJG1lZGl1bV9kZXZpY2U6ICdvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpJztcbiAgICAgICAgICAgIC0gJHRhYl9kZXZpY2U6ICdvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCknO1xuICAgICAgICAgICAgLSAkdGFiX2RldmljZS1hbmQtbW9iaWxlOiAnb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogOTkwcHgpJztcbiAgICAgICAgICAgIC0gJHRhYl9kZXZpY2VfdHdvOiAnKG1heC13aWR0aDogNzY4cHgpJztcbiAgICAgICAgICAgIC0gJHRhYl9kZXZpY2VfdGhyZWU6ICcobWF4LXdpZHRoOiA5OTFweCknO1xuICAgICAgICAgICAgLSAkdGFiX2RldmljZV9mb3VyOiAnKG1pbi13aWR0aDogOTkxcHgpJztcbiAgICAgICAgICAgIC0gJGxhcmdlX21vYmlsZTogJ29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSc7XG4gICAgICAgICAgICAtICRsYXJnZV9tb2JpbGVfdHdvOiAnIChtYXgtd2lkdGg6IDYwMHB4KSc7XG4gICAgICAgICAgICAtICRsYXJnZV9tb2JpbGVfdGhyZWU6ICcgKG1heC13aWR0aDogNTc1cHgpJztcbiAgICAgICAgICAgIC0gJGxhcmdlX21vYmlsZV9mb3VyOiAnIChtYXgtd2lkdGg6IDQ4MHB4KSc7XG4gICAgICAgICAgICAtICRzbWFsbF9tb2JpbGU6ICdvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0NzlweCknO1xuICAgICAgICAgICAgLSAkc21hbGxfbW9iaWxlX29uZTogJyAobWF4LXdpZHRoOiA0MjVweCknO1xuICAgICAgICAgICAgLSAkc21hbGxfbW9iaWxlX3R3bzogJyhtYXgtd2lkdGg6IDQwMHB4KSc7XG4gICAgICAgICAgICAtICRzbWFsbF9tb2JpbGVfdGhyZWU6ICcobWF4LXdpZHRoOiAzMjBweCknO1xuICAgICAgICAgICAgLSAkc21hbGxfbW9iaWxlX2ZvdXI6ICcobWF4LXdpZHRoOiAzNzVweCknO1xuICAgICAgICAgICAgLSAkZGV2aWNlLTE2MDA6ICcobWF4LXdpZHRoOiAxNjAwcHgpJztcbiAgICAgICAgICAgIC0gJGRldmljZS03Njc6ICcobWF4LXdpZHRoOiA3NjdweCknO1xuICAgICAgICAgICAgLSAkZGV2aWNlLTk5MjogJyhtYXgtd2lkdGg6IDk5MnB4KSc7XG4gICAgICAgICAgICAtICRkZXZpY2UtNzY3OiAnKG1heC13aWR0aDogNzY3cHgpJztcbiAgICAgICAgICAgIC0gJGRldmljZS00ODE6ICcobWF4LXdpZHRoOiA0ODFweCknO1xuICAgICAgICAgICAgLSAkZGV2aWNlLTM4NDogJyhtYXgtd2lkdGg6IDM4NHB4KSc7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UG9wcGluczoxMDAsMjAwLDMwMCw0MDAsNTAwLDYwMCw3MDAsODAwLDkwMCZkaXNwbGF5PXN3YXAnKTtcblxuKiB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbnVsIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5hOmhvdmVyLFxuYTpmb2N1c3tcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGNvbG9yOiAkdGhlbWUtY29sb3I7XG59XG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwIHtcbiAgbWFyZ2luOiAwO1xufVxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGZvbnQtZmFtaWx5OiAkdGhlbWUtZm9udDtcbiAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuLm5ldy1wYWdlLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxcHggNnB4IDAgNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG59XG5cbi8qIGZvbnQtd2VpZ2h0ICovXG4uZm9udC13ZWlnaHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50O1xufVxuLmZvbnQtd2VpZ2h0LXNlbWktYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkICFpbXBvcnRhbnQ7XG59XG4uZm9udC13ZWlnaHQtbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW0gIWltcG9ydGFudDtcbn1cbi5mb250LXdlaWdodC1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyICFpbXBvcnRhbnQ7XG59XG4uZm9udC13ZWlnaHQtbGlnaHQge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLSBiZyAtLS0tLS0tLS0tLS0tLS0tKi9cbi5iZy0xIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTIgIWltcG9ydGFudDtcbn1cbi5iZy0yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTIgIWltcG9ydGFudDtcbn1cbi5iZy0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTMgIWltcG9ydGFudDtcbn1cbi5iZy00IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTQgIWltcG9ydGFudDtcbn1cbi5iZy01IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTUgIWltcG9ydGFudDtcbn1cbi5iZy02IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTggIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tIHRleHQtY29sb3IgLS0tLS0tLS0tLS0tLS0tLSovXG4udGV4dC1ibGFjayB7XG4gIGNvbG9yOiAkdGhlbWUtY29sb3IgIWltcG9ydGFudDtcbn1cbi50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnRleHQtY29sb3ItMSB7XG4gIGNvbG9yOiAkdGhlbWUtY29sb3ItMiAhaW1wb3J0YW50O1xufVxuLnRleHQtY29sb3ItMiB7XG4gIGNvbG9yOiAkYWx0ZXItY29sb3ItMiAhaW1wb3J0YW50O1xufVxuLnRleHQtY29sb3ItMyB7XG4gIGNvbG9yOiAkYWx0ZXItY29sb3ItMyAhaW1wb3J0YW50O1xufVxuLnRleHQtY29sb3ItNCB7XG4gIGNvbG9yOiAkYWx0ZXItY29sb3ItNCAhaW1wb3J0YW50O1xufVxuLnRleHQtY29sb3ItNSB7XG4gIGNvbG9yOiAkYWx0ZXItY29sb3ItNSAhaW1wb3J0YW50O1xufVxuLnRleHQtY29sb3ItNiB7XG4gIGNvbG9yOiAkdGhlbWUtY29sb3ItOCAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0gZm9udHMgLS0tLS0tLS0tLS0tLS0tLSovXG4uZm9udC1zaXplLTUwIHtcbiAgZm9udC1zaXplOiA1MHB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTQ1IHtcbiAgZm9udC1zaXplOiA0NXB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTQwIHtcbiAgZm9udC1zaXplOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTM1IHtcbiAgZm9udC1zaXplOiAzNXB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTMwIHtcbiAgZm9udC1zaXplOiAzMHB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTI4IHtcbiAgZm9udC1zaXplOiAyOHB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTI3IHtcbiAgZm9udC1zaXplOiAyN3B4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTI2IHtcbiAgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTI1IHtcbiAgZm9udC1zaXplOiAyNXB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTI0IHtcbiAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTIzIHtcbiAgZm9udC1zaXplOiAyM3B4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTIyIHtcbiAgZm9udC1zaXplOiAyMnB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTIxIHtcbiAgZm9udC1zaXplOiAyMXB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTIwIHtcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTE5IHtcbiAgZm9udC1zaXplOiAxOXB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTE4IHtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTE3IHtcbiAgZm9udC1zaXplOiAxN3B4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTE2IHtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTE1IHtcbiAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTE0IHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTEzIHtcbiAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTEyIHtcbiAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zaXplLTExIHtcbiAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLSBnZW5lcmFsIC0tLS0tLS0tLS0tLS0tLS0qL1xuLnNlY3Rpb24tcGFkZGluZyB7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbn1cbi5zZWN0aW9uLS1wYWRkaW5nIHtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0NXB4O1xufVxuLnNlY3Rpb24tcGFkZGluZy10b3Age1xuICBwYWRkaW5nLXRvcDogNjBweDtcbn1cbi5zZWN0aW9uLXBhZGRpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG59XG4uc2VjdGlvbi1wYWRkaW5nLWJvdHRvbS0yIHtcbiAgcGFkZGluZy1ib3R0b206IDkwcHg7XG59XG4ucGFkZGluZy10b3Atbm9uZSB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4ucGFkZGluZy1ib3R0b20tbm9uZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4ucGFkZGluZy1ub25lIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uc2VjdGlvbi1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiAxMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG59XG4uc2VjdGlvbi0tbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMTIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDkwcHg7XG59XG4ubWFyZ2luLXRvcC1ub25lIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLm1hcmdpbi1ib3R0b20tbm9uZSB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5tYXJnaW4tbm9uZSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbi5iZy1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTY7XG59XG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJnLWdyYWRpZW50IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCBjaXJjbGUgZmFydGhlc3QtY29ybmVyIGF0IDEwJSAyMCUsICByZ2JhKDIzNiwxNTgsMjQ4LDEpIDAlLCByZ2JhKDEzMSw4MywyNDEsMSkgOTAuMSUgKTtcbn1cbi5ib3JkZXItdG9wLW5vbmUge1xuICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYm9yZGVyLWJvdHRvbS1ub25lIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmJvcmRlci1ub25lIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYWZ0ZXItbm9uZSB7XG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLmJlZm9yZS1ub25lIHtcbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG4ucG9zaXRpb24tYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn1cbi5yb3VuZC1yYWRpdXMge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCAhaW1wb3J0YW50KTtcbn1cbi5yb3VuZGVkLXJhZGl1cyB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMzBweCAhaW1wb3J0YW50KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLSBjb250YWluZXIgLS0tLS0tLS0tLS0tLS0tLSovXG4uY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOjU3NnB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNzIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgfVxufVxuXG4vKi09PT09PT09PT09PT09PT09PT0gbG9hZGluZy1hcmVhID09PT09PT09PT09PT09LSovXG4jbG9hZGluZ3tcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk7XG4gICNsb2FkaW5nLWNlbnRlcntcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICNsb2FkaW5nLWNlbnRlci1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICB3aWR0aDogMTUwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtNzVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNzVweDtcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLm9iamVjdHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIH1cbiAgICAgICNvYmplY3Rfb25lIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IG9iamVjdF9vbmUgMS41cyBpbmZpbml0ZTtcbiAgICAgICAgYW5pbWF0aW9uOiBvYmplY3Rfb25lIDEuNXMgaW5maW5pdGU7XG4gICAgICB9XG4gICAgICAjb2JqZWN0X3R3byB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBvYmplY3RfdHdvIDEuNXMgaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbjogb2JqZWN0X3R3byAxLjVzIGluZmluaXRlO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gICAgICB9XG4gICAgICAjb2JqZWN0X3RocmVlIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IG9iamVjdF90aHJlZSAxLjVzIGluZmluaXRlO1xuICAgICAgICBhbmltYXRpb246IG9iamVjdF90aHJlZSAxLjVzIGluZmluaXRlO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLSBzZWN0aW9uLWhlYWRpbmcgLS0tLS0tLS0tLS0tLS0tLSovXG4uc2VjdGlvbi1oZWFkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICAuc2VjdGlvbl9fbWV0YSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTM7XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzAsIDEzNiwgMjI5LCAwLjEpO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgfVxuICAuc2VjdGlvbl9fbWV0YTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG4gIC5zZWN0aW9uX19tZXRhMyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItODtcbiAgfVxuICAuc2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJHByaW1hcnktZm9udDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX29uZX0ge1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS03O1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTk7XG4gICAgfVxuICAgIGJyIHtcbiAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zZWN0aW9uX19zdWIge1xuICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTQ7XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS0tLSBzZWN0aW9uLWRlc2NyaXB0aW9uIC0tLS0tLS0tLS0tLS0tLS0qL1xuLnNlY3Rpb24tZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIC5zZWN0aW9uX19kZXNjIHtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBiciB7XG4gICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIHNlY3Rpb24tZGl2aWRlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnNlY3Rpb24tZGl2aWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogM3B4O1xuICBtYXJnaW4tdG9wOiAyNnB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDMwcHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIHJpZ2h0OiAyNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLnNlY3Rpb24tZGl2aWRlcjIge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIHNlY3Rpb24tZG90XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uc2VjdGlvbi1kb3Qge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDEwOCwgOTIsIDIzMSwgMC45OSkpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogNXB4IHNvbGlkICR0aGVtZS1jb2xvci0yO1xufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIHNlY3Rpb24taWNvblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnNlY3Rpb24taWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogNjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDhweDtcbiAgICBsZWZ0OiA0cHg7XG4gICAgY29udGVudDogXCJcXGYwMTNcIjtcbiAgICBmb250LWZhbWlseTogXCJMaW5lIEF3ZXNvbWUgRnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS05O1xuICAgIGNvbG9yOiByZ2JhKDg3LCAxNTAsIDg3LCAwLjcpO1xuICAgIGFuaW1hdGlvbjogc3Bpbm1lIDUwMDBtcyBpbmZpbml0ZSBsaW5lYXI7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA0cHg7XG4gICAgYm90dG9tOiAxcHg7XG4gICAgY29udGVudDogXCJcXGYwMTNcIjtcbiAgICBmb250LWZhbWlseTogXCJMaW5lIEF3ZXNvbWUgRnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS0xMztcbiAgICBjb2xvcjogcmdiYSgxMjksIDE5OSwgMTMyLCAwLjcpO1xuICAgIGFuaW1hdGlvbjogc3Bpbm1lMiA1MDAwbXMgaW5maW5pdGUgbGluZWFyO1xuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgc2VjdGlvbi1pY29uLWhlYXJ0XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uc2VjdGlvbi1pY29uLWhlYXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDFweDtcbiAgICBjb250ZW50OiBcIlxcZjAwNFwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkxpbmUgQXdlc29tZSBGcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXNpemU6ICRkaXNwbGF5LTExO1xuICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICBhbmltYXRpb246IGhlYXJ0QmVhdCA5MDBtcyBpbmZpbml0ZSBsaW5lYXI7XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIHNlY3Rpb24taWNvbi1iYWxhbmNlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uc2VjdGlvbi1pY29uLWJhbGFuY2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMXB4O1xuICAgIGNvbnRlbnQ6IFwiXFxmMjRlXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiTGluZSBBd2Vzb21lIEZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTE7XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgIGFuaW1hdGlvbjogaGVhcnRCZWF0IDkwMG1zIGluZmluaXRlIGxpbmVhcjtcbiAgfVxufVxuXG4uc2VjdGlvbi1pY29uLWJhbGFuY2Utd2hpdGUge1xuICAmOmFmdGVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59XG4uc2VjdGlvbi1pY29uLWJhbGFuY2UteWVsbG93IHtcbiAgJjphZnRlciB7XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvci04O1xuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgc2VjdGlvbi1ibG9ja1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnNlY3Rpb24tYmxvY2sge1xuICBoZWlnaHQ6IDJweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItNjtcbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGxpbmUtYmdcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5saW5lLWJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgdG9wOiAwO1xuICBvcGFjaXR5OiAwLjc7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMTBkZWcpKTtcbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC02MCU7XG4gICAgbGVmdDogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogODBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJ1bm1lIDVzIDBzIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogcnVubWUgNXMgMHMgaW5maW5pdGU7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMywuMjcsMCwuOTgpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMywuMjcsMCwuOTgpO1xuICB9XG59XG4ubGluZS1iZzEge1xuICBsZWZ0OiAxNCU7XG4gICY6YmVmb3JlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMnM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAycztcbiAgfVxufVxuLmxpbmUtYmcyIHtcbiAgbGVmdDogMzAlO1xuICAmOmJlZm9yZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuNnM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyLjZzO1xuICB9XG59XG4ubGluZS1iZzMge1xuICBsZWZ0OiA0NSU7XG4gICY6YmVmb3JlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogM3M7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAzcztcbiAgfVxufVxuLmxpbmUtYmc0IHtcbiAgbGVmdDogNjAlO1xuICAmOmJlZm9yZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDMuNnM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAzLjZzO1xuICB9XG59XG4ubGluZS1iZzUge1xuICBsZWZ0OiA3NSU7XG4gICY6YmVmb3JlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogNHM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiA0cztcbiAgfVxufVxuLmxpbmUtYmc2IHtcbiAgbGVmdDogODglO1xuICAmOmJlZm9yZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDQuNnM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiA0LjZzO1xuICB9XG59XG5cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIHBlcnRpY2xlcy1qc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuI3BlcnRpY2xlcy1qcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAyO1xufVxuXG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgc2Nyb2xsLXRvcFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuI3Njcm9sbC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxNXB4O1xuICBib3R0b206IDE1cHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAxMHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjMpKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBQQUdJTkFUSU9OLVdSQVBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5wYWdpbmF0aW9uIHtcbiAgLnBhZ2UtaXRlbSB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwOCwgOTIsIDIzMSwgMC4xKTtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTU7XG4gICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgIH1cbiAgICAmOmhvdmVyIC5wYWdlLWxpbmssXG4gICAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBzbGlkZXItcmFuZ2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi51aS13aWRnZXQudWktd2lkZ2V0LWNvbnRlbnQge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzMHB4KTtcbiAgaGVpZ2h0OiA4cHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIC51aS1zbGlkZXItcmFuZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICB9XG4gIC51aS1zbGlkZXItaGFuZGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiA0cHggc29saWQgJHRoZW1lLWNvbG9yLTI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzMHB4KTtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgdG9wOiAtN3B4O1xuICAgIGN1cnNvcjogZXctcmVzaXplO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cbi5wcmljZS1zbGlkZXItYW1vdW50IHtcbiAgcGFkZGluZy10b3A6IDM1cHg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfZm91cn0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5maWx0ZXJfX2J0biB7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzMHB4KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgIH1cbiAgfVxuICAuZmlsdGVyX19sYWJlbCB7XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTU7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gIH1cbiAgLmFtb3VudHMge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgaW5wdXQtbnVtYmVyLWdyb3VwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICB9XG4gIC5pbnB1dC1udW1iZXIge1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuaW5wdXQtbnVtYmVyLFxuICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCxcbiAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBmb250LXNpemU6ICRkaXNwbGF5LTE1O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMzBweCk7XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgfVxuICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCxcbiAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICB9XG4gIH1cbiAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG4gIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFVTRVIgUkFUSU5HXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4udXNlci1yYXRpbmcge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvc3RhcnMucG5nXCIpIHJlcGVhdC14IDAgMDtcbiAgd2lkdGg6IDE1MHB4O1xuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgICBtYXJnaW46IDA7XG4gICAgJi5zdGFyLTU6Y2hlY2tlZCB+IHNwYW4ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICYuc3Rhci00OmNoZWNrZWQgfiBzcGFuIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuICAgICYuc3Rhci0zOmNoZWNrZWQgfiBzcGFuIHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgfVxuICAgICYuc3Rhci0yOmNoZWNrZWQgfiBzcGFuIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuICAgICYuc3Rhci0xOmNoZWNrZWQgfiBzcGFuIHtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuICB9XG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICYuc3Rhci01OmhvdmVyIH4gc3BhbiB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLnN0YXItNDpob3ZlciB+IHNwYW4ge1xuICAgICAgd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLnN0YXItMzpob3ZlciB+IHNwYW4ge1xuICAgICAgd2lkdGg6IDYwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLnN0YXItMjpob3ZlciB+IHNwYW4ge1xuICAgICAgd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLnN0YXItMTpob3ZlciB+IHNwYW4ge1xuICAgICAgd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmhvdmVyIH4gc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMHB4O1xuICAgIH1cbiAgfVxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9zdGFycy5wbmdcIikgcmVwZWF0LXggMCAtNjBweDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtd2lkdGggMC41cztcbiAgICAtbW96LXRyYW5zaXRpb246IC1tb3otd2lkdGggMC41cztcbiAgICAtbXMtdHJhbnNpdGlvbjogLW1zLXdpZHRoIDAuNXM7XG4gICAgLW8tdHJhbnNpdGlvbjogLW8td2lkdGggMC41cztcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjVzO1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGN1c3RvbS1jaGVja2JveFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmN1c3RvbS1jaGVja2JveCB7XG4gIGxhYmVsIHtcbiAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpLFxuICBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTlweDtcbiAgfVxuICBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMjZweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSxcbiAgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDFweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XG4gIH1cbiAgaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyLFxuICBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXGYwMGMnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgbGVmdDogM3B4O1xuICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC01O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWUsc2Fucy1zZXJpZjtcbiAgfVxuICBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgIGJvcmRlci1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gIH1cbiAgLmNoZWNrYm94LWxpbmsge1xuICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMjtcbiAgfVxuICAuY2hlY2tib3gtbGluay5mbG9hdC1yaWdodCB7XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9mb3VyfSB7XG4gICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PSBwcmV2aWV3LXZpZGVvID09PT09PT09LSovXG4ucHJldmlldy12aWRlbyB7XG4gIC52aWRlby1wbGF5LWJ0biB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBsaW5lLWhlaWdodDogOTBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS04O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgfVxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IC0yMHB4O1xuICAgICAgbGVmdDogLTIwcHg7XG4gICAgICBib3R0b206IC0yMHB4O1xuICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjQpO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgLXdlYmtpdC1hbmltYXRpb246IHBsYXktYnV0dG9uLXB1bHNlIDEuOHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgLW1vei1hbmltYXRpb246IHBsYXktYnV0dG9uLXB1bHNlIDEuOHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgYW5pbWF0aW9uOiBwbGF5LWJ1dHRvbi1wdWxzZSAxLjhzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLjZzO1xuICAgICAgLW1vei1hbmltYXRpb24tZGVsYXk6IC42cztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLjZzO1xuICAgIH1cbiAgfVxuICBwIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG5cbiAgfVxufVxuLyotPT09PT09PT09PT0gc29jaWFsLXByb2ZpbGUgPT09PT09PT0tKi9cbi5zb2NpYWwtcHJvZmlsZSB7XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICB3aWR0aDogMzVweDtcbiAgICAgIGhlaWdodDogMzVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgNjEsIDk4LCAwLjEpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBydWxlOiBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUsIHN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lXG4vLyBvbiBlbGVtZW50cyB0aGF0IHByb2dyYW1tYXRpY2FsbHkgcmVjZWl2ZSBmb2N1cyBidXQgd291bGRuJ3Qgbm9ybWFsbHkgc2hvdyBhIHZpc2libGVcbi8vIGZvY3VzIG91dGxpbmUuIEluIGdlbmVyYWwsIHRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBvdXRsaW5lIGlzIG9ubHkgYXBwbGllZCBpZiB0aGVcbi8vIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBlbGVtZW50IHJlY2VpdmluZyBwcm9ncmFtbWF0aWMgZm9jdXMgd2FzIGEga2V5Ym9hcmQgaW50ZXJhY3Rpb24sXG4vLyBvciB0aGUgYnJvd3NlciBoYXMgc29tZWhvdyBkZXRlcm1pbmVkIHRoYXQgdGhlIHVzZXIgaXMgcHJpbWFyaWx5IGEga2V5Ym9hcmQgdXNlciBhbmQvb3Jcbi8vIHdhbnRzIGZvY3VzIG91dGxpbmVzIHRvIGFsd2F5cyBiZSBwcmVzZW50ZWQuXG4vL1xuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86Zm9jdXMtdmlzaWJsZVxuLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wMy9mb2N1cy12aXNpYmxlLWFuZC1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gRGlzYWJsZSBhdXRvLWhpZGluZyBzY3JvbGxiYXIgaW4gSUUgJiBsZWdhY3kgRWRnZSB0byBhdm9pZCBvdmVybGFwLFxuICAvLyBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBjb250ZW50XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRXhwbGljaXRseSByZW1vdmUgZm9jdXMgb3V0bGluZSBpbiBDaHJvbWl1bSB3aGVuIGl0IHNob3VsZG4ndCBiZVxuLy8gdmlzaWJsZSAoZS5nLiBhcyByZXN1bHQgb2YgbW91c2UgY2xpY2sgb3IgdG91Y2ggdGFwKS4gSXQgYWxyZWFkeVxuLy8gc2hvdWxkIGJlIGRvaW5nIHRoaXMgYXV0b21hdGljYWxseSwgYnV0IHNlZW1zIHRvIGN1cnJlbnRseSBiZVxuLy8gY29uZnVzZWQgYW5kIGFwcGxpZXMgaXRzIHZlcnkgdmlzaWJsZSB0d28tdG9uZSBvdXRsaW5lIGFueXdheS5cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjVyZW0pO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAqIC41KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnPjxwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAuNSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplIG5vLXJlcGVhdCAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwidmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgKSxcbiAgICBcImludmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICksXG4gICksXG4gICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDogICAgICA3NXZoICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRuYXYtZGl2aWRlci1tYXJnaW4teSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uICFkZWZhdWx0O1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbi8vIE1hcmdpbiBiZXR3ZWVuIGVsZW1lbnRzIGluIGZvb3RlciwgbXVzdCBiZSBsb3dlciB0aGFuIG9yIGVxdWFsIHRvIDIgKiAkbW9kYWwtaW5uZXItcGFkZGluZ1xuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuJHVzZXItc2VsZWN0czogYWxsLCBhdXRvLCBub25lICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIGZvbnQgc2l6ZXNcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL3Y4LngvTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtZm9udC1zaXplLXVuaXQgIT0gcmVtIGFuZCAkcmZzLWZvbnQtc2l6ZS11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgZm9udCBzaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUsICRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6IGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplLCBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInJlbVwiIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1kaXNhYmxlLWNsYXNzIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgZm9udCBzaXplXG4gICAgJixcbiAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICYuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtZW5hYmxlLWNsYXNzIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkoJG1xLXZhbHVlKSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udCBzaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiBkaXZpZGUoJGZzLCAkZnMgKiAwICsgMSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICRmcy11bml0ID09IFwicmVtXCIge1xuICAgICAgJGZzOiBkaXZpZGUoJGZzLCBkaXZpZGUoJGZzICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGRlZmF1bHQgZm9udCBzaXplXG4gICAgJHJmcy1zdGF0aWM6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkZnMsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JGZzfXB4KTtcblxuICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgZm9udCBzaXplIGlzIGJpZ2dlciB0aGFuIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZVxuICAgIEBpZiAkZnMgPD0gJHJmcy1iYXNlLWZvbnQtc2l6ZSBvciBub3QgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgZm9udC1zaXplOiAjeyRyZnMtc3RhdGljfSN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gZm9udCBzaXplIGZvciAkZnNcbiAgICAgICRmcy1taW46ICRyZnMtYmFzZS1mb250LXNpemUgKyBkaXZpZGUoJGZzIC0gJHJmcy1iYXNlLWZvbnQtc2l6ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICRmcyBhbmQgdGhlIG1pbmltdW0gZm9udCBzaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCRmcy1taW4sICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCRmcy1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplXG4gICAgICAkcmZzLWZsdWlkOiBjYWxjKCN7JG1pbi13aWR0aH0gKyAjeyR2YXJpYWJsZS13aWR0aH0pICN7JHJmcy1zdWZmaXh9O1xuXG4gICAgICAvLyBCcmVha3BvaW50IGZvcm1hdHRpbmdcbiAgICAgICRtcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtZGlzYWJsZS1jbGFzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogI3skcmZzLXN0YXRpY30jeyRyZnMtc3VmZml4fTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSgkbXEtdmFsdWUpIHtcbiAgICAgICAgQGluY2x1ZGUgX3Jmcy1lbmFibGUtY2xhc3Mge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGZvbnQtc2l6ZSAmIHJlc3BvbnNpdmUtZm9udC1zaXplIG1peGlucyB1c2UgUkZTIHRvIHJlc2NhbGUgdGhlIGZvbnQgc2l6ZVxuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyKCkge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMoKSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTsgfVxuaDIsIC5oMiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTsgfVxuaDMsIC5oMyB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTsgfVxuaDQsIC5oNCB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTsgfVxuaDUsIC5oNSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTsgfVxuaDYsIC5oNiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTsgfVxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5MS1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkyLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTMtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5NC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4teTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoOTAlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgKiAuNTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkKCkge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuIiwiLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgka2JkLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygka2JkLWJveC1zaGFkb3cpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTAwJSk7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgKiAuNTtcbn1cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzYCBtaXhpblwiLCBcInY0LjUuMlwiLCBcInY1XCIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICAgIG1heC13aWR0aDogZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6ICR0YWJsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgY29sb3I6ICR0YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJvcmRlci1sZXZlbCkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXIgIT0gbnVsbCB7XG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAvLyBSZW1vdmUgc2VsZWN0IG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGlucHV0LWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+LzxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICZbc2l6ZV0sXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG5cbiAgPiAuY29sLFxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCBmb3Igd29ya2Fyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4vL1xuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xuLy8gcHJpbWFyaWx5IGZvciBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIHZpYSBzY29wZWQgYDppbnZhbGlkYCBhbmQgYDp2YWxpZGBcbi8vIHBzZXVkby1jbGFzc2VzIGJ1dCBhbHNvIGluY2x1ZGVzIGAuaXMtaW52YWxpZGAgYW5kIGAuaXMtdmFsaWRgIGNsYXNzZXMgZm9yXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxuXG5AZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgbWFwLWdldCgkZGF0YSwgY29sb3IpLCBtYXAtZ2V0KCRkYXRhLCBpY29uKSk7XG59XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLFxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmb3JtLWNvbnRyb2wtZm9jdXMoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG4vLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzE1NTdcbiAgICAvLyBBbGlnbiB0b29sdGlwIHRvIGZvcm0gZWxlbWVudHNcbiAgICAuZm9ybS1yb3cgPiAuY29sID4gJixcbiAgICAuZm9ybS1yb3cgPiBbY2xhc3MqPVwiY29sLVwiXSA+ICYge1xuICAgICAgbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lciAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtcGFkZGluZy14ICogNCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtcGFkZGluZy14ICogMiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCwgJGN1c3RvbS1zZWxlY3QtYmcgZXNjYXBlLXN2ZygkaWNvbikgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZSBuby1yZXBlYXQ7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24tcGFkZGluZy14O1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZHJvcGRvd24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIFBvcHBlciBpcyBlbmFibGVkLCByZXNldCB0aGUgYmFzaWMgZHJvcGRvd24gcG9zaXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uZHJvcGRvd24tbWVudSB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcsICRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15LCB0cnVlKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIC8vIFByZXZlbnQgZHJvcGRvd24gb3ZlcmZsb3cgaWYgdGhlcmUncyBubyBwYWRkaW5nXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yNzcwM1xuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1hY3RpdmUtYmcpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93bigpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCkge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXksICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG5hdi1kaXZpZGVyKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MjQ3MTQwL3doeS1kb250LWZsZXgtaXRlbXMtc2hyaW5rLXBhc3QtY29udGVudC1zaXplXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgLmZvcm0tY29udHJvbCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjdXN0b20gZmlsZSBpbnB1dCBhYm92ZSB0aGUgbGFiZWxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAvLyBDdXN0b20gZmlsZSBpbnB1dHMgaGF2ZSBtb3JlIGNvbXBsZXggbWFya3VwLCB0aHVzIHJlcXVpcmluZyBkaWZmZXJlbnRcbiAgLy8gYm9yZGVyLXJhZGl1cyBvdmVycmlkZXMuXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtdmFsaWRhdGlvbiB7XG4gICAgPiAuZm9ybS1jb250cm9sOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tZmlsZTpudGgtbGFzdC1jaGlsZChuICsgMykgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgID4gLmN1c3RvbS1maWxlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41O1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICBib3JkZXI6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yIHNvbGlkICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIEZvcmVncm91bmQgKGljb24pXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogNTAlIC8gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemV9IG5vLXJlcGVhdDtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHN3aXRjaGVzXG4vL1xuLy8gVHdlYWsgYSBmZXcgdGhpbmdzIGZvciBzd2l0Y2hlc1xuXG4uY3VzdG9tLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xuXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC13aWR0aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGFkZCgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXG4gICAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7IC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7ICAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1zLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCAqIC41O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdi10YWJzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jb250YWluZXIsXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci1icmFuZC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiA1MCUgLyAxMDAlIDEwMCUgbm8tcmVwZWF0O1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiAkbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiAkY2FyZC1oZWlnaHQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBpbWFnZSBzaXplIGJ1ZyBpbiBJRVxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4ODU1XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jb2xvcjtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtJGNhcmQtc3BhY2VyLXkgKiAuNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG5cbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRicmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC8vIE9waW5pb25hdGVkOiByZW1vdmUgdGhlIFwiaGFuZFwiIGN1cnNvciBzZXQgcHJldmlvdXNseSBmb3IgLnBhZ2UtbGlua1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXkgJGJhZGdlLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRiYWRnZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRiYWRnZS10cmFuc2l0aW9uKTtcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4vLyBQaWxsIGJhZGdlc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENvbG9yc1xuLy9cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGJhZGdlcyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmFkZ2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgKiAuNSk7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYm9yZGVyLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYgKyAmIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCA2KSk7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNsb3NlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi50b2FzdCB7XG4gIC8vIFByZXZlbnRzIGZyb20gc2hyaW5raW5nIGluIElFMTEsIHdoZW4gaW4gYSBmbGV4IGNvbnRhaW5lclxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODM0MVxuICBmbGV4LWJhc2lzOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBtYXgtd2lkdGg6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHN1YnRyYWN0KCR0b2FzdC1ib3JkZXItcmFkaXVzLCAkdG9hc3QtYm9yZGVyLXdpZHRoKSk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyAvLyBSZXNldCBoZWlnaHQgdG8gMCBleGNlcHQgb24gSUVcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gKiAuNTtcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAqIC41O1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyOiAkc3Bpbm5lci1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWJvcmRlcjtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Bpbm5lci1ib3JkZXItd2lkdGgtc207XG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWdyb3c7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuXG5AaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy1ncmFkaWVudC12YXJpYW50YCBtaXhpblwiLCBcInY0LjUuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQGVhY2ggJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvIGluICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Mge1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teDogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMSk7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAyKTtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS0jeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14fWJ5I3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teX0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZShkaXZpZGUoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXksICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14KSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWZpbGwgICAgICAgICB7IGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTAgICAgICAgeyBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTAgICAgIHsgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0xICAgICB7IGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LW5vbmUgIHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICR1c2VyLXNlbGVjdHMge1xuICAudXNlci1zZWxlY3QtI3skdmFsdWV9IHsgdXNlci1zZWxlY3Q6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICRvdmVyZmxvd3Mge1xuICAub3ZlcmZsb3ctI3skdmFsdWV9IHsgb3ZlcmZsb3c6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29tbW9uIHZhbHVlc1xuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xuICAucG9zaXRpb24tI3skcG9zaXRpb259IHsgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9raXR0eWdpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUoKSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW5zIChlLmcuLCB3aGVyZSBgLm1iLW4xYCBpcyBuZWdhdGl2ZSB2ZXJzaW9uIG9mIGAubWItMWApXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgQGlmIFwiI3skc2l6ZX1cIiAhPSBcIjBcIiB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gRGVwcmVjYXRlZCwgYnV0IGF2b2lkcyBpc3N1ZXMgd2l0aCBmbGV4IGNvbnRhaW5lcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIFVzZWQgaW5zdGVhZCBvZiBgb3ZlcmZsb3ctd3JhcGAgZm9yIElFICYgRWRnZSBMZWdhY3lcbn1cblxuLy8gUmVzZXRcblxuLnRleHQtcmVzZXQgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoKWBcIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL21haW4uY3NzL2Jsb2IvbWFzdGVyL3NyYy9fcHJpbnQuY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHQub3dsLXN0YWdlIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xuXHRcdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXHRcdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBmaXggZmlyZWZveCBhbmltYXRpb24gZ2xpdGNoICovXG5cdH1cblxuXHQub3dsLXN0YWdlOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIi5cIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHR9XG5cblx0Lm93bC1zdGFnZS1vdXRlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0LyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG5cdH1cblxuXHQub3dsLXdyYXBwZXIsXG5cdC5vd2wtaXRlbXtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdH1cblxuXHQub3dsLWl0ZW0ge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcblx0XHRib3JkZXItcmFkaXVzOiAuNXJlbTtcblx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdFx0bWluLWhlaWdodDogMXB4O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcblx0fVxuXHQub3dsLWl0ZW0gaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0fVxuXG5cdC5vd2wtbmF2LmRpc2FibGVkLFxuXHQub3dsLWRvdHMuZGlzYWJsZWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiAub3dsLXByZXYsXG5cdC5vd2wtbmF2IC5vd2wtbmV4dCxcblx0Lm93bC1kb3Qge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcblx0Lm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LFxuXHRidXR0b24ub3dsLWRvdCB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cGFkZGluZzowIWltcG9ydGFudDtcblx0XHRmb250OiBpbmhlcml0O1xuXHR9XG5cblx0Ji5vd2wtbG9hZGVkIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWxvYWRpbmcge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1oaWRkZW4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG5cblx0Ji5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuXHRcdHRvdWNoLWFjdGlvbjogcGFuLXk7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdCYub3dsLWdyYWIge1xuXHRcdGN1cnNvcjogbW92ZTtcblx0XHRjdXJzb3I6IGdyYWI7XG5cdH1cblxuXHQmLm93bC1ydGwge1xuXHRcdGRpcmVjdGlvbjogcnRsO1xuXHR9XG5cblx0Ji5vd2wtcnRsIC5vd2wtaXRlbSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG59XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2Vse1xuXHQuYW5pbWF0ZWQge1xuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuXHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1pbiB7XG5cdFx0ei1pbmRleDogMDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLW91dCB7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXHQuZmFkZU91dCB7XG5cdFx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuXG4ub3dsLWhlaWdodCB7XG5cdHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2VsIHtcblx0Lm93bC1pdGVtIHtcblx0XHQub3dsLWxhenkge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0XHRUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3Jvbmdcblx0XHRcdGNhbGN1bGF0aW9uIG9mIHRoZSBoZWlnaHQgb2YgdGhlIG93bC1pdGVtIHRoYXQgYnJlYWtzIHBhZ2UgbGF5b3V0c1xuXHRcdCAqL1xuXHRcdC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWxhenk6bm90KFtzcmNdKSB7XG5cdFx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdGltZy5vd2wtbGF6eSB7XG5cdFx0XHR0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXHRcdH1cblx0fVxufVxuXG4iLCIkb3dsLWltYWdlLXBhdGg6IFwiXCIgIWRlZmF1bHQ7XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWx7XG5cdC5vd2wtdmlkZW8td3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0d2lkdGg6IDgwcHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNDBweDtcblx0XHRtYXJnaW4tdG9wOiAtNDBweDtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyRvd2wtaW1hZ2UtcGF0aH1vd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR6LWluZGV4OiAxO1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tdG4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1mcmFtZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCIvKlxuICogXHREZWZhdWx0IHRoZW1lIC0gT3dsIENhcm91c2VsIENTUyBGaWxlXG4gKi9cblxuJG93bC1jb2xvci1iYXNlOlx0XHRcdCM4Njk3OTEgIWRlZmF1bHQ7XG4kb3dsLWNvbG9yLXdoaXRlOlx0XHRcdCNGRkYgIWRlZmF1bHQ7XG4kb3dsLWNvbG9yLWdyYXk6XHRcdFx0I0Q2RDZENiAhZGVmYXVsdDtcblxuLy9uYXZcblxuJG93bC1uYXYtY29sb3I6IFx0XHRcdCRvd2wtY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kb3dsLW5hdi1jb2xvci1ob3ZlcjpcdFx0JG93bC1jb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRvd2wtbmF2LWZvbnQtc2l6ZTogXHRcdDE0cHggIWRlZmF1bHQ7XG4kb3dsLW5hdi1yb3VuZGVkOiBcdFx0XHQzcHggIWRlZmF1bHQ7XG4kb3dsLW5hdi1tYXJnaW46IFx0XHRcdDVweCAhZGVmYXVsdDtcbiRvd2wtbmF2LXBhZGRpbmc6IFx0XHRcdDRweCA3cHggIWRlZmF1bHQ7XG4kb3dsLW5hdi1iYWNrZ3JvdW5kOiBcdFx0JG93bC1jb2xvci1ncmF5ICFkZWZhdWx0O1xuJG93bC1uYXYtYmFja2dyb3VuZC1ob3ZlcjpcdCRvd2wtY29sb3ItYmFzZSAhZGVmYXVsdDtcbiRvd2wtbmF2LWRpc2FibGVkLW9wYWNpdHk6IFx0MC41ICFkZWZhdWx0O1xuXG4vL2RvdHNcblxuJG93bC1kb3Qtd2lkdGg6XHRcdFx0XHQxMHB4ICFkZWZhdWx0O1xuJG93bC1kb3QtaGVpZ2h0Olx0XHRcdDEwcHggIWRlZmF1bHQ7XG4kb3dsLWRvdC1yb3VuZGVkOlx0XHRcdDMwcHggIWRlZmF1bHQ7XG4kb3dsLWRvdC1tYXJnaW46IFx0XHRcdDVweCA3cHggIWRlZmF1bHQ7XG4kb3dsLWRvdC1iYWNrZ3JvdW5kOlx0XHQkb3dsLWNvbG9yLWdyYXkgIWRlZmF1bHQ7XG4kb3dsLWRvdC1iYWNrZ3JvdW5kLWFjdGl2ZTpcdCRvd2wtY29sb3ItYmFzZSAhZGVmYXVsdDtcblxuQGltcG9ydCAndGhlbWUnO1xuIiwiXG4ub3dsLXRoZW1lIHtcblx0Ly8gU3R5bGluZyBOZXh0IGFuZCBQcmV2IGJ1dHRvbnNcblx0Lm93bC1uYXYge1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cblx0XHRbY2xhc3MqPSdvd2wtJ10ge1xuXHRcdFx0Y29sb3I6ICRvd2wtbmF2LWNvbG9yO1xuXHRcdFx0Zm9udC1zaXplOiAkb3dsLW5hdi1mb250LXNpemU7XG5cdFx0XHRtYXJnaW46ICRvd2wtbmF2LW1hcmdpbjtcblx0XHRcdHBhZGRpbmc6ICRvd2wtbmF2LXBhZGRpbmc7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkb3dsLW5hdi1iYWNrZ3JvdW5kO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJG93bC1uYXYtYmFja2dyb3VuZC1ob3Zlcjtcblx0XHRcdFx0Y29sb3I6JG93bC1uYXYtY29sb3ItaG92ZXI7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmRpc2FibGVkIHtcblx0XHRcdG9wYWNpdHk6ICRvd2wtbmF2LWRpc2FibGVkLW9wYWNpdHk7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0fVxuXHR9XG5cblx0Ly8gU3R5bGluZyBkb3RzXG5cdC5vd2wtbmF2LmRpc2FibGVkICsgLm93bC1kb3RzIHtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG5cblx0Lm93bC1kb3RzIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuXHRcdC5vd2wtZG90IHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHpvb206IDE7XG5cdFx0XHQqZGlzcGxheTogaW5saW5lO1xuXG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0d2lkdGg6ICRvd2wtZG90LXdpZHRoO1xuXHRcdFx0XHRoZWlnaHQ6ICRvd2wtZG90LWhlaWdodDtcblx0XHRcdFx0bWFyZ2luOiAkb3dsLWRvdC1tYXJnaW47XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRvd2wtZG90LWJhY2tncm91bmQ7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogJG93bC1kb3Qtcm91bmRlZDtcblx0XHRcdH1cblxuXHRcdFx0Ji5hY3RpdmUsXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJG93bC1kb3QtYmFja2dyb3VuZC1hY3RpdmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIlxuXG4vKi0tLS0tLS0tLS0tLS0tLS0gcHJlbG9hZGVyIC0tLS0tLS0tLS0tLS0tLS0qL1xuQC13ZWJraXQta2V5ZnJhbWVzIG9iamVjdF9vbmUge1xuICA3NSUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbn1cblxuQGtleWZyYW1lcyBvYmplY3Rfb25lIHtcbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuXG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBvYmplY3RfdHdvIHtcbiAgNzUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOyB9XG59XG5cbkBrZXlmcmFtZXMgb2JqZWN0X3R3byB7XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogIHNjYWxlKDApO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBvYmplY3RfdGhyZWUge1xuICA3NSUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbn1cblxuQGtleWZyYW1lcyBvYmplY3RfdGhyZWUge1xuICA3NSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLSBjaXJjbGUtbW92ZSAtLS0tLS0tLS0tLS0tLS0tKi9cbkAtd2Via2l0LWtleWZyYW1lcyBjaXJjbGUtbW92ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKSByb3RhdGUoMCk7XG4gIH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCkgdHJhbnNsYXRlWCg2MHB4KSByb3RhdGUoMzVkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoODBweCkgdHJhbnNsYXRlWCgxMjBweCkgcm90YXRlKDU1ZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpIHRyYW5zbGF0ZVgoNjBweCkgcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKSByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgfVxufVxuQGtleWZyYW1lcyBjaXJjbGUtbW92ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKSByb3RhdGUoMCk7XG4gIH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCkgdHJhbnNsYXRlWCg2MHB4KSByb3RhdGUoMzVkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoODBweCkgdHJhbnNsYXRlWCgxMjBweCkgcm90YXRlKDU1ZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpIHRyYW5zbGF0ZVgoNjBweCkgcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKSByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgfVxufVxuXG4vKj09PT09PT09PT09PSBzcXVhcmUtcm90YXRlID09PT09PT09PT09PT09Ki9cbkAtd2Via2l0LWtleWZyYW1lcyBzcXVhcmUtcm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC02MGRlZykgc2NhbGUoMC42KSB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNzVkZWcpIHNjYWxlKDAuNykgdHJhbnNsYXRlWCgtNDBweCk7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgc2NhbGUoMSkgdHJhbnNsYXRlWCgtMjBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzcXVhcmUtcm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICBvcGFjaXR5OiAwLjE7XG4gIH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNjBkZWcpIHNjYWxlKDAuNikgdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTc1ZGVnKSBzY2FsZSgwLjcpIHRyYW5zbGF0ZVgoLTQwcHgpO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT0gcGxheS1idXR0b24tcHVsc2UgPT09PT09PT09PT09PT0qL1xuQC13ZWJraXQta2V5ZnJhbWVzIHBsYXktYnV0dG9uLXB1bHNlIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjUpKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4yKSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQC1tb3ota2V5ZnJhbWVzIHBsYXktYnV0dG9uLXB1bHNlIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjUpKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4yKSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQC1tcy1rZXlmcmFtZXMgcGxheS1idXR0b24tcHVsc2Uge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuNSkpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjIpKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5ALW8ta2V5ZnJhbWVzIHBsYXktYnV0dG9uLXB1bHNlIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjUpKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4yKSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBwbGF5LWJ1dHRvbi1wdWxzZSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC41KSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMikpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLyo9PSBoZWFydEJlYXQgPT0qL1xuQGtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgfVxuICAyNSUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpKTtcbiAgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gIH1cbiAgNjAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4wNCkpO1xuICB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PSBydW5tZSA9PT09PT09PT09PT09PSovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcnVubWUge1xuICAwJSB7XG4gIGJvdHRvbTogLTYwJTtcbn1cbiAgMTAwJSB7XG4gICAgYm90dG9tOiAxMjAlXG4gIH1cbn1cbkAtbXMta2V5ZnJhbWVzIHJ1bm1lIHtcbiAgMCUge1xuICAgIGJvdHRvbTogLTYwJTtcbiAgfVxuICAxMDAlIHtcbiAgICBib3R0b206IDEyMCVcbiAgfVxufVxuQC1vLWtleWZyYW1lcyBydW5tZSB7XG4gIDAlIHtcbiAgICBib3R0b206IC02MCU7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm90dG9tOiAxMjAlXG4gIH1cbn1cbkBrZXlmcmFtZXMgcnVubWUge1xuICAwJSB7XG4gICAgYm90dG9tOiAtNjAlO1xuICB9XG4gIDEwMCUge1xuICAgIGJvdHRvbTogMTIwJVxuICB9XG59XG5cbi8qPT09PT09PT09PT09PT0gc3BpbiA9PT09PT09PT09PT09PSovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbm1lIHtcbiAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBzcGlubWUge1xuICAwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7fVxuICAxMCUgeyAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cbkBrZXlmcmFtZXMgc3Bpbm1lIHtcbiAgMCUge3RyYW5zZm9ybTpyb3RhdGUoMGRlZyk7fVxuICAxMDAlIHt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7fVxufVxuXG4vKj09PT09PT09PT09PT09IHNwaW4gPT09PT09PT09PT09PT0qL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW5tZTIge1xuICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBzcGlubWUyIHtcbiAgMCUgeyAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbiAgMTAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTsgfVxufVxuQGtleWZyYW1lcyBzcGlubWUyIHtcbiAgMCUge3RyYW5zZm9ybTpyb3RhdGUoMGRlZyk7fVxuICAxMDAlIHt0cmFuc2Zvcm06cm90YXRlKC0zNjBkZWcpO31cbn1cblxuLyo9PT09PT09PT09PT09PSBib3VuY2UgPT09PT09PT09PT09PT0qL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLCAyMCUsIDUzJSwgODAlLCAxMDAlIHtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC02cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTZweCwgMCk7XG4gIH1cbiAgNzAlIHtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTJweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMnB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLCAyMCUsIDUzJSwgODAlLCAxMDAlIHtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC02cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTZweCwgMCk7XG4gIH1cbiAgNzAlIHtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTJweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMnB4LCAwKTtcbiAgfVxufSIsIkBtaXhpbiB0cmFuc2l0aW9uKCR0aW1lLXNldCkge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAkdGltZS1zZXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsICR0aW1lLXNldDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAkdGltZS1zZXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAkdGltZS1zZXQ7XG4gIHRyYW5zaXRpb246IGFsbCAkdGltZS1zZXQ7XG59XG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzLXByb3BlcnR5KSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cy1wcm9wZXJ0eTtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzLXByb3BlcnR5O1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLXByb3BlcnR5O1xufVxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy1wcm9wZXJ0eSkge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3ctcHJvcGVydHk7XG4gIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdy1wcm9wZXJ0eTtcbiAgYm94LXNoYWRvdzogJHNoYWRvdy1wcm9wZXJ0eTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcHJvcGVydHkpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogJHByb3BlcnR5O1xuICAtbW96LXBlcnNwZWN0aXZlOiAkcHJvcGVydHk7XG4gIC1tcy1wZXJzcGVjdGl2ZTogJHByb3BlcnR5O1xuICBwZXJzcGVjdGl2ZTogJHByb3BlcnR5O1xufVxuQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICRwcm9wZXJ0eTtcbiAgLW1vei10cmFuc2Zvcm06ICRwcm9wZXJ0eTtcbiAgLW1zLXRyYW5zZm9ybTogJHByb3BlcnR5O1xuICAtby10cmFuc2Zvcm06ICRwcm9wZXJ0eTtcbiAgdHJhbnNmb3JtOiAkcHJvcGVydHk7XG59XG5cbiIsIiR0aGVtZS1jb2xvcjogIzJlM2Q2MjtcbiR0aGVtZS1jb2xvci0yOiAjNDJhNWY1O1xuJHRoZW1lLWNvbG9yLTM6ICMxZTg4ZTU7XG4kdGhlbWUtY29sb3ItNDogIzdmODg5NztcbiR0aGVtZS1jb2xvci01OiAjZmZiMDJiO1xuJHRoZW1lLWNvbG9yLTY6ICNGN0Y5RkI7XG4kdGhlbWUtY29sb3ItNzogIzllYTZiYTtcbiR0aGVtZS1jb2xvci04OiAjYjk5NTY2O1xuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwO1xuJGNvbG9yOiAjZWVlO1xuJGNvbG9yMjogI2VjZWNlYztcbiRjb2xvcjM6ICNmN2Y4ZmQ7XG4kdGhlbWUtZm9udDogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuJGRlZmF1bHQtZm9udDogMXJlbTtcbiRkZWZhdWx0LWZvbnQtMjogMTVweDtcbiRkZWZhdWx0LWZvbnQtMzogMTRweDtcbiRkZWZhdWx0LWZvbnQtNDogMTNweDtcbiRkZWZhdWx0LWZvbnQtNTogMTJweDtcbiRwcmltYXJ5LWZvbnQ6IDQ1cHg7XG4kZGlzcGxheTogMTAwcHg7XG4kZGlzcGxheS0yOiA5MHB4O1xuJGRpc3BsYXktMzogODBweDtcbiRkaXNwbGF5LTQ6IDcwcHg7XG4kZGlzcGxheS01OiA2MHB4O1xuJGRpc3BsYXktNjogNTBweDtcbiRkaXNwbGF5LTc6IDQwcHg7XG4kZGlzcGxheS04OiAzMHB4O1xuJGRpc3BsYXktOTogMzVweDtcbiRkaXNwbGF5LTEwOiAyOHB4O1xuJGRpc3BsYXktMTE6IDI1cHg7XG4kZGlzcGxheS0xMjogMjRweDtcbiRkaXNwbGF5LTEzOiAyMnB4O1xuJGRpc3BsYXktMTQ6IDIwcHg7XG4kZGlzcGxheS0xNTogMThweDtcbiRmb250LXdlaWdodC10aGluOiAxMDA7XG4kZm9udC13ZWlnaHQtZXh0cmEtbGlnaHQ6IDIwMDtcbiRmb250LXdlaWdodC1saWdodDogMzAwO1xuJGZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMDtcbiRmb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiRmb250LXdlaWdodC1zZW1pLWJvbGQ6IDYwMDtcbiRmb250LXdlaWdodC1ib2xkOiA3MDA7XG4kZm9udC13ZWlnaHQtYmxhY2s6IDkwMDtcbiRhbHRlci1jb2xvcjogIzQyYTVmNTs7XG4kYWx0ZXItY29sb3ItMjogIzRCRTZCODtcbiRhbHRlci1jb2xvci0zOiAjRjc4QzAxO1xuJGFsdGVyLWNvbG9yLTQ6ICNDNTAwRUU7XG4kYWx0ZXItY29sb3ItNTogI0Y4QzY1MjtcbiRhbHRlci1jb2xvci02OiAjRjU1OTc0O1xuJGFsdGVyLWNvbG9yLTc6ICM1Nzk2NTc7XG4kYWx0ZXItY29sb3ItODogIzM4OTdGMDtcbiRzdmctYmc6ICNmZmY7XG5cbiRsYXB0b3BfbHM6ICdvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpJztcbiRsYXB0b3BfbDogJyhtYXgtd2lkdGg6IDE0NDBweCknO1xuJGxhcHRvcF9tOiAnKG1heC13aWR0aDogMTM2NnB4KSc7XG4kbGFwdG9wX21fdHdvOiAnKG1heC13aWR0aDogMTI4MHB4KSc7XG4kbGFwdG9wX21fdGhyZWU6ICcobWF4LXdpZHRoOiAxMjAwcHgpJztcbiRsYXB0b3BfbV9mb3VyOiAnKG1heC13aWR0aDogMTE5OXB4KSc7XG4kbGFwdG9wX21fZml2ZTogJyhtYXgtd2lkdGg6IDEwMjRweCknO1xuJGxhcHRvcF9tX3NpeDogJyhtaW4td2lkdGg6IDEyMDBweCknO1xuJG1lZGl1bV9kZXZpY2U6ICdvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpJztcbiR0YWJfZGV2aWNlOiAnb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpJztcbiR0YWJfZGV2aWNlLWFuZC1tb2JpbGU6ICdvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTBweCknO1xuJHRhYl9kZXZpY2VfdHdvOiAnKG1heC13aWR0aDogNzY4cHgpJztcbiR0YWJfZGV2aWNlX3RocmVlOiAnKG1heC13aWR0aDogOTkxcHgpJztcbiR0YWJfZGV2aWNlX2ZvdXI6ICcobWluLXdpZHRoOiA5OTFweCknO1xuJGxhcmdlX21vYmlsZTogJ29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSc7XG4kbGFyZ2VfbW9iaWxlX3R3bzogJyAobWF4LXdpZHRoOiA2MDBweCknO1xuJGxhcmdlX21vYmlsZV90aHJlZTogJyAobWF4LXdpZHRoOiA1NzVweCknO1xuJGxhcmdlX21vYmlsZV9mb3VyOiAnIChtYXgtd2lkdGg6IDQ4MHB4KSc7XG4kc21hbGxfbW9iaWxlOiAnb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDc5cHgpJztcbiRzbWFsbF9tb2JpbGVfb25lOiAnIChtYXgtd2lkdGg6IDQyNXB4KSc7XG4kc21hbGxfbW9iaWxlX3R3bzogJyhtYXgtd2lkdGg6IDQwMHB4KSc7XG4kc21hbGxfbW9iaWxlX3RocmVlOiAnKG1heC13aWR0aDogMzIwcHgpJztcbiRzbWFsbF9tb2JpbGVfZm91cjogJyhtYXgtd2lkdGg6IDM3NXB4KSc7XG4kZGV2aWNlLTE2MDA6ICcobWF4LXdpZHRoOiAxNjAwcHgpJztcbiRkZXZpY2UtNzY3OiAnKG1heC13aWR0aDogNzY3cHgpJztcbiRkZXZpY2UtOTkyOiAnKG1heC13aWR0aDogOTkycHgpJztcbiRkZXZpY2UtNzY3OiAnKG1heC13aWR0aDogNzY3cHgpJztcbiRkZXZpY2UtNDgxOiAnKG1heC13aWR0aDogNDgxcHgpJztcbiRkZXZpY2UtMzg0OiAnKG1heC13aWR0aDogMzg0cHgpJzsiLCIvKi0tLS0gdGhlbWUtYnRuIC0tLS0qL1xuLnRoZW1lLWJ0biB7XG4gIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gIHBhZGRpbmc6IDAgNTBweCAwIDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICBib3JkZXI6IG5vbmU7XG4gIC5sYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDclO1xuICAgIHJpZ2h0OiAyNXB4O1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0zO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAxMnB4IDI0cHggLTZweCByZ2JhKDMwLCAxMzYsIDIyOSwuMikpO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC0xcHgpKTtcbiAgfVxufVxuLyo9PT09IGJ0bi1ib3ggPT09Ki9cbi5idG4tYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9vbmV9IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIC50aGVtZS1idG4ge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTM7XG4gICAgfVxuICB9XG59XG5cbi5nb29nbGUtYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTM7XG59XG4uZmFjZWJvb2stYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTc7XG59XG4udHdpdHRlci1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItODtcbn1cbi8qPT09PSBidXR0b24gPT09Ki9cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMzBweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIC5idG4taWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMztcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi8qPT09PSBidG4tc3R5bGUyID09PSovXG4uYnRuLXN0eWxlLTIge1xuICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLmJ0bi1pY29uIHtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDMzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTM7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMTBweDtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gIH1cbn1cbi8qPT09PSBidG4tLXN0eWxlMiA9PT0qL1xuLmJ0bi0tc3R5bGUtMiB7XG4gIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgYm9yZGVyOiAycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAuYnRuLWljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICB9XG59XG5cbi8qPT09PSBidG4tc3R5bGUtMyA9PT0qL1xuLmJ0bi1zdHlsZS0zIHtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5sYS1wbGF5IHtcbiAgICB0b3A6IC0xMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTE7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4zKSk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvci0zO1xuICAgIC5sYS1wbGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0zO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cbi8qPT09PSBidG4tc3R5bGUtNCA9PT0qL1xuLmJ0bi1zdHlsZS00LFxuLmJ0bi1zdHlsZS01IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pbWcxLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgei1pbmRleDogMTtcbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICB6LWluZGV4Oi0xO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgJjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwLjk7XG4gICAgfVxuICB9XG59XG4vKj09PT0gYnRuLXN0eWxlLTUgPT09Ki9cbi5idG4tc3R5bGUtNSB7XG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMzBweCk7XG4gIH1cbn1cblxuLyo9PT09IGJ1dHRvbi0zZCA9PT0qL1xuLmJ1dHRvbi0zZCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNXB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6ICRkaXNwbGF5LTE1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODJCRjU2O1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgIzY2OTY0NDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgyQkY1NjtcbiAgfVxuICAmOmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgwcHgsNXB4KSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICB9XG59XG5cbi8qPT09PSBidXR0b24tYmFkZ2UgPT09Ki9cbi5idXR0b24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMnB4O1xuICAgIHJpZ2h0OiAtMTJweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtNDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICB9XG59XG4vKj09PT0gYnRuLWdyYWRpZW50ID09PSovXG4uYnRuLWdyYWRpZW50IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCBjaXJjbGUgZmFydGhlc3QtY29ybmVyIGF0IDEwJSAyMCUsICByZ2JhKDI1MiwxNTAsMTIwLDEpIDAlLCByZ2JhKDI0NywxMDgsMTI3LDEpIDEwMC40JSApO1xuXG59XG5cbi8qPT09PSBidG4tbGFyZ2UgPT09Ki9cbi5idG4tbGFyZ2Uge1xuICBsaW5lLWhlaWdodDogNTVweCAhaW1wb3J0YW50O1xufVxuLyo9PT09IGJ0bi1tZWRpdW0gPT09Ki9cbi5idG4tbWVkaXVtIHtcbiAgbGluZS1oZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTMgIWltcG9ydGFudDtcbn1cbi8qPT09PSBidG4tc21hbGwgPT09Ki9cbi5idG4tc21hbGwge1xuICBsaW5lLWhlaWdodDogNDVweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtNCAhaW1wb3J0YW50O1xufVxuLyo9PT09IGJ0bi0tc21hbGwgPT09Ki9cbi5idG4tLXNtYWxsIHtcbiAgbGluZS1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTUgIWltcG9ydGFudDtcbn1cblxuLyo9PT09IGJ0bi1yb3VuZGVkID09PSovXG4uYnRuLXJvdW5kZWQge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCAhaW1wb3J0YW50KTtcbn1cbi8qPT09PSBidG4tLXJvdW5kZWQgPT09Ki9cbi5idG4tLXJvdW5kZWQge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDMwcHggIWltcG9ydGFudCk7XG59XG5cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEJVVFRPTiBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uYnV0dG9uLWFyZWEge1xuICAuYnV0dG9uLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQlVUVE9OIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5idXR0b24td3JhcCB7XG4gIC5idG4tc3R5bGUtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxuICAuYnRuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgRFVBTCBCVVRUT04gQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmR1YWwtYnV0dG9uLWFyZWEge1xuICAuZHVhbC1idXR0b24td3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuLmR1YWwtYnV0dG9uLWl0ZW0ge1xuICAuaW1hZ2UtYm94IHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAuaW1nX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5saXN0LWl0ZW1zIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgIC5sYSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQ7XG4gICAgICB9XG4gICAgICArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktNztcbiAgICB9XG4gIH1cbn1cblxuLmR1YWwtYnV0dG9uLWltZy1ib3gge1xuICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbiAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbiAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbn1cblxuLyo9PT09PT0gZHVhbC1idG4gPT09PT09PSovXG4uZHVhbC1idG4ge1xuICAudGhlbWUtYnRuIHtcbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX2ZvdXJ9IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci03O1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgRFVBTCBCVVRUT04gQVJFQSAyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uZHVhbC1idXR0b24taXRlbS0yIHtcbiAgLmltYWdlLWJveCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMnB4KTtcbiAgICAuaW1nX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTJweCk7XG4gICAgfVxuICB9XG4gIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgLnNlY3Rpb25fX3N1YiB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIERVQUwgQlVUVE9OIEFSRUEgM1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmR1YWwtYnV0dG9uLWl0ZW0tMyB7XG4gIC5pbWFnZS1ib3gge1xuICAgLmltZ19faXRlbSB7XG4gICAgIGJvcmRlcjogMTVweCBzb2xpZCAkY29sb3I7XG4gICB9XG4gIH1cbiAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAuc2VjdGlvbl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG4gIH1cbiAgLmJ0bi1ib3gge1xuICAgIC50aGVtZS1idG4ge1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB9XG4gIH1cbn1cbi8qPT09PT09IGR1YWwtYnRuLTIgPT09PT09PSovXG4uZHVhbC1idG4tMiB7XG4gIC5kdWFsLWJ0bi1idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAudGhlbWUtYnRuIHtcbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmR1YWxfX2J0bi0tdGV4dCB7XG4gICAgICB3aWR0aDogMzVweDtcbiAgICAgIGhlaWdodDogMzVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX29uZX0ge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoNTAlKSk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgLnRoZW1lLWJ0biB7XG4gICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIERVQUwgQlVUVE9OIEFSRUEgNFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmR1YWwtYnV0dG9uLWFyZWE0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ltZzEyLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxufVxuXG4uZHVhbC1idXR0b24taXRlbS00IHtcbiAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuICB9XG59XG5cbi5kdWFsLWJ0bi0zIHtcbiAgLnRoZW1lLWJ0biB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgRFVBTCBCVVRUT04gQVJFQSA1XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uZHVhbC1idXR0b24taXRlbS01IHtcbiAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuICB9XG4gIC5pbWFnZS1ib3gge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgLmltZ19faXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgMCAwKTtcbiAgICB9XG4gIH1cbn1cbi5kdWFsLWJ0bi00IHtcbiAgLnRoZW1lLWJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShza2V3KDIxZGVnKSk7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTM7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItMztcbiAgICAgIH1cbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci01O1xuICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZHVhbC1idXR0b24taXRlbS02IHtcbiAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuICB9XG59XG5cbi5kdWFsLWJ0bi01IHtcbiAgLnRoZW1lLWJ0biB7XG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9mb3VyfSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5kdWFsLWJ0bi02IHtcbiAgLmJ1dHRvbiB7XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9mb3VyfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIERVQUwgQlVUVE9OIEFSRUEgN1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmR1YWwtYnV0dG9uLWl0ZW0tNyB7XG4gIGhlaWdodDogMTAwJTtcbiAgLmltYWdlLWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAuaW1nX19pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICB0b3A6IDE0OHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXI6IDIwcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuOCkpO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIC5zZWN0aW9uX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbiAgfVxufVxuXG4iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQ0lSQ0xFLVNIQVBFXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uY2lyY2xlLXNoYXBlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwJTtcbiAgbGVmdDogMTAlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICBvcGFjaXR5OiAwLjE7XG4gIHotaW5kZXg6IC0xO1xuICBhbmltYXRpb246IGNpcmNsZS1tb3ZlIDhzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi5jaXJjbGUtc2hhcGUyIHtcbiAgbGVmdDogYXV0bztcbiAgdG9wOiAxNSU7XG4gIHJpZ2h0OiAxMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0zO1xufVxuLmNpcmNsZS1zaGFwZTMge1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogNSU7XG4gIHJpZ2h0OiAyMCU7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci01O1xufVxuLmNpcmNsZS1zaGFwZTQge1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IDE3JTtcbiAgYm90dG9tOiAxMiU7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvcjtcbn1cbi5jaXJjbGUtc2hhcGU1IHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAlO1xuICBib3R0b206IDUwJTtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTI7XG59XG5cbiIsIkBpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwXCI7XG5AaW1wb3J0IFwib3dsQ2Fyb3VzZWwvb3dsLmNhcm91c2VsXCI7XG5AaW1wb3J0IFwib3dsQ2Fyb3VzZWwvb3dsLnRoZW1lLmRlZmF1bHRcIjtcblxuLy8gdmFyaWFibGUgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL3ZhcmlhYmxlc1wiO1xuXG4vLyBtaXhpbiBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvbWl4aW5cIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9rZXlmcmFtZXNcIjtcblxuLy8gZGVmYXVsdCBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvY29tbW9uXCI7XG5cbi8vIGJ1dHRvbiBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvYnV0dG9uXCI7XG5cbi8vIGNpcmNsZSBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvY2lyY2xlXCI7XG5cbi8qPT09PT09PT09PT09PT0gYm9keSBzY3NzID09PT09PT09PT09PT09PSovXG4vLyBtZW51IHNjc3NcbkBpbXBvcnQgXCJwYXJ0aWFscy9tZW51XCI7XG4vLyBiYW5uZXIgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2Jhbm5lclwiO1xuLy8gYWJvdXQgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2Fib3V0XCI7XG4vLyB3aWRnZXQgYXJlYSBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvd2lkZ2V0XCI7XG4vLyB0ZXN0aW1vbmlhbCBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvdGVzdGltb25pYWxcIjtcbi8vIHN1YnNjcmliZXIgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL3N1YnNjcmliZXJcIjtcbi8vIGdldC1zdGFydC1wYXJ0IHNjc3NcbkBpbXBvcnQgXCJwYXJ0aWFscy9nZXQtc3RhcnQtcGFydFwiO1xuLy8gdGVhbS1tZW1iZXIgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL3RlYW0tbWVtYmVyXCI7XG4vLyBwcmljaW5nIHNjc3NcbkBpbXBvcnQgXCJwYXJ0aWFscy9wcmljaW5nXCI7XG4vLyBpY29uLWhvdmVyLWVmZmVjdHMgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2ljb24taG92ZXItZWZmZWN0c1wiO1xuLy8gZmxpcC1ib3hlcyBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvZmxpcC1ib3hlc1wiO1xuLy8gYWxlcnQtYm94ZXMgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2FsZXJ0LWJveGVzXCI7XG4vLyBjb3VudGRvd24gc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2NvdW50ZG93blwiO1xuLy8gc29jaWFsLWljb25zIHNjc3NcbkBpbXBvcnQgXCJwYXJ0aWFscy9zb2NpYWwtaWNvbnNcIjtcbi8vIGdvb2dsZS1tYXAgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2dvb2dsZS1tYXBcIjtcbi8vIGNoYXJ0IHNjc3NcbkBpbXBvcnQgXCJwYXJ0aWFscy9jaGFydFwiO1xuLy8gYnVsbGV0LWxpc3Qgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2J1bGxldC1saXN0XCI7XG4vLyBhY2NvcmRpb24gc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2FjY29yZGlvblwiO1xuLy8gdGFiIHNjc3NcbkBpbXBvcnQgXCJwYXJ0aWFscy90YWJcIjtcbi8vIGltYWdlLWdhbGxlcnkgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2ltYWdlLWdhbGxlcnlcIjtcbi8vIHRpbWVsaW5lIHNjc3NcbkBpbXBvcnQgXCJwYXJ0aWFscy90aW1lbGluZVwiO1xuLy8gdG9vbHRpcCBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvdG9vbHRpcFwiO1xuLy8gbW9kYWwgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL21vZGFsXCI7XG4vLyBoZWFkaW5nIHNjc3NcbkBpbXBvcnQgXCJwYXJ0aWFscy9oZWFkaW5nXCI7XG4vLyBoaWdobGlnaHQtYm94IHNjc3NcbkBpbXBvcnQgXCJwYXJ0aWFscy9oaWdobGlnaHQtYm94XCI7XG4vLyBjYXJkcyBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvY2FyZHNcIjtcbi8vIGluZm8tYm94IHNjc3NcbkBpbXBvcnQgXCJwYXJ0aWFscy9pbmZvLWJveFwiO1xuLy8gaWNvbi1ib3ggc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2ljb24tYm94XCI7XG4vLyBwcm9ncmVzcy1iYXIgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL3Byb2dyZXNzLWJhclwiO1xuLy8gaW5zdGFncmFtLXdpZGdldCBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvaW5zdGFncmFtLXdpZGdldFwiO1xuLy8gdmlkZW8tZ2FsbGVyeSBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvdmlkZW8tZ2FsbGVyeVwiO1xuLy8gYmxvY2txdW90ZSBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvYmxvY2txdW90ZVwiO1xuLy8gY291bnRlciBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvY291bnRlclwiO1xuLy8gbW9iaWxlLXBhcnQgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL21vYmlsZS1wYXJ0XCI7XG4vLyBjbGllbnQtbG9nbyBzY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvY2xpZW50LWxvZ29cIjtcbi8vIGNvbnRhY3Qgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2NvbnRhY3RcIjtcbi8vIHNpZGViYXIgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL3NpZGViYXJcIjtcbi8vIGVycm9yLXBhZ2Ugc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2Vycm9yLXBhZ2VcIjtcbi8vIGNvbW1lbnQgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2NvbW1lbnRcIjtcblxuXG4vLyBmb290ZXIgc2Nzc1xuQGltcG9ydCBcInBhcnRpYWxzL2Zvb3RlclwiO1xuXG4vLyBicmVhZGNydW1iIHNjc3NcbkBpbXBvcnQgXCJwYXJ0aWFscy9icmVhZGNydW1iXCI7XG5cblxuXG4iLCJcbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBoZWFkZXItbWVudS1hcmVhXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uaGVhZGVyLW1lbnUtYXJlYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAyMztcbiAgJi5oZWFkZXItZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cbi5tZW51LWNvbnRlbnQge1xuICBwYWRkaW5nLWJvdHRvbTogLjg1cmVtO1xuICBwYWRkaW5nLXRvcDogLjg1cmVtO1xuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX29uZX0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxufVxuLmxvZ28tYm94IHtcbiAgaW1nIHtcbiAgICB3aWR0aDogMzIwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX29uZX0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbi5tZW51LXdyYXBwZXIge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4ubWFpbi1tZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICBAbWVkaWEgI3skbGFwdG9wX21fZm91cn0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPnVsIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJi5oYXMtbWVnYS1tZW51IHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXB0b3BfbV9mb3VyfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMjtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC00MHB4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDYpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoNykge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAuZHJvcGRvd24tbWVudS1pdGVtIHtcbiAgICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCBncmF5O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjUpKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSk7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygtMnB4IC0ycHggMTBweCAtNXB4IHJnYmEoMCwwLDAsLjIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm1lZ2EtbWVudSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xuICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5kcm9wZG93bi1tZW51LWl0ZW0ge1xuICAgICAgICAgIHRvcDogNThweDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zZWFyY2gtd3JhcCB7XG4gIC5kcm9wZG93biB7XG4gICAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE1O1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDAgMCk7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmRyb3Bkb3duLXRvZ2dsZVthcmlhLWV4cGFuZGVkPXRydWVdIHtcbiAgICAgIGkge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcXGYwMGRcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogLTI4cHg7XG4gICAgICBtaW4td2lkdGg6IDQwMHB4O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgIEBtZWRpYSAjeyRsYXB0b3BfbV90d299IHtcbiAgICAgICAgcmlnaHQ6IC0xMjBweDtcbiAgICAgIH1cbiAgICAgIC5jb250YWN0LWZvcm0tYWN0aW9uIHtcbiAgICAgICAgZm9ybSB7XG4gICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcmlnaHQ6IDI3cHg7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3R3b30ge1xuICAgICAgICAgIHJpZ2h0OiAxMDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmNhcnQtd3JhcCB7XG4gIC5kcm9wZG93biB7XG4gICAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE0O1xuICAgICAgLmNhcnQtY291bnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC00O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIH1cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAwIDApO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAtMjhweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICAgICAgQG1lZGlhICN7JGxhcHRvcF9tX3R3b30ge1xuICAgICAgICByaWdodDogLTcwcHg7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcmlnaHQ6IDI3cHg7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3R3b30ge1xuICAgICAgICAgIHJpZ2h0OiAxMDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY2FydC10aXRsZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2FydC1pdGVtcyB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgLml0ZW1zIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgICAgfVxuICAgICAgICAuaXRlbV9faW5mbyB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5pdGVtX19pbmZvLXByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0zO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5pdGVtX19yZW1vdmUge1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgKyAuaXRlbXMge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jYXJ0LWluZm8ge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGhlbWUtYnRuIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jaGVja291dF9fYnRuIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItNztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmxvZ28tcmlnaHQtYnV0dG9uIHtcbiAgdWwge1xuICAgIEBtZWRpYSAjeyRsYXB0b3BfbV9mb3VyfSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAuc2lkZS1tZW51LW9wZW4ge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICBAbWVkaWEgI3skbGFwdG9wX21fZm91cn0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgICB9XG4gICAgLm1lbnVfX2JhciB7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgLm1lbnVfX2JhciB7XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnNpZGUtbmF2LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMzIwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHotaW5kZXg6IDk5OTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzIGN1YmljLWJlemllcigwLjcsIDAsIDAuMiwgMSkpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC0xMDAlKSk7XG4gIC5odW1idXJnZXItbWVudSB7XG4gICAgLmh1bWJ1cmdlci1tZW51LWxpbmVzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDI1cHg7XG4gICAgICByaWdodDogMThweDtcbiAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDNkZWcpKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQzZGVnKSk7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zaWRlLW1lbnUtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgLnNpZGUtbWVudS11bCB7XG4gICAgICAuc2lkZW5hdl9faXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDE0cHggMjBweDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICAgIC5tZW51LXBsdXMtaWNvbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTkwZGVnKSk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zaWRlLXN1Yi1tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgICAgICAgICAubGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzM3B4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzNweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAubWVudS1wbHVzLWljb24ge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDBkZWcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNpZGUtYnRuLWJveCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgLnRoZW1lLWJ0biB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMCkpO1xuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgaGVhZGVyLW1lbnUtYXJlYSAyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uaGVhZGVyLW1lbnUtYXJlYS0yLFxuLmhlYWRlci1tZW51LWFyZWEtMyxcbi5oZWFkZXItbWVudS1hcmVhLTV7XG4gICYuaGVhZGVyLWZpeGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gIH1cbn1cblxuLyogbWVudS1jb250ZW50LTIgKi9cbi5tZW51LWNvbnRlbnQtMiB7XG4gIC5tYWluLW1lbnUge1xuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNlYXJjaC13cmFwLFxuICAuY2FydC13cmFwIHtcbiAgICAuZHJvcGRvd24ge1xuICAgICAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIC5jYXJ0LWNvdW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sb2dvLXJpZ2h0LWJ1dHRvbiB7XG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICAudGhlbWUtYnRuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNpZGUtbWVudS1vcGVuIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgLm1lbnVfX2JhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGhlYWRlci1tZW51LWFyZWEgNFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmhlYWRlci10b3Age1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjEpO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oMC41cyk7XG4gIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGVhZGVyLXRvcC1pbmZvIHtcbiAgLmluZm8tbGlzdCB7XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgaSB7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzKTtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmhlYWRlci1sZWZ0LWluZm8ge1xuICBwYWRkaW5nLXRvcDogN3B4O1xufVxuLmhlYWRlci1yaWdodC1pbmZvIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIC5pbmZvLWxpc3Qge1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDMzcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0zO1xuICAgICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgfVxuICAgICAgLnRoZW1lLWJ0biB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubWVudS1jb250ZW50LTMge1xuICAubWFpbi1tZW51IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICAuc2VhcmNoLXdyYXAge1xuICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgIEBtZWRpYSAjeyRkZXZpY2UtMTYwMH0ge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTYwcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9sfSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xODRweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBtZW51LWNvbnRlbnQtNCAqL1xuLm1lbnUtY29udGVudC00IHtcbiAgLm1haW4tbWVudSB7XG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTg7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci04O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZHJvcGRvd24tbWVudS1pdGVtIHtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci04O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItODtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWVnYS1tZW51IHtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAubWVnYS1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAuc2VjdGlvbi1kaXZpZGVyIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItODtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tZWdhLW1lbnUtaW5uZXIge1xuICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNlYXJjaC13cmFwLFxuICAuY2FydC13cmFwIHtcbiAgICAuZHJvcGRvd24ge1xuICAgICAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIC5jYXJ0LWNvdW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci04O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2FydC1pdGVtcyB7XG4gICAgICAgIC5pdGVtcyB7XG4gICAgICAgICAgLml0ZW1fX2luZm8ge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItODtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLml0ZW1fX3JlbW92ZSB7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci04O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNlYXJjaC13cmFwIHtcbiAgICAuY29udGFjdC1mb3JtLWFjdGlvbiB7XG4gICAgICAudGhlbWUtYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sb2dvLXJpZ2h0LWJ1dHRvbiB7XG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICAudGhlbWUtYnRuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci04O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNpZGUtbWVudS1vcGVuIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgLm1lbnVfX2JhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlci1tZW51LWFyZWEtNCB7XG4gICYuaGVhZGVyLWZpeGVkIHtcbiAgICAuaGVhZGVyLXRvcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgaGVhZGVyLW1lbnUtYXJlYSA1XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uaGVhZGVyLW1lbnUtYXJlYS01IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuXG5cblxuXG5cbiIsIi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBiYW5uZXItYXJlYVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmJhbm5lci1hcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAuYmFubmVyLXN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGZpbGw6ICR0aGVtZS1jb2xvci02O1xuICAgIGhlaWdodDogMTEyJTtcbiAgfVxufVxuLmJhbm5lci1pdGVtLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBhZGRpbmctdG9wOiAyNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICB6LWluZGV4OiAyO1xuICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgcGFkZGluZy10b3A6IDIwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG4gIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbn1cbi5iYW5uZXItaXRlbS10YWJsZSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAuYmFubmVyLWl0ZW0tdGFibGVjZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cbi5iYW5uZXItY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgLnNlY3Rpb25fX21ldGEge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDRweDtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ2LCA2MSwgOTgsIDAuMSk7XG4gICAgICBwYWRkaW5nOiA0cHggMTRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuICAgIC5zZWN0aW9uX190aXRsZSB7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTQ7XG4gICAgICBsaW5lLWhlaWdodDogODBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktNjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHByaW1hcnktZm9udDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX29uZX0ge1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgfVxuICAgICAgYnIge1xuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX2ZvdXJ9IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICAuc2VjdGlvbl9fZGVzYyB7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEyO1xuICAgICAgbGluZS1oZWlnaHQ6IDM3cHg7XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTQ7XG4gICAgICB9XG4gICAgICBiciB7XG4gICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnRuLWJveCB7XG4gICAgYSB7XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX29uZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBob21lLXBhZ2UtNFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmhvbWUtcGFnZS00IHtcbiAgLmJhbm5lci1pdGVtLXdyYXAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iYW5uZXItaG9tZS1pbWcuanBnXCIpO1xuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlX2ZvdXJ9IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyNTBweDtcbiAgICB9XG4gICAgLmxpbmUtYmcge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgwZGVnKSk7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gIH1cbiAgLmJhbm5lci1jb250ZW50IHtcbiAgICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgIC5zZWN0aW9uLWljb24ge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNlY3Rpb24tZGVzY3JpcHRpb24ge1xuICAgICAgLnNlY3Rpb25fX2Rlc2Mge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE0O1xuICAgICAgfVxuICAgIH1cbiAgICAuYnRuLWJveCB7XG4gICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICAgIHdpZHRoOiAyMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICAgIC5jb250YWN0LW51bWJlciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX29uZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wcmV2aWV3LXZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA2MHB4O1xuICAgIHJpZ2h0OiA4MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGhvbWUtcGFnZS01XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uc2xpZGVyLWNpcmNsZS1zaGFwZSB7XG4gIHdpZHRoOiA2MDBweDtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAxMDBweCBkb3R0ZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBvcGFjaXR5OiAwLjE7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgei1pbmRleDogMTtcbn1cbi5zbGlkZXItY2lyY2xlLXNoYXBlMSB7XG4gIHRvcDogLTIwMHB4O1xuICBsZWZ0OiAtMjMwcHg7XG4gIGJvcmRlcjogMTAwcHggZGFzaGVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi5zbGlkZXItY2lyY2xlLXNoYXBlMiB7XG4gIGJvdHRvbTogLTIxMHB4O1xuICByaWdodDogLTIxMHB4O1xufVxuLnNsaWRlci1jaXJjbGUtc2hhcGUxLFxuLnNsaWRlci1jaXJjbGUtc2hhcGUyIHtcbiAgYW5pbWF0aW9uOiBzcGlubWUgMTEwMDBtcyBpbmZpbml0ZSBsaW5lYXI7XG59XG5cbi5pbmZvLWNvbnRhY3QtYm94IHtcbiAgbWFyZ2luLXRvcDogMjAwcHg7XG4gIGJhY2tncm91bmQ6ICM3Zjg4OTc7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjN2Y4ODk3LCAjQTNCMEJBKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjN2Y4ODk3LCAjQTNCMEJBKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgbWFyZ2luLXRvcDogMTQwcHg7XG4gIH1cbiAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgIG1hcmdpbi10b3A6IDE0MHB4O1xuICB9XG59XG4uYmFubmVyLWNvbnRhY3QtbGlzdCB7XG4gIC5jb2wtbGctNCB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5iYW5uZXItY29udGFjdC1pdGVtIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmJhbm5lci1jb250YWN0LWl0ZW0ge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIHBhZGRpbmc6IDUwcHggMDtcbiAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxuICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB9XG4gIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIH1cbiAgc3BhbiB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS0xMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICByaWdodDogLTZweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgfVxuICB9XG4gIC5iYW5uZXItY29udGFjdF9fdGl0bGUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS0xMztcbiAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gIH1cbiAgLmJhbm5lci1jb250YWN0X190ZXh0IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIGEge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuIiwiXG5cbi8qPT09PT09PT09ICBsaXN0LWl0ZW1zID09PT09PT09Ki9cbi5saXN0LWl0ZW1zIHtcbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBzcGFuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTdweDtcbiAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IC03cHg7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTI7XG4gICAgfVxuICAgIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxuICAgICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG4gIH1cbn1cblxuLyo9PT09PT09PT0gaW1hZ2UtYm94ID09PT09PT09Ki9cbi5pbWFnZS1ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuaW1nX19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIGJvcmRlcjogMTBweCBzb2xpZCAkd2hpdGU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMzMlO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgMCAwKTtcbiAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIGJvdHRvbTogMjUlO1xuICAgICAgcmlnaHQ6IC02MHB4O1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDAgMCk7XG4gICAgICBAbWVkaWEgI3skbGFwdG9wX21fdHdvfSB7XG4gICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXB0b3BfbV9mb3VyfSB7XG4gICAgICAgIGJvdHRvbTogMzUlO1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgYm90dG9tOiAxNSU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDMzJTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDAgMCk7XG4gICAgICBAbWVkaWEgI3skbGFwdG9wX21fZm91cn0ge1xuICAgICAgICBib3R0b206IDM1JTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uaW1nLS1ib3gge1xuICAuaW1nX19pdGVtIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFCT1VUIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5hYm91dC1hcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAuc2VjdGlvbl9fdGl0bGUge1xuICAgICAgYnIge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYWJvdXQtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5pbWFnZS1ib3gge1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuaW1nX19pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgaGVpZ2h0OiAyODBweDtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pbWctLWJveCB7XG4gICAgLmltZ19faXRlbSB7XG4gICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFCT1VUIEFSRUEgMlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmFib3V0LWFyZWEyIHtcbiAgLmFib3V0LWl0ZW0ge1xuICAgIC5saXN0LWl0ZW1zIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTA7XG4gICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NiwgMTY1LCAyNDUsIDAuMSk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCByZ2JhKDY2LCAxNjUsIDI0NSwgMC4xKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGgzIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2NXB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMztcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5hYm91dC1pdGVtLWxlZnQge1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIH1cbiAgfVxuICBcbn1cbi52aWRlby1pbWFnZS1nYWxsZXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgfVxuICAucHJldmlldy12aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgICB6LWluZGV4OiAxO1xuICAgIC52aWRlby1wbGF5LWJ0biB7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2NnB4O1xuICAgIH1cbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHJpZ2h0OiAtMzJweDtcbiAgICBib3R0b206IC0zMnB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kb3RzLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB3aWR0aDogMjI1cHg7XG4gICAgaGVpZ2h0OiAyMjVweDtcbiAgICBvcGFjaXR5OiAwLjI7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIHBlcmZvcm1hbmNlLWFyZWFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5wZXJmb3JtYW5jZS1hcmVhIHtcbiAgLnBlcmZvcm1hbmNlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgLmNpcmNsZS1iYXItd3JhcCB7XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5jaXJjbGVjaGFydCB7XG4gICAgICAuY2lyY2xlLWNoYXJ0IHtcbiAgICAgICAgd2lkdGg6IDE1NXB4O1xuICAgICAgICBoZWlnaHQ6IDE1NXB4O1xuICAgICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNoYXJ0LWJveCB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAwIDApO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQUJPVVQgQVJFQSAzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uYWJvdXQtYXJlYTMge1xuICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNTBweDtcbiAgfVxuICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICB9XG4gIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gIH1cbiAgLmFib3V0LWl0ZW0ge1xuICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuICAgIC5saXN0LWl0ZW1zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIH1cbiAgICAgICAgKyBsaSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaW1hZ2UtYm94LXdyYXAge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmNvbXBhbnktbG9nbyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDQwcHg7XG4gICAgICBsZWZ0OiAyOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktNjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMXB4O1xuICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICAgICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTk7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTc7XG4gICAgICAgIGxlZnQ6IDYwcHg7XG4gICAgICAgIHRvcDogMzBweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS03O1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pbWFnZS1ib3gge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmltZ19faXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDMwcHgpO1xuICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgaGVpZ2h0OiAyMjBweFxuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMiksXG4gICAgICAmOm50aC1jaGlsZCgzKSxcbiAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDE4JTtcbiAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgICAgICBib3R0b206IDQzJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIGJvdHRvbTogMjdweDtcbiAgICAgICAgbGVmdDogODRweDtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgICAgICBib3R0b206IDE4NXB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBBQk9VVCBBUkVBIDRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5hYm91dC1hcmVhNCB7XG4gIC5pbWFnZS1ib3gge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIGJvcmRlcjogMTBweCBzb2xpZCAkd2hpdGU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoOHB4KTtcbiAgICBAbWVkaWEgI3skbGFwdG9wX21fZm91cn0ge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgMCAwKTtcbiAgICB9XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgfVxuICAgIC5hYm91dC1saW5lLWJnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdG9wOiAtNDVweDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBoZWlnaHQ6IDIwJTtcbiAgICAgIGJvcmRlcjogMTBweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMSk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDhweCk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gICAgLmltZ19faXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDhweCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYWJvdXQtaXRlbSB7XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuICAgIC5saXN0LWl0ZW1zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIH1cbiAgICAgICAgKyBsaSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEFCT1VUIEFSRUEgNVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmFib3V0LWFyZWE1IHtcbiAgLmFib3V0LWltZy13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBAbWVkaWEgI3skZGV2aWNlLTQ4MX0ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgfVxuICAgIC5pbWFnZS1ib3gge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRkZXZpY2UtNDgxfSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmltZ19faXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRkZXZpY2UtNDgxfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICBib3R0b206IDE1JTtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgICAgICAgIGJvdHRvbTogNDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhICN7JGRldmljZS00ODF9IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnZpZGVvLXBsYXktYnRuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMTEwcHg7XG4gICAgICByaWdodDogMzBweDtcbiAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgIGhlaWdodDogMTMwcHg7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBsaW5lLWhlaWdodDogMTMwcHg7XG4gICAgICBmb250LXNpemU6ICRwcmltYXJ5LWZvbnQ7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ltZzEuanBnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBAbWVkaWEgI3skbGFwdG9wX21fZm91cn0ge1xuICAgICAgICBib3R0b206IDI1MHB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICByaWdodDogOTBweDtcbiAgICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgICBoZWlnaHQ6IDI2MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjYwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIGJvdHRvbTogNDBweDtcbiAgICAgICAgcmlnaHQ6IDY1cHg7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4MHB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGRldmljZS00ODF9IHtcbiAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgIC5zZWN0aW9uX19kZXNjIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuICAgIH1cbiAgfVxuICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuICAuaWNvbi1ib3gtbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIENIT09TRSBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4ud2h5LWNob29zZS13cmFwIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgLmFib3V0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgLmNob29zZS1udW1iZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMXB4O1xuICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICAgIH1cbiAgICAubGlzdC1pdGVtcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHNwYW4ge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC52aWRlby1pbWFnZS1nYWxsZXJ5IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSgxNCwgMTYsIDQ4LCAwLjEpKTtcbiAgICBib3JkZXI6IDEwcHggc29saWQgJHdoaXRlO1xuICAgIGltZyB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQ0hPT1NFIEFSRUEgMlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLndoeS1jaG9vc2UtYXJlYTIge1xuICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbiAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgfVxuICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gIH1cbiAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICB9XG4gIC53aHktY2hvb3NlLXdyYXAge1xuICAgIC5hYm91dC1oZWFkaW5nIHtcbiAgICAgIC5hYm91dF9fbGlzdCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5hYm91dC12aWRlby1pbWcge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5leHBlcmllbmNlZC1ib3gge1xuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX29uZX0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgaDMge1xuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFdJREdFVCBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4ud2lkZ2V0cy1hcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTY7XG4gIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9idWJibGUtc2hhcGUucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLmNpcmNsZS1zaGFwZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDhweCk7XG4gICAgdG9wOiAyNyU7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICB9XG4gIC5jaXJjbGUtc2hhcGUyIHtcbiAgICB0b3A6IDEwJTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgzMGRlZykpO1xuICB9XG4gIC5jaXJjbGUtc2hhcGUzIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMCU7XG4gIH1cbiAgLmNpcmNsZS1zaGFwZTQge1xuICAgIGJvdHRvbTogMjAlO1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiA1JTtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgzMGRlZykpO1xuICB9XG4gIC5jaXJjbGUtc2hhcGU1IHtcbiAgICBib3R0b206IDUwJTtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTUlO1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDEycHgpO1xuICB9XG4gIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgIC5zZWN0aW9uX190aXRsZSB7XG4gICAgICB3aWR0aDogODgwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICAgIH1cbiAgfVxuICAud2lkZ2V0LWNvbnRlbnQtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIC53aWRnZXQtaXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDhweCk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoMTQsIDE2LCA0OCwgMC4wNCkpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIC53aWRnZXQtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHggMzVweCAyMHB4O1xuICAgICAgICAud2lkZ2V0X19pY29uIHtcbiAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTQzLCA2NiwgMjM2LCAwLjEpO1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHJpZ2h0OiAtN3B4O1xuICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC53aWRnZXRfX3RpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBvcGFjaXR5OiAuMTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzIGVhc2UpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDcwJSwgLTcwJSkpO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTcwJSwgNzAlKSk7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIC53aWRnZXQtbGluayB7XG4gICAgICAgICAgLndpZGdldF9faWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC53aWRnZXRfX3RpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDM1JSwgLTM1JSkpO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTM1JSwgMzUlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJcbi8qPT09PT09PT09IHRlc3RpbW9uaWFsLWl0ZW0td3JhcCA9PT09PT09PT0qL1xuLnRlc3RpbW9uaWFsLWl0ZW0td3JhcCB7XG4gIC50ZXN0aW1vbmlhbC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnRlc3RpbW9uaWFsLWRlc2Mge1xuICAgICAgLnRlc3RpbW9uaWFsX19kZXNjIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC50ZXN0aW1vbmlhbC1hdXRob3Ige1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy10b3A6IDM1cHg7XG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogOTRweDtcbiAgICAgICAgaGVpZ2h0OiA5NHB4O1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICB9XG4gICAgICAuYXV0aG9yX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTI7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgfVxuICAgICAgLmF1dGhvcl9fbWV0YSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICB9XG4gICAgICAuYXV0aG9yX19yYXRpbmcge1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgICAgICAubGEge1xuICAgICAgICAgIG1hcmdpbjogMCAtMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIuKAnVwiO1xuICAgICAgICBmb250LXNpemU6IDI4MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAtNTVweDtcbiAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAub3dsLW5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBkaXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjEpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICBAbWVkaWEgI3skbGFwdG9wX219IHtcbiAgICAgICAgdG9wOiAzOCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgJi5vd2wtcHJldiB7XG4gICAgICAgIGxlZnQ6IC0xMDBweDtcbiAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9tfSB7XG4gICAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV90aHJlZX0ge1xuICAgICAgICAgIGxlZnQ6IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfZm91cn0ge1xuICAgICAgICAgIGxlZnQ6IDE2MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICAgICAgbGVmdDogMTMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGRldmljZS0zODR9IHtcbiAgICAgICAgICBsZWZ0OiAxMTBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgICAgbGVmdDogODVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5vd2wtbmV4dCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMTAwcHg7XG4gICAgICAgIEBtZWRpYSAjeyRsYXB0b3BfbX0ge1xuICAgICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgICAgcmlnaHQ6IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfZm91cn0ge1xuICAgICAgICAgIHJpZ2h0OiAxNjBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX29uZX0ge1xuICAgICAgICAgIHJpZ2h0OiAxMzBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skZGV2aWNlLTM4NH0ge1xuICAgICAgICAgIHJpZ2h0OiAxMTBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgICAgcmlnaHQ6IDg1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm93bC1kb3RzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBkaXYge1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuOCkpO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJHRoZW1lLWNvbG9yLTI7XG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyo9PT09PT09PT0gdGVzdGltb25pYWwtaXRlbS13cmFwLTIgPT09PT09PT09Ki9cbi50ZXN0aW1vbmlhbC1pdGVtLXdyYXAtMiB7XG4gIC50ZXN0aW1vbmlhbC1pdGVtIHtcbiAgICAudGVzdGltb25pYWwtZGVzYyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IzO1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC50ZXN0aW1vbmlhbF9fZGVzYyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGxlZnQ6IDUwcHg7XG4gICAgICAgIGJvdHRvbTogLTE0cHg7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDE3cHggc29saWQgJGNvbG9yMztcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRlc3RpbW9uaWFsLWF1dGhvciB7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDk0cHg7XG4gICAgICAgIGhlaWdodDogOTRweDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgfVxuICAgICAgLmF1dGhvci1kZXRhaWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgIH1cbiAgICAgIC5hdXRob3JfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICB9XG4gICAgICAuYXV0aG9yX19tZXRhIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgIH1cbiAgICAgIC5hdXRob3JfX3JhdGluZyB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNTtcbiAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICAgIC5sYSB7XG4gICAgICAgICAgbWFyZ2luOiAwIC0ycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAtNTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIuKAnVwiO1xuICAgICAgICBmb250LXNpemU6IDI4MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm93bC1uYXYge1xuICAgIGRpdiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMSk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEzO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgIEBtZWRpYSAjeyRsYXB0b3BfbX0ge1xuICAgICAgICB0b3A6IDM4JTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV90aHJlZX0ge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICAmLm93bC1wcmV2IHtcbiAgICAgICAgbGVmdDogLTEwMHB4O1xuICAgICAgICBAbWVkaWEgI3skbGFwdG9wX219IHtcbiAgICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgICAgbGVmdDogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV9mb3VyfSB7XG4gICAgICAgICAgbGVmdDogMTYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9vbmV9IHtcbiAgICAgICAgICBsZWZ0OiAxMzBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skZGV2aWNlLTM4NH0ge1xuICAgICAgICAgIGxlZnQ6IDExMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgICBsZWZ0OiA4NXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLm93bC1uZXh0IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0xMDBweDtcbiAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9tfSB7XG4gICAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgICByaWdodDogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV9mb3VyfSB7XG4gICAgICAgICAgcmlnaHQ6IDE2MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICAgICAgcmlnaHQ6IDEzMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRkZXZpY2UtMzg0fSB7XG4gICAgICAgICAgcmlnaHQ6IDExMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgICByaWdodDogODVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKj09PT09PT09PSB0ZXN0aW1vbmlhbC1pdGVtLXdyYXAtMyA9PT09PT09PT0qL1xuLnRlc3RpbW9uaWFsLWl0ZW0td3JhcC0zIHtcbiAgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbiAgLnRlc3RpbW9uaWFsLWl0ZW0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDhweCk7XG4gICAgcGFkZGluZzogNDBweCAzMHB4IDY0cHggMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC50ZXN0aW1vbmlhbC1hdXRob3Ige1xuICAgICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDk0cHg7XG4gICAgICAgIGhlaWdodDogOTRweDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgfVxuICAgIH1cbiAgICAudGVzdGltb25pYWwtZGV0YWlsIHtcbiAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICAuYXV0aG9yX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTI7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgfVxuICAgICAgLmF1dGhvcl9fbWV0YSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICB9XG4gICAgICAuYXV0aG9yX19yYXRpbmcge1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgICAgICAubGEge1xuICAgICAgICAgIG1hcmdpbjogMCAtMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYXV0aG9yX19kZXNjIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcXGYxMGRcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxpbmUgQXdlc29tZSBGcmVlXCI7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTg7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgYm90dG9tOiAtMjVweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKj09PT09PT09PSB0ZXN0aW1vbmlhbC1pdGVtLXdyYXAtNCA9PT09PT09PT0qL1xuLnRlc3RpbW9uaWFsLWl0ZW0td3JhcC00IHtcbiAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAudGVzdGltb25pYWwtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICB6LWluZGV4OiAxO1xuICAgIC50ZXN0aW1vbmlhbC1hdXRob3Ige1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA2NHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogNTRweDtcbiAgICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSgwLDAsMCwgMC4yKSk7XG4gICAgICB9XG4gICAgICAuYXV0aG9yX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuICAgICAgLmF1dGhvcl9fbWV0YSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgfVxuICAgICAgLmF1dGhvcl9fcmF0aW5nIHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci01O1xuICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMjtcbiAgICAgICAgLmxhIHtcbiAgICAgICAgICBtYXJnaW46IDAgLTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcXGYxMGVcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTGluZSBBd2Vzb21lIEZyZWVcIjtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRlc3RpbW9uaWFsLWRlc2Mge1xuICAgICAgLnRlc3RpbW9uaWFsX19kZXNjIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzIGVhc2UpO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgfVxuICAgICAgLnRlc3RpbW9uaWFsLWF1dGhvciB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRlc3RpbW9uaWFsLWRlc2MgLnRlc3RpbW9uaWFsX19kZXNjLFxuICAgICAgLnRlc3RpbW9uaWFsLWF1dGhvciAuYXV0aG9yX190aXRsZSxcbiAgICAgIC50ZXN0aW1vbmlhbC1hdXRob3IgLmF1dGhvcl9fbWV0YSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5vd2wtZG90cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgZGl2IHtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjgpKTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR0aGVtZS1jb2xvci0yO1xuICAgICAgJi5hY3RpdmUsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKj09PT09PT09PT09PT0gdGVzdGltb25pYWwtaXRlbS13cmFwLTUgPT09PT09PT09PT09Ki9cbi50ZXN0aW1vbmlhbC1pdGVtLXdyYXAtNSB7XG4gIC50ZXN0aW1vbmlhbC1pdGVtIHtcbiAgICAudGVzdGltb25pYWxfX2ltZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIC50ZXN0aW1vbmlhbC1kZXRhaWwge1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgLmF1dGhvcl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEwO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIH1cbiAgICAgIC5hdXRob3JfX21ldGEge1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgIH1cbiAgICAgIC5hdXRob3JfX2Rlc2Mge1xuICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTU7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlxcZjJjZVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJMaW5lIEF3ZXNvbWUgRnJlZVwiO1xuICAgICAgICBmb250LXNpemU6IDIwMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgcmlnaHQ6IDM1JTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMXB4O1xuICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgLW1zLXRleHQtc3Ryb2tlLWNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgLW8tdGV4dC1zdHJva2UtY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFRFU1RJTU9OSUFMIEFSRUEgNlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4udGVzdGltb25pYWwtaXRlbS13cmFwLTYge1xuICAudGVzdGltb25pYWwtaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMTIwcHg7XG4gICAgLnRlc3RpbW9uaWFsLWF1dGhvciB7XG4gICAgICAuYXV0aG9yX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgfVxuICAgICAgLmF1dGhvcl9fbWV0YSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC50ZXN0aW1vbmlhbC1kZXNjIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAudGVzdGltb25pYWxfX2Rlc2Mge1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlxcZjJjZVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJMaW5lIEF3ZXNvbWUgRnJlZVwiO1xuICAgICAgICByaWdodDogMTAlO1xuICAgICAgICBib3R0b206IDEwMHB4O1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDFweDtcbiAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgICAgIC1tcy10ZXh0LXN0cm9rZS1jb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgICAgIC1vLXRleHQtc3Ryb2tlLWNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBmb250LXNpemU6IDIwMHB4O1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm93bC1kb3RzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICBkaXYge1xuICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdGVhbS5qcGdcIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC44KSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3RlYW0yLmpwZ1wiKTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3RlYW0zLmpwZ1wiKTtcbiAgICAgIH1cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyo9PT09PT09PT0gdGVzdGltb25pYWwtaXRlbS13cmFwLTcgPT09PT09PT09Ki9cbi50ZXN0aW1vbmlhbC1pdGVtLXdyYXAtNyB7XG4gIC50ZXN0aW1vbmlhbC1pdGVtIHtcbiAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICAudGVzdGltb25pYWwtaW1nIHtcbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg4cHgpO1xuICAgIH1cbiAgfVxuICAudGVzdGltb25pYWwtY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIH1cbiAgICAudGVzdGltb25pYWwtZGVzYyB7XG4gICAgICAubGEtcXVvdGUtbGVmdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICAgICAgICBjb2xvcjogcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICB9XG4gICAgICAudGVzdGltb25pYWxfX2Rlc2Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRlc3RpbW9uaWFsLWF1dGhvciB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgICAuYXV0aG9yX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwIDE1cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV90aHJlZX0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYXV0aG9yX19tZXRhIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5hdXRob3JfX3JhdGluZyB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNTtcbiAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICAubGEge1xuICAgICAgICAgIG1hcmdpbjogMCAtMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5vd2wtbmF2IHtcbiAgICBkaXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjEpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICBAbWVkaWEgI3skbGFwdG9wX219IHtcbiAgICAgICAgdG9wOiAzOCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgJi5vd2wtcHJldiB7XG4gICAgICAgIGxlZnQ6IC0xMDBweDtcbiAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9tfSB7XG4gICAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV90aHJlZX0ge1xuICAgICAgICAgIGxlZnQ6IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRkZXZpY2UtNDgxfSB7XG4gICAgICAgICAgbGVmdDogMTYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9vbmV9IHtcbiAgICAgICAgICBsZWZ0OiAxMzBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skZGV2aWNlLTM4NH0ge1xuICAgICAgICAgIGxlZnQ6IDExMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgICBsZWZ0OiA4NXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLm93bC1uZXh0IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0xMDBweDtcbiAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9tfSB7XG4gICAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgICByaWdodDogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGRldmljZS00ODF9IHtcbiAgICAgICAgICByaWdodDogMTYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9vbmV9IHtcbiAgICAgICAgICByaWdodDogMTMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGRldmljZS0zODR9IHtcbiAgICAgICAgICByaWdodDogMTEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV90aHJlZX0ge1xuICAgICAgICAgIHJpZ2h0OiA4NXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5vd2wtZG90cyB7XG4gICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBtZWRpYSAjeyRsYXB0b3BfbV9mb3VyfSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgICBkaXYge1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuOCkpO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJHRoZW1lLWNvbG9yLTI7XG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyo9PT09PT09PT0gdGVzdGltb25pYWwtaXRlbS13cmFwLTggPT09PT09PT09Ki9cbi50ZXN0aW1vbmlhbC1pdGVtLXdyYXAtOCB7XG4gIC50ZXN0aW1vbmlhbC1pdGVtIHtcbiAgICBwYWRkaW5nOiAzMHB4IDBweCAzMHB4IDBweDtcbiAgfVxuICAudGVzdGltb25pYWxfX2ltZyB7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgLnRlc3RpbW9uaWFsLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIC50ZXN0aW1vbmlhbC1kZXNjIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSgxNCwxNiw0OCwwLjA0KSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgcGFkZGluZzogNDBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC5sYS1xdW90ZS1sZWZ0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDcwcHg7XG4gICAgICAgIGNvbG9yOiByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMXB4O1xuICAgICAgfVxuICAgICAgLnRlc3RpbW9uaWFsX19kZXNjIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoNDVkZWcpKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRlc3RpbW9uaWFsLWF1dGhvciB7XG4gICAgICAuYXV0aG9yX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG4gICAgICAuYXV0aG9yX19tZXRhIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgIH1cbiAgICAgIC5hdXRob3JfX3JhdGluZyB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNTtcbiAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICAgIC5sYSB7XG4gICAgICAgICAgbWFyZ2luOiAwIC0ycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGNsaWVudC1mZWVkYmFja1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uY2xpZW50LWZlZWRiYWNrIHtcbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvdHRvbTogNzVweDtcbiAgICBsZWZ0OiAzMDVweDtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgaGVpZ2h0OiAxNDBweDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2RvdHMucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX29uZX0ge1xuICAgICAgbGVmdDogNTBweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBjbGllbnQtZmVlZGJhY2sgMlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uY2xpZW50LWZlZWRiYWNrMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLnJhbmRvbS1pbWcge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNjUlIDMwJSAzMCUgNjUlLzU1JSAzNSUgNTAlIDQwJSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSgxNCwxNiw0OCwgMC4xKSk7XG4gICAgYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICB0b3A6IDYlO1xuICAgICAgbGVmdDogMjVweDtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgdG9wOiAzOCU7XG4gICAgICBsZWZ0OiAxNSU7XG4gICAgICB3aWR0aDogOTVweDtcbiAgICAgIGhlaWdodDogOTVweDtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgbGVmdDogMSU7XG4gICAgICAgIHRvcDogMzAlO1xuICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICB0b3A6IDc1JTtcbiAgICAgIGxlZnQ6IDUlO1xuICAgICAgd2lkdGg6IDg1cHg7XG4gICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIHRvcDogNjAlO1xuICAgICAgICBsZWZ0OiAxNCU7XG4gICAgICB9XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCg1KSB7XG4gICAgICB0b3A6IDMwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMTglO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCg2KSB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDMwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMTAlO1xuICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgfVxuICB9XG4gIC50ZXN0aW1vbmlhbC1pdGVtLXdyYXAtMiB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAudGVzdGltb25pYWwtaXRlbSB7XG4gICAgICAudGVzdGltb25pYWwtYXV0aG9yIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoMTQsMTYsNDgsIDAuMDcpKTtcbiAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGNsaWVudC1mZWVkYmFjayAzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5jbGllbnQtZmVlZGJhY2szLFxuLmNsaWVudC1mZWVkYmFjazQge1xuICAudGVzdGltb25pYWwtaXRlbS13cmFwLTQsXG4gIC50ZXN0aW1vbmlhbC1pdGVtLXdyYXAtNiB7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcbiAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuXG4iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgU1VCU0NSSUJFUiBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uc3Vic2NyaWJlci1hcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAuc2VjdGlvbl9fdGl0bGUge1xuICAgICAgYnIge1xuICAgICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnN1YnNjcmliZXItY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoOHB4KTtcbiAgICBwYWRkaW5nOiA2MHB4IDQwcHg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMDUpKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjk4KSk7XG4gICAgfVxuICB9XG4gIC5zdWJzY3JpYmVyLWZvcm0td3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAuc3Vic2NyaWJlci1mb3JtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDUwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udDtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoMTQsMTYsNDgsLjA2KSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMzBweCk7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjpyZ2JhKDEyNywgMTM2LCAxNTEsIDAuNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5sYS1lbnZlbG9wZS1vIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE5cHg7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTM7XG4gICAgICB9XG4gICAgICAudGhlbWUtYnRuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICByaWdodDogOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzMHB4KTtcbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9vbmV9IHtcbiAgICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItNjtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgYm90dG9tOiA1MHB4O1xuICAgIGxlZnQ6IDEwMHB4O1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoOHB4KTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICB0b3A6IDRweDtcbiAgICByaWdodDogMjIwcHg7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICB9XG59XG5cbiIsIi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBHRVQgU1RBUlQgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmdldC1zdGFydC1hcmVhIHtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmdldC1zdGFydC1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg4cHgpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjA1KSk7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNDBweCAzMHB4O1xuICAgIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgICAgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS05O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICB9XG4gICAgICAuc2VjdGlvbl9fc3ViIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICB9XG4gICAgfVxuICAgIC5idXR0b24tc2hhcmVkLnRleHQtcmlnaHQge1xuICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBHRVQgU1RBUlQgQVJFQSAyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uZ2V0LXN0YXJ0LWFyZWEyIHtcbiAgcGFkZGluZzogNDBweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuc2VjdGlvbi1kb3QsXG4gICAgLnNlY3Rpb24taWNvbixcbiAgICAuc2VjdGlvbi1pY29uLWhlYXJ0IHtcbiAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIC5zZWN0aW9uX190aXRsZSB7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTk7XG4gICAgfVxuICB9XG4gIC5idXR0b24tc2hhcmVkLnRleHQtcmlnaHQge1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7XG4gICAgLnNlY3Rpb25fX2Rlc2Mge1xuICAgICAgYnIge1xuICAgICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2FsbC10by1hY3Rpb24tYmFja2dyb3VuZC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxuICAuZ2V0LXN0YXJ0LWJveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgMCAwKTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBHRVQgU1RBUlQgQVJFQSAzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uZ2V0LXN0YXJ0LWFyZWEzIHtcbiAgcGFkZGluZy10b3A6IDgwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAuc2VjdGlvbl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAkcHJpbWFyeS1mb250O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktNztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBURUFNIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi50ZWFtLWFyZWEge1xuICAudGVhbS1jb250ZW50LXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgLmNvbC1sZy00IHtcbiAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PSBURUFNIEFSRUEgPT09PT09PT0tKi9cbi50ZWFtLWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSgxNCwxNiw0OCwuMDUpKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjEpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgLnRlYW0taW1nLWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4IDRweCAwIDApO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDE0LDE2LDQ4LC4wNSkpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICR0aGVtZS1jb2xvci03O1xuICAgIH1cbiAgfVxuICAudGVhbS10aXRsZXMge1xuICAgIHBhZGRpbmc6IDMycHggNDBweCAzOHB4IDQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgLnRlYW1fX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudGVhbV9fbWV0YSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG4gICAgLnRlYW1fX2Rlc2Mge1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICAudGhlbWUtYnRuLnRlYW1fX2J0biB7XG4gICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgIC5sYSB7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAudGVhbV9fcHJvZmlsZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNHB4KSk7XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09IFRFQU0gQVJFQSAyID09PT09PT09LSovXG4udGVhbS1pdGVtLTIge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMCAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMzBweCk7XG4gIC50ZWFtLWltZy1ib3gge1xuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDMwcHgpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnRlYW0tdGl0bGVzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAudGVhbV9fcHJvZmlsZSB7XG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDM4cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDYxLCA5OCwgMC4xKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT09PSBURUFNIEFSRUEgMyA9PT09PT09PS0qL1xuLnRlYW0taXRlbS0zIHtcbiAgLnRlYW0taW1nLWJveCB7XG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAwIDApO1xuICAgIH1cbiAgICAuaW1nLXN2Zy1zaGFwZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMTQwcHg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICBzdHJva2U6IG5vbmU7XG4gICAgfVxuICAgIC50ZWFtX19wcm9maWxlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDM4cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgIC50ZWFtLWltZy1ib3gge1xuICAgICAgLnRlYW1fX3Byb2ZpbGUge1xuICAgICAgICBib3R0b206IDMwcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyotPT09PT09PT09PT09IFRFQU0gQVJFQSA0ID09PT09PT09LSovXG4udGVhbS1pdGVtLTQge1xuICAudGVhbS1pbWctYm94IHtcbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHggNHB4IDRweCAzMHB4KTtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICAgIC50ZWFtX19wcm9maWxlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgNjEsIDk4LCAwLjUpO1xuICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4IDRweCA0cHggMzBweCk7XG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMzhweDtcbiAgICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAudGVhbS10aXRsZXMge1xuICAgIC50ZWFtX19tZXRhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIC50ZWFtLWltZy1ib3gge1xuICAgICAgLnRlYW1fX3Byb2ZpbGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PT0gVEVBTSBBUkVBIDUgPT09PT09PT0tKi9cbi50ZWFtLWl0ZW0tNSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTJweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIC50ZWFtLWltZy1ib3gge1xuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDEycHgpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gICAgLnRlYW0taW1nLWJveC1pbm5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDYxLCA5OCwgMC44KTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTJweCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC43KSk7XG4gICAgICAudGVhbS1pbm5lci1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC50ZWFtX190aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMjtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50ZWFtX19tZXRhIHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgICAgIH1cbiAgICAgICAgLnRlYW1fX3Byb2ZpbGUge1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG4gICAgLnRlYW0taW1nLWJveCB7XG4gICAgICAudGVhbS1pbWctYm94LWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFRFQU0gQVJFQSA1XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4udGVhbS1hcmVhNiB7XG4gIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICB9XG4gIC5vd2wtbmF2IHtcbiAgICBkaXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjEpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICBAbWVkaWEgI3skbGFwdG9wX219IHtcbiAgICAgICAgdG9wOiAzOCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgJi5vd2wtcHJldiB7XG4gICAgICAgIGxlZnQ6IC0xMDBweDtcbiAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9tfSB7XG4gICAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV90aHJlZX0ge1xuICAgICAgICAgIGxlZnQ6IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfZm91cn0ge1xuICAgICAgICAgIGxlZnQ6IDE2MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICAgICAgbGVmdDogMTMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGRldmljZS0zODR9IHtcbiAgICAgICAgICBsZWZ0OiAxMTBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgICAgbGVmdDogODVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5vd2wtbmV4dCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMTAwcHg7XG4gICAgICAgIEBtZWRpYSAjeyRsYXB0b3BfbX0ge1xuICAgICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgICAgcmlnaHQ6IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfZm91cn0ge1xuICAgICAgICAgIHJpZ2h0OiAxNjBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX29uZX0ge1xuICAgICAgICAgIHJpZ2h0OiAxMzBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skZGV2aWNlLTM4NH0ge1xuICAgICAgICAgIHJpZ2h0OiAxMTBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgICAgcmlnaHQ6IDg1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm93bC1kb3RzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBkaXYge1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PSBURUFNIEFSRUEgNiA9PT09PT09PS0qL1xuLnRlYW0taXRlbS02IHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MHB4KTtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAudGVhbS1pbWctYm94IHtcbiAgICB3aWR0aDogMjgwcHg7XG4gICAgaGVpZ2h0OiAyODBweDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBib3JkZXI6IDEwcHggc29saWQgJHdoaXRlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICB9XG4gIH1cbiAgLnRlYW0tdGl0bGVzIHtcbiAgICAudGVhbV9fbWV0YSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjZweDtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzMHB4KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1OCwgMTY2LCAxODYsIDAuMSk7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgIC50ZWFtLXRpdGxlcyB7XG4gICAgICAudGVhbV9fbWV0YSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09IFRFQU0gQVJFQSA3ID09PT09PT09LSovXG4udGVhbS1pdGVtLTcge1xuICBib3JkZXI6IG5vbmU7XG4gIC50ZWFtLWltZy1ib3gge1xuICAgIGltZyB7XG4gICAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDEwMCUgMCwgMTAwJSA5MiUsIDAgMTAwJSwgMCAwKTtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDEwMCUgMCwgMTAwJSA5MiUsIDAgMTAwJSwgMCAwKTtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICAgIC50ZWFtX19wcm9maWxlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTNkZWcpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoNjAlKSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpKTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuXG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogLjFzO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4xcztcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjM2I1OTk4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAuMnM7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjJzO1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICMwMGFjZWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IC4zcztcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuM3M7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzBlNzZhODtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogLjRzO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC40cztcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjQjgzMkE0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAudGVhbS10aXRsZXMge1xuICAgIHBhZGRpbmc6IDI1cHggMzVweCAzMHB4IDM1cHg7XG4gICAgLnRlYW1fX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTM7XG4gICAgfVxuICAgIC50ZWFtX19tZXRhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogM3B4O1xuICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgdG9wOiAzMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDRweCA0cHggMCk7XG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIC50ZWFtLWltZy1ib3gge1xuICAgICAgLnRlYW1fX3Byb2ZpbGUge1xuICAgICAgICBib3R0b206IDMwcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgICBib3R0b206IDQ1cHg7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PSBURUFNIEFSRUEgOCA9PT09PT09PS0qL1xuLnRlYW0taXRlbS04IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDAgMCk7XG4gIC50ZWFtLWltZy1ib3gge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICB3aWR0aDogMjYwcHg7XG4gICAgaGVpZ2h0OiAyNjBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxMHB4IHNvbGlkICR3aGl0ZTtcbiAgICBAbWVkaWEgI3skbGFwdG9wX21fZm91cn0ge1xuICAgICAgd2lkdGg6IDIxMHB4O1xuICAgICAgaGVpZ2h0OiAyMTBweDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xuICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC50ZWFtX19wcm9maWxlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBib3R0b206IDUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMCkgdHJhbnNsYXRlWSg1MCUpKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgIH1cbiAgfVxuICAudGVhbS10aXRsZXMge1xuICAgIHBhZGRpbmc6IDI1cHggMCAwIDA7XG4gICAgYm90dG9tOiA1MCU7XG4gICAgLnNlY3Rpb24tZGl2aWRlciB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIC50ZWFtLWltZy1ib3gge1xuICAgICAgLnRlYW1fX3Byb2ZpbGUge1xuICAgICAgICBib3R0b206IDUwJTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgdGVhbS1tZW1iZXItYXJlYVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi50ZWFtLW1lbWJlci1hcmVhLFxuLnRlYW0tbWVtYmVyLWFyZWEyIHtcbiAgLnRlYW0tY29udGVudC13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICB9XG59XG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgdGVhbS1tZW1iZXItYXJlYSAzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLnRlYW0tbWVtYmVyLWFyZWEzIHtcbiAgLnRlYW0tY29udGVudC13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICB0ZWFtLWRldGFpbC1hcmVhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLnRlYW0tZGV0YWlsLWFyZWEge1xuICAudGVhbS1zaW5nbGUtaW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAxMHB4IHNvbGlkICR3aGl0ZTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgIC50ZWFtX19pbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm90dG9tOiAtNDBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDIwJTtcbiAgICAgIGJvcmRlcjogMTBweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMSk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDhweCk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBsZWZ0OiAtNjhweDtcbiAgICAgIHRvcDogLTg1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZG90cy5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBhbmltYXRpb246IHNwaW5tZSAxMTAwMG1zIGluZmluaXRlIGxpbmVhcjtcbiAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICB9XG4gIH1cbiAgLnRlYW0tc2luZ2xlLWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG4gICAgLmF1dGhvcl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS03O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktOTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmF1dGhvcl9fbWV0YSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmF1dGhvcl9fbWV0YTIge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cbiAgICAuYXV0aG9yX19jb250YWN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0zO1xuICAgICAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgNjEsIDk4LCAwLjEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmF1dGhvci1kZXRhaWwtYm94IHtcbiAgICAgIG1hcmdpbi10b3A6IDM0cHg7XG4gICAgICAuYXV0aG9yLWRldGFpbC1pdGVtIHtcbiAgICAgICAgLmF1dGhvcmRldGFpbF9fdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuICAgICAgICAuYXV0aG9yZGV0YWlsX19saXN0IHtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5lZHVjYXRpb24tZGV0YWlsIHtcbiAgICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5hYm91dC1pdGVtLXdyYXAge1xuICAgIC5hYm91dF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG4gIC5hYm91dC1pdGVtIHtcbiAgICAuYWJvdXRfX2Rlc2Mge1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuICAgIC5ibG9ja3F1b3RlLWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG4gIH1cbiAgLnB1YmxpY2F0aW9uLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgICBwYWRkaW5nLXRvcDogMzRweDtcbiAgICAucHViX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbiAgICAucHVibGljYXRpb24taXRlbSB7XG4gICAgICAucHViX19saW5rcyB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wdWJfX21ldGEge1xuICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMztcbiAgICAgICAgaSB7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wdWJsaWNhdGlvbi1pdGVtMiB7XG4gICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2lkZWJhci1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiA1NXB4O1xuICAgIC5oZWxwLWRlc2MtYm94IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIHBhZGRpbmc6IDMycHggMzNweCAzOXB4IDMzcHg7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICB9XG4gICAgICAuaGVscF9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEyO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgIC5oZWxwX19kZXNjIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG4gICAgICAudGhlbWUtYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wcmVzZW50LWJ0biB7XG4gICAgICBsaW5lLWhlaWdodDogNzBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgLmNvbnRhY3QtZm9ybS1hY3Rpb24ge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIC5jb250YWN0LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICB9XG4gICAgICBmb3JtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjAzKSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KC0ycHggLTJweCAxMHB4IC01cHggcmdiYSgwLDAsMCwuMikpO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuIiwiLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFBBQ0tBR0UgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnBhY2thZ2UtYXJlYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICAgIGJyIHtcbiAgICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wYWNrYWdlLWNvbnRlbnQtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogNTVweDtcbiAgICAuY29sLWxnLTQge1xuICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKj09PT09PT09PSBwYWNrYWdlLWl0ZW0gPT09PT09PT09Ki9cbi5wYWNrYWdlLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSgxNCwgMTYsIDQ4LCAwLjA1KSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgcGFkZGluZzogNDJweCA0MHB4IDQ1cHggNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLnBhY2thZ2UtdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4IDRweCAwIDApO1xuICAgIC5wYWNrYWdlX190b29sdGlwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCA0cHggMCAwKTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTM7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuICAucGFja2FnZS10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4xKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIC5wYWNrYWdlX19wcmljZSB7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTU7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktNjtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBhY2thZ2VfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTE7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICB9XG4gIH1cbiAgLnBhY2thZ2UtbGlzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDMzcHg7XG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJGFsdGVyLWNvbG9yLTQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgJi5sYS1jbG9zZSB7XG4gICAgICAgICAgY29sb3I6ICRhbHRlci1jb2xvci01O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucGFja2FnZS1wcmljZSB7XG4gICAgLnRoZW1lLWJ0biB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkdGhlbWUtY29sb3ItMjtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBhY2thZ2VfX21ldGEge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgIG1hcmdpbi10b3A6IDIzcHg7XG4gICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLyo9PT09PT09PT0gcGFja2FnZS1pdGVtLWFjdGl2ZSA9PT09PT09PT0qL1xuLnBhY2thZ2UtaXRlbS1hY3RpdmUge1xuICBwYWRkaW5nLXRvcDogOTVweDtcbiAgbWFyZ2luLXRvcDogLTI0cHg7XG4gIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAucGFja2FnZS1wcmljZSB7XG4gICAgLnRoZW1lLWJ0biB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgUEFDS0FHRSBBUkVBIDJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5wYWNrYWdlLWFyZWEyIHtcbiAgLnBhY2thZ2UtY29udGVudC13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG4vKj09PT09PT09PSBwYWNrYWdlLWl0ZW0tMiA9PT09PT09PT0qL1xuLnBhY2thZ2UtaXRlbS0yIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg4cHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE1OCwgMTY2LCAxODYsIDAuMik7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDAgMCk7XG4gIC5wYWNrYWdlLXRvb2x0aXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAyMHB4O1xuICAgIC5wYWNrYWdlX190b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoOHB4KTtcbiAgICAgIHBhZGRpbmc6IDZweCAxNnB4O1xuICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItNztcbiAgICB9XG4gIH1cbiAgLnBhY2thZ2UtdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAucGFja2FnZV9fcHJpY2Uge1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5wYWNrYWdlX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxuICAucGFja2FnZS1saXN0IHtcbiAgICBsaSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNTgsIDE2NiwgMTg2LCAwLjIpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wYWNrYWdlLXByaWNlIHtcbiAgICAudGhlbWUtYnRuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDhweCk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTM7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICAgIC5wYWNrYWdlX19tZXRhIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbi8qPT09PT09PT09IHBhY2thZ2UtaXRlbS1hY3RpdmUtMiA9PT09PT09PT0qL1xuLnBhY2thZ2UtaXRlbS1hY3RpdmUtMiB7XG4gIHBhZGRpbmctdG9wOiA0MnB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICAucGFja2FnZS10aXRsZSB7XG4gICAgLnBhY2thZ2VfX3ByaWNlIHtcbiAgICAgIGNvbG9yOiAkYWx0ZXItY29sb3ItNztcbiAgICB9XG4gIH1cbiAgLnBhY2thZ2UtcHJpY2Uge1xuICAgIC50aGVtZS1idG4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBQQUNLQUdFIEFSRUEgM1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnBhY2thZ2UtYXJlYTMge1xuICAucGFja2FnZS1jb250ZW50LXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIH1cbiAgICAuY29sLWxnLTMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMCAtMXB4O1xuICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKj09PT09PT09PSBwYWNrYWdlLWl0ZW0tMyA9PT09PT09PT0qL1xuLnBhY2thZ2UtaXRlbS0zIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjEpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAwIDApO1xuICBwYWRkaW5nOiAwO1xuICAucGFja2FnZS10aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDM3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICAucGFja2FnZV9fcHJpY2Uge1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICB9XG4gICAgLnBhY2thZ2VfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjEpO1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgIH1cbiAgfVxuICAucGFja2FnZS1wcmljZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gICAgLnBhY2thZ2VfX2J0biB7XG4gICAgICB3aWR0aDogNTVweDtcbiAgICAgIGhlaWdodDogNTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjEpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC41KTtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTQ7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0zO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvci0zO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyo9PT09PT09PT0gcGFja2FnZS1pdGVtLWFjdGl2ZS0yID09PT09PT09PSovXG4ucGFja2FnZS1pdGVtLWFjdGl2ZS0zIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC5wYWNrYWdlLXRpdGxlIHtcbiAgICAucGFja2FnZV9fcHJpY2Uge1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci01O1xuICAgIH1cbiAgfVxuICAucGFja2FnZS1wcmljZSB7XG4gICAgLnBhY2thZ2VfX2J0biB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItNTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvci01O1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgUEFDS0FHRSBBUkVBIDRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5wYWNrYWdlLWFyZWE0IHtcbiAgLnBhY2thZ2UtY29udGVudC13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICB9XG4gICAgLmNvbC1sZy00IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyo9PT09PT09PT0gcGFja2FnZS0tYXJlYTQgPT09PT09PT09Ki9cbi5wYWNrYWdlLS1hcmVhNCB7XG4gIC5wYWNrYWdlLWNvbnRlbnQtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogOTBweDtcbiAgfVxufVxuXG4vKj09PT09PT09PSBwYWNrYWdlLWl0ZW0tNCA9PT09PT09PT0qL1xuLnBhY2thZ2UtaXRlbS00IHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgLnBhY2thZ2UtdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogOTBweDtcbiAgICAucGFja2FnZV9fcHJpY2Uge1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQ6ICM1YzQ4ZTA7XG4gICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsICAjNWM0OGUwIDAlLCAjOWM0MGU4IDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAgIzVjNDhlMCAwJSwjOWM0MGU4IDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgICM1YzQ4ZTAgMCUsIzljNDBlOCAxMDAlKTtcbiAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAucGFja2FnZV9fdGl0bGUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgfVxuICAgIC5wYWNrYWdlX19tb250aCB7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjNWM0OGUwO1xuICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAgIzVjNDhlMCAwJSwgIzljNDBlOCAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywgICM1YzQ4ZTAgMCUsIzljNDBlOCAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICAjNWM0OGUwIDAlLCM5YzQwZTggMTAwJSk7XG4gICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICB9XG4gIH1cbiAgLnBhY2thZ2UtbGlzdCB7XG4gICAgbGkge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAmLnRleHQtZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjUpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBhY2thZ2UtcHJpY2Uge1xuICAgIC50aGVtZS1idG4ge1xuICAgICAgYmFja2dyb3VuZDogIzVjNDhlMDtcbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgICM1YzQ4ZTAgMCUsICM5YzQwZTggMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsICAjNWM0OGUwIDAlLCM5YzQwZTggMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAgIzVjNDhlMCAwJSwjOWM0MGU4IDEwMCUpO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIH1cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDUwMHB4O1xuICAgIGhlaWdodDogMzQwcHg7XG4gICAgdG9wOiAtMTAwcHg7XG4gICAgbGVmdDogLTU1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTY7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICBsZWZ0OiAtODRweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgbGVmdDogLTQ1cHg7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfZm91cn0ge1xuICAgICAgbGVmdDogLTcwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgIGxlZnQ6IC0xMDBweDtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9mb3VyfSB7XG4gICAgICBsZWZ0OiAtMTI1cHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfdGhyZWV9IHtcbiAgICAgIGxlZnQ6IC0xNTVweDtcbiAgICB9XG4gIH1cbn1cbi8qPT09PT09PT09IHBhY2thZ2UtaXRlbS1hY3RpdmUtNCA9PT09PT09PT0qL1xuLnBhY2thZ2UtaXRlbS1hY3RpdmUtNCB7XG4gIHBhZGRpbmctdG9wOiA0MnB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4xKSk7XG4gIHotaW5kZXg6IDM7XG4gIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgfVxuICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgfVxuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgfVxuICAucGFja2FnZS10aXRsZSB7XG4gICAgLnBhY2thZ2VfX3ByaWNlLFxuICAgIC5wYWNrYWdlX19tb250aCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZGRkZGRkO1xuICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAgI2RkZGRkZCAwJSwgI2ZmZmZmZiAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywgICNkZGRkZGQgMCUsI2ZmZmZmZiAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICAjZGRkZGRkIDAlLCNmZmZmZmYgMTAwJSk7XG4gICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgLnBhY2thZ2VfX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM1YzQ4ZTA7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAgIzVjNDhlMCAwJSwgIzljNDBlOCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsICAjNWM0OGUwIDAlLCM5YzQwZTggMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgICM1YzQ4ZTAgMCUsIzljNDBlOCAxMDAlKTtcbiAgfVxufVxuXG5cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFBBQ0tBR0UgQVJFQSA1XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4ucGFja2FnZS1hcmVhNSB7XG4gIC5wYWNrYWdlLWNvbnRlbnQtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuXG4vKj09PT09PT09PSBwYWNrYWdlLXRhYi1jb250ZW50ID09PT09PT09PSovXG4ucGFja2FnZS10YWItY29udGVudCB7XG4gIC5uYXYtdGFicy1hY3Rpb24ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDI0MnB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDMwcHggYXV0bztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQ6ICNmNTU5NzQ7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoNDVkZWcsICAjZjU1OTc0IDAlLCAjZjhjNjUyIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAgI2Y1NTk3NCAwJSwjZjhjNjUyIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgICNmNTU5NzQgMCUsI2Y4YzY1MiAxMDAlKTtcbiAgfVxuICAubmF2LXRhYnMge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW46IDFweDtcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMDtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y1NTk3NDtcbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoNDVkZWcsICAjZjU1OTc0IDAlLCAjZjhjNjUyIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgICNmNTU5NzQgMCUsI2Y4YzY1MiAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAgI2Y1NTk3NCAwJSwjZjhjNjUyIDEwMCUpO1xuICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2Y1NTk3NDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCg0NWRlZywgICNmNTU5NzQgMCUsICNmOGM2NTIgMTAwJSk7XG4gICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsICAjZjU1OTc0IDAlLCNmOGM2NTIgMTAwJSk7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAgI2Y1NTk3NCAwJSwjZjhjNjUyIDEwMCUpO1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgICNlZmVmZWYgMCUsICNmZmZmZmYgMTAwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsICAjZWZlZmVmIDAlLCNmZmZmZmYgMTAwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAgI2VmZWZlZiAwJSwjZmZmZmZmIDEwMCUpO1xuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50YWItcGFuZTIge1xuICAgIC5wYWNrYWdlLWl0ZW0ge1xuICAgICAgLnBhY2thZ2UtdGl0bGUge1xuICAgICAgICAucGFja2FnZV9fc3ZnIHtcbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgZmlsbDogdXJsKCNteS1jb29sLWdyYWRpZW50MikgJGFsdGVyLWNvbG9yLTY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qPT09PT09PT09IHBhY2thZ2UtaXRlbS01ID09PT09PT09PSovXG4ucGFja2FnZS1pdGVtLTUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIC5wYWNrYWdlLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDQycHggMzBweCAzMHB4IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjVweDtcbiAgICAucGFja2FnZV9fcHJpY2UsXG4gICAgLnBhY2thZ2VfX3RpdGxle1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgLnBhY2thZ2VfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICAgIC5wYWNrYWdlX19wcmljZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgc21hbGwge1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTExO1xuICAgICAgfVxuICAgIH1cbiAgICAucGFja2FnZV9fc3VidGV4dCB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAucGFja2FnZV9fc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNDMwcHg7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZpbGw6IHVybCgjbXktY29vbC1ncmFkaWVudCkgI2Y1NTk3NDtcbiAgICAgICAgc3Ryb2tlOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wYWNrYWdlLWxpc3Qge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGxpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgIH1cbiAgfVxuICAucGFja2FnZS1wcmljZSB7XG4gICAgcGFkZGluZzogMCAzMHB4IDMwcHggMzBweDtcbiAgICAudGhlbWUtYnRuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgYmFja2dyb3VuZDogI2Y1NTk3NDtcbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAgI2Y1NTk3NCAwJSwgI2Y4YzY1MiAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAgI2Y1NTk3NCAwJSwjZjhjNjUyIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAgI2Y1NTk3NCAwJSwjZjhjNjUyIDEwMCUpO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgLnBhY2thZ2VfX21ldGEge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICB9XG4gIH1cbn1cbi8qPT09PT09PT09IHBhY2thZ2UtaXRlbS1hY3RpdmUtNSA9PT09PT09PT0qL1xuLnBhY2thZ2UtaXRlbS1hY3RpdmUtNSB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgUEFDS0FHRSBBUkVBIDZcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5wYWNrYWdlLWFyZWE2IHtcbiAgLnBhY2thZ2UtY29udGVudC13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICAgIC5wYWNrYWdlLWl0ZW0ge1xuICAgICAgLnBhY2thZ2UtdGl0bGUge1xuICAgICAgICAucGFja2FnZV9fcHJpY2UsXG4gICAgICAgIC5wYWNrYWdlX19tb250aCB7XG4gICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucGFja2FnZS1wcmljZSB7XG4gICAgICAgIC50aGVtZS1idG4ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRoZW1lLWNvbG9yLTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wYWNrYWdlLWl0ZW0yIHtcbiAgICAgIC5wYWNrYWdlLXRpdGxlIHtcbiAgICAgICAgLnBhY2thZ2VfX3ByaWNlLFxuICAgICAgICAucGFja2FnZV9fbW9udGgge1xuICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBQQUNLQUdFIEFSRUEgN1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnBhY2thZ2UtYXJlYTcge1xuICAucGFja2FnZS1jb250ZW50LXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG4iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgSUNPTiBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uaWNvbi1hcmVhIHtcbiAgLmljb24td3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuXG4vKi09PT09PT09PT09IGljb24taXRlbSA9PT09PT09PT09LSovXG4uaWNvbi1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiA3MHB4O1xuICBsaW5lLWhlaWdodDogNzNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgNjEsIDk4LCAwLjEpO1xuICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICBmb250LXNpemU6ICRkaXNwbGF5LTk7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgaWNvbi1ob3Zlci1zdHlsZS0yXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uaWNvbi1ob3Zlci1zdHlsZS0yIHtcbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgei1pbmRleDogLTE7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgJjphZnRlciB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBpY29uLWhvdmVyLXN0eWxlLTNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5pY29uLWhvdmVyLXN0eWxlLTMge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjIpKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgaWNvbi1ob3Zlci1zdHlsZS00XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uaWNvbi1ob3Zlci1zdHlsZS00IHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICBzcGFuIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNHMpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlWigzNjBkZWcpKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBpY29uLWhvdmVyLXN0eWxlLTVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5pY29uLWhvdmVyLXN0eWxlLTUge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDEycHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDMwcHggcmdiYSgwLDAsMCwwLjEpKTtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgbGluZS1oZWlnaHQ6IDgzcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC5mYSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgfVxuICAuZmEtZmFjZWJvb2sge1xuICAgIGNvbG9yOiAjM2I1OTk4O1xuICB9XG4gIC5mYS10d2l0dGVyIHtcbiAgICBjb2xvcjogIzNjZjtcbiAgfVxuICAuZmEtaW5zdGFncmFtIHtcbiAgICBjb2xvcjogI2RjNGEzODtcbiAgfVxuICAuZmEtbGlua2VkaW4ge1xuICAgIGNvbG9yOiAjMDBhZmYwO1xuICB9XG4gIC5mYS1kcmliYmJsZSB7XG4gICAgY29sb3I6ICNmMjY3OTg7XG4gIH1cbiAgLmZhLXBpbnRlcmVzdCB7XG4gICAgY29sb3I6ICNFNjAwMTk7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvdHRvbTogLTE0NXB4O1xuICAgIGxlZnQ6IC0xNDVweDtcbiAgICB3aWR0aDogMTcwcHg7XG4gICAgaGVpZ2h0OiAxNzBweDtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNiNTk5ODtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNXMpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTJweCk7XG4gICAgLmZhLWZhY2Vib29rLFxuICAgIC5mYS10d2l0dGVyLFxuICAgIC5mYS1pbnN0YWdyYW0sXG4gICAgLmZhLWxpbmtlZGluLFxuICAgIC5mYS1kcmliYmJsZSxcbiAgICAuZmEtcGludGVyZXN0IHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAtNDVweDtcbiAgICAgIGxlZnQ6IC00NXB4O1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgaWNvbi1ob3Zlci1zdHlsZS02XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uaWNvbi1ob3Zlci1zdHlsZS02IHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDMwcHggcmdiYSgwLDAsMCwwLjEpKTtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgbGluZS1oZWlnaHQ6IDgzcHg7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oMCk7XG4gICY6aG92ZXIge1xuICAgIGFuaW1hdGlvbjogYm91bmNlIDFzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0zO1xuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgaWNvbi1ob3Zlci1zdHlsZS03XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uaWNvbi1ob3Zlci1zdHlsZS03IHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDgsIDkyLCAyMzEsIDAuMSk7XG4gICAgei1pbmRleDogLTE7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0zO1xuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGljb24taG92ZXItc3R5bGUtOFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmljb24taG92ZXItc3R5bGUtOCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHdoaXRlO1xuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigyMCUgMCUsIDAgMCwgMCA1MCUsIDAgMTAwJSwgMjAlIDEwMCUsIDQ5JSAxMDAlLCA4MCUgMTAwJSwgMTAwJSAxMDAlLCAxMDAlIDUxJSwgMTAwJSAwLCA4MCUgMCUsIDQ5JSAwKTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMjAlIDAlLCAwIDAsIDAgNTAlLCAwIDEwMCUsIDIwJSAxMDAlLCA0OSUgMTAwJSwgODAlIDEwMCUsIDEwMCUgMTAwJSwgMTAwJSA1MSUsIDEwMCUgMCwgODAlIDAlLCA0OSUgMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICY6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMjAlIDAlLCAwJSAyMCUsIDMwJSA1MCUsIDAlIDgwJSwgMjAlIDEwMCUsIDUwJSA3MCUsIDgwJSAxMDAlLCAxMDAlIDgwJSwgNzAlIDUwJSwgMTAwJSAyMCUsIDgwJSAwJSwgNTAlIDMwJSk7XG4gICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMjAlIDAlLCAwJSAyMCUsIDMwJSA1MCUsIDAlIDgwJSwgMjAlIDEwMCUsIDUwJSA3MCUsIDgwJSAxMDAlLCAxMDAlIDgwJSwgNzAlIDUwJSwgMTAwJSAyMCUsIDgwJSAwJSwgNTAlIDMwJSk7XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBpY29uLWhvdmVyLXN0eWxlLTlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5pY29uLWhvdmVyLXN0eWxlLTkge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAzMCUsIDEwMCUgNzAlLCAxMDAlIDEwMCUsIDAgMTAwJSwgMCUgNzAlLCAwJSAzMCUpO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAzMCUsIDEwMCUgNzAlLCAxMDAlIDEwMCUsIDAgMTAwJSwgMCUgNzAlLCAwJSAzMCUpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDMwJSAwJSwgNzAlIDAlLCAxMDAlIDMwJSwgMTAwJSA3MCUsIDcwJSAxMDAlLCAzMCUgMTAwJSwgMCUgNzAlLCAwJSAzMCUpO1xuICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDMwJSAwJSwgNzAlIDAlLCAxMDAlIDMwJSwgMTAwJSA3MCUsIDcwJSAxMDAlLCAzMCUgMTAwJSwgMCUgNzAlLCAwJSAzMCUpO1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgaWNvbi1ob3Zlci1zdHlsZS0xMFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmljb24taG92ZXItc3R5bGUtMTB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHdoaXRlO1xuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci0zO1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDEwMCUgMCwgMTAwJSAxMDAlLCA0NiUgMTAwJSwgMCAxMDAlLCAwIDAsIDQ5JSAwKTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMTAwJSAwLCAxMDAlIDEwMCUsIDQ2JSAxMDAlLCAwIDEwMCUsIDAgMCwgNDklIDApO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDEwMCUgMzQlLCAxMDAlIDEwMCUsIDUxJSA4MCUsIDAgMTAwJSwgMCAzNSUsIDQ5JSAwKTtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigxMDAlIDM0JSwgMTAwJSAxMDAlLCA1MSUgODAlLCAwIDEwMCUsIDAgMzUlLCA0OSUgMCk7XG4gICAgfVxuICB9XG59IiwiXG4vKi09PT09PT09PT09RkxJUCBBUkVBID09PT09PT09PS0qL1xuLmZsaXAtYm94LWl0ZW0ge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7XG4gIC1tb3otcGVyc3BlY3RpdmU6IDEwMDBweDtcbiAgLW8tcGVyc3BlY3RpdmU6IDEwMDBweDtcbiAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgLmluZm8tYm94LWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDAgMCk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC5pY29uLWl0ZW0ge1xuICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNzNweDtcbiAgICB9XG4gIH1cbiAgLmZyb250LFxuICAuYmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigxcyBjdWJpYy1iZXppZXIoLjUsMS4zLC41LDEuMykpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjA1KSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICB9XG4gIC5mcm9udCB7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgLmJhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGVZKC0xODBkZWcpKTtcbiAgICAuaW5mby1ib3gtaXRlbSB7XG4gICAgICAuaW5mby1ib2R5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgLmluZm9fX3RpdGxlIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIC5pbmZvX190ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgICAgIH1cbiAgICAgICAgLnRoZW1lLWJ0biB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIC5iYWNrIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGVZKDBkZWcpKTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICAgIC5mcm9udCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlWSgxODBkZWcpKTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PSBmbGlwLWJveC1pdGVtIDIgPT09PT09PT09PS0qL1xuLmZsaXAtYm94LWl0ZW0tMiB7XG4gIC5pbmZvLWJveC1pdGVtIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWig0MHB4KSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBAbWVkaWEgI3skZGV2aWNlLTk5Mn0ge1xuICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgcGFkZGluZy10b3A6IDEyMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgfVxuICAgIC5pbmZvLWJvZHkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIC5pbmZvX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE1O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmluZm9fX3RleHQge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZnJvbnQsXG4gIC5iYWNrIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgLW1vei10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgIC1vLXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgNjEsIDk4LCAwLjgpO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgIH1cbiAgfVxuICAuYmFjayB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZVgoLTE4MGRlZykpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIC5iYWNrIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGVYKDBkZWcpKTtcbiAgICB9XG4gICAgLmZyb250IHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGVYKDE4MGRlZykpO1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09IGZsaXAtYm94LWl0ZW0gMz09PT09PT09PT09PS0qL1xuLmZsaXAtYm94LWl0ZW0tMyB7XG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHggNHB4IDMwcHggMzBweCk7XG4gIH1cbiAgLmluZm8tYm94LWl0ZW0ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLmF1dGhvcl9fcHJvZmlsZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTQ7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZnJvbnQge1xuICAgIC5pbmZvLWJveC1pdGVtIHtcbiAgICAgLmluZm8tYm9keSB7XG4gICAgICAgcGFkZGluZzogMjVweCAyMHB4IDIwcHggMjBweDtcbiAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgIC5pbmZvX190aXRsZSB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgIH1cbiAgICAgICAuaW5mb19fdGV4dCB7XG4gICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICB9XG4gICAgIH1cbiAgICB9XG4gIH1cbiAgLmJhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAuaW5mby1ib3gtaXRlbSB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDMwcHg7XG4gICAgICBAbWVkaWEgI3skZGV2aWNlLTk5Mn0ge1xuICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT0gZmxpcC1ib3gtaXRlbSA0ID09PT09PT09PS0qL1xuLmZsaXAtYm94LWl0ZW0tNCB7XG4gIC5mcm9udCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCBjaXJjbGUgZmFydGhlc3QtY29ybmVyIGF0IDEyLjMlIDE5LjMlLCAgcmdiYSg4NSw4OCwyMTgsMSkgMCUsIHJnYmEoOTUsMjA5LDI0OSwxKSAxMDAuMiUgKTtcbiAgfVxuICAuZnJvbnQge1xuICAgIC5pbmZvLWJveC1pdGVtIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICAgIC5pbmZvLWJvZHkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAuaW5mb19fdGl0bGUsXG4gICAgICAgIC5pbmZvX190ZXh0IHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5iYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoIGNpcmNsZSBmYXJ0aGVzdC1jb3JuZXIgYXQgMTIuMyUgMTkuMyUsICByZ2JhKDg1LDg4LDIxOCwxKSAwJSwgcmdiYSg5NSwyMDksMjQ5LDEpIDEwMC4yJSApO1xuICAgIC5pbmZvLWJveC1pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRkZXZpY2UtOTkyfSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgICB9XG4gICAgICAuaW5mby1ib2R5IHtcbiAgICAgICAgLnRoZW1lLWJ0biB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoIGNpcmNsZSBmYXJ0aGVzdC1jb3JuZXIgYXQgMTIuMyUgMTkuMyUsICByZ2JhKDg1LDg4LDIxOCwxKSAwJSwgcmdiYSg5NSwyMDksMjQ5LDEpIDEwMC4yJSApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEFMRVJUIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5hbGVydC1hcmVhIHtcbiAgLmFsZXJ0LWJveGVzIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG4vKi09PT09PT09PT09IGFsZXJ0LWJveC1pdGVtID09PT09PT09PT09PS0qL1xuLmFsZXJ0LWJveC1pdGVtIHtcbiAgLmFsZXJ0IHtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gICAgLmFsZXJ0LWxpbmsge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgICAubGEge1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNTtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cbiAgICAuY2xvc2Uge1xuICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT0gYWxlcnQtYm94LWl0ZW0gMiA9PT09PT09PT09PT0tKi9cbi5hbGVydC1ib3gtaXRlbS0yIHtcbiAgLmFsZXJ0LXRpdGxlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAuYWxlcnRfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIH1cbiAgfVxuICAuYWxlcnQge1xuICAgIC5hbGVydC1oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gICAgLmFsZXJ0LXRleHQge1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxuICB9XG59XG4iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQ09VTlRET1dOXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uY291bnRkb3duIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDQ1cHg7XG4gIC5jb3VudGRvd24taXRlbSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuICAgIC5jb3VudGRvd24tdGltZSB7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTU7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgfVxuICAgIC5jb3VudGRvd24tdGV4dCB7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE1O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBDT1VOVERPV04gMlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmNvdW50ZG93bi0yIHtcbiAgLmNvdW50ZG93bi1pdGVtIHtcbiAgICAuZGF5cyxcbiAgICAuZGF5cy10ZXh0IHtcbiAgICAgIGNvbG9yOiAkYWx0ZXItY29sb3ItNTtcbiAgICB9XG4gICAgLmhvdXJzLFxuICAgIC5ob3Vycy10ZXh0IHtcbiAgICAgIGNvbG9yOiAkYWx0ZXItY29sb3ItNjtcbiAgICB9XG4gICAgLm1pbnV0ZXMsXG4gICAgLm1pbnV0ZXMtdGV4dCB7XG4gICAgICBjb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgfVxuICAgIC5zZWNvbmRzLFxuICAgIC5zZWNvbmRzLXRleHQge1xuICAgICAgY29sb3I6ICRhbHRlci1jb2xvci04O1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQ09VTlRET1dOIDNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5jb3VudGRvd24tMyB7XG4gIC5jb3VudGRvd24taXRlbSB7XG4gICAgLmRheXMsXG4gICAgLmRheXMtdGV4dCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTdhMmI4O1xuICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoNDVkZWcsICAjMTdhMmI4IDAlLCAjNWM0OGUwIDUwJSwgIzhmNDJlYyAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAgIzE3YTJiOCAwJSwjNWM0OGUwIDUwJSwjOGY0MmVjIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAgIzE3YTJiOCAwJSwjNWM0OGUwIDUwJSwjOGY0MmVjIDEwMCUpO1xuICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIC5ob3VycyxcbiAgICAuaG91cnMtdGV4dCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNWM0OGUwO1xuICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoNDVkZWcsICAjNWM0OGUwIDAlLCAjNGJlNmI4IDUwJSwgI2Y3OGMwMSAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAgIzVjNDhlMCAwJSwjNGJlNmI4IDUwJSwjZjc4YzAxIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAgIzVjNDhlMCAwJSwjNGJlNmI4IDUwJSwjZjc4YzAxIDEwMCUpO1xuICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIC5taW51dGVzLFxuICAgIC5taW51dGVzLXRleHQge1xuICAgICAgYmFja2dyb3VuZDogI2M1MDBlZTtcbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAgI2M1MDBlZSAwJSwgI2Y2NzAwMCA1MSUsICNmNTVhMTcgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgICNjNTAwZWUgMCUsI2Y2NzAwMCA1MSUsI2Y1NWExNyAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgICNjNTAwZWUgMCUsI2Y2NzAwMCA1MSUsI2Y1NWExNyAxMDAlKTtcbiAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAuc2Vjb25kcyxcbiAgICAuc2Vjb25kcy10ZXh0IHtcbiAgICAgIGJhY2tncm91bmQ6ICNjNTAwZWU7XG4gICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCg0NWRlZywgICNjNTAwZWUgMCUsICNmOGM2NTIgNTAlLCAjZjU1OTc0IDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsICAjYzUwMGVlIDAlLCNmOGM2NTIgNTAlLCNmNTU5NzQgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICAjYzUwMGVlIDAlLCNmOGM2NTIgNTAlLCNmNTU5NzQgMTAwJSk7XG4gICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBDT1VOVERPV04gNFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmNvdW50ZG93bi00IHtcbiAgLmNvdW50ZG93bi1pdGVtIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIHBhZGRpbmctdG9wOiA4NXB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIENPVU5URE9XTiA1XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uY291bnRkb3duLTUge1xuICAuY291bnRkb3duLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMDUpKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgcGFkZGluZy10b3A6IDg1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBDT1VOVERPV04gNlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmNvdW50ZG93bi02IHtcbiAgLmNvdW50ZG93bi1pdGVtIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCA4OWRlZywgIHJnYmEoMjEsNzQsMTg5LDEpIDAuMSUsIHJnYmEoMjYsMTM4LDIxMSwxKSA1MS41JSwgcmdiYSg3MiwxNzcsMjM0LDEpIDEwMC4yJSApO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIHBhZGRpbmctdG9wOiA4NXB4O1xuICAgIG1hcmdpbjogMCAxNXB4IDMwcHggMTVweDtcbiAgICAuY291bnRkb3duLXRpbWUsXG4gICAgLmNvdW50ZG93bi10ZXh0IHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBDT1VOVERPV04gN1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmNvdW50ZG93bi03IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTY7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAyNXB4IDMwcHg7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIEBtZWRpYSAjeyRsYXB0b3BfbV9mb3VyfSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICB9XG4gIC5jb3VudGRvd24taGVhZGluZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIEBtZWRpYSAjeyRsYXB0b3BfbV9mb3VyfSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgLmNvdW50ZG93bl9fdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgfVxuICB9XG4gIC5jb3VudGRvd24taXRlbSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBAbWVkaWEgI3skbGFwdG9wX21fZm91cn0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIH1cbiAgICAuY291bnRkb3duLXRpbWUge1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS03O1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCg1KSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICAuY291bnRkb3duLWJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgICAudGhlbWUtYnRuIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB9XG4gIH1cbn0iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgU09DSUFMIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5zb2NpYWwtYXJlYSB7XG4gIC5zb2NpYWwtaWNvbi1ib3gge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbn1cbi8qLT09PT09PT09PT0gc29jaWFsLWljb25zID09PT09PT09PT0tKi9cbi5zb2NpYWwtaWNvbnMge1xuICAuc29jaWFsLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMTBweCAxMHB4IDEwcHg7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgU09DSUFMIEFSRUEgMlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnNvY2lhbC1pY29ucy0yLFxuLnNvY2lhbC1pY29ucy0zLFxuLnNvY2lhbC1pY29ucy00LFxuLnNvY2lhbC1pY29ucy01LFxuLnNvY2lhbC1pY29ucy02LFxuLnNvY2lhbC1pY29ucy03LFxuLnNvY2lhbC1pY29ucy0xMSB7XG4gIC5zb2NpYWwtaWNvbiB7XG4gICAgbWFyZ2luOiAwIDVweCAxNXB4IDVweDtcbiAgICBhIHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkdGhlbWUtY29sb3I7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFNPQ0lBTCBBUkVBIDNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5zb2NpYWwtaWNvbnMtMyxcbi5zb2NpYWwtaWNvbnMtNSxcbi5zb2NpYWwtaWNvbnMtNyxcbi5zb2NpYWwtaWNvbnMtMTEge1xuICAuc29jaWFsLWljb24ge1xuICAgIGEge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFNPQ0lBTCBBUkVBIDRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5zb2NpYWwtaWNvbnMtNCxcbi5zb2NpYWwtaWNvbnMtNXtcbiAgLnNvY2lhbC1pY29uIHtcbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDYxLCA5OCwgMC4xKTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBTT0NJQUwgQVJFQSA2XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uc29jaWFsLWljb25zLTYsXG4uc29jaWFsLWljb25zLTcge1xuICAuc29jaWFsLWljb24ge1xuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICYuZmFjZWJvb2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I1OTk4O1xuICAgICAgfVxuICAgICAgJi50d2l0dGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU1YWNlZTtcbiAgICAgIH1cbiAgICAgICYuc2t5cGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhZmYwO1xuICAgICAgfVxuICAgICAgJi5nb29nbGUtcGx1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZDA4MWM7XG4gICAgICB9XG4gICAgICAmLnR1bWJsciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNTQ2NWM7XG4gICAgICB9XG4gICAgICAmLnJzcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMjY1MjI7XG4gICAgICB9XG4gICAgICAmLmJlaGFuY2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2M2RjO1xuICAgICAgfVxuICAgICAgJi55b3V0dWJlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NkMjAxZjtcbiAgICAgIH1cbiAgICAgICYudmltZW8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWFiN2VhO1xuICAgICAgfVxuICAgICAgJi5lbnZpcmEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWI5YTY4O1xuICAgICAgfVxuICAgICAgJi55YWhvbyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MTAwOTM7XG4gICAgICB9XG4gICAgICAmLnNwb3RpZnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmViZDU5O1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC0zcHgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBTT0NJQUwgQVJFQSA4XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uc29jaWFsLWljb25zLTgsXG4uc29jaWFsLWljb25zLTksXG4uc29jaWFsLWljb25zLTEwIHtcbiAgLnNvY2lhbC1pY29uIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQ7XG4gICAgICBpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgU09DSUFMIEFSRUEgMTBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5zb2NpYWwtaWNvbnMtOSB7XG4gIC5zb2NpYWwtaWNvbiB7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgJi5mYWNlYm9vayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzQjU5OTg7XG4gICAgICB9XG4gICAgICAmLnR3aXR0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTVBQ0VFO1xuICAgICAgfVxuICAgICAgJi5pbnN0YWdyYW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTEzMDZDO1xuICAgICAgfVxuICAgICAgJi5za3lwZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFmZjA7XG4gICAgICB9XG4gICAgICAmLmdvb2dsZS1wbHVzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JkMDgxYztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBTT0NJQUwgQVJFQSAxMlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnNvY2lhbC1pY29ucy0xMCxcbi5zb2NpYWwtaWNvbnMtMTF7XG4gIC5zb2NpYWwtaWNvbiB7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZDogIzJlN2NlNDtcbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgICMyZTdjZTQgMCUsICM3ZGI5ZTggMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsICAjMmU3Y2U0IDAlLCM3ZGI5ZTggMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAgIzJlN2NlNCAwJSwjN2RiOWU4IDEwMCUpO1xuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFNPQ0lBTCBBUkVBIDEzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uc29jaWFsLWljb25zLTExIHtcbiAgLnNvY2lhbC1pY29uIHtcbiAgICBhIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gIH1cbn0iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgR09PR0xFXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uZ29vZ2xlLW1hcCB7XG4gIC5tYXAtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAubWFwX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTM7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG4gIGlmcmFtZSxcbiAgI21hcHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ1MHB4O1xuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBHT09HTEVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5nb29nbGUtbWFwMiB7XG4gIC5tYXAtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cblxuXG5cbiIsIi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBDSEFSVCBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uY2hhcnQtYm94IHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMDcpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgcGFkZGluZzogMzBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLmNoYXJ0LXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRkaXNwbGF5LTEyO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cblxuLyo9PT09PSBjaGFydC1sZWdlbmQgPT09PT09Ki9cbi5jaGFydC1sZWdlbmQge1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgdWwge1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyOHB4O1xuICAgICAgLmxlZ2VuZF9faXRlbSB7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMjJweDtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICB9XG4gICAgICAubGVnZW5kX190d28ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBDSEFSVCBBUkVBIDJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5jaGFydC1sZWdlbmQtMiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdWwge1xuICAgIGxpIHtcbiAgICAgIC5sZWdlbmRfX3R3byB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci02O1xuICAgICAgfVxuICAgICAgLmxlZ2VuZF9fdGhyZWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItNztcbiAgICAgIH1cbiAgICAgIC5sZWdlbmRfX2ZvdXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZiNTkwO1xuICAgICAgfVxuICAgICAgLmxlZ2VuZF9fZml2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNWI1M2U7XG4gICAgICB9XG4gICAgICAubGVnZW5kX19zaXgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc3ZGZmO1xuICAgICAgfVxuICAgICAgLmxlZ2VuZF9fc2V2ZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZjAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIENIQVJUIEFSRUEgM1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmNoYXJ0LWxlZ2VuZC0zIHtcbiAgdWwge1xuICAgIGxpIHtcbiAgICAgIC5sZWdlbmRfX29uZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNmI1OTA7XG4gICAgICB9XG4gICAgICAubGVnZW5kX190d28ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBDSEFSVCBBUkVBIDRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5jaGFydC1sZWdlbmQtNCB7XG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICAubGVnZW5kX19vbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmE4MmZiO1xuICAgICAgfVxuICAgICAgLmxlZ2VuZF9fdHdvIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZjY2RkOTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBDSEFSVCBBUkVBIDVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5jaGFydC1sZWdlbmQtNSB7XG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICAubGVnZW5kX19vbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3I7XG4gICAgICB9XG4gICAgICAubGVnZW5kX190d28ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItMjtcbiAgICAgIH1cbiAgICAgIC5sZWdlbmRfX3RocmVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTM7XG4gICAgICB9XG4gICAgICAubGVnZW5kX19mb3VyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTQ7XG4gICAgICB9XG4gICAgICAubGVnZW5kX19maXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTU7XG4gICAgICB9XG4gICAgICAubGVnZW5kX19zaXgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItNjtcbiAgICAgIH1cbiAgICAgIC5sZWdlbmRfX3NldmVuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgICB9XG4gICAgICAubGVnZW5kX19laWdodCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgfVxuICAgICAgLmxlZ2VuZF9fbmluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIENIQVJUIEFSRUEgNlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmNoYXJ0LWxlZ2VuZC02IHtcbiAgdWwge1xuICAgIGxpIHtcbiAgICAgIC5sZWdlbmRfX29uZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvcjtcbiAgICAgIH1cbiAgICAgIC5sZWdlbmRfX3R3byB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci0yO1xuICAgICAgfVxuICAgICAgLmxlZ2VuZF9fdGhyZWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItMztcbiAgICAgIH1cbiAgICAgIC5sZWdlbmRfX2ZvdXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItNDtcbiAgICAgIH1cbiAgICAgIC5sZWdlbmRfX2ZpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIENIQVJUXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4jcmFkYXItY2hhcnQsXG4jcG9sYXItY2hhcnQge1xuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX29uZX0ge1xuICAgIHdpZHRoOiA0MDBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gIH1cbiAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9mb3VyfSB7XG4gICAgbWFyZ2luLWxlZnQ6IC01NXB4O1xuICB9XG4gIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfdGhyZWV9IHtcbiAgICBtYXJnaW4tbGVmdDogLTgwcHg7XG4gIH1cbn0iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQlVMTEVUIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5idWxsZXQtYXJlYSB7XG4gIC5idWxsZXQtY29udGVudC13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5cbi8qPT09PT09PT09PSBidWxsZXQtaXRlbSA9PT09PT09PT09Ki9cbi5idWxsZXQtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjI7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEJVTExFVCBBUkVBIDJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5idWxsZXQtaXRlbS0yIHtcbiAgdWwge1xuICAgIGxpIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBCVUxMRVQgQVJFQSAzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uYnVsbGV0LWl0ZW0tMyB7XG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQlVMTEVUIEFSRUEgNFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmJ1bGxldC1pdGVtLTQge1xuICB1bCB7XG4gICAgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzOHB4O1xuICAgICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTM7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQUNDT1JESU9OIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5hY2NvcmRpb24tYXJlYSB7XG4gIC5hY2NvcmRpb24td3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuLyotPT09PT09PT09PT0gQUNDT1JESU9OID09PT09PT09PT0tKi9cbi5hY2NvcmRpb24ge1xuICAuY2FyZCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIC5idG4tbGluayB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yMjtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDY3XCI7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkxpbmUgQXdlc29tZSBGcmVlXCI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE1O1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5idG4tbGlua1thcmlhLWV4cGFuZGVkPXRydWVdIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHggNHB4IDAgMCk7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjA2OFwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkLWJvZHkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yMjtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICBwYWRkaW5nOiAxOHB4IDIwcHg7XG4gICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PSBBQ0NPUkRJT04gMiA9PT09PT09PT09LSovXG4uYWNjb3JkaW9uLTIge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgLmJ0bi1saW5rIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDYnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYnRuLWxpbmtbYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjEwN1wiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PSBBQ0NPUkRJT04gMyA9PT09PT09PT09LSovXG4uYWNjb3JkaW9uLTMge1xuICAuY2FyZCB7XG4gICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgIC5idG4tbGluayB7XG4gICAgICAgIC5sYSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5idG4tbGlua1thcmlhLWV4cGFuZGVkPXRydWVdIHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcXGYwZDhcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT0gQUNDT1JESU9OIDQgPT09PT09PT09PS0qL1xuLmFjY29yZGlvbi00IHtcbiAgLmNhcmQge1xuICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAuYnRuLWxpbmsge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmJ0bi1saW5rW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xuICAgICAgICBib3JkZXItYm90dG9tOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcmQtYm9keSB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT0gQUNDT1JESU9OIDUgPT09PT09PT09PS0qL1xuLmFjY29yZGlvbi01IHtcbiAgLmNhcmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCAhaW1wb3J0YW50KTtcbiAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgLmJ0bi1saW5rIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAubGEge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkLWJvZHkge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT0gQUNDT1JESU9OIDYgPT09PT09PT09PS0qL1xuLmFjY29yZGlvbi02IHtcbiAgLmNhcmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci02O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4ICFpbXBvcnRhbnQpO1xuICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAuYnRuLWxpbmsge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAubGEge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkLWJvZHkge1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PSBBQ0NPUkRJT04gNyA9PT09PT09PT09LSovXG4uYWNjb3JkaW9uLTcge1xuICAuY2FyZCB7XG4gICAgYmFja2dyb3VuZDogIzhmNDJlYztcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsICAjOGY0MmVjIDAlLCAjMTdhMmI4IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywgICM4ZjQyZWMgMCUsIzE3YTJiOCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAgIzhmNDJlYyAwJSwjMTdhMmI4IDEwMCUpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4ICFpbXBvcnRhbnQpO1xuICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAuYnRuLWxpbmsge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAubGEge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkLWJvZHkge1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PSBGQVEgPT09PT09PT09PS0qL1xuLmZhcS1hcmVhIHtcbiAgLmFjY29yZGlvbi13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiA1NnB4O1xuICAgIG1hcmdpbi1yaWdodDogNjBweDtcbiAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgLmZhcS1pbWcge1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuIiwiLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFRBQiBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4udGFiLWFyZWEge1xuICAudGFiLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbn1cbi8qLT09PT09PT09PT09IHRhYi1sYXlvdXQgPT09PT09PT09PS0qL1xuLnRhYi1sYXlvdXQge1xuICAudGFiLWxpc3Qge1xuICAgIC5uYXYtdGFicyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4gICAgICBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAxNHB4IDE3cHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgLmxhIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIGJvdHRvbTogLTJweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50YWItY29udGVudCB7XG4gICAgLnRhYi1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTdweCAxNXB4IDA7XG4gICAgICAudGFiX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE0O1xuICAgICAgfVxuICAgICAgLnRhYl9fdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT0gdGFiLWxheW91dC0yID09PT09PT09PT0tKi9cbi50YWItbGF5b3V0LTIge1xuICAudGFiLWxpc3Qge1xuICAgIC5uYXYtdGFicyB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50YWItY29udGVudCB7XG4gICAgLnRhYi1pdGVtIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgLnRhYl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgfVxuICAgICAgLnRhYl9fdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PSB0YWItbGF5b3V0LTMgPT09PT09PT09PS0qL1xuLnRhYi1sYXlvdXQtMyB7XG4gIC50YWItbGlzdCB7XG4gICAgLm5hdi10YWJzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRhYi1jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAudGFiLWl0ZW0ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAudGFiX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDExcHg7XG4gICAgICB9XG4gICAgICAudGFiX190ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09IHRhYi1sYXlvdXQtNCA9PT09PT09PT09LSovXG4udGFiLWxheW91dC00IHtcbiAgLnRhYi1saXN0IHtcbiAgICAubmF2LXRhYnMge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAudGFiLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIC50YWItaXRlbSB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgIH1cbiAgICAgIC50YWItaXRlbS1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgLnRhYl9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnRhYl9fdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PSB0YWItbGF5b3V0LTUgPT09PT09PT09PS0qL1xuLnRhYi1sYXlvdXQtNSB7XG4gIC50YWItbGlzdCB7XG4gICAgLm5hdi10YWJzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDYxLCA5OCwgMC4xKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvdHRvbTogMTZweDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwKSk7XG4gICAgICAgICAgICAgIGJvdHRvbTogLTE5cHg7XG4gICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwKSk7XG4gICAgICAgICAgICAgIGJvdHRvbTogLTE5cHg7XG4gICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwKSk7XG4gICAgICAgICAgICAgIGJvdHRvbTogLTE5cHg7XG4gICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDkwZGVnKSB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDEpKTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xOXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgxKSk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMTlweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMSkpO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTE5cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50YWItY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuICAgIC50YWItaXRlbSB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgIH1cbiAgICAgIC50YWItaXRlbS1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgLnRhYl9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnRhYl9fdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT0gdGFiLWxheW91dC02ID09PT09PT09PT0tKi9cbi50YWItbGF5b3V0LTYge1xuICAudGFiLWxpc3Qge1xuICAgIC5uYXYtdGFicyB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzMHB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ2LCA2MSwgOTgsIDAuMSk7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRhYi1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIC50YWItaXRlbSB7XG4gICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgICAgLnRhYi1pdGVtLWlubmVyIHtcbiAgICAgICAgLnRhYi1pbWcge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcjtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfZm91cn0ge1xuICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC50YWJpbWdfX3RpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTM7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50YWJfX3RpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEyO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnRhYl9fbWV0YSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgYm90dG9tOiA5cHg7XG4gICAgICAgICAgICAgIHJpZ2h0OiAtMTNweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDNweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50YWJfX3RleHQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50YWItbWlzc2lvbiB7XG4gIC50YWItbGlzdCB7XG4gICAgLm5hdi10YWJzIHtcbiAgICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci04O1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTg7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEdBTExFUlkgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmdhbGxlcnktYXJlYSB7XG4gIC5pbWFnZS1nYWxsZXJ5LXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgZmlndXJlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG59XG5cbi5pbWFnZS1nYWxsZXJ5LWl0ZW0ge1xuICAuZ2FsbGVyeV9fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBmb250LXNpemU6ICRkaXNwbGF5LTEyO1xuICB9XG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBHQUxMRVJZIEFSRUEgMlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmltYWdlLWdhbGxlcnktaXRlbS0yIHtcbiAgLm93bC1uYXYge1xuICAgIGRpdiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDQxJTtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICAmLm93bC1uZXh0IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3R3b30ge1xuICAgICAgICB0b3A6IDE4JTtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5vd2wtZG90cyB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAub3dsLWRvdCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgICBAbWVkaWEgI3skbGFwdG9wX21fZm91cn0ge1xuICAgICAgICAgIHdpZHRoOiAxMTNweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfdHdvfSB7XG4gICAgICAgICAgd2lkdGg6IDEwMXB4O1xuICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUSU1FTElORSBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4udGltZWxpbmUtYXJlYSB7XG4gIC50aW1lbGluZS13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5cbi56aWd6YWctdGltZWxpbmUtbGlzdCB7XG4gIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfdGhyZWV9IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIGxpIHtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQ7XG4gICAgYm9yZGVyLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM4ZjQyZWMgMCUsICNiYTQyZWMgMTAwJSk7XG4gICAgYm9yZGVyLWltYWdlLXNsaWNlOiAxO1xuICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHggMzhweCA0MHB4O1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBjb3VudGVyKHNlY3Rpb24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgIGJhY2tncm91bmQ6ICM4ZjQyZWM7XG4gICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgIzhmNDJlYyAwJSwgI2JhNDJlYyAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICAjOGY0MmVjIDAlLCNiYTQyZWMgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICAjOGY0MmVjIDAlLCNiYTQyZWMgMTAwJSk7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE1O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICB9XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjA7XG4gICAgfVxuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICBUSU1FTElORSBBUkVBIDJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4ucm9hZC1tYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICBvcGFjaXR5OiAuMjtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgei1pbmRleDogLTE7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1cHgpO1xuICAgIEBtZWRpYSAjeyRkZXZpY2UtNDgxfSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAuaGFwcGVuaW5nIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIC5oYXBwZW5pbmctcGVyaW9kIHtcbiAgICAgICAgLmhhcHBlbmluZ19fZGVzYyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDJuKzIpIHtcbiAgICAgIC5oYXBwZW5pbmctcGVyaW9kIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgICAgICBAbWVkaWEgI3skZGV2aWNlLTQ4MX0ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5oYXBwZW5pbmctZGV0YWlsIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiAzMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMXB4O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogLTEycHg7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtMTc5ZGVnKSk7XG4gICAgICAgICAgQG1lZGlhICN7JGRldmljZS00ODF9IHtcbiAgICAgICAgICAgIHRvcDogLTE4cHg7XG4gICAgICAgICAgICByaWdodDogMzdweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoOTBkZWcpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmhhcHBlbmluZy1wZXJpb2Qge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDI3cHggNDJweCAwIDA7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBtZWRpYSAjeyRkZXZpY2UtNDgxfSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgIC5oYXBwZW5pbmdfX2Rlc2Mge1xuICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogOHB4IDE1cHg7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMzBweCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCg1MCUpKTtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICBAbWVkaWEgI3skZGV2aWNlLTQ4MX0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmhhcHBlbmluZy1kZXRhaWwge1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmc6IDI3cHggMzBweCAyM3B4IDMwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgICBAbWVkaWEgI3skZGV2aWNlLTQ4MX0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICB9XG4gICAgICAuaGFwcGVuaW5nX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuICAgICAgLmhhcHBlbmluZ19fZGVzYyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjZweDtcbiAgICAgICAgbGVmdDogLTEycHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6MTJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgICAgICAgQG1lZGlhICN7JGRldmljZS00ODF9IHtcbiAgICAgICAgICB0b3A6IC0xOHB4O1xuICAgICAgICAgIGxlZnQ6IDM3cHg7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg5MGRlZykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAuaGFwcGVuaW5nLWRldGFpbCB7XG4gICAgICAgIEBtZWRpYSAjeyRkZXZpY2UtNDgxfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFRPT0xUSVAgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnRvb2x0aXAtYXJlYSB7XG4gIC50b29sdGlwLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgLnRoZW1lLWJ0biB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICBtYXJnaW46IDAgOHB4IDEwcHggOHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBQT1BPVkVSIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5wb3BvdmVyLWFyZWEge1xuICAudG9vbHRpcC13cmFwIHtcbiAgICAudGhlbWUtYnRuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgTU9EQUwgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLm1vZGFsLWFyZWEge1xuICAubW9kYWwtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAudGhlbWUtYnRuIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgIC5tb2RhbCB7XG4gICAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICAubGEtY2xvc2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAubGEtY2xvc2Uge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDkwZGVnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgLmNvbC1mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMyk7XG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgMCAwKTtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEyNywgMTM2LCAxNTEsIDAuNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5mb3JtLW1lc3NhZ2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmJ0bi1zZWNvbmRhcnkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci02O1xuICAgICAgICB9XG4gICAgICAgIC5idG4tcHJpbWFyeSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBIRUFESU5HIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5oZWFkaW5nLW9uZSB7XG4gIC5zZWN0aW9uX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS01O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEhFQURJTkcgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmhlYWRpbmctdHdvLFxuLmhlYWRpbmctZm91cntcbiAgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEhFQURJTkcgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmhlYWRpbmctdGhyZWUge1xuICAuc2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEhFQURJTkcgQVJFQSA1XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uZ3JhZGllbnQtaGVhZGluZyB7XG4gIC5zZWN0aW9uX190aXRsZSxcbiAgLnNlY3Rpb25fX21ldGEge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIGJhY2tncm91bmQ6ICM1YzQ4ZTA7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgICM1YzQ4ZTAgMCUsICMxMTg1ODkgNDclLCAjMTZhZGE4IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICAjNWM0OGUwIDAlLCMxMTg1ODkgNDclLCMxNmFkYTggMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAgIzVjNDhlMCAwJSwjMTE4NTg5IDQ3JSwjMTZhZGE4IDEwMCUpO1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgfVxuICAuc2VjdGlvbl9fbWV0YSB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gIH1cbiAgLnNlY3Rpb24tZGl2aWRlciB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogIzVjNDhlMDtcbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICAjNWM0OGUwIDAlLCAjMTE4NTg5IDQ3JSwgIzE2YWRhOCAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICAjNWM0OGUwIDAlLCMxMTg1ODkgNDclLCMxNmFkYTggMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICAjNWM0OGUwIDAlLCMxMTg1ODkgNDclLCMxNmFkYTggMTAwJSk7XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBIRUFESU5HIEFSRUEgNlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmhlYWRpbmctZml2ZSB7XG4gIC5zZWN0aW9uX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAkcHJpbWFyeS1mb250O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmxhY2s7XG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEhFQURJTkcgQVJFQSA3XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uaGVhZGluZy1zaXgge1xuICAuc2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJHByaW1hcnktZm9udDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBIRUFESU5HIEFSRUEgOFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmhlYWRpbmctc2V2ZW4ge1xuICAuc2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJHByaW1hcnktZm9udDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBIRUFESU5HIEFSRUEgOVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmhlYWRpbmctZWlnaHQge1xuICAuc2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJHByaW1hcnktZm9udDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXRoaW47XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBIRUFESU5HIEFSRUEgMTBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5oZWFkaW5nLW5pbmUge1xuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTM7XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEhFQURJTkcgQVJFQSAxMVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmhlYWRpbmctdGV4dC13cmFwIHtcbiAgbWFyZ2luLXRvcDogMjhweDtcbiAgLmhlYWRpbmdfX3RleHQge1xuICAgIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgfVxuICAgIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgJi5sZWFkIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC50aGVtZS1idG4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTM7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5sZWFkLXRleHQtd3JhcCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3I7XG4gIHBhZGRpbmctdG9wOiAzNXB4O1xufVxuLmJsb2NrcXVvdGUtdGV4dC13cmFwIHtcbiAgcGFkZGluZy10b3A6IDM1cHg7XG4gIC5oZWFkaW5nX190ZXh0IHtcbiAgICBoMyB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIH1cbiAgfVxuICAuYmxvY2txdW90ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjQpO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgfVxuICB9XG59XG4uZHJvcGNhcHMtdGV4dC13cmFwIHtcbiAgLmhlYWRpbmdfX3RleHQge1xuICAgIC5kcm9wY2FwcyB7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktNTtcbiAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDczcHg7XG4gICAgfVxuICAgIC5kcm9wY2FwczIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRoZW1lLWNvbG9yLTI7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIC5kcm9wY2FwczMsXG4gICAgLmRyb3BjYXBzNCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIC5kcm9wY2FwczQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIH1cbiAgfVxufVxuLmlubGluZS10ZXh0LXdyYXAsXG4uY29sb3ItdGV4dC13cmFwLFxuLnRyYW5zZm9ybS10ZXh0LXdyYXAsXG4uY29kZS10ZXh0LXdyYXAge1xuICBwYWRkaW5nLXRvcDogMzVweDtcbn0iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgSElHSExJR0hUIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5oaWdobGlnaHQtYXJlYSB7XG4gIC5oaWdobGlnaHQtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuXG4uaGlnaGxpZ2h0LXRleHQge1xuICBwIHtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmsge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn0iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQ0FSRCBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uY2FyZC1hcmVhIHtcbiAgLmNvbC1sZy0zLmNvbC1zbS02LFxuICAuY29sLWxnLTQuY29sLXNtLTYsXG4gIC5jb2wtbGctNi5jb2wtc20tNiB7XG4gICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgIC5zZWN0aW9uX190aXRsZSB7XG4gICAgICBiciB7XG4gICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY2FyZC13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5cbi8qLT09PT09PT09PT09PSBDQVJEIElURU0gPT09PT09PT09LSovXG4uY2FyZC1pdGVtIHtcbiAgLmNhcmQge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgIC5jYXJkLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC5jYXJkLWltZy10b3Age1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCA0cHggMCAwKTtcbiAgICAgIH1cbiAgICAgIC5jYXJkLWluZm8ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgIH1cbiAgICAgIC5jYXJkX19kYXRlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDMwcHgpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTM7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkLWJvZHkge1xuICAgICAgcGFkZGluZzogMjhweCAzMHB4IDI4cHggMzBweDtcbiAgICAgIC5jYXJkLWljb24ge1xuICAgICAgICBoZWlnaHQ6IDlyZW07XG4gICAgICAgIHdpZHRoOiA5cmVtO1xuICAgICAgfVxuICAgICAgLmNhcmQtbGlzdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucG9zdC1tZXRhIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAuYXV0aG9yIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTE7XG4gICAgICAgIC5jYXJkX19saW5rIHtcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2FyZC1zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIH1cbiAgICAgIC5jYXJkLXRleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgIH1cbiAgICAgIC5saW5rLWJ0biB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgLmNhcmRfX2RhdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09IENBUkQgSVRFTSAyID09PT09PT09PS0qL1xuLmNhcmQtaXRlbS0yIHtcbiAgLmNhcmQge1xuICAgIC5jYXJkLWltYWdlIHtcbiAgICAgIC5jYXJkLWltZy10b3Age1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCA0cHggNHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PSBDQVJEIElURU0gMyA9PT09PT09PT0tKi9cbi5jYXJkLWl0ZW0tMyB7XG4gIC5jYXJkIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTJweCk7XG4gICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLmNhcmQtaW1nLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTJweCk7XG4gICAgICB9XG4gICAgICAuY2FyZC1pbmZvIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLmxhIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE0O1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICB9XG4gICAgICAgIC5jYXJkX19kYXRlIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcmQtYm9keSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgICAgLmNhcmRfX2xpbmsge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci01O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNhcmQtc3VidGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTEycHg7XG4gICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDMwcHgpO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICB9XG4gICAgICAuY2FyZC1ieSB7XG4gICAgICAgIC5jYXJkX19hdXRob3Ige1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5jYXJkLWltYWdlIHtcbiAgICAgICAgLmNhcmQtaW5mbyB7XG4gICAgICAgICAgLmxhLFxuICAgICAgICAgIC5jYXJkX19kYXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT09PSBDQVJEIElURU0gNCA9PT09PT09PT0tKi9cbi5jYXJkLWl0ZW0tNCB7XG4gIC5jYXJkIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgIC5jYXJkLWJvZHkge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICAuY2FyZC1udW1iZXIge1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICB9XG4gICAgICAuY2FyZC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIC5jYXJkX19saW5rIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYWx0ZXItY29sb3ItNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jYXJkLXN1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRhbHRlci1jb2xvci03O1xuICAgICAgfVxuICAgICAgLmNhcmQtYnkge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIC5jYXJkX19hdXRob3Ige1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRhbHRlci1jb2xvci03O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubGluay1idG4ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgLmNhcmQtYm9keSB7XG4gICAgICAgIC5saW5rLWJ0biB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRhbHRlci1jb2xvci03O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT0gQ0FSRCBJVEVNIDUgPT09PT09PT09LSovXG4uY2FyZC1pdGVtLTUge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgMCAwKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ1cHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMTVweCA0MHB4IDAgcmdiYSg4MiwgODUsIDkwLCAwLjIpKTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMzBweCk7XG4gICAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzMHB4KTtcbiAgICAgIH1cbiAgICAgIC5jYXJkLWluZm8ge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgICAuY2FyZF9fZGF0ZSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgMzBweCAzMHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY2FyZC1ib2R5IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjIpKTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMzBweCk7XG4gICAgICAuY2FyZC1saXN0IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNhcmRfX2xpbmsge1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMztcbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3QtZ3JvdXAge1xuICAgICAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT0gQ0FSRCBBUkVBIDYgPT09PT09PT09PS0qL1xuLmNhcmQtaXRlbS02IHtcbiAgLmNhcmQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAuY2FyZC1pbWFnZSB7XG4gICAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgfVxuICAgICAgLmNhcmQtaW5mbyB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgLmNhcmRfX2RhdGUge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4IDAgMzBweCAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY2FyZC1ib2R5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAuY2FyZC10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE0O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0b3A6IC04cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT0gQ0FSRCBBUkVBIDcgPT09PT09PT09PS0qL1xuLmNhcmQtaXRlbS03IHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMzBweCAzMHB4IDRweCA0cHgpO1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSgxNCwgMTYsIDQ4LCAwLjA1KSk7XG4gICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzMHB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLmNhcmQtaW1nLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMzBweCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkLWJvZHkge1xuICAgICAgcGFkZGluZzogMzVweCAzMHB4IDM1cHggMzBweDtcbiAgICAgIC5jYXJkLWJ0biB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICAuY2FyZC1pbWFnZSB7XG4gICAgICAuY2FyZF9fZGF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09IGNhcmQtaXRlbS04ID09PT09PT09PT09PT0tKi9cbi5jYXJkLWl0ZW0tOCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAuY2FyZC1pbWFnZSB7XG4gICAgICAuY2FyZC1pbWcge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkLWltZy1vdmVybGF5IHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMzVweCAzMHB4IDAgMTAwcHg7XG4gICAgICBoZWlnaHQ6IDExNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgNjEsIDk4LCAwLjkpO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCA0cHggNHB4KTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBAbWVkaWEgI3skZGV2aWNlLTQ4MX0ge1xuICAgICAgICBoZWlnaHQ6IDEzNXB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV9mb3VyfSB7XG4gICAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgIH1cbiAgICAgIC5sYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzNXB4O1xuICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV9mb3VyfSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2FyZC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfZm91cn0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmRfX2xpbmsge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMTtcbiAgICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlX2ZvdXJ9IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2FyZC10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfZm91cn0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jYXJkLWluZm8tdGV4dCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV9mb3VyfSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRoZW1lLWJ0biB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgLmNhcmQtaW1nLW92ZXJsYXkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09IGNhcmQtaXRlbS05ID09PT09PT09PT09PT0tKi9cbi5jYXJkLWl0ZW0tOSB7XG4gIC5jYXJkIHtcbiAgICAuY2FyZC1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgfVxuICAgICAgLmFkZC10by13aXNobGlzdCB7XG4gICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkLWJvZHkge1xuICAgICAgLmNhcmQtcmF0aW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTU7XG4gICAgICAgICAgLmNvdW50LXJhdGluZyB7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2FyZC1hY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIC5jYXJkX19wcmljZSB7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICB9XG4gICAgICAgIC50aGVtZS1idG4ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC44KTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5sYSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE0O1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT0gY2FyZC1pdGVtLTEwID09PT09PT09PT09PT0tKi9cbi5jYXJkLWl0ZW0tMTAge1xuICAuY2FyZCB7XG4gICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcmQtYm9keSB7XG4gICAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICB9XG4gICAgICAuY2FyZC1zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4xKTtcbiAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgfVxuICAgICAgLmNhcmQtc2VwYXJhdG9yIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgIH1cbiAgICAgIC5jYXJkLXRleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgICAgLmNhcmQtYWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgIC5kcm9wZG93bi10b2dnbGUge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICByaWdodDogMTJweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgICAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudGhlbWUtYnRuIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgLmxhIHtcbiAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5jYXJkLWJvZHkge1xuICAgICAgICAuY2FyZC1zZXBhcmF0b3Ige1xuICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT0gY2FyZC1pdGVtLTExID09PT09PS0qL1xuLmNhcmQtaXRlbS0xMSB7XG4gIC5jYXJkIHtcbiAgICAuY2FyZC1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oNTAlIDAlLCAxMDAlIDAsIDEwMCUgOTIlLCAwIDEwMCUsIDAgMCk7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDEwMCUgMCwgMTAwJSA5MiUsIDAgMTAwJSwgMCAwKTtcbiAgICAgIH1cbiAgICAgIC5jYXJkLWluZm8ge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtM2RlZykpO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2FyZC1ib2R5IHtcbiAgICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICAuY2FyZC1ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5jYXJkLWltYWdlIHtcbiAgICAgICAgLmNhcmQtaW1nLWJhZGdlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLXNpZGUtaXRlbSB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC5idXR0b24tc2hhcmVkIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLmNhcmQtYm9keSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgLnRoZW1lLWJ0biB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQmxvZyBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uYmxvZy1hcmVhIHtcbiAgLmNhcmQtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICAuY2FyZC1pdGVtIHtcbiAgICAgIC5jYXJkIHtcbiAgICAgICAgLmNhcmQtYm9keSB7XG4gICAgICAgICAgLmNhcmQtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1zZXBhcmF0b3Ige1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtYWN0aW9uIHtcbiAgICAgICAgICAgIC50aGVtZS1idG4ge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgLmxhLWNhcmV0LXJpZ2h0IHtcbiAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAuY2FyZC1ib2R5IHtcbiAgICAgICAgICAgIC5jYXJkLXNlcGFyYXRvciB7XG4gICAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEJsb2cgQVJFQSAyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uYmxvZy1hcmVhLTIsXG4uYmxvZy1hcmVhLTMge1xuICAuY2FyZC13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgU0lOR0xFIFNFUlZJQ0UgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnNpbmdsZS1zZXJ2aWNlLWFyZWEge1xuICAuY2FyZC13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC5jYXJkLWl0ZW0ge1xuICAgICAgLmNhcmQge1xuICAgICAgICAuY2FyZC1ib2R5IHtcbiAgICAgICAgICAuY2FyZC0tdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS04O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5ibG9ja3F1b3RlLWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1jaGFydC1ib3gge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IC0xNXB4IDQwcHggLTE1cHg7XG4gICAgICAgICAgICAuY2hhcnQtYm94IHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAwIDApO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAuY2hhcnQtbGVnZW5kIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWFnZS1ib3gge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IC0xNXB4IDQwcHggLTE1cHg7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdC1pdGVtcyB7XG4gICAgICAgICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTQ7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICsgbGkge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtY2hhcnQtYm94LmQtZmxleCxcbiAgICAgICAgICAuY2FyZC1pbWFnZS1ib3guZC1mbGV4IHtcbiAgICAgICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtZm9ybSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgICAgICAgICAuY2FyZC1mb3JtLWNvbnRlbnQge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFNJTkdMRSBCTE9HIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5zaW5nbGUtYmxvZy1hcmVhIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIC5jYXJkLXdyYXAge1xuICAgIC5jYXJkLWl0ZW0ge1xuICAgICAgLmNhcmQge1xuICAgICAgICAuY2FyZC1ib2R5IHtcbiAgICAgICAgICAuY2FyZC1pbm5lci1ib3gge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgICAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jYXJkLWxpc3Qge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtZm9ybSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udGFnLWl0ZW1zIHtcbiAgcGFkZGluZy10b3A6IDQ1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA0NXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpO1xuICAudGFnLWlubmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi50YWdfX2xpc3Qge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ2LCA2MSwgOTgsIDAuMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICB3aWR0aDogM3B4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgNjEsIDk4LCAwLjIpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgNHB4IDRweCAwKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5zb2NpYWxfX2xpc3Qge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDYxLCA5OCwgMC4xKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRhZy1pbm5lci5kLWZsZXgge1xuICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4vKj09PT09PT09PT0gYmxvZy1mb3VyLWNvbHVtbiA9PT09PT09PT09PSovXG4uYmxvZy1mb3VyLWNvbHVtbiB7XG4gIC5jYXJkLXdyYXAge1xuICAgIC5jYXJkLWl0ZW0ge1xuICAgICAgLmNhcmQge1xuICAgICAgICAuY2FyZC1ib2R5IHtcbiAgICAgICAgICAuY2FyZC10ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWFjdGlvbiB7XG4gICAgICAgICAgICAudGhlbWUtYnRuIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgICAgICAgICAgLmxhIHtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAwIDApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFBST0RVQ1QgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnByb2R1Y3QtYXJlYSB7XG4gIC5wcm9kdWN0LXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbn1cblxuLyotPT09PT09PT0gcHJvZHVjdC1uYXYtdGFicyA9PT09PT09LSovXG4ucHJvZHVjdC1uYXYtdGFicyB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4xKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiA2cHggc29saWQgJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgIH1cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT0gcHJvZHVjdC1pdGVtID09PT09PT0tKi9cbi5wcm9kdWN0LWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4wNSkpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgLnByb2R1Y3QtaW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnByaWNlLW9mZiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHBhZGRpbmc6IDNweCAxMnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0zO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDMwcHgpO1xuICAgIH1cbiAgICAucHJvZHVjdF9faW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHggNHB4IDAgMCk7XG4gICAgfVxuICAgIC5wcm9kdWN0LWFjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAudGhlbWUtYnRuIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDMwcHgpO1xuICAgICAgICAgICAgLmxhIHtcbiAgICAgICAgICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJ0LWljb24ge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDYxLCA5OCwgMC4xKTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnByb2R1Y3QtY29udGVudCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICAucHJvX190aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTQ7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50LWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICAgIC5vbGRfX3ByaWNlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICB9XG4gICAgICAucHJvX19wcmljZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICAucHJvZHVjdC1pbWcge1xuICAgICAgLnByb2R1Y3QtYWN0aW9uIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFBST0RVQ1QgR1JJRFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnByb2R1Y3QtZ3JpZCB7XG4gIC5wcm9kdWN0LXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbi5wcm9kdWN0LXNvcnQge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnByb2R1Y3Qtc29ydC1vcmRlcmluZyB7XG4gICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgLnNlbGVjdC1vcHRpb24ge1xuICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBQUk9EVUNUIFNJTkdMRVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnByb2R1Y3Qtc2luZ2xlIHtcbiAgLnByby10YWItY29udGVudCB7XG4gICAgLnByby10YWItaW1nIHtcbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIC5uYXYtdGFicyB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDVweCA1cHggMCA1cHg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDEzMHB4O1xuICAgICAgICAgIGJvcmRlcjogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDApKTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEzMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAucHJvZHVjdC1kZXNjcmlwdGlvbi13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5wcm8tZGV0YWlsLWNhdC1ib3gge1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgIC5wcm8tZGV0YWlsLWNhdCB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0zO1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wcm8tZGV0YWlsLXNrdSB7XG4gICAgICAgIC5wcm9kZXRhaWxfX3NrdSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTM7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wcm8tZGV0YWlsLXRpdGxlLWJveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgLmRlc2NyaXB0aW9uX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktODtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wcm8tZGV0YWlsLXJhdGluZyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgLnByb2RldGFpbF9fcmF0aW5nIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci01O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucHJvcmF0aW5nX19saW5rcyB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wcm8tZGV0YWlsLXByaXplIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgICAucHJvZGV0YWlsX19wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktODtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICYub2xkX19wcmljZSB7XG4gICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEzO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wcm8tZGV0YWlsLWRlc2Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgICAgIC5wcm9kZXRhaWxfX2Rlc2Mge1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnByby1kZXRhaWwtb3B0aW9ucyB7XG4gICAgICAucHJvb3B0aW9uX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgICB9XG4gICAgICAub3B0aW9uX19tZXRhIHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnByb29wdGlvbl9fY29sb3Ige1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuICAgICAgICAucHJvX19jb2xvci1vcHRpb24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTk5OXB4O1xuICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5yZWQgYSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZ3JlZW4gYSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5ibGFjayBhIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmJsdWUgYSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgKyBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucHJvb3B0aW9uX19zaXplcyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgICAgIC5zZWxlY3Qtc2l6ZS1vcHRpb24ge1xuICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICAgIC5zZWxlY3Qtb3B0aW9uIHtcbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMHB4IDhweCAyMHB4O1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE1O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wcm8tZGV0YWlsLXNoYXJlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjFweDtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgNjEsIDk4LCAwLjEpO1xuICAgICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5xdWFudGl0eSB7XG4gICAgICAgIC5hZGQtdG8tY2FydC1idG4ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX2ZvdXJ9IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAucHJvLWRlc2NyaXB0aW9uLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDExMHB4O1xuICAgIC5uYXYtdGFicyB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC50YWItY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgICBwYWRkaW5nOiAzMXB4IDMwcHggMzFweCAzMHB4O1xuICAgICAgLmRlc2MtdGFiX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgfVxuICAgICAgLnNlY3Rpb24tZGl2aWRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICByaWdodDogMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmRlc2MtdGFiX190ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICB9XG4gICAgICAuaW5mb3JtYXRpb24tc2VjdGlvbiB7XG4gICAgICAgIC5pbmZvcm1hdGlvbi1zZWMtaW5uZXIge1xuICAgICAgICAgIC5pbmZvcm1hdGlvbl9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuaW5mb3JtYXRpb24tcm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgICAuaW5mb3JtYXRpb25fX25hbWUge1xuICAgICAgICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3I7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9mb3VyfSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfdHdvfSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW5mb3JtYXRpb25fX3ZhbHVlIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICArIC5pbmZvcm1hdGlvbi1zZWMtaW5uZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb21tZW50cy13cmFwcGVyIHtcbiAgICAgICAgLmNvbW1lbnRzLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTExO1xuICAgICAgICB9XG4gICAgICAgIC5jb21tZW50cy1saXN0IHtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAuY29tbWVudCB7XG4gICAgICAgICAgICAgIC5jb21tZW50LWJvZHkge1xuICAgICAgICAgICAgICAgIC5tZXRhLWRhdGEge1xuICAgICAgICAgICAgICAgICAgLmNvbW1lbnRfX2F1dGhvciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgY2FydC1hcmVhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uY2FydC1hcmVhIHtcbiAgLmNhcnQtYm9keS13cmFwcGVyIHtcbiAgICAudGFibGUge1xuICAgICAgdGhlYWQgPiB0ciA+IHRkLFxuICAgICAgdGhlYWQgPiB0ciA+IHRoIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgfVxuICAgICAgdHIge1xuICAgICAgICB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICYuY2FydF9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJ0cHJvZHVjdF9fZGVzYyB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udDtcbiAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnByby1wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgICAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmJ1dHRvbi1yZW1vdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG4gICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gICAgICAgICAgICAuZmEtY2xvc2Uge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY2FydC1kZXRhaWwtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAuY2FydC1kZXRhaWwtaXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItNjtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgIHBhZGRpbmc6IDMwcHggMzBweCAzM3B4IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgLmNhcnRkZXRhaWxfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgICB9XG4gICAgICAuY2FydGRldGFpbF9fY29udGVudCB7XG4gICAgICAgIC5jYXJ0X19kZXRhaWwtZGVzYyB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcbiAgICAgICAgfVxuICAgICAgICAuY2FydC10YWJsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICB0ciB7XG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBjaGVja291dC1hcmVhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uY2hlY2tvdXQtaGVhZGVyIHtcbiAgLmNoZWNrb3V0X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS0xMTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG59XG4uYmlsbGluZy1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjA1KSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgcGFkZGluZzogMzBweCAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAuY2FyZC1jb250ZW50IHtcbiAgICAuY2hlY2tvdXQtdGFibGUge1xuICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICAuY2hlY2t0YWJsZV9faGVhZCA+IHRyID4gdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgICAgIC5jaGVja3RhYmxlX19oZWFkID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgICAgLmNoZWNrdGFibGVfX2hlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgLmNoZWNrdGFibGVfX2JvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgLmNoZWNrdGFibGVfX2Zvb3QgPiB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgICAgIC5jaGVja3RhYmxlX19ib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIC5jaGVja3RhYmxlX19oZWFkID4gdHIgPiB0aDpsYXN0LWNoaWxkLFxuICAgICAgLmNoZWNrdGFibGVfX2JvZHkgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4gICAgICAuY2hlY2t0YWJsZV9fZm9vdCA+IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgIC5jaGVja3RhYmxlX19wcm9kdWN0cyB0cjpmaXJzdC1jaGlsZCA+ICoge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICAgICAgfVxuICAgICAgLmNoZWNrdGFibGVfX3Byb2R1Y3RzIHRyOmxhc3QtY2hpbGQgPiAqLFxuICAgICAgLmNoZWNrdGFibGVfX3N1YnRvdGFscyB0cjpsYXN0LWNoaWxkID4gKiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgfVxuICAgICAgLmNoZWNrdGFibGVfX3N1YnRvdGFscyB0cjpmaXJzdC1jaGlsZCA+ICosXG4gICAgICAuY2hlY2t0YWJsZV9fcHJvZHVjdHMgdHI6Zmlyc3QtY2hpbGQgPiAqIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICB9XG4gICAgICAuY2hlY2t0YWJsZV9fYm9keSB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICB0ZCxcbiAgICAgICAgICB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycHggMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jaGVja3RhYmxlX19mb290IHtcbiAgICAgICAgdHIge1xuICAgICAgICAgIHRoLFxuICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTM7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMCAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3I7XG4gICAgICB9XG4gICAgICB0ciB7XG4gICAgICAgIHRoIHtcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgfVxuICAgICAgICB0ZCB7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOmFmdGVyIHtcbiAgICB0b3A6IC03cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KC0ycHggLTJweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbn1cblxuLnBheW1lbnQtbWV0aG9kLWFyZWEge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbn1cblxuLnBheW1lbnQtbWV0aG9kLXdyYXAge1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgLnBheW1lbnQtcmFkaW8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250O1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgIGlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgICY6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgfVxuICAgICAgJjpjaGVja2VkIH4gLmNoZWNrbWFyazphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIC5jaGVja21hcmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luOiAzcHggMCAwIDA7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3I7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjEpKTtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIGlucHV0IH4gLmNoZWNrbWFyazphZnRlciB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgJjpob3ZlciBpbnB1dCB+IC5jaGVja21hcmsge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICB9XG4gIH1cbiAgLnRoZW1lLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHBhZGRpbmc6IDEycHggMjVweDtcbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIERJU0NPVU5UIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5kaXNjb3VudC1hcmVhIHtcbiAgLmRpc2NvdW50LXdyYXAge1xuICAgIC5kaXNjb3VudC1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICB9XG4gICAgICAuZGlzY291bnQtaW1nLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLm9uc2FsZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9mb3VyfSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5vbnNhbGVfX3RleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAub25zYWxlX19wcmljZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5kaXNjb3VudC1pbmZvIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9mb3VyfSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1NSU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmRpc2NvdW50X190aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByaW1hcnktZm9udDtcbiAgICAgICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktODtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS04O1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEyO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV90aHJlZX0ge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE1O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuZGlzY291bnRfX3RleHQge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTM7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAudGhlbWUtYnRuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAub3dsLW5hdiB7XG4gICAgZGl2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4xKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV9mb3VyfSB7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX2ZvdXJ9IHtcbiAgICAgICAgYm90dG9tOiAtMTVweDtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgICYub3dsLXByZXYge1xuICAgICAgICByaWdodDogODVweDtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV9mb3VyfSB7XG4gICAgICAgICAgcmlnaHQ6IDcwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBCTE9HIEFSRUEgNVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmJsb2ctYXJlYTUge1xuICAuY2FyZC13cmFwIHtcbiAgICAuY2FyZC1pdGVtIHtcbiAgICAgIC5jYXJkIHtcbiAgICAgICAgLmNhcmQtYm9keSB7XG4gICAgICAgICAgLmNhcmQtYWN0aW9uIHtcbiAgICAgICAgICAgIC50aGVtZS1idG4ge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgIC5sYSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBJTkZPIEJPWCBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG5cbiRjb2xfZ2FwOiAxcmVtO1xuXG4uaW5mby1ib3gtYXJlYSB7XG4gIC5pbmZvLWJveC13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIC5jb2wtc20tNiB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmluZm8tYm94LXdyYXAge1xuICBkaXNwbGF5OiBncmlkO1xuICAvLyBFc3NlbnRpYWxseSBzd2l0Y2ggdGhlIGRlZmF1bHQgYXhpc1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBncmlkLWdhcDogJGNvbF9nYXA7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdyaWQtYXV0by1mbG93OiB1bnNldDtcbiAgLmluZm8tYm94LWl0ZW0tNCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi8qPT09PSBpbmZvLWJveC1pdGVtID09PSovXG4uaW5mby1ib3gtaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gIHBhZGRpbmc6IDUwcHggNDBweCA0N3B4IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgLmluZm8tZG90IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICBvcGFjaXR5OiAwLjE7XG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgdG9wOiAyNXB4O1xuICAgICAgbGVmdDogMTAlO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0b3A6IDYwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRvcDogMzVweDtcbiAgICAgIHJpZ2h0OiAxNSU7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgIHRvcDogMTEwcHg7XG4gICAgICBsZWZ0OiAzNSU7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgIGJvdHRvbTogMTAlO1xuICAgICAgbGVmdDogNDAlO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCg2KSB7XG4gICAgICBib3R0b206IDIwJTtcbiAgICAgIHJpZ2h0OiAyMCU7XG4gICAgfVxuICB9XG4gIC5pbmZvLWhlYWRlciB7XG4gICAgLmluZm9fX3N2ZyB7XG4gICAgICBmaWxsOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICB9XG4gIH1cbiAgLmluZm8tYm9keSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAuaW5mb19fdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEzO1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICB9XG4gICAgfVxuICAgIC5pbmZvX190ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgIH1cbiAgICAuaW5mb19fYnRuIHtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE1O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgLmxhIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAubGEge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJ1bGxldC1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNHMpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICAuaW5mby1kb3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAuaW5mby1oZWFkZXIge1xuICAgICAgLmluZm9fX3N2ZyB7XG4gICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmluZm8tYm9keSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgLmluZm9fX3RpdGxlIGEsXG4gICAgICAuaW5mb19fdGV4dCxcbiAgICAgIC5pbmZvX19idG4ge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgLmJ1bGxldC1pdGVtLTIgdWwgbGk6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4uaW5mby1ib3gtYXJlYTIge1xuICAuaW5mby1ib3gtd3JhcCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxuICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgIC5pbmZvLWJveC13cmFwe1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgIC5pbmZvLWJveC13cmFwe1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgIC5pbmZvLWJveC13cmFwe1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIElORk8gQk9YIEFSRUEgM1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmluZm8tYm94LWl0ZW0tMyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICBwYWRkaW5nOiAzMHB4O1xuICAuaW5mby1oZWFkZXIge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBsaW5lLWhlaWdodDogODBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY2LCAxNjUsIDI0NSwgMC4xKTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAuNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgLmluZm9fX3N2ZyB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGZpbGw6ICRhbHRlci1jb2xvcjtcbiAgICB9XG4gIH1cbiAgLmluZm8tYm9keSB7XG4gICAgLmluZm9fX3RleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgQG1lZGlhICN7JGRldmljZS03Njd9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAuY2FyZC1pY29uIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdG9wOiAyMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCA0cHggNHB4IDApO1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIC5pbmZvLWhlYWRlcjEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yO1xuICAgIH1cbiAgICAuaW5mby1oZWFkZXIyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci0yO1xuICAgIH1cbiAgICAuaW5mby1oZWFkZXIzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci0zO1xuICAgIH1cbiAgICAuaW5mby1oZWFkZXI0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci00O1xuICAgIH1cbiAgICAuaW5mby1oZWFkZXI1IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci01O1xuICAgIH1cbiAgICAuaW5mby1oZWFkZXI2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci02O1xuICAgIH1cbiAgICAuaW5mby1oZWFkZXI3IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci03O1xuICAgIH1cbiAgICAuaW5mby1oZWFkZXI4IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci04O1xuICAgIH1cbiAgICAuaW5mby1ib2R5IHtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgIC5pbmZvX190ZXh0IHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgfVxuICAgICAgLmJ1bGxldC1pdGVtLTIgdWwgbGk6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1O1xuICAgICAgfVxuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgfVxuICB9XG59XG5cbi5pbmZvLWJveC1zdHlsZS0yIHtcbiAgJjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci0yO1xuICB9XG59XG4uaW5mby1ib3gtc3R5bGUtMyB7XG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItMztcbiAgfVxufVxuLmluZm8tYm94LXN0eWxlLTQge1xuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTQ7XG4gIH1cbn1cbi5pbmZvLWJveC1zdHlsZS01IHtcbiAgJjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci01O1xuICB9XG59XG4uaW5mby1ib3gtc3R5bGUtNiB7XG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItNjtcbiAgfVxufVxuLmluZm8tYm94LXN0eWxlLTcge1xuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gIH1cbn1cbi5pbmZvLWJveC1zdHlsZS04IHtcbiAgJjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci04O1xuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBJTkZPIEJPWCBBUkVBIDRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5pbmZvLWJveC1pdGVtLTQge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMCkpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICR0aGVtZS1jb2xvcjtcbiAgLy9ib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIC5pbmZvLWhlYWRlciB7XG4gICAgLmluZm8taWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzLCAxNjIsIDE4NCwgMC4xKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgfVxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuaW5mb2JnX19zdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMjBweDtcbiAgICAgIGxlZnQ6IC03MHB4O1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBmaWxsOiByZ2JhKDIzLCAxNjIsIDE4NCwgMC4xKTtcbiAgICB9XG4gICAgLmluZm9fX3N2ZyB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGZpbGw6ICRhbHRlci1jb2xvci03O1xuICAgIH1cbiAgICAuaW5mb19fdGl0bGUge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAjMmUzZDYyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaW5mby1ib2R5IHtcbiAgICAuaW5mb19fdGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgNHB4IDRweCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgfVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAxMHB4IHJnYmEoODIsIDg1LCA5MCwgMC4yKSk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgfVxuICAgIC5pbmZvLWhlYWRlciB7XG4gICAgICAuaW5mb19fc3ZnIHtcbiAgICAgICAgZmlsbDogJGFsdGVyLWNvbG9yLTc7XG4gICAgICB9XG4gICAgICAuaW5mb19fdGl0bGUge1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmluZm8tYm9keSB7XG4gICAgICAuaW5mb19fdGl0bGUge1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5pbmZvX190ZXh0IHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIElORk8gQk9YIEFSRUEgNVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmluZm8tYm94LWFyZWE1IHtcbiAgLmluZm8tYm94LXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbn1cblxuLmluZm8tYm94LWl0ZW0tNSB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIC5pbmZvLWRvdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0b3A6IDE5NXB4O1xuICAgICAgbGVmdDogNDAlO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICB0b3A6IDQwcHg7XG4gICAgfVxuICB9XG4gIC5pbmZvLWhlYWRlciB7XG4gICAgd2lkdGg6IDEzMHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBsaW5lLWhlaWdodDogNzBweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MHB4KTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgbWFyZ2luLXRvcDogLTg1cHg7XG4gICAgLmluZm9fX2ljb24ge1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS03O1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDcwcHg7XG4gICAgfVxuICB9XG4gIC5pbmZvLWJvZHkge1xuICAgIC5pbmZvX190ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgLmluZm8tZG90IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICB9XG4gICAgLmluZm8taGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIC5pbmZvX19pY29uIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmluZm8tYm9keSB7XG4gICAgICAuaW5mb19fdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBJTkZPIEJPWCBBUkVBIDZcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5pbmZvLWJveC1pdGVtLTYge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAwIDApO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLmluZm8taGVhZGVyIHtcbiAgICAtbXMtZmxleDogMCAwIDU1cHg7XG4gICAgZmxleDogMCAwIDU1cHg7XG4gICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgIG1heC1oZWlnaHQ6IDU1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxO1xuICAgIC5pbmZvX19pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktODtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ2LCA2MSwgOTgsIDAuMSk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDhweCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICB9XG4gIC5pbmZvLWJvZHkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgLmluZm9fX3RleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICAuaW5mby1oZWFkZXIge1xuICAgICAgLmluZm9fX2ljb24ge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmluZm8tYm9keSB7XG4gICAgICAuaW5mb19fdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyo9PT09PT09PT09PSBpbmZvLWJveC0taXRlbS02ID09PT09PT09PT0qL1xuLmluZm8tYm94LS1pdGVtLTYge1xuICAuaW5mby1oZWFkZXIge1xuICAgIC1tcy1mbGV4OiAwIDAgNTBweDtcbiAgICBmbGV4OiAwIDAgNTBweDtcbiAgICBtYXgtd2lkdGg6IDUwcHg7XG4gICAgbWF4LWhlaWdodDogNTBweDtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAuaW5mb19faWNvbiB7XG4gICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDApKTtcbiAgICB9XG4gIH1cbiAgLmluZm8tYm9keSB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgLmluZm9fX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICAuaW5mby1oZWFkZXIge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci04O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIElORk8gQk9YIEFSRUEgN1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmluZm8tYm94LWFyZWE3IHtcbiAgLmluZm8tYm94LXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gIH1cbn1cblxuLmluZm8tYm94LWl0ZW0tNyB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDAgMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoOHB4KTtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAuaW5mby1oZWFkZXIge1xuICAgIG1heC13aWR0aDogNzVweDtcbiAgICBtYXgtaGVpZ2h0OiA3NXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA3NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMTtcbiAgICBtYXJnaW4tdG9wOiAtODhweDtcbiAgICAuaW5mb19faWNvbiB7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTc7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsaW5lLWhlaWdodDogNzVweDtcbiAgICB9XG4gICAgLmluZm9fX3N2ZyB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGZpbGw6ICRhbHRlci1jb2xvci03O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDhweCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgfVxuICAuaW5mby1ib2R5IHtcbiAgICBtYXJnaW4tdG9wOiA0NHB4O1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgLmluZm8taGVhZGVyIHtcbiAgICAgIC5pbmZvX19pY29uIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xuICAgICAgfVxuICAgIH1cbiAgICAuaW5mby1ib2R5IHtcbiAgICAgIC5pbmZvX190ZXh0IHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgfVxuICAgICAgLmluZm9fX2J0biB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT0gaW5mby1ib3gtaXRlbS04ID09PT09PT09PT0tKi9cbi5pbmZvLWJveC1pdGVtLTgge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDBweCAzMHB4IDAgMzBweCk7XG4gIC5pY29uLWl0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDBweCAyMHB4IDAgMjBweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuICAuaW5mby1ib2R5IHtcbiAgICAuaW5mb19fdGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICY6aG92ZXIge1xuICAgIC5pbmZvLWJvZHkge1xuICAgICAgLmluZm9fX3RleHQge1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT0gaW5mby1ib3gtaXRlbS05ID09PT09PT09PT0tKi9cbi5pbmZvLWJveC1pdGVtLTkge1xuICAuaWNvbi1pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci03O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgd2lkdGg6IDk1cHg7XG4gICAgaGVpZ2h0OiA5NXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA5N3B4O1xuICAgIC5pbmZvX19udW1iIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTNweDtcbiAgICAgIHJpZ2h0OiAtM3B4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgICB3aWR0aDogMzdweDtcbiAgICAgIGhlaWdodDogMzdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1NXB4IDAgNTVweCA1NXB4KTtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTU7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICAgIH1cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5pbmZvLWJvZHkge1xuICAgIC5pbmZvX190ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIC5pbmZvLWJvZHkge1xuICAgICAgLmluZm9fX3RleHQge1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09IGluZm8tYm94LWl0ZW0tMTAgPT09PT09PT09PS0qL1xuLmluZm8tYm94LWl0ZW0tMTAge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwKSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gIHBhZGRpbmc6IDIwcHggMzBweCA0MXB4IDMwcHg7XG4gIC5pY29uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdG9wOiAzcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbihcbiAgICAgICAgMjAlIDAlLFxuICAgICAgICAwJSAyMCUsXG4gICAgICAgIDMwJSA1MCUsXG4gICAgICAgIDAlIDgwJSxcbiAgICAgICAgMjAlIDEwMCUsXG4gICAgICAgIDUwJSA3MCUsXG4gICAgICAgIDgwJSAxMDAlLFxuICAgICAgICAxMDAlIDgwJSxcbiAgICAgICAgNzAlIDUwJSxcbiAgICAgICAgMTAwJSAyMCUsXG4gICAgICAgIDgwJSAwJSxcbiAgICAgICAgNTAlIDMwJVxuICAgICAgKTtcbiAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgfVxuICB9XG4gIC5pbmZvLWJvZHkge1xuICAgIC5pbmZvX190ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgIC5pY29uLWl0ZW0ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbihcbiAgICAgICAgICAwIDAsXG4gICAgICAgICAgMCUgMjAlLFxuICAgICAgICAgIDMwJSA1MCUsXG4gICAgICAgICAgMCUgODAlLFxuICAgICAgICAgIDAgMTAwJSxcbiAgICAgICAgICA1MCUgNzAlLFxuICAgICAgICAgIDEwMCUgOTklLFxuICAgICAgICAgIDEwMCUgODAlLFxuICAgICAgICAgIDcwJSA1MCUsXG4gICAgICAgICAgMTAwJSAyMCUsXG4gICAgICAgICAgMTAwJSAwLFxuICAgICAgICAgIDUwJSAzMCVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmluZm8tYm9keSB7XG4gICAgICAuaW5mb19fdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmluZm8tYm94LWl0ZW0tcmlnaHQge1xuICAuaWNvbi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PSBpbmZvLWJveC1pdGVtLTExID09PT09PT09PT0tKi9cbi5pbmZvLWJveC1pdGVtLTExIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzMHB4KTtcbiAgcGFkZGluZzogNXB4IDAgMCAwO1xuICAuaW5mby1oZWFkZXIge1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDMwcHggMzBweCk7XG4gICAgfVxuICB9XG4gIC5pbmZvLWJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIC5pbmZvX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuaW5mb19fdGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICAuc2VjdGlvbi1kaXZpZGVyIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxNHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAudGhlbWUtYnRuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgfVxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgLmluZm8tYm9keSB7XG4gICAgICAuaW5mb19fdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgIH1cbiAgICAgIC50aGVtZS1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PSBpbmZvLWJveC1pdGVtLTEyID09PT09PT09PT0tKi9cbi5pbmZvLWJveC1pdGVtLTEyIHtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLmluZm8taGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjVzKTtcbiAgICB9XG4gICAgLmluZm8tYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgNjEsIDk4LCAwLjkpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgLmxhIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS02O1xuICAgICAgfVxuICAgICAgLmluZm9fX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaW5mb19fdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgLmluZm8taGVhZGVyIHtcbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjIpKTtcbiAgICAgIH1cbiAgICAgIC5pbmZvLWJvZHkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAuaW5mb19fdGV4dCB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PSBpbmZvLWJveC1pdGVtLTEzID09PT09PT09PT0tKi9cbi5pbmZvLWJveC1pdGVtLTEzIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgcGFkZGluZzogMTBweDtcbiAgLmluZm8taGVhZGVyIHtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgaGVpZ2h0OiAxNjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAuaW5mb19fc3ZnIHtcbiAgICAgIGZpbGw6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICAuaW5mby1oZWFkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTg7XG4gICAgfVxuICAgIC5pbmZvLWJvZHkge1xuICAgICAgLmluZm9fX3RleHQge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT0gY29udGVudC1jYXJvdXNlbC1pdGVtID09PT09PT09PT0tKi9cbi5jb250ZW50LWNhcm91c2VsLWl0ZW0ge1xuICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gIC5pbmZvLWJveC1pdGVtIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMDUpKTtcbiAgICAuaWNvbi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRlbnQtY2Fyb3VzZWwge1xuICAub3dsLWRvdHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXYge1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItNztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT0gY29udGVudC1jYXJvdXNlbC1pdGVtLTIgPT09PT09PT09PS0qL1xuLmNvbnRlbnQtY2Fyb3VzZWwtaXRlbS0yIHtcbiAgLmluZm8tYm94LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjA1KSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjMpO1xuICB9XG59XG5cbi5jb250ZW50LWNhcm91c2VsMiB7XG4gIC5vd2wtaXRlbSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuOSkpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC41cyk7XG4gIH1cbiAgLm93bC1pdGVtLmFjdGl2ZS5jZW50ZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgLmluZm8tYm94LWl0ZW0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgICAuaWNvbi1pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAuaW5mb19fbnVtYiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5pbmZvLWJvZHkge1xuICAgICAgICAuaW5mb19fdGl0bGUsXG4gICAgICAgIC5pbmZvX190ZXh0IHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5vd2wtZG90cyB7XG4gICAgZGl2IHtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItNztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgJi5hY3RpdmUge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09IGNvbnRlbnQtY2Fyb3VzZWwtaXRlbS0zID09PT09PT09PT0tKi9cbi5jb250ZW50LWNhcm91c2VsLWl0ZW0tMyB7XG4gIC5pbmZvLWJveC1pdGVtIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwKSk7XG4gICAgLmljb24taXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjA3KSk7XG4gICAgfVxuICB9XG59XG5cbi5jb250ZW50LWNhcm91c2VsLTMge1xuICAub3dsLWRvdHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbnRlbnQtY2Fyb3VzZWwzIHtcbiAgLm93bC1uYXYge1xuICAgIGRpdiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMSk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEzO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgIEBtZWRpYSAjeyRsYXB0b3BfbX0ge1xuICAgICAgICB0b3A6IDM4JTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV90aHJlZX0ge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICAmLm93bC1wcmV2IHtcbiAgICAgICAgbGVmdDogLTEwMHB4O1xuICAgICAgICBAbWVkaWEgI3skbGFwdG9wX219IHtcbiAgICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgICAgbGVmdDogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV9mb3VyfSB7XG4gICAgICAgICAgbGVmdDogMTYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9vbmV9IHtcbiAgICAgICAgICBsZWZ0OiAxMzBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skZGV2aWNlLTM4NH0ge1xuICAgICAgICAgIGxlZnQ6IDExMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgICBsZWZ0OiA4NXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLm93bC1uZXh0IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0xMDBweDtcbiAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9tfSB7XG4gICAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgICByaWdodDogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV9mb3VyfSB7XG4gICAgICAgICAgcmlnaHQ6IDE2MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICAgICAgcmlnaHQ6IDEzMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRkZXZpY2UtMzg0fSB7XG4gICAgICAgICAgcmlnaHQ6IDExMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfdGhyZWV9IHtcbiAgICAgICAgICByaWdodDogODVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29udGVudC1jYXJvdXNlbDQge1xuICAub3dsLWRvdHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXYge1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItNztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuOCkpO1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkdGhlbWUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEZFQVRVUkUgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmZlYXR1cmUtYXJlYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAuaW5mby1ib3gtd3JhcHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAuaW5mby1ib3gtd3JhcHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAuaW5mby1ib3gtd3JhcHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgfVxuICB9XG4gIC5jb2wtbGctNC5jb2wtc20tNiB7XG4gICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICBoZWlnaHQ6IDc1MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIH1cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8qPT09PT09IGZlYXR1cmUtaXRlbSA9PT09Ki9cbi5mZWF0dXJlLWl0ZW0ge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoMTQsIDE2LCA0OCwgMC4wNSkpO1xuICBwYWRkaW5nOiA1MHB4IDQwcHggNDJweCA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB6LWluZGV4OiAyO1xuICAuaG92ZXItb3ZlcmxheSB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAtOTBweDtcbiAgICAgIHdpZHRoOiA1NDBweDtcbiAgICAgIGhlaWdodDogNTQwcHg7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC41cyBlYXNlKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDEwMCUpIHJvdGF0ZSgtMTBkZWcpKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgd2lkdGg6IDc0MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogNzAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIH1cbiAgfVxuICAuZmVhdHVyZV9faWNvbiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6ICRkaXNwbGF5LTc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBsaW5lLWhlaWdodDogODdweDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDRweCAyMHB4IHJnYmEoMTA4LCA5MiwgMjMxLCAwLjMpKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC5kaXYtc3Ryb2tlcyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNTVkZWcpKTtcbiAgICAgIC5zdHJva2VfX2JhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDMwcHgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZmVhdHVyZV9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTI7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICB9XG4gIH1cbiAgLmZlYXR1cmVfX3RleHQge1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgfVxuICAuZmVhdHVyZV9fYnRuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjphZnRlciB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdG9wOiAzMCU7XG4gICAgbGVmdDogLTkwcHg7XG4gICAgd2lkdGg6IDU0MHB4O1xuICAgIGhlaWdodDogNTQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC41cyBlYXNlKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgxMDAlKSByb3RhdGUoLTEwZGVnKSk7XG4gICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgd2lkdGg6IDc0MHB4O1xuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAuZmVhdHVyZV9fdGl0bGUsXG4gICAgLmZlYXR1cmVfX3RpdGxlIGEsXG4gICAgLmZlYXR1cmVfX3RleHQsXG4gICAgLmZlYXR1cmVfX2J0biB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAuZmVhdHVyZV9faWNvbiB7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAwIDApO1xuICAgICAgLmRpdi1zdHJva2VzIHtcbiAgICAgICAgLnN0cm9rZV9fYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkgcm90YXRlKC0xMGRlZykpO1xuICAgIH1cbiAgICAuaG92ZXItb3ZlcmxheSB7XG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSByb3RhdGUoLTEwZGVnKSk7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZlYXR1cmUtYm94LWNvbG9yLTIge1xuICAuZmVhdHVyZV9faWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTI7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDRweCAyMHB4IHJnYmEoNDAsIDIxMywgNjcsIDAuMykpO1xuICB9XG4gIC5mZWF0dXJlX19idG4ge1xuICAgIGNvbG9yOiAkYWx0ZXItY29sb3ItMjtcbiAgfVxufVxuLmZlYXR1cmUtYm94LWNvbG9yLTMge1xuICAuZmVhdHVyZV9faWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTM7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDRweCAyMHB4IHJnYmEoMjQ5LCAxODQsIDgxLCAwLjMpKTtcbiAgfVxuICAuZmVhdHVyZV9fYnRuIHtcbiAgICBjb2xvcjogJGFsdGVyLWNvbG9yLTM7XG4gIH1cbn1cbi5mZWF0dXJlLWJveC1jb2xvci00IHtcbiAgLmZlYXR1cmVfX2ljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbHRlci1jb2xvci00O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCA0cHggMjBweCByZ2JhKDE5NywgMCwgMjM4LCAwLjMpKTtcbiAgfVxufVxuLmZlYXR1cmUtYm94LWNvbG9yLTUge1xuICAuZmVhdHVyZV9faWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDRweCAyMHB4IHJnYmEoMjQ4LCAxOTgsIDgyLCAwLjMpKTtcbiAgfVxufVxuLmZlYXR1cmUtYm94LWNvbG9yLTYge1xuICAuZmVhdHVyZV9faWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTY7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDRweCAyMHB4IHJnYmEoMjQ1LCA4OSwgMTE2LCAwLjMpKTtcbiAgfVxufVxuXG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgRkVBVFVSRSBBUkVBIDJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5mZWF0dXJlLWFyZWEyIHtcbiAgLmZlYXR1cmUtY29udGVudC13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDk1MHB4O1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDgxJSwgMCUgMTAwJSk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDgxJSwgMCUgMTAwJSk7XG4gIH1cbn1cblxuLmZlYXR1cmUtaXRlbS0yIHtcbiAgLmZlYXR1cmVfX2ljb24ge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBsaW5lLWhlaWdodDogNzVweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMzAlIDAlLCA3MCUgMCUsIDEwMCUgMzAlLCAxMDAlIDcwJSwgNzAlIDEwMCUsIDMwJSAxMDAlLCAwJSA3MCUsIDAlIDMwJSk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDMwJSAwJSwgNzAlIDAlLCAxMDAlIDMwJSwgMTAwJSA3MCUsIDcwJSAxMDAlLCAzMCUgMTAwJSwgMCUgNzAlLCAwJSAzMCUpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICBmb250LXNpemU6ICRkaXNwbGF5LTk7XG4gIH1cbiAgLmZlYXR1cmVfX3RpdGxlIHtcbiAgICBmb250LXNpemU6ICRkaXNwbGF5LTE0O1xuICB9XG4gIC5mZWF0dXJlX190ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gICY6aG92ZXIge1xuICAgIC5mZWF0dXJlX190aXRsZSB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBGRUFUVVJFIEFSRUEgM1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmZlYXR1cmUtYXJlYTMsXG4uZmVhdHVyZS1hcmVhNCB7XG4gIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgLmluZm8tYm94LXdyYXB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgLmluZm8tYm94LXdyYXB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgLmluZm8tYm94LXdyYXB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIH1cbiAgfVxuICAuaW5mby1ib3gtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogNDZweDtcbiAgICAuaW5mby1ib3gtaXRlbSB7XG4gICAgICAuaW5mby1ib2R5IHtcbiAgICAgICAgLmluZm9fX3RleHQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBTRVJWSUNFIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5zZXJ2aWNlLWFyZWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIC5pbmZvLWJveC13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAxMDZweDtcbiAgICAuaW5mby1ib3gtaXRlbSB7XG4gICAgICAuaW5mby1oZWFkZXIge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItNjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmluZm8tYm9keSB7XG4gICAgICAgIC5pbmZvX190aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5pbmZvLWhlYWRlciB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci02O1xuICAgIHotaW5kZXg6IC0xO1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgODQlKTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCA4NCUpO1xuICB9XG59XG5cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBTRVJWSUNFIEFSRUEgMlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnNlcnZpY2Utd3JhcCB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIC5zZXJ2aWNlLW5hdiB7XG4gICAgLm5hdi10YWJzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBsaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGEge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTQ7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICBmaWxsOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAubmF2LWxpbmtfX3RleHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zZXJ2aWNlLWNvbnRlbnQtd3JhcCB7XG4gICAgLnNlcnZpY2UtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICB9XG4gICAgICAuc2VydmljZV9faW1nIHtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc2VydmljZV9fdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICAgIC5zZXJ2aWNlX190ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG4gICAgICAuc2VydmljZV9fYnRuIHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBTRVJWSUNFIEFSRUEgM1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnNlcnZpY2UtYXJlYS0zIHtcbiAgLmluZm8tYm94LXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIHdoeS1jaG9vc2UtYXJlYTNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi53aHktY2hvb3NlLWFyZWEzIHtcbiAgLndoeS1jaG9vc2UtdGFiIHtcbiAgICBtYXJnaW4tdG9wOiA1NXB4O1xuICAgIC5uYXYtdGFicyB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGEge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIC5uYXYtbGlua19fdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3R0b206IC0xMHB4O1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudGFiLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICAuY2hvb3NlLXRhYi1jb250ZW50IHtcbiAgICAgICAgLmNob29zZS10YWItaXRlbSB7XG4gICAgICAgICAgLmNob29zZS10YWJfX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNob29zZS10YWJfX3RleHQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2hvb3NlLXRhYl9fbGlzdCB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmNob29zZS1idG4tYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMzcHg7XG4gICAgICAgICAgICAudGhlbWUtYnRuIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmNob29zZS1pbWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgYm90dG9tOiAtNjBweDtcbiAgICAgICAgICAgICAgcmlnaHQ6IC02MHB4O1xuICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kb3RzLnBuZ1wiKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgICAgICAgIGFuaW1hdGlvbjogc3Bpbm1lIDExMDAwbXMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09IHNob3AtZmVhdHVyZS1hcmVhID09PT09PT09PS0qL1xuLnNob3AtZmVhdHVyZS1hcmVhIHtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG59XG4uY2hvb3NlLWJveC13cmFwIHtcbiAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgIG1hcmdpbi10b3A6IDYwcHggIWltcG9ydGFudDtcbiAgfVxuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgbWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50O1xuICB9XG59XG4uc3RlcC1jb250ZW50LXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvdHRvbTogLTUwcHg7XG59XG4uc3RlcC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMzBweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMWVhZTA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTBweCk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHNwYW4ge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci04O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTE4cHg7XG4gICAgbGVmdDogMThweDtcbiAgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS0xNDtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDBweCAxM3B4IDQ2cHggLTE5cHggcmdiYSgwLCAwLCAwLCAwLjE1KSk7XG4gIH1cbn1cbiIsIi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBJQ09OIEJPWCBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uaWNvbi1ib3gtYXJlYSB7XG4gIC5pY29uLWJveC13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5cbi8qLT09PT09PT09PT0gSUNPTiBCT1ggPT09PT09PT09LSovXG4uaWNvbi1ib3gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgcGFkZGluZzogMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAuaWNvbi1ib3gtc2hhcGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICB0b3A6IDI1cHg7XG4gICAgICBsZWZ0OiAxMCU7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgdG9wOiAzNXB4O1xuICAgICAgcmlnaHQ6IDE1JTtcbiAgICB9XG4gIH1cbiAgLmJveF9faWNvbiB7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS02O1xuICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgfVxuICAuaWNvbl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS0xMztcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgIC5ib3hfX2ljb24sXG4gICAgLmljb25fX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PSBJQ09OIEJPWCAyID09PT09PT09PS0qL1xuLmljb24tYm94LTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDI1cHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgYm9yZGVyOiBub25lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDhweCk7XG4gIC5pY29uLWJveC1zaGFwZSB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgNjEsIDk4LCAwLjEpO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTMwZGVnKSk7XG4gIH1cbiAgLmJveF9faWNvbiB7XG4gICAgd2lkdGg6IDY1cHg7XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2NXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDYxLCA5OCwgMC4xKTtcbiAgICBmb250LXNpemU6ICRkaXNwbGF5LTg7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIC5ib3hfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgLmljb25fX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT0gSUNPTiBCT1ggMyA9PT09PT09PT0tKi9cbi5pY29uLWJveC0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAyNXB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg4cHgpO1xuICAuaWNvbi1ib3gtb3V0bGluZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgIC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDFweDtcbiAgICAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG4gICAgLW1zLXRleHQtc3Ryb2tlLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG4gICAgLW8tdGV4dC1zdHJva2UtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6ICRkaXNwbGF5LTY7XG4gIH1cbiAgLmJveF9faWNvbiB7XG4gICAgd2lkdGg6IDY1cHg7XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2NXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICBmb250LXNpemU6ICRkaXNwbGF5LTg7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMnB4KTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG4gIC5pY29uX190aXRsZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICB9XG4gICY6aG92ZXIge1xuICAgIC5ib3hfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICB9XG4gICAgLmljb25fX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09IElDT04gQk9YIDQgPT09PT09PT09LSovXG4uaWNvbi1ib3gtNCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgMjVweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDhweCk7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy10b3A6IDQycHg7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIC5ib3hfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICB3aWR0aDogNjVweDtcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDY1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDI1cHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgICBmb250LXNpemU6ICRkaXNwbGF5LTg7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICB9XG4gIC5pY29uX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gIH1cbiAgLmljb25fX3RleHQge1xuICAgIGEge1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICAuYm94X19pY29uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgLmljb25fX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09IElDT04gQk9YIDUgPT09PT09PT09LSovXG4uaWNvbi1ib3gtNSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgMjVweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDhweCk7XG4gIGJvcmRlcjogbm9uZTtcbiAgLmJveC1pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA5NXB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItNztcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAyNXB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgLmJveF9fY291bnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDI1cHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgfVxuICB9XG4gIC5ib3hfX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktODtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG4gIC5pY29uX190aXRsZSB7XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRkaXNwbGF5LTE0O1xuICB9XG4gICY6aG92ZXIge1xuICAgIC5ib3gtaWNvbiB7XG4gICAgICAuYm94X19pY29uIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgIC5ib3hfX2NvdW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTc7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDI1cHggcmdiYSg4MiwgODUsIDkwLCAwLjApKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmljb25fX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09IElDT04gQk9YIDYgPT09PT09PT09LSovXG4uaWNvbi1ib3gtNiB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDI1cHggcmdiYSg4MiwgODUsIDkwLCAwLjApKTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLmJveF9faWNvbiB7XG4gICAgd2lkdGg6IDY1cHg7XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2NXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAyNXB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS04O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgfVxuICAuaWNvbl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgMjVweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICB9XG59XG4vKi09PT09PT09PT09IElDT04gQk9YIDcgPT09PT09PT09LSovXG4uaWNvbi1ib3gtNyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgMjVweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAuYm94X19pY29uIHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDY1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAyNXB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS0xMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDMwcHgpO1xuICB9XG4gIC5mYS1mYWNlYm9vayB7XG4gICAgY29sb3I6ICMzNzc2RkY7XG4gIH1cbiAgLmZhLXR3aXR0ZXIge1xuICAgIGNvbG9yOiAjNDZDOUZGO1xuICB9XG4gIC5mYS1pbnN0YWdyYW0ge1xuICAgIGNvbG9yOiAjRTAzMDZDO1xuICB9XG4gIC5mYS15b3V0dWJlLXBsYXkge1xuICAgIGNvbG9yOiAjRjU0QzA0O1xuICB9XG4gIC5pY29uX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmb250LXNpemU6ICRkaXNwbGF5LTE0O1xuICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG4gIC5pY29uLWJveC1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxufVxuXG4uaWNvbi1zdHlsZS1vbmUge1xuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMzNzc2RkY7XG4gICAgLmZhLWZhY2Vib29rIHtcbiAgICAgIGNvbG9yOiAjMzc3NkZGO1xuICAgIH1cbiAgICAuaWNvbl9fdGl0bGUge1xuICAgICAgY29sb3I6ICMzNzc2RkY7XG4gICAgfVxuICB9XG59XG4uaWNvbi1zdHlsZS10d28ge1xuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM0NkM5RkY7XG4gICAgLmZhLXR3aXR0ZXIge1xuICAgICAgY29sb3I6ICM0NkM5RkY7XG4gICAgfVxuICAgIC5pY29uX190aXRsZSB7XG4gICAgICBjb2xvcjogIzQ2QzlGRjtcbiAgICB9XG4gIH1cbn1cbi5pY29uLXN0eWxlLXRocmVlIHtcbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRTAzMDZDO1xuICAgIC5mYS1pbnN0YWdyYW0ge1xuICAgICAgY29sb3I6ICNFMDMwNkM7XG4gICAgfVxuICAgIC5pY29uX190aXRsZSB7XG4gICAgICBjb2xvcjogI0UwMzA2QztcbiAgICB9XG4gIH1cbn1cbi5pY29uLXN0eWxlLWZvdXIge1xuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNGNTRDMDQ7XG4gICAgLmZhLXlvdXR1YmUtcGxheSB7XG4gICAgICBjb2xvcjogI0Y1NEMwNDtcbiAgICB9XG4gICAgLmljb25fX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAjRjU0QzA0O1xuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09IElDT04gQk9YIDggPT09PT09PT09LSovXG4uaWNvbi1ib3gtOCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBub25lO1xuICAuYm94X19pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDgsIDkyLCAyMzEsIDAuMSk7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS0xMjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gIH1cbiAgLmljb24tYm94LWNvbnRlbnQge1xuICAgIC5pY29uX190aXRsZSB7XG4gICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQ7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICB9XG4gIH1cbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCA0cHggNHB4IDApO1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIC5ib3hfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICB9XG4gIH1cbn0iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgUFJPR1JFU1MgQkFSIEFSRUFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5wcm9ncmVzcy1iYXItYXJlYSB7XG4gIC5wcm9ncmVzcy1iYXItd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuLnByb2dyZXNzLWJhci0xIHtcbiAgLmJhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAuc2tpbGwge1xuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5iYXItb3V0ZXIge1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgLnNwZWVjaC1idWJibGUge1xuICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMzdweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyOiAwLjRlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC40ZW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5iYXItaW5uZXIge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICB9XG4gICAgICAuaHRtbCxcbiAgICAgIC5waG90byB7XG4gICAgICAgIGxlZnQ6IGNhbGMoNzUlIC0gMS41ZW0pO1xuICAgICAgfVxuICAgICAgLmpxdWVyeSB7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTUlIC0gMS41ZW0pO1xuICAgICAgfVxuICAgICAgLnNrZXRjaCxcbiAgICAgIC5pbGx1c3RyYXRvciB7XG4gICAgICAgIGxlZnQ6IGNhbGMoOTAlIC0gMS41ZW0pO1xuICAgICAgfVxuICAgICAgLmluZGVzaWduIHtcbiAgICAgICAgbGVmdDogY2FsYyg4NSUgLSAxLjVlbSk7XG4gICAgICB9XG5cbiAgICAgIC5odCxcbiAgICAgIC5odG1sIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICB9XG4gICAgICAuaHRtbCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuanEsXG4gICAgICAuanF1ZXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTI7XG4gICAgICB9XG4gICAgICAuanF1ZXJ5IHtcbiAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRhbHRlci1jb2xvci0yO1xuICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zayxcbiAgICAgIC5za2V0Y2gge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWx0ZXItY29sb3ItMztcbiAgICAgIH1cbiAgICAgIC5za2V0Y2gge1xuICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGFsdGVyLWNvbG9yLTM7XG4gICAgICAgfVxuICAgICAgfVxuICAgICAgLnBoLFxuICAgICAgLnBob3RvIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFsdGVyLWNvbG9yLTQ7XG4gICAgICB9XG4gICAgICAucGhvdG8ge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYWx0ZXItY29sb3ItNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmlsLFxuICAgICAgLmlsbHVzdHJhdG9yIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFsdGVyLWNvbG9yLTU7XG4gICAgICB9XG4gICAgICAuaWxsdXN0cmF0b3Ige1xuICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGFsdGVyLWNvbG9yLTU7XG4gICAgICAgfVxuICAgICAgfVxuICAgICAgLmluLFxuICAgICAgLmluZGVzaWduIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFsdGVyLWNvbG9yLTc7XG4gICAgICB9XG4gICAgICAuaW5kZXNpZ24ge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYWx0ZXItY29sb3ItNztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFBST0dSRVNTIEJBUiBBUkVBIDRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5jaXJjbGUtYmFyLXdyYXAge1xuICAuY2lyY2xlY2hhcnQge1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICAuY2lyY2xlLWNoYXJ0IHtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgfVxuICAgIC5zdWNjZXNzLXN0cm9rZSB7XG4gICAgICBzdHJva2U6JHRoZW1lLWNvbG9yLTI7XG4gICAgfVxuICB9XG4gIC5jaXJjbGVjaGFydDIge1xuICAgIC5zdWNjZXNzLXN0cm9rZSB7XG4gICAgICBzdHJva2U6JHRoZW1lLWNvbG9yLTU7XG4gICAgfVxuICB9XG4gIC5jaXJjbGVjaGFydDMge1xuICAgIC5zdWNjZXNzLXN0cm9rZSB7XG4gICAgICBzdHJva2U6JGFsdGVyLWNvbG9yLTI7XG4gICAgfVxuICB9XG4gIC5jaXJjbGVjaGFydDQge1xuICAgIC5zdWNjZXNzLXN0cm9rZSB7XG4gICAgICBzdHJva2U6JGFsdGVyLWNvbG9yLTc7XG4gICAgfVxuICB9XG59IiwiLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIElOU1RBR1JBTSBXSURHRVQgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmluc3RhZ3JhbS13aWRnZXQtYXJlYSB7XG4gIC5pbnN0YWdyYW0td2lkZ2V0LXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgLmNvbC1sZy00LmNvbC1zbS02IHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PSBpbnN0YWdyYW0td2lkZ2V0LWl0ZW0gPT09PT09PT09PT09LSovXG4uaW5zdGFncmFtLXdpZGdldC1pdGVtIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIC5hdmF0YXItbW9yZS1vcHRpb24ge1xuICAgIC5kcm9wZG93biB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHRvcDogODBweDtcbiAgICB9XG4gICAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2cHg7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiByZ2JhKDE1OCwgMTY2LCAxODYsIDAuNyk7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgLmxhLWVsbGlwc2lzLWgge1xuICAgICAgICBsaW5lLWhlaWdodDogNnB4O1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IyO1xuICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgIHBhZGRpbmc6IDdweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMztcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pbnN0YWdyYW0td2lkZ2V0LXRodW1iIHtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCA0cHggMCAwKTtcbiAgICB9XG4gIH1cbiAgLmF2YXRhci11c2VyLWFjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IC01NXB4O1xuICAgIC5hdmF0YXItdXNlci1wcm9maWxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM0cHg7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgYm9yZGVyOiA1cHggc29saWQgJHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgICB9XG4gICAgICAuYXZhdGFyLXVzZXJfX25hbWUge1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEzO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICAuZmEtY2hlY2stY2lyY2xlIHtcbiAgICAgICAgICBjb2xvcjogJGFsdGVyLWNvbG9yLTg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5hdmF0YXItdXNlcl9fbWV0YSB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250O1xuICAgICAgfVxuICAgICAgLmF2YXRhci11c2VyX190ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cbiAgICAgIC5hdmF0YXItdXNlcl9fbGluayB7XG4gICAgICAgIGNvbG9yOiAkYWx0ZXItY29sb3ItODtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmluc3RhZ3JhbS13aWRnZXQtbmF2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM0cHg7XG4gICAgICB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDI5JTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMlO1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAmLmluc3RhZ3JhbV9fbnVtYmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaW5zdGFncmFtX190ZXh0IHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5pbnN0YWdyYW0td2lkZ2V0LWFjdGlvbi1idG4ge1xuICAgICAgLnRoZW1lLWJ0biB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMTJweCAyNHB4IC02cHggcmdiYSg0NiwgNjEsIDk4LCAwLjEpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZvbGxvdy1idG4ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTg7XG4gICAgICB9XG4gICAgICAubWVzc2FnZS1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LDEzNiwgMTUxLCAwLjIpO1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTI3LDEzNiwgMTUxLCAwLjYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09IGluc3RhZ3JhbS13aWRnZXQtaXRlbS0yID09PT09PT09PT09PS0qL1xuLmluc3RhZ3JhbS13aWRnZXQtaXRlbS0yIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLmluc3RhZ3JhbS13aWRnZXQtYXZhdGFyIHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIEBtZWRpYSAjeyRsYXB0b3BfbV9mb3VyfSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgJHdoaXRlO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuaW5zdGFncmFtLXdpZGdldC1uYXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE4cHg7XG4gICAgICBAbWVkaWEgI3skbGFwdG9wX21fZm91cn0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICBAbWVkaWEgI3skbGFwdG9wX21fZm91cn0ge1xuICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAmLmluc3RhZ3JhbV9fbnVtYmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaW5zdGFncmFtX190ZXh0IHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5pbnN0YWdyYW0td2lkZ2V0LWFjdGlvbi1idG4ge1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIH1cbiAgICAgIC50aGVtZS1idG4ge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDAgMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mb2xsb3ctYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTg7XG4gICAgICB9XG4gICAgICAubWVzc2FnZS1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LDEzNiwgMTUxLCAwLjIpO1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTI3LDEzNiwgMTUxLCAwLjYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZHJvcGRvd24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICAuc2V0dGluZy1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LDEzNiwgMTUxLCAwLjIpO1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNTtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEyNywxMzYsIDE1MSwgMC42KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYXZhdGFyLXVzZXItcHJvZmlsZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5hdmF0YXItdXNlcl9fbmFtZSB7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEzO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgLmZhLWNoZWNrLWNpcmNsZSB7XG4gICAgICAgIGNvbG9yOiAkYWx0ZXItY29sb3ItODtcbiAgICAgIH1cbiAgICB9XG4gICAgLmF2YXRhci11c2VyX19tZXRhIHtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udDtcbiAgICB9XG4gICAgLmF2YXRhci11c2VyX190ZXh0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gICAgLmF2YXRhci11c2VyX19saW5rIHtcbiAgICAgIGNvbG9yOiAkYWx0ZXItY29sb3ItODtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgVklERU8gR0FMTEVSWSBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4udmlkZW8tZ2FsbGVyeS1hcmVhIHtcbiAgLnZpZGVvLWdhbGxlcnktd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuLyotPT09PT09PT0gdmlkZW8tZ2FsbGVyeS1pdGVtID09PT09PT09PS0qL1xuLnZpZGVvLWdhbGxlcnktaXRlbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMikpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGJvcmRlcjogOHB4IHNvbGlkICR3aGl0ZTtcbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gIH1cbiAgLnZpZGVvLXBsYXktYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDYxLCA5OCwgMC43KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktNztcbiAgICAudmlkZW9fX2ljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIC52aWRlby1wbGF5LWJ0biB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09IHZpZGVvLWdhbGxlcnktaXRlbS0yID09PT09PT09PS0qL1xuLnZpZGVvLWdhbGxlcnktaXRlbS0yIHtcbiAgLnZpZGVvLXBsYXktYnRuIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS0xMDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDYxLCA5OCwgMC45KTtcbiAgICB9XG4gIH1cbn1cblxuLnZpZGVvLWdhbGxlcnktY2Fyb3VzZWwsXG4udmlkZW8tZ2FsbGVyeS1jYXJvdXNlbDIge1xuICAub3dsLW5hdiB7XG4gICAgZGl2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMzBweDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQ7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgICYub3dsLW5leHQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnZpZGVvLWdhbGxlcnktaXRlbS00IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDAgMCk7XG4gIGJvcmRlcjogbm9uZTtcbiAgLmdhbGxlcnlfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn0iLCIvKi09PT09PT09PT09PT0gYmxvY2txdW90ZS1pdGVtID09PT09PT09PT09LSovXG4uYmxvY2txdW90ZS1pdGVtIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgYmxvY2txdW90ZXtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHggMTVweCA3NXB4O1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGFsdGVyLWNvbG9yLTc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9mb3VyfSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgfVxuICAgIC5ibG9ja3F1b3RlX19pY29ue1xuICAgICAgY29sb3I6ICRhbHRlci1jb2xvci03O1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS05O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfZm91cn0ge1xuICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuYmxvY2txdW90ZV9fdGV4dCB7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cbiAgICAuYmxvY2txdW90ZV9fbWV0YSB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udDtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKi09PT09PT09PT09PT0gYmxvY2txdW90ZS1pdGVtLTIgPT09PT09PT09PT0tKi9cbi5ibG9ja3F1b3RlLWl0ZW0tMiB7XG4gIGJsb2NrcXVvdGV7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ltZzExLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgIH1cbiAgICAuYmxvY2txdW90ZV9faWNvbntcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIGxlZnQ6IDUwcHg7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMXB4O1xuICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIH1cbiAgICAuYmxvY2txdW90ZV9fdGV4dCxcbiAgICAuYmxvY2txdW90ZV9fbWV0YSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAuYmxvY2txdW90ZV9fbWV0YSB7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxuICB9XG59XG5cbi8qLT09PT09PT09PT09PSBibG9ja3F1b3RlLWl0ZW0tMyA9PT09PT09PT09PS0qL1xuLmJsb2NrcXVvdGUtaXRlbS0zIHtcbiAgLmJsb2NrcXVvdGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGgxIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTQ7XG4gICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcjtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMjBweCk7XG4gICAgICBwYWRkaW5nOiAyNXB4IDM1cHg7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcjtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDUwcHggMCAwKTtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgYm90dG9tOiAtNzBweDtcbiAgICAgICAgbGVmdDogNTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgYm9yZGVyOiA2cHggc29saWQgJHdoaXRlO1xuICAgICAgICBib3R0b206IC0ycHg7XG4gICAgICAgIGxlZnQ6IDUwcHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG4gICAgfVxuICAgIGg0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG1hcmdpbi1sZWZ0OjE1MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OjEycHg7XG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250O1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09IGJsb2NrcXVvdGUtaXRlbS00ID09PT09PT09PT09LSovXG4uYmxvY2txdW90ZS1pdGVtLTQge1xuICAuYmxvY2txdW90ZS1pdGVtLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbiAgYmxvY2txdW90ZXtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09IGJsb2NrcXVvdGUtaXRlbS01ID09PT09PT09PT09LSovXG4uYmxvY2txdW90ZS1pdGVtLTUge1xuICBibG9ja3F1b3Rle1xuICAgIGJvcmRlci1sZWZ0Om5vbmU7XG4gICAgcGFkZGluZzogNDVweCA1MHB4O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMjBweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmluZm8tZG90IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgIGxlZnQ6IDEwJTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGJvdHRvbTogMTAlO1xuICAgICAgICBsZWZ0OiA0MCU7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIGJvdHRvbTogMjAlO1xuICAgICAgICByaWdodDogMjAlO1xuICAgICAgfVxuICAgIH1cbiAgICAucXVvdGF0aW9uLW1hcmt7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgY29sb3I6IHJnYmEoMTI3LCAxMzgsIDE1MSwgMC4yKTtcbiAgICB9XG4gICAgLnF1b3RlLXRleHR7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE0O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuICAgIC5ibG9nLXBvc3QtYWN0aW9ucyB7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgcmdiYSgxMjcsIDEzOCwgMTUxLCAwLjEpO1xuICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgLmJsb2ctcG9zdC1tZXRhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICB9XG4gICAgICAuYmxvZy1wb3N0LWJhZGdlIHtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC5xdW90ZS1iYWRnZXtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyNywgMTM4LCAxNTEsIDAuMyk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgcGFkZGluZzogOHB4IDEwcHggNXB4IDEwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiA4NSU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDIwcHgpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgICB6LWluZGV4OiAtMjtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICB9XG4gIH1cbn0iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQ09VTlRFUiBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uY291bnRlci1hcmVhIHtcbiAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICAgIGJyIHtcbiAgICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uY291bnRlci13cmFwIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLyo9PT09PT09PT0gY291bnRlci1pdGVtID09PT09PT09PSovXG4uY291bnRlci1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAuY291bnRlci1jb250ZW50IHtcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuY291bnRlcl9faWNvbiB7XG4gICAgICB3aWR0aDogNzBweDtcbiAgICAgIGhlaWdodDogNzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItNztcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNjUlIDMwJSAzMCUgNjUlLzU1JSAzNSUgNTAlIDQwJSk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4yKSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS04O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgLmNvdW50ZXJfX251bWIge1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS03O1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgbWFyZ2luLXRvcDogMzNweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIC5jb3VudGVyX190aXRsZSB7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTE0O1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICAuY291bnRlci1jb250ZW50IHtcbiAgICAgIC5jb3VudGVyX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGNvdW50ZXItaXRlbS0yXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uY291bnRlci1pdGVtLTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjA1KSk7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCA0cHggNHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItODtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuICAuY291bnRlci1jb250ZW50IHtcbiAgICAuY291bnRlcl9faWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI2LCAxNTEsIDI0MCwgMC4xKTtcbiAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDY1cHg7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBjb2xvcjogJGFsdGVyLWNvbG9yLTg7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAwIDApO1xuICAgIH1cbiAgICAuY291bnRlcl9fbnVtYiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS05O1xuICAgIH1cbiAgICAuY291bnRlcl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250O1xuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICAuY291bnRlci1jb250ZW50IHtcbiAgICAgIC5jb3VudGVyX19pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGVyLWNvbG9yLTg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBjb3VudGVyLWl0ZW0tM1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmNvdW50ZXItaXRlbS0zIHtcbiAgLmNvdW50ZXItY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHdpZHRoOiAyMzVweDtcbiAgICBoZWlnaHQ6IDIzNXB4O1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSgxNCwgMTYsIDQ4LCAwLjA1KSk7XG4gICAgei1pbmRleDogMTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgd2lkdGg6IDIxMHB4O1xuICAgICAgaGVpZ2h0OiAyMTBweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICBwYWRkaW5nLXRvcDogNjVweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgcGFkZGluZy10b3A6IDY1cHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGVfb25lfSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRvcDogMTJweDtcbiAgICAgIGxlZnQ6IDEycHg7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgaGVpZ2h0OiA5MCU7XG4gICAgICBib3JkZXI6IDNweCBkb3R0ZWQgcmdiYSg5MiwgNzIsIDIyNCwgMC4yKTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgICAuY291bnRlcl9faWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDcwcHg7XG4gICAgICBsZWZ0OiA0MHB4O1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS00O1xuICAgICAgY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4xKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDAgMCk7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXG4gICAgfVxuICAgIC5jb3VudGVyX19udW1ie1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS02O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICBjb2xvcjogJGFsdGVyLWNvbG9yO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBzdXAge1xuICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvdW50ZXJfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB9XG4gIH1cbiAgJjpudGgtY2hpbGQoMikge1xuICAgIC5jb3VudGVyLWl0ZW0ge1xuICAgICAgLmNvdW50ZXItY29udGVudCB7XG4gICAgICAgIC5jb3VudGVyX19udW1iIHtcbiAgICAgICAgICBjb2xvcjogJGFsdGVyLWNvbG9yLTI7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDc1LCAyMzAsIDE4NCwgMC4yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOm50aC1jaGlsZCgzKSB7XG4gICAgLmNvdW50ZXItaXRlbSB7XG4gICAgICAuY291bnRlci1jb250ZW50IHtcbiAgICAgICAgLmNvdW50ZXJfX251bWIge1xuICAgICAgICAgIGNvbG9yOiAkYWx0ZXItY29sb3ItMztcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjQ3LCAxNDAsIDEsIDAuMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpudGgtY2hpbGQoNCkge1xuICAgIC5jb3VudGVyLWl0ZW0ge1xuICAgICAgLmNvdW50ZXItY29udGVudCB7XG4gICAgICAgIC5jb3VudGVyX19udW1iIHtcbiAgICAgICAgICBjb2xvcjogJGFsdGVyLWNvbG9yLTQ7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE5NywgMCwgMjM4LCAwLjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgIGNvdW50ZXItaXRlbS00XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uY291bnRlci1pdGVtLTQge1xuICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmNvdW50ZXItY29udGVudCB7XG4gICAgLmNvdW50ZXJfX2ljb24ge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3R0b206IC05cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogOXB4IHNvbGlkICR0aGVtZS1jb2xvcjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvdW50ZXJfX251bWIge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgLmNvdW50ZXItY29udGVudCB7XG4gICAgICAuY291bnRlcl9faWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgIGNvdW50ZXItaXRlbS01XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uY291bnRlci1pdGVtLTUge1xuICAuY291bnRlci1jb250ZW50IHtcbiAgICAuY291bnRlcl9faWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgMCAwKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3R0b206IC02cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICR0aGVtZS1jb2xvci0yO1xuICAgICAgfVxuICAgICAgJi5iZy0yIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGFsdGVyLWNvbG9yLTI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuYmctMyB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRhbHRlci1jb2xvci0zO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmJnLTQge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYWx0ZXItY29sb3ItNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY291bnRlcl9fbnVtYiB7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbiAgICAuY291bnRlcl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNTtcbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgLmNvdW50ZXItY29udGVudCB7XG4gICAgICAuY291bnRlcl9faWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgY291bnRlci1pdGVtLTZcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tKi9cbi5jb3VudGVyLWl0ZW0tNiB7XG4gIC5jb3VudGVyLWNvbnRlbnQge1xuICAgIC5jb3VudGVyX19udW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzcsIDE1MSwgMC4xKTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTBweCk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4wNykpO1xuICAgICAgcGFkZGluZzogMzBweCAxMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvdHRvbTogLThweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoNDVkZWcpKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNywgMTUxLCAwLjEpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM3LCAxNTEsIDAuMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEZVTkZBQ1QgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmZ1bmZhY3QtYXJlYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgLmZ1bmZhY3QtaW1nLWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IDEwcHggc29saWQgJHdoaXRlO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDE0LDE2LDQ4LC4wNSkpO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgIH1cbiAgICAudmlkZW8tcGxheS1idG4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMDtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTAwcHg7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCAwIDRweCAwKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTIwcHg7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTY7XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgIGhlaWdodDogNzkwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgIGhlaWdodDogNzkwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgIGhlaWdodDogNzkwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfdGhyZWV9IHtcbiAgICAgIGhlaWdodDogMTExN3B4O1xuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEZVTkZBQ1QgQVJFQSAyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uZnVuZmFjdC1hcmVhMiB7XG4gIC5jb3VudGVyLXdyYXAge1xuICAgIC5jb2wtbGctMyB7XG4gICAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAgICY6bnRoLWNoaWxkKDMpe1xuICAgICAgICAuY291bnRlci1pdGVtIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICAgICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOmFmdGVyLFxuICAmOmJlZm9yZXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgdG9wOiA1MHB4O1xuICAgIGxlZnQ6IDUwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2RvdHMucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogNTBweDtcbiAgICByaWdodDogNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uZ2V0LXN0YXJ0ZWQtdGV4dCB7XG4gIC5nZXRzdGFydF9fZGVzYyB7XG4gICAgLnRoZW1lLWJ0biB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0zO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEZVTkZBQ1QgQVJFQSA1XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uZnVuZmFjdC1hcmVhNSB7XG4gIC5jb3VudGVyLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgLmNvdW50ZXJfX3BlcmNlbnQge1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMTtcbiAgICAgIHRvcDogLTEzcHg7XG4gICAgICByaWdodDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuIiwiLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIE1PQklMRSBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4ubW9iaWxlLWFwcC1pbWcge1xuICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbiAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbiAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLmFwcC1jb250ZW50IHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYXBwLWJ0bi1ib3gge1xuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX3RocmVlfSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGNsaWVudGxvZ28tYXJlYVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmNsaWVudGxvZ28tYXJlYSB7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAuY2xpZW50LWxvZ28ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAub3dsLWl0ZW0ge1xuICAgICAgLmNsaWVudC1sb2dvLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgY2xpZW50bG9nby1hcmVhIDJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5jbGllbnRsb2dvLWFyZWEyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTY7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvdHRvbTogLTMwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAzMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDMwcHggc29saWQgJHRoZW1lLWNvbG9yLTY7XG4gIH1cbn1cblxuXG5cblxuXG5cbiIsIi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENPTlRBQ1QgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmNvbnRhY3QtZm9ybS1hY3Rpb24ge1xuICBmb3JtIHtcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAuZm9ybS1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICB9XG4gICAgICAuc2VhcmNoLWJ0biB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNXB4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDIwcHggMTJweCA0MHB4O1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAwIDApO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubWVzc2FnZS1jb250cm9sIHtcbiAgICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgIH1cbiAgICAgIC5mb3JtLWNvbnRyb2xbdHlwZT1cImVtYWlsXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye1xuICAgICAgICBjb2xvcjogcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjYpO1xuICAgICAgfVxuICAgICAgLmZvcm0tY29udHJvbFt0eXBlPVwiZW1haWxcIl06Oi1tb3otcGxhY2Vob2xkZXJ7XG4gICAgICAgIGNvbG9yOiByZ2JhKDEyNywgMTM2LCAxNTEsIDAuNik7XG4gICAgICB9XG4gICAgICAuZm9ybS1jb250cm9sW3R5cGU9XCJlbWFpbFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7XG4gICAgICAgIGNvbG9yOiByZ2JhKDEyNywgMTM2LCAxNTEsIDAuNik7XG4gICAgICB9XG4gICAgICAuZm9ybS1jb250cm9sW3R5cGU9XCJlbWFpbFwiXTotbW96LXBsYWNlaG9sZGVye1xuICAgICAgICBjb2xvcjogcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjYpO1xuICAgICAgfVxuICAgICAgLmZvcm0tY29udHJvbFt0eXBlPVwidGV4dFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntcbiAgICAgICAgY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC42KTtcbiAgICAgIH1cbiAgICAgIC5mb3JtLWNvbnRyb2xbdHlwZT1cInRleHRcIl06Oi1tb3otcGxhY2Vob2xkZXJ7XG4gICAgICAgIGNvbG9yOiByZ2JhKDEyNywgMTM2LCAxNTEsIDAuNik7XG4gICAgICB9XG4gICAgICAuZm9ybS1jb250cm9sW3R5cGU9XCJ0ZXh0XCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcntcbiAgICAgICAgY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC42KTtcbiAgICAgIH1cbiAgICAgIC5mb3JtLWNvbnRyb2xbdHlwZT1cInRleHRcIl06LW1vei1wbGFjZWhvbGRlcntcbiAgICAgICAgY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC42KTtcbiAgICAgIH1cbiAgICAgIC5mb3JtLWNvbnRyb2xbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntcbiAgICAgICAgY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC42KTtcbiAgICAgIH1cbiAgICAgIC5mb3JtLWNvbnRyb2xbdHlwZT1cInNlYXJjaFwiXTo6LW1vei1wbGFjZWhvbGRlcntcbiAgICAgICAgY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC42KTtcbiAgICAgIH1cbiAgICAgIC5mb3JtLWNvbnRyb2xbdHlwZT1cInNlYXJjaFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7XG4gICAgICAgIGNvbG9yOiByZ2JhKDEyNywgMTM2LCAxNTEsIDAuNik7XG4gICAgICB9XG4gICAgICAuZm9ybS1jb250cm9sW3R5cGU9XCJzZWFyY2hcIl06LW1vei1wbGFjZWhvbGRlcntcbiAgICAgICAgY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC42KTtcbiAgICAgIH1cbiAgICAgIC5zZW5kX19idG4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OXB4O1xuICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMztcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgNHB4IDRweCAwKTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKj09PT09PT09IHNlbGVjdC1vcHRpb24gPT09PT09PSovXG4uc2VsZWN0LW9wdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLmZvcm0taWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTZweDtcbiAgICBsZWZ0OiAyMHB4O1xuICB9XG4gIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjIpOztcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHggMTJweCA0MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC42KTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1vLWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjUpO1xuICAgIH1cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcXGYxMDdcIjtcbiAgICB0b3A6IDEycHg7XG4gICAgcmlnaHQ6IDEzcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiTGluZSBBd2Vzb21lIEZyZWVcIjtcbiAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIH1cbn1cblxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQVBQT0lOVE1FTlQgQVJFQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmFwcG9pbnRtZW50LWFyZWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC5hcHBvaW50bWVudC1jb250ZW50LWJveCB7XG4gICAgLmNvbnRhY3QtZm9ybS1hY3Rpb24ge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIGZvcm0ge1xuICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgLmRhdGUtcmFuZ2Uge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMTI3LCAxMzYsIDE1MSwgMC42KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmFwcG9pbnRtZW50LWltZy1ib3gge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICBib3JkZXI6IDEwcHggc29saWQgJHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IC02MHB4O1xuICAgICAgcmlnaHQ6IC02MHB4O1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kb3RzLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBhbmltYXRpb246IHNwaW5tZSAxMTAwMG1zIGluZmluaXRlIGxpbmVhcjtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgb3BhY2l0eTogMC4yO1xuICAgIH1cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTY7XG4gICAgei1pbmRleDogLTE7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCAwLCA5MSUgMCwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCA5MSUgMCwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcbiAgfVxufVxuLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ09OVEFDVCBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uY29udGFjdC1hcmVhIHtcbiAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAuc2VjdGlvbl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAkZGlzcGxheS05O1xuICAgIH1cbiAgfVxuICAuY29udGFjdC1pbWcge1xuICAgIG1hcmdpbi10b3A6IDc1cHg7XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAuY29udGFjdC1hZGRyZXNzIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIC5jb2wtbGctNC5jb2wtc20tNiB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRhY3QtaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgLmNvbnRhY3RfX2hlYWRpbmcge1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qPT09PT09PT0gY29udGFjdC1mb3JtLWl0ZW0gPT09PT09PT0qL1xuLmNvbnRhY3QtZm9ybS1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgcGFkZGluZzogNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDQwcHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgNHB4IDRweCk7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG59XG4vKj09PT09PT09IGNvbnRhY3QtY2FyZCA9PT09PT09PSovXG4uY29udGFjdC1jYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDQwcHggcmdiYSg4MiwgODUsIDkwLCAwLjEpKTtcbiAgcGFkZGluZzogNDBweCA0MHB4IDI1cHggNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAuY29udGFjdF9fc3ViaGVkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICB9XG4gIC5jb250YWN0X190ZXh0IHtcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIGkge1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ2LCA2MSwgOTgsIDAuMSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNDBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCA0cHggNHB4KTtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cbn1cblxuLyo9PT09PT09PSBzdXBwb3J0LWFyZWE9PT09PT09PSovXG4uc3VwcG9ydC1hcmVhIHtcbiAgLmNvbnRhY3QtZm9ybS1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiA1OHB4O1xuICB9XG59XG5cbi5hY2NvdW50LWFzc2lzdCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiA0NSU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI4LCAxMzYsIDE1OCwgMC40KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogNDUlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyOCwgMTM2LCAxNTgsIDAuNCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgIH1cbiAgfVxuICAuY3JlYXRlLWFjY291bnQtdGV4dCB7XG4gICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKj09PT09PT09IGZvcm0tYXJlYSA9PT09PT09PSovXG4uZm9ybS1hcmVhIHtcbiAgcGFkZGluZy10b3A6IDI0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIH1cbiAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgfVxuICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgcGFkZGluZy10b3A6IDIwMHB4O1xuICB9XG4gIC5jb250YWN0LWltZyB7XG4gICAgbWFyZ2luLXRvcDogMTQwcHg7XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX2ZvdXJ9IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb250YWN0LWltZy50ZXh0LXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcbiAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLmNvbnRhY3QtZm9ybS1hY3Rpb24ge1xuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIC50aGVtZS1idG4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktOTtcbiAgICB9XG4gIH1cbiAgZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuIiwiLyotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU0lERUJBUlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLnNpZGViYXIge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxMzYsIDE1MSwgMC4yKTtcbiAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweDtcbiAgLnNpZGViYXItaW1nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogMTFyZW07XG4gICAgICB3aWR0aDogMTFyZW07XG4gICAgfVxuICB9XG4gIC5zaWRlYmFyLXdpZGdldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAud2lkZ2V0X190aXRsZSB7XG4gICAgICBmb250LXNpemU6ICRkaXNwbGF5LTEzO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICB9XG4gICAgLnNpZGVfX2Rlc2Mge1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxuICAgIC53aWRnZXRfX2xpc3Qge1xuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBhLFxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgNjEsIDk4LCAwLjA1KTtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgICAgIC5jYXQtY291bnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTM7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDNweDtcbiAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDYxLCA5OCwgMC4xKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgNHB4IDRweCAwKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhLFxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnRhZ19fbGlzdCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jb250YWN0X19saW5rcyB7XG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgNjEsIDk4LCAwLjEpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zaWRlX19idG5zIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAudGhlbWUtYnRuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBtZWRpYSAjeyRsYXB0b3BfbV9mb3VyfSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmxhIHtcbiAgICAgICAgICBAbWVkaWEgI3skbGFwdG9wX21fZm91cn0ge1xuICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgLnRoZW1lLWJ0biB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0ZXItY29sb3ItNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNvY2lhbF9fbGlua3Mge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ2LCA2MSwgOTgsIDAuMSk7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb250YWN0LWZvcm0tYWN0aW9uIHtcbiAgICBmb3JtIHtcbiAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5yZWNlbnQtd2lkZ2V0IHtcbiAgLm5hdi10YWJzIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICBAbWVkaWEgI3skbGFwdG9wX21fZm91cn0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZV9mb3VyfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICAgICAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3R0b206IC02cHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnJlY2VudC1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDEyNywgMTM2LCAxNTEsIDAuMSk7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICAgIC5yZWNlbnQtaW1nIHtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiA4NXB4O1xuICAgICAgICBoZWlnaHQ6IDc4cHg7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNDBweCByZ2JhKDgyLCA4NSwgOTAsIDAuMSkpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIEBtZWRpYSAjeyRsYXB0b3BfbV9mb3VyfSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICAgICAgd2lkdGg6IDg1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA3OHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICB3aWR0aDogODVweDtcbiAgICAgICAgICBoZWlnaHQ6IDc4cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgIHdpZHRoOiA4NXB4O1xuICAgICAgICAgIGhlaWdodDogNzhweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAucHJvLWltZyB7XG4gICAgICBpbWcge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAwIDApO1xuICAgICAgfVxuICAgIH1cbiAgICAucmVjZW50cG9zdC1ib2R5IHtcbiAgICAgIC5yZWNlbnRfX21ldGEge1xuICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMztcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5yZWNlbnRfX2xpbmsge1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wcm9fX2xpbmsge1xuICAgICAgICBhIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc2VsbC1yYXRpbmctY29udGVudCB7XG4gICAgICAgIC5zZWxsX19yYXRpbmcge1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC00O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wcmljZXMge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQ7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAmLm9sZF9fcHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBFUlJPUlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0qL1xuLmVycm9yLWNvbnRlbnQge1xuICAuZXJyb3JfX2ltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5lcnJvci1oZWFkaW5nIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjEpO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgLmVycm9yX190aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICBmb250LXNpemU6ICRwcmltYXJ5LWZvbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlX29uZX0ge1xuICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuZXJyb3JfX3RleHQge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIGJyIHtcbiAgICAgICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb250YWN0LWZvcm0tYWN0aW9uIHtcbiAgICAuY29udGFjdF9fdGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICBmb3JtIHtcbiAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5zZWFyY2gtYnRuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgNHB4IDRweCAwKTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuY29tbWVudHMtd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIC5jb21tZW50cy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkZGlzcGxheS04O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDMzcHg7XG4gIH1cbiAgLmxlYXZlLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgfVxuICAubGVhdmUtZGVzYyB7XG4gICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250O1xuICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgfVxuICAuY29tbWVudHMtbGlzdCB7XG4gICAgbGkge1xuICAgICAgLmNvbW1lbnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgLmF2YXRhcl9faW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgIGJvcmRlcjogOHB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA0MHB4IHJnYmEoODIsIDg1LCA5MCwgMC4xKSk7XG4gICAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29tbWVudC1ib2R5IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTEwcHg7XG4gICAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5tZXRhLWRhdGEge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29tbWVudF9fYXV0aG9yIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xNTtcbiAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb21tZW50X19kYXRlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAucmV2aWV3X19zdGFycyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItNTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTM7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuY29tbWVudC1jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNvbW1lbnQtcmVwbHkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb21tZW50X19idG4ge1xuICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDE0cHg7XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzMHB4KTtcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaGVscGZ1bF9fYnRuIHtcbiAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMztcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgICAgIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGV9IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjgsIDEzNywgMTUwLCAwLjQpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjgsIDEzNywgMTUwLCAwLjEpO1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb21tZW50cy1yZXBseSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMzBweDtcbiAgICAgICAgQG1lZGlhICN7JGxhcHRvcF9tX2ZvdXJ9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNvbnRhY3QtZm9ybS1hY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIC5tZXNzYWdlLWNvbnRyb2wge1xuICAgICAgICBoZWlnaHQ6IDE3MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZPT1RFUiBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uZm9vdGVyLWFyZWEge1xuICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLmZvb3Rlci1zdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmlsbDogJHRoZW1lLWNvbG9yLTY7XG4gIH1cbiAgLmZvb3Rlci1pdGVtIHtcbiAgICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZX0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG4gICAgLnNlY3Rpb24tZGl2aWRlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAubG9nbyB7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgICB9XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbiAgICAuZm9vdGVyX19kZXNjIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIH1cbiAgICAuZm9vdGVyX190aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTQ7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cbiAgICAudXNlci1saW5rcyB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtMjtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3ItMjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyLWNvbnRhY3Qge1xuICAgICAgLmNvbnRhY3RfX3RleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICAgIGEge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY29udGFjdC1mb3JtLWFjdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgLmNvbnRhY3RfX3RleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICAgIGZvcm0ge1xuICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgLnNlbmRfX2J0biB7XG4gICAgICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhICN7JGxhcmdlX21vYmlsZV90aHJlZX0ge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0OXB4O1xuICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgNHB4IDRweCAwKTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRvdGFsLWJveCB7XG4gICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAudG90YWwtaXRlbSB7XG4gICAgICAudG90YWxfX251bSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTU7XG4gICAgICB9XG4gICAgICAudG90YWxfX3RleHQge1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICB9XG4gICAgICArIC50b3RhbC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb3B5LXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjcsIDEzNiwgMTUxLCAwLjEpO1xuICAgIEBtZWRpYSAjeyR0YWJfZGV2aWNlfSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbF9tb2JpbGV9IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLmNvcHlfX2Rlc2Mge1xuICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LTI7XG4gICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGxfbW9iaWxlfSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG4gICAgICAubGEtaGVhcnQge1xuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIGFuaW1hdGlvbjogaGVhcnRCZWF0IDEwMDBtcyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRpc3BsYXktMTU7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLTI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbmRpdGlvbi1saW5rcyB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC0yO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgcmlnaHQ6IC0xMnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC01O1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci00O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci0yO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQlJFQURDUlVNQiBBUkVBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LSovXG4uYnJlYWRjcnVtYi1hcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBAbWVkaWEgI3skdGFiX2RldmljZX0ge1xuICAgIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTVweDtcbiAgfVxuICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgcGFkZGluZy10b3A6IDIwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA5NXB4O1xuICB9XG4gIEBtZWRpYSAjeyRsYXJnZV9tb2JpbGVfZm91cn0ge1xuICAgIHBhZGRpbmctdG9wOiAxNzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgfVxuICAuYnJlYWRjcnVtYi1zaGFwZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOTVweDtcbiAgICBsZWZ0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgb3BhY2l0eTogMC4xO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG4gIC5icmVhZGNydW1iLXNoYXBlMiB7XG4gICAgbGVmdDogMTUlO1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICB9XG4gIC5icmVhZGNydW1iLXNoYXBlMyB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogMjclO1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgfVxuICAuYnJlYWRjcnVtYi1zaGFwZTQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiAzMHB4O1xuICAgIGJvdHRvbTogNjBweDtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gIH1cbiAgLmJyZWFkY3J1bWItY29udGVudCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIHotaW5kZXg6IDI7XG4gICAgQG1lZGlhICN7JHRhYl9kZXZpY2V9IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlfSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsX21vYmlsZX0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5icmVhZGNydW1iX190aXRsZXMge1xuICAgICAgLmJyZWFkY3J1bWJfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS02O1xuICAgICAgICBsaW5lLWhlaWdodDogNzBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2VfbW9iaWxlX2ZvdXJ9IHtcbiAgICAgICAgICBmb250LXNpemU6ICRkaXNwbGF5LTc7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJyZWFkY3J1bWJfX2xpc3Qge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjJweDtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5icmVhZGNydW1iX19saXN0LWFjdGl2ZSB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiAnLic7XG4gICAgICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZGlzcGxheS0xMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjphZnRlcixcbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwLjk3O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAwJTI1JyBoZWlnaHQ9JzEwMCUyNScgdmlld0JveD0nMCAwIDE2MDAgODAwJyUzRSUzQ2cgJTNFJTNDcGF0aCBmaWxsPSclMjMzMjQyNmEnIGQ9J000ODYgNzA1LjhjLTEwOS4zLTIxLjgtMjIzLjQtMzIuMi0zMzUuMy0xOS40Qzk5LjUgNjkyLjEgNDkgNzAzIDAgNzE5LjhWODAwaDg0My44Yy0xMTUuOS0zMy4yLTIzMC44LTY4LjEtMzQ3LjYtOTIuMkM0OTIuOCA3MDcuMSA0ODkuNCA3MDYuNSA0ODYgNzA1Ljh6Jy8lM0UlM0NwYXRoIGZpbGw9JyUyMzM1NDc3MicgZD0nTTE2MDAgMEgwdjcxOS44YzQ5LTE2LjggOTkuNS0yNy44IDE1MC43LTMzLjVjMTExLjktMTIuNyAyMjYtMi40IDMzNS4zIDE5LjRjMy40IDAuNyA2LjggMS40IDEwLjIgMmMxMTYuOCAyNCAyMzEuNyA1OSAzNDcuNiA5Mi4ySDE2MDBWMHonLyUzRSUzQ3BhdGggZmlsbD0nJTIzMzk0YzdhJyBkPSdNNDc4LjQgNTgxYzMuMiAwLjggNi40IDEuNyA5LjUgMi41YzE5Ni4yIDUyLjUgMzg4LjcgMTMzLjUgNTkzLjUgMTc2LjZjMTc0LjIgMzYuNiAzNDkuNSAyOS4yIDUxOC42LTEwLjJWMEgwdjU3NC45YzUyLjMtMTcuNiAxMDYuNS0yNy43IDE2MS4xLTMwLjlDMjY4LjQgNTM3LjQgMzc1LjcgNTU0LjIgNDc4LjQgNTgxeicvJTNFJTNDcGF0aCBmaWxsPSclMjMzYzUxODInIGQ9J00wIDB2NDI5LjRjNTUuNi0xOC40IDExMy41LTI3LjMgMTcxLjQtMjcuN2MxMDIuOC0wLjggMjAzLjIgMjIuNyAyOTkuMyA1NC41YzMgMSA1LjkgMiA4LjkgM2MxODMuNiA2MiAzNjUuNyAxNDYuMSA1NjIuNCAxOTIuMWMxODYuNyA0My43IDM3Ni4zIDM0LjQgNTU3LjktMTIuNlYwSDB6Jy8lM0UlM0NwYXRoIGZpbGw9JyUyMzQwNTY4YScgZD0nTTE4MS44IDI1OS40Yzk4LjIgNiAxOTEuOSAzNS4yIDI4MS4zIDcyLjFjMi44IDEuMSA1LjUgMi4zIDguMyAzLjRjMTcxIDcxLjYgMzQyLjcgMTU4LjUgNTMxLjMgMjA3LjdjMTk4LjggNTEuOCA0MDMuNCA0MC44IDU5Ny4zLTE0LjhWMEgwdjI4My4yQzU5IDI2My42IDEyMC42IDI1NS43IDE4MS44IDI1OS40eicvJTNFJTNDcGF0aCBmaWxsPSclMjM0MzU5OTAnIGQ9J00xNjAwIDBIMHYxMzYuM2M2Mi4zLTIwLjkgMTI3LjctMjcuNSAxOTIuMi0xOS4yYzkzLjYgMTIuMSAxODAuNSA0Ny43IDI2My4zIDg5LjZjMi42IDEuMyA1LjEgMi42IDcuNyAzLjljMTU4LjQgODEuMSAzMTkuNyAxNzAuOSA1MDAuMyAyMjMuMmMyMTAuNSA2MSA0MzAuOCA0OSA2MzYuNi0xNi42VjB6Jy8lM0UlM0NwYXRoIGZpbGw9JyUyMzQ2NWQ5NScgZD0nTTQ1NC45IDg2LjNDNjAwLjcgMTc3IDc1MS42IDI2OS4zIDkyNC4xIDMyNWMyMDguNiA2Ny40IDQzMS4zIDYwLjggNjM3LjktNS4zYzEyLjgtNC4xIDI1LjQtOC40IDM4LjEtMTIuOVYwSDI4OC4xYzU2IDIxLjMgMTA4LjcgNTAuNiAxNTkuNyA4MkM0NTAuMiA4My40IDQ1Mi41IDg0LjkgNDU0LjkgODYuM3onLyUzRSUzQ3BhdGggZmlsbD0nJTIzNDg2MDliJyBkPSdNMTYwMCAwSDQ5OGMxMTguMSA4NS44IDI0My41IDE2NC41IDM4Ni44IDIxNi4yYzE5MS44IDY5LjIgNDAwIDc0LjcgNTk1IDIxLjFjNDAuOC0xMS4yIDgxLjEtMjUuMiAxMjAuMy00MS43VjB6Jy8lM0UlM0NwYXRoIGZpbGw9JyUyMzRiNjRhMCcgZD0nTTEzOTcuNSAxNTQuOGM0Ny4yLTEwLjYgOTMuNi0yNS4zIDEzOC42LTQzLjhjMjEuNy04LjkgNDMtMTguOCA2My45LTI5LjVWMEg2NDMuNGM2Mi45IDQxLjcgMTI5LjcgNzguMiAyMDIuMSAxMDcuNEMxMDIwLjQgMTc4LjEgMTIxNC4yIDE5Ni4xIDEzOTcuNSAxNTQuOHonLyUzRSUzQ3BhdGggZmlsbD0nJTIzNGU2N2E2JyBkPSdNMTMxNS4zIDcyLjRjNzUuMy0xMi42IDE0OC45LTM3LjEgMjE2LjgtNzIuNGgtNzIzQzk2Ni44IDcxIDExNDQuNyAxMDEgMTMxNS4zIDcyLjR6Jy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbn1cblxuIl19 */