@charset "UTF-8";
/* IMPORTS */
/* VARIABLES */
/*!
 * Bootstrap v4.6.2 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&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: #0079C0;
  --secondary: #A8CF45;
  --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: .5rem;
  margin-left: 0; }

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

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

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #0079C0;
  text-decoration: none;
  background-color: transparent; }
  a:hover {
    color: #005283;
    text-decoration: underline; }

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

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

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

figure {
  margin: 0 0 1rem; }

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

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

table {
  border-collapse: collapse; }

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

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

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

button {
  border-radius: 0; }

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

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

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

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

select {
  word-wrap: normal; }

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

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

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

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

textarea {
  overflow: auto;
  resize: vertical; }

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

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal; }
  @media (max-width: 1200px) {
    legend {
      font-size: calc(1.275rem + 0.3vw) ; } }

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; }
  @media (max-width: 1200px) {
    h1, .h1 {
      font-size: calc(1.375rem + 1.5vw) ; } }

h2, .h2 {
  font-size: 2rem; }
  @media (max-width: 1200px) {
    h2, .h2 {
      font-size: calc(1.325rem + 0.9vw) ; } }

h3, .h3 {
  font-size: 1.75rem; }
  @media (max-width: 1200px) {
    h3, .h3 {
      font-size: calc(1.3rem + 0.6vw) ; } }

h4, .h4 {
  font-size: 1.5rem; }
  @media (max-width: 1200px) {
    h4, .h4 {
      font-size: calc(1.275rem + 0.3vw) ; } }

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; }
  @media (max-width: 1200px) {
    .display-1 {
      font-size: calc(1.725rem + 5.7vw) ; } }

.display-2 {
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1.2; }
  @media (max-width: 1200px) {
    .display-2 {
      font-size: calc(1.675rem + 5.1vw) ; } }

.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.2; }
  @media (max-width: 1200px) {
    .display-3 {
      font-size: calc(1.575rem + 3.9vw) ; } }

.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.2; }
  @media (max-width: 1200px) {
    .display-4 {
      font-size: calc(1.475rem + 2.7vw) ; } }

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

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

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

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

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

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

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

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

.blockquote-footer {
  display: block;
  font-size: 0.875em;
  color: #6c757d; }
  .blockquote-footer::before {
    content: "\2014\00A0"; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.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.66667%;
  max-width: 16.66667%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@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.33333%;
    max-width: 33.33333%; }
  .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.66667%;
    max-width: 16.66667%; }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .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.33333%; }
  .offset-sm-2 {
    margin-left: 16.66667%; }
  .offset-sm-3 {
    margin-left: 25%; }
  .offset-sm-4 {
    margin-left: 33.33333%; }
  .offset-sm-5 {
    margin-left: 41.66667%; }
  .offset-sm-6 {
    margin-left: 50%; }
  .offset-sm-7 {
    margin-left: 58.33333%; }
  .offset-sm-8 {
    margin-left: 66.66667%; }
  .offset-sm-9 {
    margin-left: 75%; }
  .offset-sm-10 {
    margin-left: 83.33333%; }
  .offset-sm-11 {
    margin-left: 91.66667%; } }

@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.33333%;
    max-width: 33.33333%; }
  .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.66667%;
    max-width: 16.66667%; }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .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.33333%; }
  .offset-md-2 {
    margin-left: 16.66667%; }
  .offset-md-3 {
    margin-left: 25%; }
  .offset-md-4 {
    margin-left: 33.33333%; }
  .offset-md-5 {
    margin-left: 41.66667%; }
  .offset-md-6 {
    margin-left: 50%; }
  .offset-md-7 {
    margin-left: 58.33333%; }
  .offset-md-8 {
    margin-left: 66.66667%; }
  .offset-md-9 {
    margin-left: 75%; }
  .offset-md-10 {
    margin-left: 83.33333%; }
  .offset-md-11 {
    margin-left: 91.66667%; } }

@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.33333%;
    max-width: 33.33333%; }
  .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.66667%;
    max-width: 16.66667%; }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .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.33333%; }
  .offset-lg-2 {
    margin-left: 16.66667%; }
  .offset-lg-3 {
    margin-left: 25%; }
  .offset-lg-4 {
    margin-left: 33.33333%; }
  .offset-lg-5 {
    margin-left: 41.66667%; }
  .offset-lg-6 {
    margin-left: 50%; }
  .offset-lg-7 {
    margin-left: 58.33333%; }
  .offset-lg-8 {
    margin-left: 66.66667%; }
  .offset-lg-9 {
    margin-left: 75%; }
  .offset-lg-10 {
    margin-left: 83.33333%; }
  .offset-lg-11 {
    margin-left: 91.66667%; } }

@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.33333%;
    max-width: 33.33333%; }
  .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.66667%;
    max-width: 16.66667%; }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .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.33333%; }
  .offset-xl-2 {
    margin-left: 16.66667%; }
  .offset-xl-3 {
    margin-left: 25%; }
  .offset-xl-4 {
    margin-left: 33.33333%; }
  .offset-xl-5 {
    margin-left: 41.66667%; }
  .offset-xl-6 {
    margin-left: 50%; }
  .offset-xl-7 {
    margin-left: 58.33333%; }
  .offset-xl-8 {
    margin-left: 66.66667%; }
  .offset-xl-9 {
    margin-left: 75%; }
  .offset-xl-10 {
    margin-left: 83.33333%; }
  .offset-xl-11 {
    margin-left: 91.66667%; } }

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

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

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

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

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

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

.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: #41b9ff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 121, 192, 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: 0.875em;
  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: .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: 0.875em;
  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: .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, 121, 192, 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: #0079C0;
  border-color: #0079C0; }
  .btn-primary:hover {
    color: #fff;
    background-color: #00619a;
    border-color: #00598d; }
  .btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #00619a;
    border-color: #00598d;
    box-shadow: 0 0 0 0.2rem rgba(38, 141, 201, 0.5); }
  .btn-primary.disabled, .btn-primary:disabled {
    color: #fff;
    background-color: #0079C0;
    border-color: #0079C0; }
  .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
  .show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #00598d;
    border-color: #005180; }
    .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, 141, 201, 0.5); }

.btn-secondary {
  color: #212529;
  background-color: #A8CF45;
  border-color: #A8CF45; }
  .btn-secondary:hover {
    color: #212529;
    background-color: #95bd31;
    border-color: #8db32e; }
  .btn-secondary:focus, .btn-secondary.focus {
    color: #212529;
    background-color: #95bd31;
    border-color: #8db32e;
    box-shadow: 0 0 0 0.2rem rgba(148, 182, 65, 0.5); }
  .btn-secondary.disabled, .btn-secondary:disabled {
    color: #212529;
    background-color: #A8CF45;
    border-color: #A8CF45; }
  .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
  .show > .btn-secondary.dropdown-toggle {
    color: #212529;
    background-color: #8db32e;
    border-color: #85a92c; }
    .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(148, 182, 65, 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: #0079C0;
  border-color: #0079C0; }
  .btn-outline-primary:hover {
    color: #fff;
    background-color: #0079C0;
    border-color: #0079C0; }
  .btn-outline-primary:focus, .btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 121, 192, 0.5); }
  .btn-outline-primary.disabled, .btn-outline-primary:disabled {
    color: #0079C0;
    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: #0079C0;
    border-color: #0079C0; }
    .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, 121, 192, 0.5); }

.btn-outline-secondary {
  color: #A8CF45;
  border-color: #A8CF45; }
  .btn-outline-secondary:hover {
    color: #212529;
    background-color: #A8CF45;
    border-color: #A8CF45; }
  .btn-outline-secondary:focus, .btn-outline-secondary.focus {
    box-shadow: 0 0 0 0.2rem rgba(168, 207, 69, 0.5); }
  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
    color: #A8CF45;
    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: #212529;
    background-color: #A8CF45;
    border-color: #A8CF45; }
    .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(168, 207, 69, 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: #0079C0;
  text-decoration: none; }
  .btn-link:hover {
    color: #005283;
    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; } }
  .collapsing.width {
    width: 0;
    height: auto;
    transition: width 0.35s ease; }
    @media (prefers-reduced-motion: reduce) {
      .collapsing.width {
        transition: none; } }

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

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

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

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

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0; }
  .custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: #0079C0;
    background-color: #0079C0; }
  .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(0, 121, 192, 0.25); }
  .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #41b9ff; }
  .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: #74cbff;
    border-color: #74cbff; }
  .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: 1px solid #adb5bd; }
  .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: #0079C0;
  background-color: #0079C0; }

.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, 121, 192, 0.5); }

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(0, 121, 192, 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, 121, 192, 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, 121, 192, 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: #41b9ff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 121, 192, 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: #41b9ff;
    box-shadow: 0 0 0 0.2rem rgba(0, 121, 192, 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, 121, 192, 0.25); }
    .custom-range:focus::-moz-range-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 121, 192, 0.25); }
    .custom-range:focus::-ms-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 121, 192, 0.25); }
  .custom-range::-moz-focus-outer {
    border: 0; }
  .custom-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #0079C0;
    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: #74cbff; }
  .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: #0079C0;
    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: #74cbff; }
  .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: #0079C0;
    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: #74cbff; }
  .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: 1rem 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;
    background-color: transparent;
    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 {
      isolation: isolate;
      border-color: #e9ecef #e9ecef #dee2e6; }
    .nav-tabs .nav-link.disabled {
      color: #6c757d;
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active,
  .nav-tabs .nav-item.show .nav-link {
    color: #495057;
    background-color: #fff;
    border-color: #dee2e6 #dee2e6 #fff; }
  .nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

.nav-pills .nav-link {
  background: none;
  border: 0;
  border-radius: 0.25rem; }

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

.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.8125rem;
  padding-bottom: 0.8125rem;
  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: 1rem;
  padding-bottom: 1rem; }

.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: #0079C0;
  background-color: #fff;
  border: 1px solid #dee2e6; }
  .page-link:hover {
    z-index: 2;
    color: #005283;
    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, 121, 192, 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: #0079C0;
  border-color: #0079C0; }

.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: #0079C0; }
  a.badge-primary:hover, a.badge-primary:focus {
    color: #fff;
    background-color: #00598d; }
  a.badge-primary:focus, a.badge-primary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 121, 192, 0.5); }

.badge-secondary {
  color: #212529;
  background-color: #A8CF45; }
  a.badge-secondary:hover, a.badge-secondary:focus {
    color: #212529;
    background-color: #8db32e; }
  a.badge-secondary:focus, a.badge-secondary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(168, 207, 69, 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: #003f64;
  background-color: #cce4f2;
  border-color: #b8d9ed; }
  .alert-primary hr {
    border-top-color: #a4cee8; }
  .alert-primary .alert-link {
    color: #001f31; }

.alert-secondary {
  color: #576c24;
  background-color: #eef5da;
  border-color: #e7f2cb; }
  .alert-secondary hr {
    border-top-color: #deedb7; }
  .alert-secondary .alert-link {
    color: #384617; }

.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: #0079C0;
  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: #0079C0;
    border-color: #0079C0; }
  .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: #003f64;
  background-color: #b8d9ed; }
  .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
    color: #003f64;
    background-color: #a4cee8; }
  .list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #003f64;
    border-color: #003f64; }

.list-group-item-secondary {
  color: #576c24;
  background-color: #e7f2cb; }
  .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
    color: #576c24;
    background-color: #deedb7; }
  .list-group-item-secondary.list-group-item-action.active {
    color: #fff;
    background-color: #576c24;
    border-color: #576c24; }

.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: #000000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5; }
  @media (max-width: 1200px) {
    .close {
      font-size: calc(1.275rem + 0.3vw) ; } }
  .close:hover {
    color: #000000;
    text-decoration: none; }
  .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
    opacity: .75; }

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

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

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

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

.toast-body {
  padding: 0.75rem; }

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

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

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

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

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

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

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000000; }
  .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;
  white-space: normal;
  word-spacing: 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: #000000; }

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

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

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

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000000;
  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;
  white-space: normal;
  word-spacing: 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: .5;
    transition: opacity 0.6s ease; }
    @media (prefers-reduced-motion: reduce) {
      .carousel-indicators li {
        transition: none; } }
  .carousel-indicators .active {
    opacity: 1; }

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

@keyframes spinner-border {
  to {
    transform: rotate(360deg); } }

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentcolor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: .75s linear infinite spinner-border; }

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

@keyframes spinner-grow {
  0% {
    transform: scale(0); }
  50% {
    opacity: 1;
    transform: none; } }

.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  background-color: currentcolor;
  border-radius: 50%;
  opacity: 0;
  animation: .75s linear infinite spinner-grow; }

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

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

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

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

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

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

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

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

.bg-primary {
  background-color: #0079C0 !important; }

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

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

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #8db32e !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: #0079C0 !important; }

.border-secondary {
  border-color: #A8CF45 !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.85714%; }

.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: #0079C0 !important; }

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

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

a.text-secondary:hover, a.text-secondary:focus {
  color: #7d9f29 !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 #000000; }
  .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; } }

/**
 * @file
 * Styles for Bootstrap Barrio affix effect.
 */
.affix {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1035;
  left: 0; }

/**
 * @file
 * Visual styles for comments in Barrio.
 */
.alert-wrapper {
  position: fixed;
  bottom: 0;
  left: 0;
  max-width: 100%;
  z-index: 9999; }

.toast-wrapper {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999; }

/**
 * @file
 * Bootstrap Barrio specific styling for the Book module.
 */
.book-navigation .menu {
  border-top: 1px solid #dee2e6; }

.book-navigation .book-pager {
  border-bottom: 1px solid #dee2e6;
  border-top: 1px solid #dee2e6;
  margin: 0; }

/**
 * @file
 * Styling for the Book module.
 */
.book-navigation .menu {
  padding-bottom: 0;
  padding-top: 1em; }

.book-navigation .book-pager {
  margin: 0;
  overflow: auto;
  padding: 0.5em 0; }

.book-pager__item {
  display: inline-block;
  list-style-type: none;
  vertical-align: top; }

.book-pager__item--previous {
  text-align: left;
  /* LTR */
  width: 45%; }

[dir="rtl"] .book-pager__item--previous {
  float: right;
  text-align: right; }

.book-pager__item--center {
  text-align: center;
  width: 8%; }

.book-pager__item--next {
  float: right;
  /* LTR */
  text-align: right;
  /* LTR */
  width: 45%; }

[dir="rtl"] .book-pager__item--next {
  float: left;
  text-align: left; }

/**
 * @file
 * Styles for Bootstrap Barrio's breadcrumbs.
 */
.breadcrumb {
  font-size: 0.929em 0.875rem; }

.region-breadcrumb {
  padding: 0 15px 0.25em;
  width: 100%; }

/**
 * @file
 * Visual styles for comments in Bartik.
 */
/* This is required to win over specificity of #content h2 */
#content .comment-wrapper h2 {
  margin-bottom: 1em; }

#content .comment-wrapper h2.comment-form__title {
  margin-bottom: 1em; }

.field-node--comment {
  font-size: 0.875rem; }

.comment {
  margin-bottom: 1.25em;
  vertical-align: top;
  display: table; }

[dir="rtl"] .comment {
  direction: rtl; }

.comment__meta {
  padding: 0 30px 0 0;
  /* LTR */
  font-size: 1rem; }

[dir="rtl"] .comment__meta {
  padding: 0 0 0 30px; }

.comment__attribution img {
  border: 1px solid #dee2e6; }

/* This is required to win over specificity of .field--type-image img */
.comment .field--name-user-picture img {
  margin: 0; }

.comment__author .username {
  white-space: nowrap; }

.comment__author {
  margin: 4px 0;
  line-height: 1.2; }

.comment__time,
.comment__permalink {
  margin-bottom: 4px;
  color: #68696b;
  font-size: 0.875rem;
  line-height: 1.2;
  padding: 0 0.5em 0 0;
  /* LTR */ }

[dir="rtl"] .comment__time,
.comment__permalink {
  padding: 0 0 0 0.5em; }

.comment__permalink {
  font-size: 0.875rem;
  line-height: 1.2; }

.comment__content:before {
  content: '';
  position: absolute;
  right: 100%;
  /* LTR */
  top: 1.25em;
  border-top: 1.25em solid transparent;
  border-right: 1.25em solid #dee2e6;
  /* LTR */
  border-bottom: 1.25em solid transparent; }

[dir="rtl"] .comment__content:before {
  right: auto;
  left: 100%;
  border-right: none;
  border-left: 1.25em solid #dee2e6; }

.comment__content:after {
  content: '';
  position: absolute;
  right: 100%;
  /* LTR */
  top: 1.25em;
  border-top: 1.25em solid transparent;
  border-right: 1.25em solid #fff;
  /* LTR */
  border-bottom: 1.25em solid transparent;
  margin-right: -1px;
  /* LTR */ }

[dir="rtl"] .comment__content:after {
  right: auto;
  left: 100%;
  border-right: none;
  border-left: 1.25em solid #fff;
  margin-right: 0;
  margin-left: -1px; }

.comment__content h3 {
  margin-top: 0.94em;
  margin-bottom: 0.45em;
  font-size: 1.25rem; }

.comment__content nav {
  padding-top: 1px; }

.indented {
  margin-left: 40px;
  /* LTR */ }

[dir="rtl"] .indented {
  margin-right: 40px;
  margin-left: 0; }

.comment .links {
  padding: 0 0 0.25em 0; }

.comment .links-inline span {
  padding: 0 0.5em 0 0;
  /* LTR */
  font-size: 1rem; }

[dir="rtl"] .comment .links-inline span {
  padding: 0 0 0 0.5em; }

.comment--unpublished {
  margin-right: 5px;
  /* LTR */
  padding: 5px 2px 5px 5px;
  /* LTR */
  background: #7ecfff; }

[dir="rtl"] .comment--unpublished {
  margin-left: 5px;
  margin-right: 0;
  padding: 5px 5px 5px 2px; }

/**
 * @todo: unpublished nodes have class .node--unpublished.
 * change this to .comment--unpublished.
 */
.unpublished .comment-text .comment-arrow {
  border-left: 1px solid #7ecfff;
  border-right: 1px solid #7ecfff; }

.unpublished {
  padding: 1.25em 1.25em 0; }

.comment-footer {
  display: table-row; }

.comment--unpublished .comment__text:after,
.node--unpublished .comment__text:after {
  border-right-color: #7ecfff;
  /* LTR */ }

[dir="rtl"] .comment--unpublished .comment__content:after,
[dir="rtl"] .node--unpublished .comment__content:after {
  border-left-color: #7ecfff; }

/**
 * @file
 * Contextual links styles for Bootstrap Barrio.
 */
.contextual-links a {
  border-bottom: none;
  text-shadow: 0 0 0; }

/**
 * @file
 * Collapsible details.
 *
 * @see collapse.js
 * @see http://nicolasgallagher.com/css-background-image-hacks/
 */
details {
  border: 1px solid #dee2e6;
  margin-top: 1rem;
  margin-bottom: 1rem; }

details > .details-wrapper {
  padding: 0.5em 1.5em; }

/* @todo Regression: The summary of uncollapsible details are no longer
     vertically aligned with the .details-wrapper in browsers without native
     details support. */
summary {
  cursor: pointer;
  padding: 0.2em 0.5em; }

/**
 * @file
 * Visual styles for Bartik's dropbutton component.
 */
.js .dropbutton-wrapper .dropbutton-widget {
  /* This is required to win over specifity of .js td .dropbutton-widget */
  position: relative; }

.js .dropbutton-widget {
  border: 1px solid;
  border-color: #e4e4e4 #d2d2d2 #b4b4b4 #d2d2d2;
  background-color: #fff;
  background-image: -webkit-linear-gradient(top, #f3f3f3, #e8e8e8);
  background-image: linear-gradient(to bottom, #f3f3f3, #e8e8e8);
  color: #3a3a3a;
  cursor: pointer;
  text-align: center;
  margin: 0.125em 0;
  border-radius: 1em;
  overflow: hidden; }

.js .dropbutton-widget:hover {
  border-color: #e4e4e4 #d2d2d2 #b4b4b4 #d2d2d2; }

.js .dropbutton-widget .button {
  border: none;
  margin: 0;
  padding: 0.32em 1em;
  background: transparent none; }

.js .dropbutton-multiple .dropbutton-widget .dropbutton-action a {
  margin-right: 0;
  /* LTR */ }

[dir="rtl"].js .dropbutton-multiple .dropbutton-widget .dropbutton-action a {
  margin-left: 0; }

.js .dropbutton .secondary-action {
  border-top-color: #ccc; }

.js .dropbutton-toggle button {
  background-color: #e8e8e8;
  background-image: -webkit-linear-gradient(top, #e8e8e8, #d2d2d2);
  background-image: linear-gradient(to bottom, #e8e8e8, #d2d2d2); }

.js .dropbutton-toggle .dropbutton-arrow:hover {
  background: #ccc; }

.js .dropbutton a {
  color: #3a3a3a;
  border-bottom: 0 none; }

.js .dropbutton .dropbutton-action:hover,
.js .dropbutton a:hover {
  background: #dedede;
  border-bottom: 0 none; }

/**
 * @file
 * General styles for dropbuttons.
 */
.js .dropbutton-widget {
  background-color: white;
  border: 1px solid #cccccc; }

.js .dropbutton-widget:hover {
  border-color: #b8b8b8; }

.dropbutton .dropbutton-action > * {
  padding: 0.1em 0.5em;
  white-space: nowrap; }

.dropbutton .secondary-action {
  border-top: 1px solid #e8e8e8; }

.dropbutton-multiple .dropbutton {
  border-right: 1px solid #e8e8e8;
  /* LTR */ }

[dir="rtl"] .dropbutton-multiple .dropbutton {
  border-left: 1px solid #e8e8e8;
  border-right: 0 none; }

.dropbutton-multiple .dropbutton .dropbutton-action > * {
  margin-right: 0.25em;
  /* LTR */ }

[dir="rtl"] .dropbutton-multiple .dropbutton .dropbutton-action > * {
  margin-left: 0.25em;
  margin-right: 0; }

.js td .dropbutton-multiple {
  padding-right: 10em;
  margin-right: 2em;
  max-width: 100%; }

.js td .dropbutton-wrapper {
  min-height: 2em; }

.js .dropbutton-wrapper,
.js .dropbutton-widget {
  display: block;
  position: relative; }

.js td .dropbutton-widget {
  position: absolute; }

/**
 * @file
 * Feed icon styles for Bootstrap Barrio.
 */
.feed-icon {
  border-bottom: none;
  display: inline-block;
  padding: 1rem 0 0 0; }

/**
 * @file
 * Visual styles for Bootstrap Barrio's field components.
 */
.field--type-entity-reference {
  margin: 0 0 1.2rem; }

.field--type-entity-reference .field__label {
  font-weight: normal;
  margin: 0;
  padding-right: 0.3rem;
  /* LTR */ }

[dir="rtl"] .field--type-entity-reference .field__label {
  padding-left: 0.3rem;
  padding-right: 0; }

.field--type-entity-reference ul.links {
  padding: 0;
  margin: 0;
  list-style: none; }

.field--type-entity-reference ul.links li {
  float: left;
  /* LTR */
  padding: 0 1rem 0 0;
  /* LTR */
  white-space: nowrap; }

[dir="rtl"] .field--type-entity-reference ul.links li {
  padding: 0 0 0 1rem;
  float: right; }

@media all and (min-width: 560px) {
  .node .field--type-image {
    float: left;
    /* LTR */
    margin: 0 1rem 0 0;
    /* LTR */ }
  [dir="rtl"] .node .field--type-image {
    float: right;
    margin: 0 0 0 1rem; }
  .node .field--type-image + .field--type-image {
    clear: both; } }

.field--type-image img,
.field--name-field-user-picture img {
  margin: 0 0 1rem; }

.field--type-image a {
  border-bottom: none; }

.field--name-field-tags {
  margin: 0 0 1.2rem; }

.field--name-field-tags .field__label {
  font-weight: normal;
  margin: 0;
  padding-right: 5px;
  /* LTR */ }

[dir="rtl"] .field--name-field-tags .field__label {
  padding-left: 5px;
  padding-right: 0; }

.field--name-field-tags .field__label,
.field--name-field-tags ul.links {
  font-size: 0.875rem; }

.node--view-mode-teaser .field--name-field-tags .field__label,
.node--view-mode-teaser .field--name-field-tags ul.links {
  font-size: 0.875rem; }

.field--name-field-tags ul.links {
  padding: 0;
  margin: 0; }

.field--name-field-tags ul.links li {
  float: left;
  /* LTR */
  padding: 0 1rem 0 0;
  /* LTR */
  white-space: nowrap; }

[dir="rtl"] .field--name-field-tags ul.links li {
  padding: 0 0 0 1rem;
  float: right; }

.field--label-inline .field__label,
.field--label-inline .field__item {
  display: inline-block; }

/**
 * @file
 * Default style for file module.
 */
/* File icons.*/
.file {
  padding-left: 1.5rem;
  /* LTR */
  display: inline-block;
  min-height: 1rem;
  background-repeat: no-repeat;
  background-position: left center;
  /* LTR */ }

[dir="rtl"] .file {
  padding-left: inherit;
  padding-right: 1.5rem;
  background-position: right center; }

.file--general,
.file--application-octet-stream {
  background-image: url(../images/icons/application-octet-stream.png); }

.file--package-x-generic {
  background-image: url(../images/icons/package-x-generic.png); }

.file--x-office-spreadsheet {
  background-image: url(../images/icons/x-office-spreadsheet.png); }

.file--x-office-document {
  background-image: url(../images/icons/x-office-document.png); }

.file--x-office-presentation {
  background-image: url(../images/icons/x-office-presentation.png); }

.file--text-x-script {
  background-image: url(../images/icons/text-x-script.png); }

.file--text-html {
  background-image: url(../images/icons/text-html.png); }

.file--text-plain {
  background-image: url(../images/icons/text-plain.png); }

.file--application-pdf {
  background-image: url(../images/icons/application-pdf.png); }

.file--application-x-executable {
  background-image: url(../images/icons/application-x-executable.png); }

.file--audio {
  background-image: url(../images/icons/audio-x-generic.png); }

.file--video {
  background-image: url(../images/icons/video-x-generic.png); }

.file--text {
  background-image: url(../images/icons/text-x-generic.png); }

.file--image {
  background-image: url(../images/icons/image-x-generic.png); }

/**
 * @file
 * Visual styles for Bootstrap Barrio's form components.
 */
.form-required::after {
  content: '';
  vertical-align: super;
  display: inline-block;
  background-image: url(../../images/required.svg);
  background-repeat: no-repeat;
  background-size: calc(1.5em + 0.75rem + 2px)/2 calc(1.5em + 0.75rem + 2px)/2;
  width: calc(1.5em + 0.75rem + 2px)/2;
  height: calc(1.5em + 0.75rem + 2px)/2;
  margin: 0 0.3em; }

form .filter-wrapper {
  padding-left: 0;
  padding-right: 0;
  margin-left: 1rem;
  margin-right: 1rem; }

form .form-type-textarea {
  margin-bottom: 0; }

.form-control.hasDatepicker {
  width: 120px; }

/* ------------------ Header ------------------ */
#navbar-top {
  padding: 0 1rem; }

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

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

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

#navbar-top.navbar-light .nav-link {
  color: rgba(0, 0, 0, 0.5); }

.navbar-brand .site-logo {
  margin-right: 1rem; }

@media (max-width: 33.9em) {
  .navbar-toggleable-xs .navbar-nav .nav-item + .nav-item,
  .navbar-toggleable-xs.collapse.in .navbar-nav .nav-item {
    margin-left: 0;
    float: none; } }

@media (max-width: 47.9em) {
  .navbar-toggleable-sm .navbar-nav .nav-item + .nav-item,
  .navbar-toggleable-xs.collapse.in .navbar-nav .nav-item {
    margin-left: 0;
    float: none; } }

/**
 * @file
 * Styles for the help block.
 */
.block-help {
  border: 1px solid #dee2e6;
  padding: 0 1.5rem;
  margin-bottom: 2rem; }

/**
 * @file
 * Visual styles for icons.
 */
.icon-help {
  background: url(/../../images/help.png) 0 50% no-repeat;
  /* LTR */
  padding: 1px 0 1px 1.5rem;
  /* LTR */ }

[dir="rtl"] .icon-help {
  background-position: 100% 50%;
  padding: 1px 1.5rem 1px 0; }

.feed-icon {
  background: url(/../../images/feed.svg) no-repeat;
  overflow: hidden;
  text-indent: -9999px;
  display: block;
  width: 1rem;
  height: 1rem; }

/**
 * @file
 * Styles for Bootstrap Barrio's image buttons.
 */
.image-button.is-disabled:hover,
.image-button.is-disabled:active,
.image-button.is-disabled:focus,
.image-button.is-disabled {
  background: transparent;
  opacity: 0.5;
  cursor: default; }

/**
 * @file
 * Basic styling for comment module.
 */
/**
 * Indent threaded comments.
 */
.indented {
  margin-left: 1.5rem;
  /* LTR */ }

[dir="rtl"] .indented {
  margin-left: 0;
  margin-right: 1.5rem; }

/**
 * @file
 * Visual styles for Bootstrap Barrio's item list.
 */
.item-list ul {
  list-style: none;
  margin: 0 0 0.75rem 0;
  padding: 0;
  /* LTR */ }

[dir="rtl"] .item-list ul {
  padding: 0; }

.item-list ul li {
  /* This is needed to reset styles in item-list.theme.css */
  margin: 0;
  padding: 0.75rem 1.25rem 0 0;
  /* LTR */ }

[dir="rtl"] .item-list ul li {
  /* This is needed to reset [dir="rtl"] styles in item-list.theme.css */
  margin: 0;
  padding: 0.75rem 0 0 1.25rem; }

.item-list .item-list__comma-list,
.item-list .item-list__comma-list li,
[dir="rtl"] .item-list .item-list__comma-list,
[dir="rtl"] .item-list .item-list__comma-list li {
  padding: 0; }

/**
 * @file
 * List group.
 * A list of links, grouped together.
 */
.list-group__link {
  border-top: 1px solid #dee2e6;
  padding: 0.75rem 0 0; }

.list-group__description {
  margin: 0 0 0.75rem; }

/**
 * @file
 * Visual styles for Bootstrap Barrio's node component.
 */
.node__content {
  font-size: 1rem;
  margin-top: 1rem; }

/* View mode teaser styles. */
.node--view-mode-teaser {
  border-bottom: 1px solid #dee2e6;
  margin-bottom: 1rem;
  padding-bottom: 1rem; }

.node--view-mode-teaser h2 {
  margin-top: 0;
  padding-top: 0.5em; }

.node--view-mode-teaser.node--sticky {
  background: #f9f9f9;
  background: rgba(0, 0, 0, 0.024);
  border: 1px solid #dee2e6;
  padding: 0 1rem 1rem; }

.node--view-mode-teaser .node__content {
  clear: none;
  font-size: 1rem;
  line-height: 1.5; }

/* Node metadata styles. */
.node__meta {
  font-size: 0.875rem;
  margin-bottom: -5px; }

.node__meta .field--name-field-user-picture img {
  float: left;
  /* LTR */
  margin: 1px 1rem 0 0;
  /* LTR */ }

[dir="rtl"] .node__meta .field--name-field-user-picture img {
  float: right;
  margin-left: 1rem;
  margin-right: 0; }

/* Node links styles. */
.node__links {
  text-align: right;
  /* LTR */
  font-size: 1rem; }

[dir="rtl"] .node__links {
  text-align: left; }

/* Unpublished node styles. */
.node--unpublished {
  padding: 1rem 1rem 0; }

.node--unpublished .comment-text .comment-arrow {
  border-left: 1px solid #fff4f4;
  border-right: 1px solid #fff4f4; }

.node-preview-container {
  background: #d1e8f5;
  background-image: -webkit-linear-gradient(top, #d1e8f5, #d3e8f4);
  background-image: linear-gradient(to bottom, #d1e8f5, #d3e8f4);
  font-family: Arial, sans-serif;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.3333);
  position: fixed;
  z-index: 499;
  width: 100%;
  padding: 10px; }

.node-preview-backlink {
  background-color: #419ff1;
  background: url(/core/misc/icons/000000/chevron-left.svg) left no-repeat, -webkit-linear-gradient(top, #419ff1, #1076d5);
  background: url(/core/misc/icons/000000/chevron-left.svg) left no-repeat, linear-gradient(to bottom, #419ff1, #1076d5);
  /* LTR */
  border: 1px solid #0048c8;
  border-radius: .4em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
  color: #fff;
  font-size: 0.9em;
  line-height: normal;
  margin: 0;
  padding: 4px 1em 4px 0.6em;
  /* LTR */
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5); }

[dir="rtl"] .node-preview-backlink {
  background: url(/core/misc/icons/000000/chevron-right.svg) right no-repeat, -webkit-linear-gradient(top, #419ff1, #1076d5);
  background: url(/core/misc/icons/000000/chevron-right.svg) right no-repeat, linear-gradient(to bottom, #419ff1, #1076d5);
  padding: 4px 0.6em 4px 1em;
  float: right; }

.node-preview-backlink:focus,
.node-preview-backlink:hover {
  background-color: #419cf1;
  background: url(/core/misc/icons/000000/chevron-left.svg) left no-repeat, -webkit-linear-gradient(top, #59abf3, #2a90ef);
  background: url(/core/misc/icons/000000/chevron-left.svg) left no-repeat, linear-gradient(to bottom, #59abf3, #2a90ef);
  /* LTR */
  border: 1px solid #0048c8;
  text-decoration: none;
  color: #fff; }

[dir="rtl"] .node-preview-backlink:focus,
[dir="rtl"] .node-preview-backlink:hover {
  background: url(/core/misc/icons/000000/chevron-right.svg) right no-repeat, -webkit-linear-gradient(top, #59abf3, #2a90ef);
  background: url(/core/misc/icons/000000/chevron-right.svg) right no-repeat, linear-gradient(to bottom, #59abf3, #2a90ef); }

.node-preview-backlink:active {
  background-color: #0e69be;
  background: url(/core/misc/icons/000000/chevron-left.svg) left no-repeat, -webkit-linear-gradient(top, #0e69be, #2a93ef);
  background: url(/core/misc/icons/000000/chevron-left.svg) left no-repeat, linear-gradient(to bottom, #0e69be, #2a93ef);
  /* LTR */
  border: 1px solid #0048c8;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25); }

[dir="rtl"] .node-preview-backlink:active {
  background: url(/core/misc/icons/000000/chevron-right.svg) right no-repeat, -webkit-linear-gradient(top, #0e69be, #2a93ef);
  background: url(/core/misc/icons/000000/chevron-right.svg) right no-repeat, linear-gradient(to bottom, #0e69be, #2a93ef); }

.node-preview-backlink::before {
  content: '';
  width: 10px;
  display: inline-block; }

/**
 * @file
 * Styles for Bootstrap Barrio page.
 */
/**
 * @file
 * The visual styles for Bootstrap Barrio's search form(s).
 */
input[type="search"] {
  box-sizing: border-box; }

header #search-block-form {
  padding: 5px 15px;
  flex-flow: row wrap; }

#search-block-form {
  display: flex; }

/**
 * @file
 * Visual styles for the Shortcut action link in Bootstrap Barrio.
 */
.shortcut-wrapper {
  margin: 2.2em 0 1.1em 0;
  /* Same as usual .page-title margin. */ }

.shortcut-wrapper .page-title {
  float: left;
  /* LTR */
  margin: 0; }

[dir="rtl"] .shortcut-wrapper .page-title {
  float: right; }

.shortcut-action {
  border-bottom: none;
  margin-left: 0.5em;
  /* LTR */
  padding-top: 0.35em; }

[dir="rtl"] .shortcut-action {
  margin-left: 0;
  margin-right: 0.5em; }

.shortcut-action:hover,
.shortcut-action:active,
.shortcut-action:focus {
  border-bottom: none; }

/* ------------------ Sidebar ----------------- */
.sidebar .block {
  border-style: solid;
  border-width: 0px;
  padding: 1rem 1rem;
  margin: 0 0 1rem; }
  .sidebar .block .content {
    font-size: 1rem;
    line-height: 1.5; }

.sidebar h2 {
  margin: 0 0 0.5rem;
  border-bottom: 1px solid #dee2e6;
  padding-bottom: 5px;
  text-shadow: 0 1px 0 #fff;
  font-size: 1.25rem;
  line-height: 1.2; }

.sidebar tbody {
  border: none; }

.sidebar tr.even,
.sidebar tr.odd {
  background: none;
  border-bottom: 1px solid #dee2e6; }

.sidebar nav ul.nav {
  margin: -1rem; }

.sidebar .wrapper__contact_info h2 {
  padding-top: 0; }

address.node__content {
  margin-top: 0;
  margin-bottom: 0; }

/**
 * @file
 * Footer Styling.
 */
.site-footer {
  padding: 1rem 0; }
  .site-footer .layout-container {
    padding: 0 1rem; }

/* Footer Top Styling. */
.site-footer__top .content {
  margin-top: 0; }

/* Footer Bottom Styling. */
.site-footer__bottom .block {
  margin: 0.5rem 0; }

.site-footer__bottom .content {
  padding: 0.5rem 0;
  margin-top: 0; }

/**
 * @file
 * Styles for the skip link.
 */
.skip-link {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 50;
  background: #495057;
  font-size: 1rem;
  line-height: 1.5;
  padding: 1px 1rem 2px;
  border-radius: 0 0 0.3rem 0.3rem;
  border-bottom-width: 0;
  outline: 0; }

.skip-link.visually-hidden.focusable:focus {
  position: absolute !important;
  color: #fff; }

/**
 * @file
 * Styles for Bootstrap Barrio's tables.
 */
.sticky-header thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6; }

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

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

th, td {
  border: 1px solid  #dee2e6; }

.tablesaw caption {
  caption-side: top;
  color: #ffffff;
  padding-top: 0px;
  padding-bottom: 0px; }

caption {
  caption-side: top;
  color: #ffffff;
  padding-top: 0px;
  padding-bottom: 0px; }

tbody {
  background-color: #fff; }

/**
 * @file
 * Visual styles for table drag.
 */
tr.drag {
  background-color: #fffff0; }

tr.drag-previous {
  background-color: #ffd; }

body div.tabledrag-changed-warning {
  margin-bottom: 0.5rem; }

/**
 * @file
 * Table select behavior.
 *
 * @see tableselect.js
 */
tr.selected td {
  background: #ffc; }

td.checkbox,
th.checkbox {
  text-align: center; }

[dir="rtl"] td.checkbox,
[dir="rtl"] th.checkbox {
  /* This is required to win over specificity of [dir="rtl"] td */
  text-align: center; }

/**
 * @file
 * Table sort indicator.
 */
th.is-active img {
  display: inline; }

td.is-active {
  background-color: #dee2e6; }

/**
 * @file
 * Tablesort indicator styles.
 */
.table-responsive .table .thead-dark {
  border: none; }

table thead th.sortable:not(span):hover {
  cursor: pointer;
  border-bottom: 2px solid #14396c !important; }

table thead th.sortable:not(span) a {
  color: #f9f7f7fc; }

table thead span.sortable {
  background-image: url("/themes/custom/modal/images/icons/sort.svg");
  width: 11px;
  height: 11px;
  vertical-align: baseline;
  display: inline-block;
  margin-left: 4px; }

.tablesort {
  width: 14px;
  height: 14px;
  vertical-align: top;
  margin: 1px 0 0 5px; }

.tablesort--asc {
  background-image: url(/core/misc/icons/ffffff/twistie-down.svg); }

.tablesort--desc {
  background-image: url(/core/misc/icons/ffffff/twistie-up.svg); }

/**
 * @file
 * Theme styling for tabs.
 */
nav.tabs {
  margin-bottom: 1rem; }

/**
 * @file
 * Visual styles for a resizable textarea.
 */
.form-textarea-wrapper textarea {
  display: block;
  margin: 0;
  width: 100%;
  box-sizing: border-box; }

/**
 * @file
 * Visual styles for Bartik's ui-widget component.
 */
/**
 * @file
 * Styles for Bartik's modal windows
 */
.ui-widget-overlay {
  background: #000000;
  opacity: 0.7; }

.ui-dialog {
  border-radius: 0; }

.ui-dialog input,
.ui-dialog select,
.ui-dialog textarea {
  font-size: 1rem; }

.ui-dialog .button {
  background-color: #fff;
  background-image: -webkit-linear-gradient(top, #f3f3f3, #e8e8e8);
  background-image: linear-gradient(to bottom, #f3f3f3, #e8e8e8);
  border: 1px solid #e4e4e4;
  border-bottom-color: #b4b4b4;
  border-left-color: #d2d2d2;
  border-right-color: #d2d2d2;
  color: #3a3a3a;
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  text-align: center;
  padding: 0.250em 1.063em;
  border-radius: 1em; }

/**
 * @file
 * Theme styling for user module.
 */
/* Visual styling for the Password strength indicator */
.password-strength__meter {
  margin-top: 0.5em;
  background-color: #e9ecef; }

.password-strength__indicator {
  background-color: #28a745;
  -webkit-transition: width 0.5s ease-out;
  transition: width 0.5s ease-out; }

.password-strength__indicator.is-weak {
  background-color: #dc3545; }

.password-strength__indicator.is-fair {
  background-color: #ffc107; }

.password-strength__indicator.is-good {
  background-color: #17a2b8; }

.password-strength__indicator.is-strong {
  background-color: #28a745; }

.password-confirm,
.password-field,
.password-strength,
.password-confirm-match {
  width: 55%; }

.password-suggestions {
  padding: 0.2em 0.5em;
  margin: 0.7em 0;
  max-width: 34.7em;
  border: 1px solid #dee2e6; }

.password-suggestions ul {
  margin-bottom: 0; }

.confirm-parent,
.password-parent {
  clear: left;
  /* LTR */
  margin: 0;
  max-width: 33em;
  overflow: hidden; }

[dir="rtl"] .confirm-parent,
[dir="rtl"] .password-parent {
  clear: right; }

/* Styling for the status indicator of the passwords match test.  */
.password-confirm .ok {
  color: #28a745;
  font-weight: bold; }

.password-confirm .error {
  color: #dc3545;
  font-weight: bold; }

/* Login page stype */
.page-user-login main .region-content,
.page-user-password main .region-content {
  max-width: 400px;
  background: white;
  padding: 1rem 1rem;
  margin: 0 auto;
  border-radius: 0.3rem; }

/**
 * @file
 * Vertical tabs component.
 */
/* Vertical Tabs Reset */
.vertical-tabs__menu {
  margin: -1px 0 -1px;
  /* LTR */
  padding: 0; }

[dir="rtl"] .vertical-tabs__menu {
  margin-left: 0;
  margin-right: -1em;
  /* This is required to win specificity over [dir="rtl"] .region-content ul */
  padding: 0; }

/**
 * @file
 * Vertical Tabs.
 */
.vertical-tabs {
  margin: 0;
  /* LTR */
  border: 1px solid #dee2e6;
  display: flex;
  flex-direction: row;
  font-size: 0.875rem; }

[dir="rtl"] .vertical-tabs {
  flex-direction: row-reverse;
  margin-left: 0;
  margin-right: 0; }

.vertical-tabs__menu {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  /* LTR */
  width: 15em;
  margin: 0;
  /* LTR */
  padding: 0;
  border-top: 1px solid #dee2e6;
  list-style: none; }

[dir="rtl"] .vertical-tabs__menu {
  margin-left: 0;
  margin-right: -15em; }

.vertical-tabs__pane {
  margin: 0;
  border: 0; }

.vertical-tabs__pane > summary {
  display: none; }

/* Layout of each tab. */
.vertical-tabs__menu-item {
  border: 1px solid #dee2e6;
  border-top: 0;
  background: #eee; }

.vertical-tabs__menu-item a {
  display: block;
  padding: 0.5em 0.6em;
  text-decoration: none; }

.vertical-tabs__menu-item a:focus .vertical-tabs__menu-item-title,
.vertical-tabs__menu-item a:active .vertical-tabs__menu-item-title,
.vertical-tabs__menu-item a:hover .vertical-tabs__menu-item-title {
  text-decoration: underline; }

.vertical-tabs__menu-item a:hover {
  outline: 1px dotted; }

.vertical-tabs__menu-item.is-selected {
  border-right-width: 0;
  /* LTR */
  background-color: #fff; }

[dir="rtl"] .vertical-tabs__menu-item.is-selected {
  border-left-width: 0;
  border-right-width: 1px; }

.vertical-tabs__menu-item.is-selected .vertical-tabs__menu-item-title {
  color: #000000; }

.vertical-tabs__menu-item-summary {
  display: block;
  margin-bottom: 0;
  line-height: normal; }

/**
 * @file
 * Styling for Views in Bartik.
 */
/* Tab styles */
.views-displays .tabs .open > a {
  border-radius: 0.3rem 0.3rem 0 0; }

.views-displays .tabs .open > a:hover,
.views-displays .tabs .open > a:focus {
  color: #0079C0; }

.views-displays .secondary .form-submit {
  font-size: 0.875rem; }

/* Tabs action list styles */
.views-displays .tabs .action-list {
  padding: 0; }

/* Contextual filter options styles */
.views-filterable-options .filterable-option:nth-of-type(even) .form-type-checkbox {
  background-color: #f9f9f9; }

/* Views action dropbutton styles */
.views-ui-display-tab-actions .dropbutton .form-submit {
  color: #005283; }

.views-ui-display-tab-actions .dropbutton .form-submit:hover,
.views-ui-display-tab-actions .dropbutton .form-submit:focus {
  color: #0079C0; }

span.sortable {
  background-image: url("/themes/custom/modal/images/icons/sort.svg");
  width: 11px;
  height: 11px;
  vertical-align: baseline;
  display: inline-block;
  margin-left: 4px; }

/* IE Only Hacks CSS */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  /* IE10+ CSS */
  .path-user #main-wrapper-content > .row {
    display: block !important; }
  .ultimenu--hover .ultimenu__flyout {
    max-height: inherit; }
  article.node *[id]:before {
    display: block;
    content: " ";
    margin-top: 0 !important;
    height: 0 !important;
    visibility: hidden; }
  .user-logged-in article.node *[id]::before {
    display: block;
    content: " ";
    margin-top: -80px !important;
    height: 80px !important;
    visibility: hidden; }
  .embedded-field {
    overflow-x: auto !important;
    width: device-width; }
  .node--type-program-landing-page .slick__arrow {
    top: 35% !important; }
  .campaign__card-image {
    height: 270px; }
  .paragraph--type--card-section-3 .card-image,
  .paragraph--type--card-section-3 .campaign__card-image {
    width: 370px;
    max-width: 100%; }
    .paragraph--type--card-section-3 .card-image img,
    .paragraph--type--card-section-3 .campaign__card-image img {
      width: 100%; }
  .multiline-links-list {
    max-width: 100%; } }

a {
  text-decoration: none; }

a:visited {
  color: purple; }

a.btn-modal:visited {
  color: white; }

a.subscribe-button:hover {
  text-decoration: none; }

#content a:link,
.region-content a:link,
#sidecontent a:link,
.breadcrumb a:link {
  text-decoration: underline; }

#content .node__title a:link,
#content .title--news-item a:link,
#content .pagination a:link,
#content a.btn-modal:link,
#content .region-content .view-newsroom h2 a:link {
  text-decoration: none; }

.usa-banner {
  display: block; }

.no-padding {
  padding: 0; }

.no-float {
  float: none; }

.no-border {
  border: 0; }

.alert-wrapper {
  width: 100%; }

.alert-content a,
.alert-content a:link,
.alert-content a:visited {
  color: white !important;
  text-decoration: underline !important; }

figure.align-left {
  margin: 0 1.5rem 1rem; }

figure.align-right {
  margin: 0 0 1rem 1.5rem; }

.bg--dark-blue {
  background-color: #15396c; }

.bg--mid-blue {
  background-color: #1C6DA6; }

.bg--dark-gray {
  background-color: #2d2d2d; }

.bg--light-gray {
  background-color: #f3f3f3; }

.bg--white {
  background-color: #FFF; }

.text--dark-blue {
  color: #15396c; }

.text--dark-gray {
  color: #2d2d2d; }

.text--mid-gray {
  color: #464646; }

.text--mid-blue {
  color: #1C6DA6; }

.bg--white {
  background-color: #FFFFFF;
  background-color: white; }

.featured__bluetone_photo {
  background-image: url(/themes/custom/modal/images/by-the-numbers-background.jpg);
  background-size: cover;
  color: #FFF; }
  .featured__bluetone_photo h1.block__title,
  .featured__bluetone_photo h1.section--header,
  .featured__bluetone_photo h1, .featured__bluetone_photo h2, .featured__bluetone_photo h3, .featured__bluetone_photo h4, .featured__bluetone_photo h5, .featured__bluetone_photo h6 {
    color: #FFF; }
  .featured__bluetone_photo a:hover,
  .featured__bluetone_photo a:link,
  .featured__bluetone_photo a:visited {
    color: #FFF; }
  .featured__bluetone_photo.statistic h1.block__title {
    color: #FFF; }

.featured__dark_blue {
  background: #14396c;
  color: #FFF; }
  .featured__dark_blue h1.block__title,
  .featured__dark_blue h1.section--header,
  .featured__dark_blue h1, .featured__dark_blue h2, .featured__dark_blue h3, .featured__dark_blue h4, .featured__dark_blue h5, .featured__dark_blue h6 {
    color: #FFF; }
  .featured__dark_blue a:hover,
  .featured__dark_blue a:link,
  .featured__dark_blue a:visited {
    color: #FFF; }
  .featured__dark_blue.statistic h1.block__title {
    color: #FFF; }

.featured__gradient_blue {
  background-image: linear-gradient(to right, #0a1f62, #002d6d, #003a76, #00467e, #005385, #005988, #015e8b, #07648d, #07648d, #07648d, #07648d, #07648d);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #FFF; }
  .featured__gradient_blue h1.block__title,
  .featured__gradient_blue h1.section--header,
  .featured__gradient_blue h1, .featured__gradient_blue h2, .featured__gradient_blue h3, .featured__gradient_blue h4, .featured__gradient_blue h5, .featured__gradient_blue h6 {
    color: #FFF; }
  .featured__gradient_blue a:hover,
  .featured__gradient_blue a:link,
  .featured__gradient_blue a:visited {
    color: #FFF; }
  .featured__gradient_blue.statistic h1.block__title {
    color: #FFF; }

.paragraph--type--tile a.btn:visited,
.paragraph--type--tile a.btn-outline-primary:visited {
  color: #005EA2; }
  .paragraph--type--tile a.btn:visited:hover,
  .paragraph--type--tile a.btn-outline-primary:visited:hover {
    color: #FFF; }

.featured__light_gray {
  background: rgba(216, 216, 216, 0.6); }

.featured__white {
  background: white; }
  .featured__white.statistic {
    color: #194178; }
    .featured__white.statistic h1.block__title {
      color: #194178; }

.page--campaign-landing-page .layout-main-wrapper .node--type-campaign-landing-page .campaign__third .featured__white {
  color: #212529; }
  .page--campaign-landing-page .layout-main-wrapper .node--type-campaign-landing-page .campaign__third .featured__white h1.block__title {
    color: #194178; }

.views-exposed-form .form-row {
  align-items: center; }
  .views-exposed-form .form-row > .col-auto:last-of-type {
    padding-right: 10px; }

.views-exposed-form label {
  font-weight: 600;
  font-size: 1rem; }

.views-exposed-form .form-text {
  margin-top: 0; }

.views-exposed-form .form-submit {
  width: 100px; }

.views-exposed-form .form-row .form-actions {
  align-self: auto; }

.bef-exposed-form .form-submits {
  width: 100%; }
  .bef-exposed-form .form-submits .form-submit + .form-submit {
    margin-left: 10px; }

.view-federal-register .views-exposed-form .form-row > div.form-submits,
.view-federal-register .views-exposed-form .form-submits {
  width: 100%; }

.view-federal-register .views-exposed-form .form-submit + .form-submit {
  margin-left: 10px; }

@media (min-width: 992px) {
  .view-federal-register .views-exposed-form input[type="text"] {
    width: 20rem; } }

.page ul.pagination {
  -webkit-padding-start: 0 !important;
  -moz-padding-start: 0 !important;
  padding-inline-start: 0 !important;
  -webkit-padding-start: 0 !important;
  -moz-padding-start: 0 !important;
  padding-inline-start: 0 !important; }

.list_pagination {
  padding-left: 15px; }

.page-item[role=navigation] {
  margin: 0 10px; }

.views-exposed-form .form-type-select label,
.bef-exposed-form .form-type-select label {
  width: 100%; }

.view-regulatory-guidance .list_filter {
  margin-bottom: 20px; }

.view-regulations-sections .form-check-input {
  margin-left: 0; }

@-moz-document url-prefix() {
  .form-row > .col,
  .form-row > [class*="col-"] {
    padding-right: 4px !important;
    padding-left: 4px !important; } }

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

label {
  margin-bottom: 0; }

.entity-moderation-form {
  background: #f8f9fa;
  padding: 1rem; }
  .entity-moderation-form .entity-moderation-form__item .form-group {
    display: flex;
    flex-direction: column; }
  .entity-moderation-form .entity-moderation-form__item label {
    font-weight: bold; }
    .entity-moderation-form .entity-moderation-form__item label:after {
      content: ":"; }

thead a {
  text-decoration: none; }

td.is-active {
  background-color: #f8f9fa !important; }

.table-hover tbody tr:hover {
  background-color: #f8f9fa !important;
  cursor: url(hand.cur), pointer; }

/* Change the white to any color ;) */
.form-submit:focus {
  color: #fff;
  background-color: #0079C0;
  border-color: #0079C0; }

.path-user .user-login-form .button {
  margin-left: 0;
  margin-right: 0;
  width: fit-content; }

.entity-moderation-form label {
  width: 100%;
  font-weight: bold; }
  .entity-moderation-form label:after {
    content: ":"; }

.entity-moderation-form input[type="submit"] {
  margin-bottom: .5rem; }

.entity-moderation-form .entity-moderation-form__item .form-control {
  margin-top: 0; }

.views-exposed-form small.description {
  font-size: 90%; }

.views-exposed-form .text-muted {
  color: #212529 !important; }

.form-required::after {
  background-image: url(/themes/custom/modal/images/required.svg);
  background-size: 7px 7px;
  width: 7px;
  height: 7px; }

.two-cols-layout,
.three-cols-layout,
.path-elibrary-search .main {
  padding-bottom: 5.5rem; }

.sidecontent ol, .sidecontent ul {
  padding-left: 1rem; }

.main a {
  overflow-wrap: anywhere; }

.main table a,
.main th a {
  overflow-wrap: unset !important; }

.embedded-field {
  overflow-x: auto; }

.subcontent {
  margin-top: 1.75rem;
  padding: .75rem 0; }

.wrapper__set_content {
  margin-top: 1.75rem; }

.collapsible_content,
.wrapper__sidenav,
.wrapper__related_links {
  margin-bottom: 2.5rem; }

.path-login .card {
  margin-bottom: 7.5rem; }

.path-newsroom .newsroom-button {
  display: inline-block;
  margin: 1.5rem 0; }

.user-login-form .button {
  margin-left: 15px;
  margin-right: 15px; }

.list_news,
.list_pagination {
  margin-bottom: 30px; }

.list_news article {
  margin-top: 30px; }

.newsroom__row {
  margin-top: 20px; }
  .newsroom__row h2 {
    margin-bottom: 1.5rem; }

.newsroom__row-last {
  margin-bottom: 40px; }

.view-footer {
  margin-top: 1.5rem; }

.path-frontpage .hero-newsroom {
  padding: 2rem 1.5rem; }

.newsroom-block .view-content {
  max-width: 475px; }

.newsroom-block .views-row {
  margin-bottom: 10px; }

.path-newsroom #sidebar_first {
  display: none; }

.path-newsroom .main-content {
  padding-bottom: 5rem; }

.inline-image.align-center {
  height: auto;
  max-width: 100%;
  margin: .5rem auto .75rem; }

@-moz-document url-prefix() {
  .inline-image.align-center {
    margin: .5rem auto .5rem; } }

@-moz-document url-prefix() {
  .content img {
    margin-bottom: .25rem; } }

.content img.align-right {
  margin-left: 1.5rem; }

@-moz-document url-prefix() {
  .content img.align-right {
    margin-left: 1.25rem; } }

.content img.align-left {
  margin-right: 1.5rem; }

@-moz-document url-prefix() {
  .content img.align-left {
    margin-right: 1.25rem; } }

.content > .card > img {
  margin: 0;
  padding: 0; }

.content .card img {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0; }

.sidebar nav ul.nav {
  margin: 0 0; }

.node--type-program-landing-page .featured-left--content,
.node--type-program-landing-page .featured-right--content {
  width: 32rem;
  max-width: 100%; }

.node--type-program-landing-page .half--bleed .video-embed, .node--type-program-landing-page .half--bleed img {
  margin: 0 auto 2rem; }

html {
  scroll-padding-top: 10rem; }

@media (max-width: 575.98px) {
  scroll-padding-top: auto; }

.node--type-complex-dataset .node__content .field--name-field-tableau-id {
  container-type: inline-size; }

.node--type-complex-dataset .dataset-iframe-container {
  max-width: 100%; }

.node--type-complex-dataset iframe body {
  max-width: fit-content !important; }

.responsive-iframe {
  width: 100%;
  /* Fills the width of its container */
  height: 100%;
  /* Works in conjunction with aspect-ratio */
  aspect-ratio: 16 / 9;
  /* Maintains a 16:9 aspect ratio */
  border: none;
  /* Optional: removes default border */ }

aside .sidenav {
  margin: 0 0 2.5rem; }

aside .sidenav-header {
  display: none; }

aside .wrapper__sidenav {
  display: block; }

aside li a.nav-link {
  display: block;
  padding: .75rem;
  color: #0079C0;
  text-decoration: none; }

aside li a.nav-link:hover {
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background: #f0f0f2;
  color: #005283;
  text-decoration: none; }

@media (max-width: 768px) {
  aside .sidenav-header {
    cursor: pointer;
    display: block;
    background: #0079C0;
    color: white;
    font-weight: 600;
    margin: 0;
    padding: .75rem .75rem .5rem;
    line-height: 1;
    text-transform: uppercase;
    position: relative; }
  aside .wrapper__sidenav {
    display: none; }
  aside .sidenav-header::after {
    display: inline-block;
    float: right;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: "\f067";
    transition: all .4s ease-in-out;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  aside .sidenav-header.active::after {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg); } }

.wrapper__sidenav li.nav-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
  margin: 0; }

/* left nav accordion */
.sidebar_first .block-menu li.nav-item {
  margin: 0 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
  width: 100%; }

.sidebar_first .block-menu li a.nav-link {
  display: block;
  padding: .75rem;
  color: black;
  text-decoration: none; }

.sidebar_first .block-menu li a.nav-link:hover {
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background: whitesmoke;
  color: #005283;
  text-decoration: none; }

/**
 * Styling top level items
 */
.first-level label > a {
  padding: 0; }

.left-nav-accordion label {
  display: block;
  padding: .5rem .5rem .5rem 1rem;
  color: #fff;
  background-color: white;
  -webkit-transition: all .25s ease-in;
  transition: all .25s ease-in; }
  .left-nav-accordion label:focus, .left-nav-accordion label:hover {
    background-color: #f7f7f7; }

.left-nav-accordion a {
  display: inline;
  color: black; }

.left-nav-accordion label {
  cursor: pointer;
  margin-bottom: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }

.nav__list > .first-level {
  border-top: 1px solid rgba(0, 0, 0, 0.125); }

.wrapper__sidenav a.nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between; }

/**
 * Accordion Left-Nav Styling first level lists items
 */
/* DOT override for colors */
.group-list {
  height: 100%;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height .5s ease-in-out;
  transition: max-height .5s ease-in-out;
  list-style: none;
  padding-left: 0; }

.group-list label {
  padding-left: 2rem;
  background: #f0f0f0; }
  .group-list label:focus, .group-list label:hover {
    background-color: #e8e8e8; }

/**
 * Hide nested lists
 */
.nav__list {
  list-style: none;
  padding-left: 0; }

.nav__list input[type=checkbox]:checked + label + ul {
  /* reset the height when checkbox is checked */
  max-height: 2000px; }

/**
 * Rotating chevron icon
 */
label > svg.svg-inline--fa {
  float: right;
  -webkit-transition: -webkit-transform .65s ease;
  transition: transform .65s ease;
  height: 1.5em;
  color: gray; }

.nav__list input[type=checkbox]:checked + label > svg {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.sidebar .block-facets {
  margin: 0 0;
  padding: .5rem 0 .5rem 1rem;
  border-top: 1px solid rgba(0, 0, 0, 0.125); }
  .sidebar .block-facets:last-of-type {
    border-bottom: 1px solid rgba(0, 0, 0, 0.125); }

div .collapsiblock,
div .collapsiblockCollapsed {
  background: none;
  color: gray;
  position: relative; }
  div .collapsiblock:hover,
  div .collapsiblockCollapsed:hover {
    color: #676767; }

div:after {
  font-size: .75rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  vertical-align: middle;
  position: absolute;
  top: .125rem;
  right: 0; }

div .collapsiblock h2 {
  font-size: 1rem;
  border: none;
  margin: 0; }

div .collapsiblock.collapsiblockCollapsed:after {
  content: "\f054";
  -webkit-transition: -webkit-transform .65s ease;
  transition: transform .65s ease; }

div .collapsiblock:after {
  content: "\f078"; }

.block-facet--checkbox:hover .collapsiblock,
.block-facet--checkbox:hover .collapsiblockCollapsed, .block-facet--checkbox:focus .collapsiblock,
.block-facet--checkbox:focus .collapsiblockCollapsed {
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  color: #010101; }

.block-facet--checkbox .facet-item--collapsed > .facets-checkbox,
.block-facet--checkbox .facet-item--expanded > .facets-checkbox {
  margin-right: 0;
  width: 0;
  visibility: hidden; }

.block-facet--checkbox .facet-item--collapsed > label,
.block-facet--checkbox .facet-item--expanded > label {
  font-weight: bold; }

.facet-item--collapsed > input:hover, .facet-item--collapsed > input:focus, .facet-item--collapsed > label:hover, .facet-item--collapsed > label:focus, .facet-item--collapsed > a:hover, .facet-item--collapsed > a:focus,
.facet-item--expanded > input:hover,
.facet-item--expanded > input:focus,
.facet-item--expanded > label:hover,
.facet-item--expanded > label:focus,
.facet-item--expanded > a:hover,
.facet-item--expanded > a:focus {
  cursor: pointer; }

.facet-item--collapsed > label:after,
.facet-item--expanded > label:after {
  font-size: .5rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-top: .5rem;
  padding-right: 1rem;
  vertical-align: middle;
  position: absolute;
  right: 0; }

.facet-item--collapsed > label:after {
  content: "\f067"; }

.facet-item--expanded > label:after {
  content: "\f068"; }

.facets-widget- li.facet-item {
  display: flex;
  align-items: baseline; }

.block-facets-summary ul {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin-bottom: 2.5rem;
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 0; }
  .block-facets-summary ul li {
    margin-right: 1.125rem; }
  .block-facets-summary ul .facet-item__value {
    font-weight: 600; }
  .block-facets-summary ul .js-facet-deactivate {
    font-size: 0; }
    .block-facets-summary ul .js-facet-deactivate:before {
      content: '\f057';
      font-size: 1rem;
      font-family: "Font Awesome 5 Free";
      font-weight: 900; }

.block-facet-blocksubject .facet-item {
  display: inline-flex;
  align-items: baseline;
  width: 100%; }

/**
* Pagination
*/
.pagination {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0px;
  list-style: none;
  justify-content: center; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .facet-item label {
    max-width: 220px; } }

/**
* Leftnav
*/
.menu-item--expanded svg {
  float: right;
  margin-top: 5px; }

.arrow-down svg {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.menu-item--expanded svg.rotate {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.wrapper__sidenav ul {
  list-style: none; }

.nav-item ul {
  display: none; }

.nav-item ul.active__open {
  display: block; }

.nav-item ul.active {
  display: block; }

.menu-item--expanded ul {
  padding-left: 0; }

.menu-item--expanded ul.menu a.nav-link {
  padding: .5rem .5rem;
  padding-left: 2rem; }

.wrapper__sidenav .menu .nav-link {
  font-size: 1rem;
  background: #f0f0f0; }

.menu li:first-of-type .nav-link {
  border-top: 1px solid rgba(0, 0, 0, 0.125); }

.menu li:last-of-type .nav-link,
.menu-item--expanded .nav-item:last-of-type {
  border-bottom: 0; }

.wrapper__sidenav a.nav-link {
  color: #005EA2; }

.wrapper__sidenav li a.nav-link:hover {
  background-color: #f7f7f7; }

.wrapper__sidenav ul ul a.nav-link:hover {
  text-decoration: underline;
  background-color: #e8e8e8; }

/**
* Ultimenu
*/
.ultimenu__focus {
  max-height: unset !important;
  min-height: 64px;
  padding: 20px 0;
  overflow: visible;
  opacity: 1 !important;
  transition-delay: .1s;
  visibility: visible !important; }

@media (max-width: 991.98px) {
  .ultimenu__flyout {
    top: 0; } }

.ultimenu__flyout .navbar-nav {
  width: 100%; }

.site-header .navbar-collapse {
  flex-direction: column;
  align-items: flex-end; }

.site-header.bg-primary {
  background-color: #1c6da6 !important; }

.usa-banner {
  padding: .25rem 0; }
  .usa-banner .usa-media_block-body p {
    margin-bottom: 0; }

.usa-banner__lock-image {
  height: 1.5ex;
  width: 1.21875ex; }

.site-header .navbar {
  padding-top: 15px;
  padding-bottom: 0;
  display: block;
  flex-grow: 1; }

.site-header .navbar-brand {
  padding-top: 0;
  float: left; }
  .site-header .navbar-brand img.img-fluid {
    width: 400px; }
  @media (max-width: 576px) {
    .site-header .navbar-brand {
      width: 100%;
      margin-right: 0; }
      .site-header .navbar-brand img.img-fluid {
        width: 100%; } }

.site-header .navbar-form {
  float: right;
  padding-top: 15px;
  padding-bottom: 15px; }
  .site-header .navbar-form fieldset.form-type-search {
    background-color: white; }

.site-header .usasearch-search-block-form {
  position: relative;
  border: none;
  order: 2; }
  .site-header .usasearch-search-block-form .usagov-search-autocomplete {
    width: 100%;
    border-radius: 0;
    height: 1.88rem;
    border: none; }
  .site-header .usasearch-search-block-form .js-form-type-search {
    padding-left: 0;
    padding-right: 0;
    width: 100%; }

.site-header .form-submit {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADNQTFRFU1NT9fX1lJSUXl5e1dXVfn5+c3Nz6urqv7+/tLS0iYmJqampn5+fysrK39/faWlp////Vi4ZywAAABF0Uk5T/////////////////////wAlrZliAAABLklEQVR42rSWWRbDIAhFHeOUtN3/ags1zaA4cHrKZ8JFRHwoXkwTvwGP1Qo0bYObAPwiLmbNAHBWFBZlD9j0JxflDViIObNHG/Do8PRHTJk0TezAhv7qloK0JJEBh+F8+U/hopIELOWfiZUCDOZD1RADOQKA75oq4cvVkcT+OdHnqqpQCITWAjnWVgGQUWz12lJuGwGoaWgBKzRVBcCypgUkOAoWgBX/L0CmxN40u6xwcIJ1cOzWYDffp3axsQOyvdkXiH9FKRFwPRHYZUaXMgPLeiW7QhbDRciyLXJaKheCuLbiVoqx1DVRyH26yb0hsuoOFEPsoz+BVE0MRlZNjGZcRQyHYkmMp2hBTIzdkzCTc/pLqOnBrk7/yZdAOq/q5NPBH1f7x7fGP4C3AAMAQrhzX9zhcGsAAAAASUVORK5CYII=) center center no-repeat;
  height: 20px;
  display: inline-block;
  float: right;
  background-size: contain;
  text-indent: -10000px;
  border: none;
  position: absolute;
  top: 4px;
  right: 5px;
  z-index: 2;
  cursor: pointer;
  opacity: 0.4;
  cursor: pointer;
  -webkit-transition: opacity .4s ease;
  -o-transition: opacity .4s ease;
  transition: opacity .4s ease;
  width: auto; }

.site-header .navbar-toggler {
  float: right; }

.site-header .navbar-toggler {
  border-color: white; }

.site-header .navbar-collapse {
  clear: right;
  float: right; }

.site-header .menu--main {
  order: 3; }

.site-header #block-ultimenu-mobile-navigation .navbar-nav {
  text-align: left; }

@media screen and (min-width: 992px) and (max-width: 1079.98px) {
  .site-header .navbar-collapse {
    width: 100%; } }

.block .ultimenu {
  padding-inline-start: 0 !important;
  -webkit-padding-start: 0; }

.ultimenu h1, .ultimenu h2 {
  margin-left: 15px;
  border-bottom: 1px solid white;
  padding-bottom: .5rem;
  color: white;
  font-size: 1.125rem;
  font-weight: bold; }

.ultimenu .uitem {
  position: relative; }
  .ultimenu .uitem:hover {
    background-color: #15396c; }

.ultimenu .navigation {
  padding-top: 0; }

.ultimenu .nav {
  display: inline-block; }

.ultimenu .nav-item a {
  padding: .5rem 1rem; }

.ultimenu .nav-item a:hover {
  text-decoration: underline; }

#block-ultimenu-mobile-navigation .ultimenu .nav-item a {
  padding: .5rem 0; }

#header .ultimenu--hover .uitem:nth-last-child(-n+3) .ultimenu__flyout {
  right: 0;
  left: auto; }

#header .ultimenu--hover .ultimenu__flyout {
  padding-top: 0px;
  width: initial;
  min-width: initial;
  border-radius: 0; }
  #header .ultimenu--hover .ultimenu__flyout .ultimenu__region {
    flex-direction: row;
    padding: 10px;
    justify-content: space-between;
    background-color: #15396c;
    border-radius: 0; }
    #header .ultimenu--hover .ultimenu__flyout .ultimenu__region a {
      text-align: left; }
  #header .ultimenu--hover .ultimenu__flyout .block-menu {
    max-width: 100%;
    padding: 1rem 1rem 1rem 0;
    clear: none;
    flex: 1;
    text-align: left;
    width: 400px; }
  #header .ultimenu--hover .ultimenu__flyout .block-menu + .block-menu {
    margin-left: .5rem; }

@media (max-width: 943px) {
  #header .ultimenu--hover .ultimenu__flyout .ultimenu__region {
    flex-direction: row;
    flex-wrap: wrap; }
  #header .ultimenu--hover .ultimenu__flyout .block-menu {
    width: initial;
    max-width: 380px; } }

.ultimenu--main .ultimenu__link,
.ultimenu .ultimenu__ajax {
  text-align: left; }

.button.button--ultimenu {
  display: none; }

@media (max-width: 767.98px) {
  .navbar-collapse {
    margin-bottom: 3rem; } }

@media (min-width: 992px) {
  .ultimenu.ultimenu--hover .ultimenu__link {
    padding-right: 1.5em; } }

@media (max-width: 1079.98px) {
  .site-header .navbar-form,
  .site-header .region-header-form,
  .site-header .usasearch-search-block-form {
    width: 100%; } }

@media (min-width: 1080px) {
  .site-header .usasearch-search-block-form {
    width: 245px; } }

.sticky-top {
  padding: .25rem 0;
  -webkit-transition: padding .3s;
  -moz-transition: padding .3s;
  transition: padding .3s;
  z-index: 500; }

.sticky-top .navbar-brand {
  width: 2.5rem;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s; }

.sticky-top.sticky-top-shrink {
  padding: 0 0; }

.sticky-top.sticky-top-shrink .navbar-brand {
  font-size: 85%;
  width: 1.5rem; }

aside .sidenav {
  margin: 0 0 2.5rem; }

aside .sidenav-header {
  display: none; }

aside .wrapper__sidenav {
  display: block; }

aside li.nav-item {
  width: 100%; }

aside li a.nav-link {
  display: block;
  padding: .75rem;
  color: #0079C0;
  text-decoration: none; }

aside li a.nav-link:hover {
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background: #f0f0f2;
  color: #005283;
  text-decoration: none; }

@media (max-width: 768px) {
  aside .sidenav-header {
    cursor: pointer;
    display: block;
    background: #0079C0;
    color: white;
    font-weight: 600;
    margin: 0;
    padding: .75rem .75rem;
    line-height: 1;
    text-transform: uppercase;
    position: relative; }
  aside .wrapper__sidenav {
    display: none; }
  aside .sidenav-header::after {
    display: inline-block;
    float: right;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f067";
    transition: all .4s ease-in-out;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  aside .sidenav-header.active::after {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg); } }

.site-footer {
  padding: 3rem 0; }
  .site-footer .subscribe-button {
    background-color: #216da3;
    display: inline-block;
    padding: 0.75rem 1rem;
    font-weight: 600;
    line-height: 1;
    text-transform: capitalize; }
    .site-footer .subscribe-button:hover {
      transition: all .2s;
      background-color: #267ebc; }
  .site-footer .footer-social {
    margin-top: 15px;
    padding-left: 0 !important;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: fit-content;
    margin: auto; }
    .site-footer .footer-social li {
      list-style: none;
      display: inline; }
    .site-footer .footer-social .fab:before, .site-footer .footer-social .fas:before, .site-footer .footer-social .fa-brands:before, .site-footer .footer-social .fa-solid:before {
      margin: auto;
      padding: 8px; }
    .site-footer .footer-social .fab, .site-footer .footer-social .fas, .site-footer .footer-social .fa-brands, .site-footer .footer-social .fa-solid {
      color: white;
      background-color: #216da3;
      font-size: 20px;
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 100%;
      line-height: 0.9;
      text-align: center;
      transition: transform .2s;
      display: inline-flex;
      align-items: center; }
      .site-footer .footer-social .fab:hover, .site-footer .footer-social .fas:hover, .site-footer .footer-social .fa-brands:hover, .site-footer .footer-social .fa-solid:hover {
        transition: all .2s;
        transform: scale(1.1);
        background-color: #267ebc; }
    .site-footer .footer-social .fa-brands.fa-instagram {
      font-size: 22px; }
    .site-footer .footer-social .fa-brands.fa-x-twitter {
      font-size: 18px; }
  .site-footer .site-footer__top {
    padding-bottom: 2rem;
    display: flex;
    justify-content: space-between; }
  .site-footer h2 {
    font-size: .9375rem;
    font-weight: 100;
    margin-bottom: .75rem;
    color: white; }
  .site-footer .navigation .nav {
    flex-direction: column; }
  .site-footer .navigation h1, .site-footer .navigation h2 {
    color: white;
    font-size: .9375rem;
    font-weight: 700; }
  .site-footer .navigation a {
    font-size: .9375rem;
    font-weight: normal;
    padding: 0; }

.usa-banner {
  padding: .25rem 0; }
  .usa-banner .usa-media_block-body p {
    margin-bottom: 0; }

.region-site-notification {
  margin: 0 0; }

.block--site-notification .message--status {
  display: flex;
  padding-top: .425rem;
  padding-bottom: .425rem; }

.standalone .block--site-notification .message--status {
  display: flex;
  padding-top: .425rem;
  padding-bottom: .425rem; }

.standalone .alert-content,
.standalone .fa, .standalone .fab, .standalone .fal, .standalone .far, .standalone .fas {
  display: inline-block; }

.standalone .alert-icon {
  margin-right: .5rem; }

.alert-content {
  display: inline-block; }

.alert-icon {
  margin-right: .5rem; }

.message--status {
  line-height: 2;
  color: white; }

.block--emergency {
  background: darkred; }

.block--warning {
  background: darkgreen; }

#content .nav-tabs.primary a:link {
  text-decoration: none; }

.usa-banner-header .usa-media_block-icon {
  height: 11px;
  width: 16px;
  margin-top: 0.125rem;
  margin-right: 0.5rem; }

.usa-banner-header .usa-banner-flag {
  width: 100%; }

.usa-banner-content .usa-media_block-icon {
  min-width: 24px;
  max-width: 24px;
  margin-top: 0.25rem;
  margin-right: 0.5rem; }

.usa-banner-content .usa-banner-icon {
  width: 100%; }

.fmcsa-homepage .section .first-row .view-fmcsa-homepage-image .view-fmcsa-homepage-block h1 {
  font-size: 3em;
  color: white;
  font-weight: normal; }

.jumbotron {
  min-height: 540px; }
  .jumbotron h1 {
    font-size: 3em;
    color: white;
    font-weight: normal; }

.spotlight__card h1 {
  font-size: 21px; }

.spotlight__card .card-img-top {
  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }

@media (max-width: 767.98px) {
  .jumbotron {
    min-height: intrinsic;
    /* Safari/WebKit uses a non-standard name */
    min-height: -moz-max-content;
    /* Firefox/Gecko */
    min-height: -webkit-max-content;
    /* Chrome */
    min-height: max-content; } }

@media (max-width: 575.98px) {
  .jumbotron {
    min-height: intrinsic;
    /* Safari/WebKit uses a non-standard name */
    min-height: -moz-max-content;
    /* Firefox/Gecko */
    min-height: -webkit-max-content;
    /* Chrome */
    min-height: max-content; }
  .hero .container {
    overflow-x: hidden;
    padding-right: 0;
    padding-left: 0; } }

.card-img-overlay {
  background-color: #000d1a;
  background-color: rgba(0, 13, 26, 0.45);
  background-color: rgba(0, 13, 26, 0.45);
  width: 100%; }

.usa-media_block-icon {
  margin-right: .5rem; }
  .usa-media_block-icon .usa-banner-icon {
    width: 2.5rem; }
  .usa-media_block-icon .usa-banner-flag {
    width: 1.25rem; }

.usa-banner-header .usa-media_block-body {
  line-height: 1.8; }

.usa-banner-content .usa-width-one-half {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem; }

button.usa-accordion-button {
  border: none !important;
  background: none !important;
  padding: 0; }
  button.usa-accordion-button .usa-banner-button-text {
    color: #005ea2;
    text-decoration: underline; }
    button.usa-accordion-button .usa-banner-button-text:hover {
      color: #005283; }

button.usa-banner-button::after {
  color: #0079C0;
  font-family: "Font Awesome 5 Free";
  font-weight: 900; }

button.usa-banner-button:hover::after {
  color: #005283; }

[aria-expanded=false] button.usa-banner-button::after {
  content: " \f107"; }

[aria-expanded=true] button.usa-banner-button::after {
  content: " \f106"; }

.list_filter .card {
  background-color: #f1f1f1; }

.path-elibrary-search .main-content .list_filter,
.path-elibrary-search .main-content .list_view_items,
.path-elibrary-search .main-content .list_pagination {
  margin: 0 0 2.5rem; }

.elibrary--search-item {
  padding: 1.25rem 0; }

.elibrary--search-item + .elibrary--search-item {
  border-top: 1px dotted rgba(0, 0, 0, 0.125); }

.collapsible_content [data-toggle="collapse"] {
  display: block; }

.collapsible_content [data-toggle="collapse"]:after {
  align-self: self-start;
  content: "\f107";
  display: inline-block;
  float: right;
  font-family: "Font Awesome 5 Free";
  font-size: 1.25rem;
  font-weight: 900;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: rotate(180deg);
  transition: all linear 0.25s; }

.collapsible_content [data-toggle="collapse"].collapsed:after {
  transform: rotate(0deg); }

.collapsible_content .document--set {
  margin-top: 5px; }

.collapsible_content .lead {
  padding-right: .75rem; }

#content .view-grouping > .card-header a:link,
#content .collapsible_content > .card-header a:link,
#sidecontent .view-grouping > .card-header a:link,
#sidecontent .collapsible_content > .card-header a:link,
.region-content .view-grouping > .card-header a:link,
.region-content .collapsible_content > .card-header a:link {
  text-decoration: none; }

#content .view-events .views-row > .views-field-title a:link,
#sidecontent .view-events .views-row > .views-field-title a:link,
.region-content .view-events .views-row > .views-field-title a:link {
  text-decoration: none; }
  #content .view-events .views-row > .views-field-title a:link:hover,
  #sidecontent .view-events .views-row > .views-field-title a:link:hover,
  .region-content .view-events .views-row > .views-field-title a:link:hover {
    text-decoration: underline; }

#content .slide__content .slide__headline a:link,
#sidecontent .slide__content .slide__headline a:link,
.region-content .slide__content .slide__headline a:link {
  text-decoration: none; }
  #content .slide__content .slide__headline a:link:hover,
  #sidecontent .slide__content .slide__headline a:link:hover,
  .region-content .slide__content .slide__headline a:link:hover {
    text-decoration: underline; }

.slick__slideshow_container {
  margin: 3.25rem auto; }

.slide__bg_image {
  min-height: 25rem;
  position: relative; }

.slide__bg_image .slide__content .slide__headline a:link {
  text-decoration: none; }
  .slide__bg_image .slide__content .slide__headline a:link:hover {
    text-decoration: underline; }

.slide__bg_image .slide__content {
  background: rgba(0, 0, 0, 0.65);
  color: #FFF;
  position: absolute;
  bottom: 0;
  width: 100%;
  min-height: 80px; }
  .slide__bg_image .slide__content .slide__headline,
  .slide__bg_image .slide__content .slide__caption,
  .slide__bg_image .slide__content .slide__link {
    color: white;
    margin: 0 0 .5rem;
    padding: 0; }

.slick--skin--fullwidth .slide__link a {
  border-bottom: none;
  border-top: none; }

.node--type-lite-landing-page .slide__bg_image .slide__content {
  padding-right: 84px !important; }

blockquote {
  padding: 1em 1.5rem 1em 3rem;
  border-left: .25rem solid #495057;
  position: relative; }

blockquote::before {
  position: absolute; }

.card .node__content {
  margin-top: 0; }

.card h1, .card h2, .card h3 {
  padding-top: 0; }

.card-block {
  padding: 0.75rem 1.25rem; }

.sidebar_second .card {
  margin: 0 0 1.75rem; }

@media all and (min-width: 560px) {
  .paragraph--type--information-gallery .node .field--type-image {
    float: none !important;
    margin: 0 0 0 0 !important; } }

.jumbotron {
  background-position: center center; }

.hero__content .hero__text_filter {
  background-color: #000d1a;
  background-color: rgba(0, 13, 26, 0.65);
  background-color: rgba(0, 13, 26, 0.65);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; }

.hero__content .hero__headline {
  text-shadow: 0 0 1rem black; }

.hero .view-footer a.btn-modal {
  padding: .5rem 1rem; }

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

img.float-left {
  margin: .5rem 1.5rem .5rem 0; }

@-moz-document url-prefix() {
  img.float-left {
    margin: .5rem 1.5rem .25rem 0; } }

img.float-right {
  margin: .5rem 0 .5rem 1.5rem; }

@-moz-document url-prefix() {
  img.float-right {
    margin: .5rem 0 .25rem 1.5rem; } }

.document--set {
  margin: 1.25rem 0 0; }

.document--item {
  margin: 0 0 .75rem; }

.elibrary--search-item .row {
  margin-left: 0;
  margin-right: 0; }

.elibrary--search-item .col-date {
  background: #f1f1f1; }

.facets-checkbox {
  margin-right: .5rem; }

.elibrary--search-item .field__label {
  font-weight: bold; }
  .elibrary--search-item .field__label:after {
    content: ":";
    font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
    vertical-align: inherit;
    position: inherit;
    top: inherit;
    right: inherit; }

.elibrary--search-item .field--type-entity-reference {
  margin: 0 0; }

.elibrary--search-item .field--name-field-subject .field__label,
.elibrary--search-item .field--name-field-subject .field__items,
.elibrary--search-item .field--name-field-subject .field__item,
.elibrary--search-item .field--name-field-author .field__label,
.elibrary--search-item .field--name-field-author .field__item {
  display: inline-block; }

.elibrary--search-item .field--type-entity-reference .field__label {
  padding-right: 0; }

.elibrary--search-item .field--name-field-subject .field__item::after {
  content: ',';
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
  vertical-align: inherit;
  position: inherit;
  top: inherit;
  right: inherit; }

.elibrary--search-item .field--name-field-subject .field__item:last-child::after {
  content: ''; }

.contact-us-social-media a {
  padding-right: .5rem; }

figure {
  margin-left: 15px; }

.contact-us-social-media-items a {
  display: table; }

.content-moderation-entity-moderation-form {
  overflow: auto; }

.node--type-maps .field__label,
.node--type-complex-dataset .field__label,
.node--type-medium-dataset .field__label {
  font-weight: bold; }

.field--name-field-product-info .field__label {
  font-weight: normal; }

.field--name-field-related-datasets .field__item {
  text-align: center; }

.field--name-field-related-datasets a:link {
  display: block !important; }

.field--name-field-socrata-id {
  margin: 20px 0; }

.view-product-related-datasets .view-filters {
  margin-bottom: 1rem; }

.view-regulations-sections .form-item-combine {
  width: 200px; }

.field__label {
  font-weight: bold; }

.field--type-entity-reference .field__label {
  font-weight: bold; }

.node--type-contact-info .set_address__item .address {
  margin-left: .25em; }

.node--type-contact-info .ext svg,
.node--type-contact-info .mailto svg {
  margin-left: .25em; }

.node--type-contact-info .fa-fax,
.node--type-contact-info .fa-phone {
  color: #727272;
  font-size: .5em;
  margin-left: .5em;
  overflow: hidden;
  vertical-align: middle; }

.sidecontent ul.list_related_documents li,
.sidecontent ul.list_related_links li {
  margin: .5rem 0; }

.by-the-numbers {
  background-color: #1c6da6;
  background-image: url(../images/by-the-numbers-background.jpg);
  background-size: cover;
  color: #FFFFFF;
  padding-top: 4rem;
  padding-bottom: 4rem; }
  .by-the-numbers a {
    color: #FFFFFF; }
  .by-the-numbers h1 {
    color: #FFFFFF;
    margin-bottom: 2.667rem; }
  .by-the-numbers .list-group-item {
    border: none;
    background: none;
    min-height: 100px;
    text-align: center; }
  .by-the-numbers .views-field-field-value {
    font-family: 'Raleway', sans-serif;
    font-size: 36px;
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: .5rem; }

.site-footer {
  padding: 3rem 0; }
  .site-footer .subscribe-button {
    background-color: #216da3;
    padding: 0.5rem 1rem;
    text-transform: capitalize;
    display: inline-block;
    font-weight: 600; }
    .site-footer .subscribe-button:hover {
      transition: all .2s;
      background-color: #267ebc; }
  .site-footer .footer-social {
    margin-top: 15px;
    padding-left: 0 !important;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: fit-content;
    margin: auto; }
    .site-footer .footer-social li {
      list-style: none;
      display: inline; }
      .site-footer .footer-social li + li {
        margin-left: 1.5rem; }
    .site-footer .footer-social .fab:before, .site-footer .footer-social .fas:before, .site-footer .footer-social .fa-brands:before, .site-footer .footer-social .fa-solid:before {
      padding: 8px; }
    .site-footer .footer-social .fab, .site-footer .footer-social .fas, .site-footer .footer-social .fa-brands, .site-footer .footer-social .fa-solid {
      color: white;
      font-size: 20px;
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 100%;
      line-height: 1;
      text-align: center;
      transition: transform .2s;
      display: inline-flex;
      align-items: center; }

@-moz-document url-prefix() {
  .site-footer .footer-social .fab, .site-footer .footer-social .fas, .site-footer .footer-social .fa-brands, .site-footer .footer-social .fa-solid {
    line-height: .9; } }
      .site-footer .footer-social .fab:hover, .site-footer .footer-social .fas:hover, .site-footer .footer-social .fa-brands:hover, .site-footer .footer-social .fa-solid:hover {
        transition: all .2s;
        transform: scale(1.1); }
  .site-footer .fa-brands.fa-instagram {
    font-size: 22px; }
  .site-footer .fa-brands.fa-x-twitter {
    font-size: 18px; }
  .site-footer .site-footer__top {
    padding-bottom: 2rem;
    display: flex;
    justify-content: space-between; }
  .site-footer h2 {
    font-size: 1rem;
    font-weight: 100;
    margin-bottom: .75rem;
    color: white; }
  .site-footer .navigation .nav {
    flex-direction: column; }
  .site-footer .navigation h1, .site-footer .navigation h2 {
    color: white;
    font-size: 1rem;
    font-weight: 700; }
  .site-footer .navigation .nav-item {
    margin-bottom: .5rem; }
  .site-footer .navigation a {
    font-weight: normal;
    padding: 0; }
  .site-footer .navigation .nav-item a:link {
    text-decoration: underline; }
  .site-footer .navigation .nav-item a:hover {
    color: #CFCFCF !important; }
  .site-footer .navigation .nav-item a:visited {
    color: purple; }

.region-footer-right a:hover {
  text-decoration: none; }

/**
 * @file
 * Theme styling for Landing Page Nodes
 */
.landing-page-content .content {
  background-color: lightgrey; }

.landing-page-content .landing-page-hero-text a:link {
  color: white;
  text-decoration: underline; }

.landing-page-content .landing-page-hero-text a:hover {
  color: #CFCFCF; }

.landing-page-content .landing-page-hero-text a:visited {
  color: white; }

.landing-page-content #content .landing-page-first-row .card-paragraph a:link {
  text-decoration: none; }

.landing-page-content #content .landing-page-first-row .card-paragraph a:hover h1 {
  text-decoration: underline; }

.landing-page-content #content .landing-page-first-row .card-paragraph a:visited h1 {
  color: purple; }

.landing-page-content .landing-page-menu a:hover {
  color: #CFCFCF !important; }

.landing-page-content .landing-page-hero-section {
  margin-bottom: -5%;
  padding: 13%;
  text-align: center;
  color: #fff;
  background-size: cover; }
  .landing-page-content .landing-page-hero-section h1 {
    letter-spacing: -0.38px;
    color: #fff;
    font-size: 52px;
    font-weight: bold;
    line-height: 55px; }
  .landing-page-content .landing-page-hero-section .landing-page-hero-text p {
    text-align: center;
    letter-spacing: -0.29px;
    font-size: 17px;
    line-height: 24px; }

.landing-page-content .landing-page-first-row h1 {
  color: white; }

.landing-page-content .landing-page-first-row .cards-section {
  margin-bottom: 4%; }
  .landing-page-content .landing-page-first-row .cards-section a {
    text-decoration: none;
    color: #000; }
  .landing-page-content .landing-page-first-row .cards-section .card-paragraph {
    height: 100%;
    background-color: white; }
    .landing-page-content .landing-page-first-row .cards-section .card-paragraph .card-image {
      height: 298px;
      background-size: cover; }
    .landing-page-content .landing-page-first-row .cards-section .card-paragraph .card-text-wrapper {
      padding: 15px; }
      .landing-page-content .landing-page-first-row .cards-section .card-paragraph .card-text-wrapper h1 {
        color: #1C6DA6;
        font-size: 21px;
        font-weight: bold;
        line-height: 28px; }
      .landing-page-content .landing-page-first-row .cards-section .card-paragraph .card-text-wrapper .card-summary {
        padding: 5px;
        color: #484848;
        font-size: 15px;
        line-height: 24px; }

.landing-page-content .landing-page-second-row .landing-page-menu-section {
  padding: 2%;
  background-color: #15396C;
  background-size: cover;
  background-blend-mode: soft-light; }
  .landing-page-content .landing-page-second-row .landing-page-menu-section h1, .landing-page-content .landing-page-second-row .landing-page-menu-section h2, .landing-page-content .landing-page-second-row .landing-page-menu-section a {
    margin-bottom: 5%;
    text-align: center;
    color: #fff; }
  .landing-page-content .landing-page-second-row .landing-page-menu-section h1.landing-page-menu-section-title {
    font-weight: normal; }
  .landing-page-content .landing-page-second-row .landing-page-menu-section .landing-page-menu-section-content .landing-page-menu {
    margin-bottom: 10px; }
    .landing-page-content .landing-page-second-row .landing-page-menu-section .landing-page-menu-section-content .landing-page-menu .landing-page-menu-image {
      display: inline-block;
      width: 20%;
      height: 26px;
      vertical-align: top;
      background-repeat: no-repeat;
      background-size: 36px 26px; }
    .landing-page-content .landing-page-second-row .landing-page-menu-section .landing-page-menu-section-content .landing-page-menu .landing-page-menu-text {
      display: inline-block;
      width: 79%;
      vertical-align: top; }
      .landing-page-content .landing-page-second-row .landing-page-menu-section .landing-page-menu-section-content .landing-page-menu .landing-page-menu-text .landing-page-menu-title {
        text-align: left;
        letter-spacing: 0.18px;
        text-transform: uppercase;
        color: #FFFFFF;
        font-size: 22px;
        font-weight: bold; }
      .landing-page-content .landing-page-second-row .landing-page-menu-section .landing-page-menu-section-content .landing-page-menu .landing-page-menu-text .landing-page-menu-links .field__item {
        line-height: 2; }

.landing-page-content .landing-page-third-row {
  background-color: white; }
  .landing-page-content .landing-page-third-row .landing-page-quick-links {
    padding: 3%; }
    .landing-page-content .landing-page-third-row .landing-page-quick-links .landing-page-quick-links-image {
      background-size: cover; }
    .landing-page-content .landing-page-third-row .landing-page-quick-links h2.landing-page-quick-links-title {
      padding: 13px 0px 26px 0px;
      color: #4A4A4A;
      font-size: 35px;
      font-weight: normal;
      line-height: 26px; }
    .landing-page-content .landing-page-third-row .landing-page-quick-links .landing-page-quick-links-links {
      padding-left: 40px; }
      .landing-page-content .landing-page-third-row .landing-page-quick-links .landing-page-quick-links-links .field__item {
        padding-bottom: 15px;
        font-size: 15px;
        font-weight: 600;
        line-height: 24px; }

.landing-page-content .landing-page-footer .field--name-field-postscript {
  padding: 1%;
  text-align: center;
  color: white;
  background: #15396c;
  font-size: 2em; }
  .landing-page-content .landing-page-footer .field--name-field-postscript a {
    color: white; }

.node--type-lite-landing-page .slick__arrow {
  top: initial;
  bottom: 0;
  height: 42px;
  transform: none; }
  .node--type-lite-landing-page .slick__arrow .slick-arrow {
    border-radius: 0px; }
  .node--type-lite-landing-page .slick__arrow .slick-prev, .node--type-lite-landing-page .slick__arrow .slick-next {
    background-color: #dc3545; }
    .node--type-lite-landing-page .slick__arrow .slick-prev:hover, .node--type-lite-landing-page .slick__arrow .slick-next:hover {
      background-color: #bd2130; }
    .node--type-lite-landing-page .slick__arrow .slick-prev:before, .node--type-lite-landing-page .slick__arrow .slick-next:before {
      display: block;
      width: 42px;
      height: 42px;
      content: " ";
      background-repeat: no-repeat;
      background-position: 50%;
      background-size: 25%; }
  .node--type-lite-landing-page .slick__arrow .slick-prev {
    right: 42px;
    left: initial; }
    .node--type-lite-landing-page .slick__arrow .slick-prev:before {
      background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='angle-left' class='svg-inline--fa fa-angle-left fa-w-8' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'%3E%3Cpath fill='white' d='M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z'%3E%3C/path%3E%3C/svg%3E"); }
  .node--type-lite-landing-page .slick__arrow .slick-next:before {
    background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='angle-right' class='svg-inline--fa fa-angle-right fa-w-8' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'%3E%3Cpath fill='white' d='M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z'%3E%3C/path%3E%3C/svg%3E"); }

.btn .ext {
  background: none; }

@media (max-width: 768px) {
  .hero__content .hero__text_filter {
    width: 100%; } }

.slick--field-landing-page-caro-items a:hover {
  text-decoration: none; }

@media (max-width: 991.98px) {
  #header .ultimenu {
    flex-wrap: wrap; }
    #header .ultimenu .uitem .ultimenu__flyout {
      max-width: 100%;
      min-width: initial !important; }
      #header .ultimenu .uitem .ultimenu__flyout .ultimenu__region {
        width: 100%;
        flex-direction: column; }
        #header .ultimenu .uitem .ultimenu__flyout .ultimenu__region .block-menu, #header .ultimenu .uitem .ultimenu__flyout .ultimenu__region .nav {
          min-width: initial; }
  .site-header .navbar-collapse {
    clear: both;
    float: none;
    text-align: left; }
  .navbar-form {
    width: 100%; }
    .navbar-form .usasearch-search-block-form {
      width: 100%; }
  .region-header-form {
    width: 100%; } }

@media (max-width: 767.98px) {
  .site-footer .site-footer__top {
    flex-direction: column; }
    .site-footer .site-footer__top .region-footer-left {
      margin-bottom: 1.5rem; }
    .site-footer .site-footer__top .footer-social {
      justify-content: flex-start; }
      .site-footer .site-footer__top .footer-social li {
        margin-right: 0; }
  .site-footer .site-footer__bottom {
    flex-wrap: wrap; }
    .site-footer .site-footer__bottom .region {
      flex-basis: 100%;
      margin-bottom: 2rem; } }

@media (max-width: 575.98px) {
  .container {
    max-width: 100%; }
  figure.align-left {
    float: none;
    margin: 0 auto 1rem; }
  figure.align-right {
    float: none;
    margin: 0 auto 1rem; } }

@media (min-width: 576px) and (max-width: 767.98px) {
  .container {
    max-width: 100%; } }

@media (min-width: 768px) and (max-width: 991.98px) {
  .container {
    max-width: 100%; } }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .container {
    max-width: 100%; } }

.iframe-container {
  overflow: hidden;
  padding-top: 56.25%;
  position: relative; }
  .iframe-container iframe {
    position: absolute;
    border: 0;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0; }

.iframe-holder {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden; }
  .iframe-holder iframe, .iframe-holder object, .iframe-holder embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    bottom: 0;
    outline: 0; }

/**
 * Bootstrap Barrio's tables styles Overwrite.
 */
.table .thead-dark {
  border: 1px solid #1c6da6; }

.table .thead-dark th {
  background-color: #1c6da6;
  border-color: #1c6da6; }

table.views-table .views-field-field-effective-date,
table thead .views-field-field-effective-date {
  width: 11.5rem; }

table.views-table .tablesort,
table thead .tablesort {
  vertical-align: baseline; }

table.views-table a,
table thead a {
  text-decoration: none; }

table caption, .table caption {
  color: #343A40;
  font-weight: bold;
  line-height: 1.5;
  margin: .5rem 0;
  text-align: center; }

th a,
th a:hover,
th a:active {
  color: #0079C0; }

.thead-dark th a,
.thead-dark th a:hover,
.thead-dark th a:active {
  color: white; }

td.is-active {
  background-color: white !important; }

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

th {
  white-space: nowrap;
  background-color: #eeeeee; }

#content table thead a:link,
.region-content table thead a:link {
  text-decoration: none; }

.view table th {
  background-color: #1c6da6;
  border-color: #1c6da6;
  color: white; }
  .view table th a, .view table th a:hover,
  .view table th a:active {
    color: white; }

h1, h2, h1 a, h2 a h3, h4, h5, h6, h3 a, body, p, a, li {
  font-family: 'Open Sans', sans-serif; }

h2, h3, h4, h5, h6 {
  margin-top: 20px; }

h1 {
  color: #194178;
  font-weight: normal;
  font-size: 2em; }

h2 {
  font-family: "Open Sans", sans-serif;
  color: #72655F;
  line-height: 23px;
  font-weight: bold;
  font-size: 1.53em; }

h3 {
  font-size: 1.34em;
  color: #194178;
  line-height: 21px;
  font-weight: bold; }

h4 {
  font-size: 1.27em;
  color: #72655F;
  font-weight: 700;
  line-height: 17px; }

h5 {
  font-size: 16px;
  color: #212519;
  font-weight: 500; }

h6 {
  font-size: 14px;
  color: #72655F;
  font-weight: 500; }

html {
  font-size: 15px; }

body, * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

p {
  line-height: 1.5;
  margin-bottom: 1rem; }

h1.title--newsroom-item {
  font-size: 1.5rem;
  font-weight: 700; }

h2 {
  padding-top: 1.25rem;
  font-size: 1.5rem; }
  @media (max-width: 575.98px) {
    h2 {
      padding-top: 0; } }
  h2.tile-title {
    font-size: 1.25rem; }

h3 {
  padding-top: 1.25rem; }

h4 {
  padding-top: 1.25rem; }

h2.related-title, h3.related-title {
  font-size: 1.125rem; }

.path-frontpage .hero-newsroom h1 {
  font-size: 1.4rem; }

.path-frontpage h2, .path-frontpage h3, .path-frontpage h4 {
  padding-top: initial; }

.page--newsroom h1.title--news-item,
.page--newsroom h2.title--news-item {
  font-size: 1.25rem;
  padding-top: 0 !important; }

.node--type-program-landing-page main.main h1, .node--type-program-landing-page main.main h2, .node--type-program-landing-page main.main h3, .node--type-program-landing-page main.main h4, .node--type-program-landing-page main.main h5 {
  margin-top: 0 !important;
  padding-top: 0 !important; }

.sidenav-header {
  font-size: 1.25rem; }

.slide__headline {
  font-size: 1.25rem; }

.site-footer h1,
.elibrary--title {
  font-size: 1.125rem; }

.slide__caption,
.slide__link {
  font-size: 1rem !important; }

.page__title {
  margin: 0 0 1rem; }
  @media (max-width: 575.98px) {
    .page__title {
      margin-bottom: 1.5rem; } }

.block--site-notification,
.block--emergency,
.block--warning,
.site-footer .block-menu h1,
.site-masthead,
.site-footer,
.slide__link {
  color: white; }
  .block--site-notification a,
  .block--emergency a,
  .block--warning a,
  .site-footer .block-menu h1 a,
  .site-masthead a,
  .site-footer a,
  .slide__link a {
    color: white !important; }

.block--site-notification a,
.block--emergency a,
.block--warning a {
  text-decoration: underline !important; }

.slide__link a {
  border: none; }

a.btn:link {
  text-decoration: none; }

h1,
.btn,
.elibrary--title,
.menu--main,
.menu--footer,
.page__title,
.ultimenu__item {
  font-weight: 600; }

.site-footer h1,
h2, h3 {
  font-weight: 700; }

.ultimenu__item .nav-item {
  font-weight: 400; }

.menu--main .nav-link,
.menu--footer .nav-link {
  color: white; }

footer.site-footer {
  padding-top: 3rem; }

.elibrary--search-item .field__label {
  text-transform: uppercase; }

.text-- {
  line-height: 1.25; }
  .text--1x {
    font-size: 100%;
    font-weight: 600; }
  .text--2x {
    font-weight: 800; }
    @media (min-width: 768px) {
      .text--2x {
        font-size: 200%; } }

.btn-modal {
  font-weight: 600; }

.block-system-main-block h1:first-of-type, .block-system-main-block h2:first-of-type, .block-system-main-block h3:first-of-type, .block-system-main-block h4:first-of-type {
  padding-top: 0; }

.document--set dl dt {
  font-weight: 400; }

.standalone .block--site-notification p {
  margin-bottom: 0; }

.standalone .block--site-notification p,
.standalone small {
  font-size: 80%; }

small.small {
  font-size: 80%; }

small.smaller {
  font-size: 8px; }

sub.subset {
  font-size: 75%; }

sup.superset {
  font-size: 75%; }

.slide__content h2,
.slide__headline {
  font-size: 1.25rem;
  font-size: 3vw; }
  @media (max-width: 33.33333rem) {
    .slide__content h2,
    .slide__headline {
      font-size: 1rem; } }
  @media (min-width: 41.66667rem) {
    .slide__content h2,
    .slide__headline {
      font-size: 1.25rem; } }

.homepage-slide .slide__headline {
  font-size: 3vw; }
  @media (max-width: 44.43333em) {
    .homepage-slide .slide__headline {
      font-size: 1.333em; } }
  @media (min-width: 50em) {
    .homepage-slide .slide__headline {
      font-size: 1.5em; } }
  .homepage-slide .slide__headline.headline__large {
    font-size: 3vw; }
    @media (max-width: 57.76667em) {
      .homepage-slide .slide__headline.headline__large {
        font-size: 1.733em; } }
    @media (min-width: 100em) {
      .homepage-slide .slide__headline.headline__large {
        font-size: 3em; } }
  .homepage-slide .slide__headline.headline__medium {
    font-size: 3vw; }
    @media (max-width: 53.33333em) {
      .homepage-slide .slide__headline.headline__medium {
        font-size: 1.6em; } }
    @media (min-width: 66.66667em) {
      .homepage-slide .slide__headline.headline__medium {
        font-size: 2em; } }
  .homepage-slide .slide__headline.headline__small {
    font-size: 3vw; }
    @media (max-width: 44.43333em) {
      .homepage-slide .slide__headline.headline__small {
        font-size: 1.333em; } }
    @media (min-width: 50em) {
      .homepage-slide .slide__headline.headline__small {
        font-size: 1.5em; } }

.jumbotron h1 {
  font-size: 3vw; }
  @media (max-width: 57.76667em) {
    .jumbotron h1 {
      font-size: 1.733em; } }
  @media (min-width: 100em) {
    .jumbotron h1 {
      font-size: 3em; } }
  .jumbotron h1.headline__large {
    font-size: 3vw; }
    @media (max-width: 57.76667em) {
      .jumbotron h1.headline__large {
        font-size: 1.733em; } }
    @media (min-width: 100em) {
      .jumbotron h1.headline__large {
        font-size: 3em; } }
  .jumbotron h1.headline__medium {
    font-size: 3vw; }
    @media (max-width: 53.33333em) {
      .jumbotron h1.headline__medium {
        font-size: 1.6em; } }
    @media (min-width: 66.66667em) {
      .jumbotron h1.headline__medium {
        font-size: 2em; } }
  .jumbotron h1.headline__small {
    font-size: 3vw; }
    @media (max-width: 44.43333em) {
      .jumbotron h1.headline__small {
        font-size: 1.333em; } }
    @media (min-width: 50em) {
      .jumbotron h1.headline__small {
        font-size: 1.5em; } }

h1 {
  font-size: 3vw; }
  @media (max-width: 53.33333em) {
    h1 {
      font-size: 1.6em; } }
  @media (min-width: 66.66667em) {
    h1 {
      font-size: 2em; } }

.landing__hero .hero__caption {
  font-size: 3vw; }
  @media (max-width: 33.33333em) {
    .landing__hero .hero__caption {
      font-size: 1em; } }
  @media (min-width: 40em) {
    .landing__hero .hero__caption {
      font-size: 1.2em; } }

.campaign__hero {
  color: white; }
  .campaign__hero h1 {
    color: white; }
  .campaign__hero .hero__headline {
    font-size: 3rem;
    font-size: 3vw;
    font-weight: 500; }
    @media (max-width: 1200px) {
      .campaign__hero .hero__headline {
        font-size: calc(1.425rem + 2.1vw) ; } }
    @media (max-width: 66.66667rem) {
      .campaign__hero .hero__headline {
        font-size: 2rem; } }
    @media (min-width: 100rem) {
      .campaign__hero .hero__headline {
        font-size: 3rem; } }
  .campaign__hero .hero__caption {
    font-size: 1.25rem; }

.by-the-numbers-campaign .numbers__value {
  font-family: 'Raleway', sans-serif;
  font-size: 36px;
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 0.5rem; }

.by-the-numbers-campaign .numbers__detail {
  font-family: 'Source Sans Pro', sans-serif;
  padding: 0 1rem; }

.node--type-program-landing-page .card--title,
.node--type-program-landing-page .carousel__header,
.node--type-program-landing-page .featured__header,
.node--type-program-landing-page .mission__header {
  font-size: 3vw; }
  @media (max-width: 53.33333em) {
    .node--type-program-landing-page .card--title,
    .node--type-program-landing-page .carousel__header,
    .node--type-program-landing-page .featured__header,
    .node--type-program-landing-page .mission__header {
      font-size: 1.6em; } }
  @media (min-width: 62.2em) {
    .node--type-program-landing-page .card--title,
    .node--type-program-landing-page .carousel__header,
    .node--type-program-landing-page .featured__header,
    .node--type-program-landing-page .mission__header {
      font-size: 1.866em; } }

.node--type-program-landing-page .carousel-text,
.node--type-program-landing-page .mission__summary {
  font-size: 3vw; }
  @media (max-width: 33.33333em) {
    .node--type-program-landing-page .carousel-text,
    .node--type-program-landing-page .mission__summary {
      font-size: 1em; } }
  @media (min-width: 40em) {
    .node--type-program-landing-page .carousel-text,
    .node--type-program-landing-page .mission__summary {
      font-size: 1.2em; } }

.menu__header {
  font-size: 0.9375rem;
  font-size: 3vw; }
  @media (max-width: 33.33333em) {
    .menu__header {
      font-size: 1em; } }
  @media (min-width: 40em) {
    .menu__header {
      font-size: 1.2em; } }

.caption > figcaption,
figcaption {
  font-size: 0.9rem;
  font-weight: 600; }

.block--site-notification .alert-content p:last-of-type {
  margin-bottom: 0; }

.view-by-the-numbers .views-field {
  color: white;
  text-align: center; }

.view-by-the-numbers .views-field-field-value {
  font-family: 'Raleway', sans-serif;
  font-size: 36px;
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: .5rem; }

.view-by-the-numbers .views-field-field-label {
  font-family: 'Source Sans Pro', sans-serif;
  padding: 0 1rem; }

.page ul.nav {
  padding-inline-start: 0 !important; }

p.address {
  margin-block-start: 0;
  margin-block-end: 0; }

p.date {
  float: left;
  margin: 1.25rem 0;
  width: 100%; }

a svg.ext {
  margin-left: .25rem; }

.btn .ext {
  display: none; }

.webform-submission-form {
  margin-bottom: 40px; }

.webform-submission-form .col-auto {
  padding: 0; }

fieldset.webform-composite-hidden-title {
  margin-top: 0; }

.webform-button--submit {
  margin-top: 20px;
  width: 100px; }

.webform-composite-visible-title {
  margin-top: 20px; }

.webform-composite-visible-title legend {
  font-size: 1rem; }

fieldset.form-item-email-of-dept-buiss-org {
  display: none !important; }

.node--type-campaign-landing-page .node__content {
  margin-top: 0; }

.col-centered {
  float: none;
  margin: 0 auto; }

.btn-red:hover {
  background-color: #851416; }

.field--name-field-first-row-content {
  background: rgba(216, 216, 216, 0.6); }

.campaign__second .field--name-field-title {
  color: #15396C;
  font-size: 32px;
  font-weight: normal;
  padding-top: 30px;
  margin-bottom: 10px; }

.campaign__second .video-embed {
  margin-bottom: 0; }

.campaign__second .field--name-field-video {
  padding-bottom: 40px; }

@media (max-width: 767px) {
  .card-set .card-paragraph {
    margin-bottom: 30px; } }

.card-set-header {
  text-align: center;
  color: #15396C;
  font-size: 32px;
  font-weight: normal;
  margin-top: 50px;
  margin-bottom: 20px; }

h2.tile-title {
  color: #15396C; }

.campaign__card-image .field--type-image {
  margin: 0;
  float: none; }

.campaign__card-title {
  color: #1C6DA6;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 0; }

.campaign__third {
  background: #14396C;
  color: white; }
  .campaign__third .field--type-image {
    float: none;
    margin: 0; }
  .campaign__third p a:link {
    color: white;
    text-decoration: underline; }
  .campaign__third a.btn-red:link {
    text-decoration: none; }
  .campaign__third .paragraph--type--card-section-3 .card-body,
  .campaign__third .paragraph--type--card-section-4 .card-body {
    font-size: 1rem; }
  .campaign__third .paragraph--type--campaign-carousel-item {
    color: #343a40; }
    .campaign__third .paragraph--type--campaign-carousel-item a:link {
      color: #18639F;
      text-decoration: none; }
    .campaign__third .paragraph--type--campaign-carousel-item a:hover {
      color: #005283;
      text-decoration: underline; }
    .campaign__third .paragraph--type--campaign-carousel-item a:visited {
      color: #65318e; }

a.btn-red:link {
  text-decoration: none; }

.campaign__promo-header {
  color: white;
  font-size: 32px;
  font-weight: normal; }

.campaign__fourth {
  background: rgba(216, 216, 216, 0.6); }
  @media (max-width: 1199.98px) {
    .campaign__fourth .campaign__block .block-image-wrapper {
      background: white; } }

.block-set-header {
  color: #15396C;
  font-size: 32px;
  font-weight: normal;
  margin-bottom: 20px; }

.block-image-wrapper {
  background: #E4EEF4; }

.campaign__promo-container {
  margin-top: 50px; }

@media (max-width: 991px) {
  .campaign__third .field--type-image {
    position: inherit; } }

.campaign__third .field--type-image img {
  position: relative; }

.campaign__third h1.block__title, .campaign__third h2.block__title {
  color: #FFF; }

.campaign__block h1 {
  color: #1C6DA6;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase; }
  .campaign__block h1 a:link,
  .campaign__block h1 a:visited {
    color: #1C6DA6; }
  .campaign__block h1 a:hover {
    color: #005283;
    text-decoration: underline !important; }

.campaign__block .block-image-wrapper {
  min-height: 134px; }

.campaign__block .card-content-wrapper {
  min-height: 9.25rem; }

.campaign__block .field--type-image {
  width: 100%; }

.block-image-wrapper .field--type-image {
  float: none;
  margin: 0; }

.hero__callout {
  font-size: 14px; }

.campaign__fifth .video-embed {
  margin: 0; }

.campaign__fifth .field--name-field-description {
  margin: 20px 0; }

.campaign__link-list {
  list-style: none;
  margin-left: 1rem;
  padding-left: 0; }
  .campaign__link-list li {
    margin-bottom: 10px; }
  .campaign__link-list a:link,
  .campaign__link-list a:visited {
    color: #1C6DA6;
    font-size: 16px;
    font-weight: 600; }
  .campaign__link-list a:hover {
    color: #005283;
    text-decoration: underline !important; }

.campaign__link-list li:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f0da";
  margin: 0 5px 0 -15px;
  color: #AE1B1B; }

.campaign__hero {
  padding: 125px 0;
  color: white;
  font-size: 16px; }
  .campaign__hero h1 {
    color: white; }
  @media (max-width: 991.98px) {
    .campaign__hero {
      padding: 1.5rem 0 1rem; } }

.btn-red {
  background: #AE1A1C;
  color: white;
  padding: 10px 15px; }
  .btn-red:hover {
    color: white; }
  .btn-red:visited {
    background: #AE1A1C;
    color: white; }

.card-set a:hover h1 {
  text-decoration: underline; }

.card-set .paragraph--type--card-section-3 .card-paragraph {
  width: 23.25rem;
  max-width: 100%; }

.campaign-card {
  height: 100%;
  flex-grow: 1;
  flex-shrink: 0;
  flex-wrap: wrap; }

.campaign-card .multiline-links-list,
.col-tile .multiline-links-list {
  max-width: 100%; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .campaign-card {
    height: auto; }
  .paragraph--type--campaign-fifth-row .col-md-6 > .field--name-field-image {
    width: 100%; }
  .campaign__carousel img {
    width: 100%; } }

.campaign__carousel img {
  width: 100%; }

.campaign__carousel .slick-track {
  display: flex;
  justify-content: space-between; }

.campaign__carousel .slick__slide {
  margin: 0 .75rem; }

@media (min-width: 1200px) {
  .campaign__carousel .campaign__carousel-item {
    min-height: 440px; } }

.campaign__carousel .slick__arrow {
  top: 45%; }
  .campaign__carousel .slick__arrow .slick-prev {
    left: .75rem; }
  .campaign__carousel .slick__arrow .slick-next {
    right: .75rem; }

.campaign__carousel .slick-arrow {
  border-radius: 0; }
  .campaign__carousel .slick-arrow::before {
    color: transparent; }

.campaign__carousel .slick-prev, .campaign__carousel .slick-next {
  background-color: rgba(75, 86, 93, 0.9);
  background-color: rgba(75, 86, 93, 0.9); }
  .campaign__carousel .slick-prev:hover, .campaign__carousel .slick-prev:focus, .campaign__carousel .slick-next:hover, .campaign__carousel .slick-next:focus {
    border-radius: 0;
    background-color: rgba(75, 86, 93, 0.9);
    background-color: rgba(75, 86, 93, 0.9); }
  .campaign__carousel .slick-prev::before, .campaign__carousel .slick-next::before {
    height: 40px;
    width: 40px;
    background-repeat: no-repeat;
    -webkit-background-size: 50% 50%;
    background-size: 100%;
    background-position: center;
    display: block;
    position: relative; }

.campaign__carousel .slick-prev::before {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='32' id='chevron-left' viewBox='0 0 32 32' width='32' xmlns='http://www.w3.org/2000/svg' fill='%23FFF'%3E%3Cpath d='M20 1 L24 5 L14 16 L24 27 L20 31 L6 16 z'/%3E%3C/svg%3E"); }

.campaign__carousel .slick-next::before {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='32' id='chevron-right' viewBox='0 0 32 32' width='32' xmlns='http://www.w3.org/2000/svg' fill='%23FFF'%3E%3Cpath d='M12 1 L26 16 L12 31 L8 27 L18 16 L8 5 z'/%3E%3C/svg%3E"); }

@media (max-width: 991.98px) {
  .paragraph--type--by-the-numbers-node-reference .indicator {
    margin-bottom: 1.5rem; } }

@media (max-width: 767.98px) {
  .paragraph--type--by-the-numbers-node-reference .indicator {
    margin-bottom: 1.5rem; }
    .paragraph--type--by-the-numbers-node-reference .indicator:last-child {
      margin-bottom: 0; } }

.btn-outline-light {
  width: fit-content; }
  .btn-outline-light .arrow-right-light {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 24.3 44.5' style='enable-background:new 0 0 24.3 44.5;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpolygon class='st0' points='2.1,0 0,2.1 20.2,22.2 0,42.4 2.1,44.5 24.3,22.2 '/%3E%3C/svg%3E");
    background-size: cover;
    content: "";
    display: inline-block;
    height: 15px;
    width: 8px;
    position: relative;
    right: 0;
    top: 1px; }
  .btn-outline-light:hover .arrow-right-light {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 24.3 44.5' style='enable-background:new 0 0 24.3 44.5;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23010101;%7D%0A%3C/style%3E%3Cpolygon class='st0' points='2.1,0 0,2.1 20.2,22.2 0,42.4 2.1,44.5 24.3,22.2 '/%3E%3C/svg%3E"); }
  .btn-outline-light:visited {
    color: #FFF; }
  .btn-outline-light:visited:hover {
    color: #212529; }

.paragraph--type--campaign-featured-slideshow,
.paragraph--type--campaign-alerts-slideshow,
.paragraph--type--campaign-hero-slideshow {
  padding: 0 0 2rem; }
  .paragraph--type--campaign-featured-slideshow .slick--field-campaign-alert-slide,
  .paragraph--type--campaign-featured-slideshow .slick--field-campaign-hero-slide,
  .paragraph--type--campaign-alerts-slideshow .slick--field-campaign-alert-slide,
  .paragraph--type--campaign-alerts-slideshow .slick--field-campaign-hero-slide,
  .paragraph--type--campaign-hero-slideshow .slick--field-campaign-alert-slide,
  .paragraph--type--campaign-hero-slideshow .slick--field-campaign-hero-slide {
    position: relative; }
  .paragraph--type--campaign-featured-slideshow .slick .slick-dots,
  .paragraph--type--campaign-alerts-slideshow .slick .slick-dots,
  .paragraph--type--campaign-hero-slideshow .slick .slick-dots {
    position: absolute;
    bottom: -2rem;
    align-items: center;
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center; }
  .paragraph--type--campaign-featured-slideshow .slick li,
  .paragraph--type--campaign-alerts-slideshow .slick li,
  .paragraph--type--campaign-hero-slideshow .slick li {
    display: inline-block;
    vertical-align: top;
    position: relative;
    height: 20px;
    width: 20px; }
  .paragraph--type--campaign-featured-slideshow .slick button,
  .paragraph--type--campaign-alerts-slideshow .slick button,
  .paragraph--type--campaign-hero-slideshow .slick button {
    appearance: unset !important;
    border-width: 0 !important;
    border-style: none !important;
    border-color: none !important;
    border-image: none !important; }
  .paragraph--type--campaign-featured-slideshow .slick__arrow,
  .paragraph--type--campaign-alerts-slideshow .slick__arrow,
  .paragraph--type--campaign-hero-slideshow .slick__arrow {
    position: absolute;
    top: 50%;
    width: 100%; }
    .paragraph--type--campaign-featured-slideshow .slick__arrow .slick-prev,
    .paragraph--type--campaign-alerts-slideshow .slick__arrow .slick-prev,
    .paragraph--type--campaign-hero-slideshow .slick__arrow .slick-prev {
      float: left; }
    .paragraph--type--campaign-featured-slideshow .slick__arrow .slick-next,
    .paragraph--type--campaign-alerts-slideshow .slick__arrow .slick-next,
    .paragraph--type--campaign-hero-slideshow .slick__arrow .slick-next {
      float: right; }
  .paragraph--type--campaign-featured-slideshow .slick-prev, .paragraph--type--campaign-featured-slideshow .slick-next,
  .paragraph--type--campaign-alerts-slideshow .slick-prev,
  .paragraph--type--campaign-alerts-slideshow .slick-next,
  .paragraph--type--campaign-hero-slideshow .slick-prev,
  .paragraph--type--campaign-hero-slideshow .slick-next {
    background-color: rgba(75, 86, 93, 0.9);
    background-color: rgba(75, 86, 93, 0.9);
    background-repeat: no-repeat;
    -webkit-background-size: 50% 50%;
    background-size: 100%;
    background-position: center;
    border-radius: 0;
    color: transparent;
    display: block;
    font-size: 0;
    width: 2rem;
    height: 3.125rem;
    position: relative; }
    .paragraph--type--campaign-featured-slideshow .slick-prev:hover, .paragraph--type--campaign-featured-slideshow .slick-prev:focus, .paragraph--type--campaign-featured-slideshow .slick-next:hover, .paragraph--type--campaign-featured-slideshow .slick-next:focus,
    .paragraph--type--campaign-alerts-slideshow .slick-prev:hover,
    .paragraph--type--campaign-alerts-slideshow .slick-prev:focus,
    .paragraph--type--campaign-alerts-slideshow .slick-next:hover,
    .paragraph--type--campaign-alerts-slideshow .slick-next:focus,
    .paragraph--type--campaign-hero-slideshow .slick-prev:hover,
    .paragraph--type--campaign-hero-slideshow .slick-prev:focus,
    .paragraph--type--campaign-hero-slideshow .slick-next:hover,
    .paragraph--type--campaign-hero-slideshow .slick-next:focus {
      border-radius: 0;
      background-color: rgba(52, 60, 65, 0.9);
      color: transparent; }
  .paragraph--type--campaign-featured-slideshow .slick-prev,
  .paragraph--type--campaign-alerts-slideshow .slick-prev,
  .paragraph--type--campaign-hero-slideshow .slick-prev {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='32' id='chevron-left' viewBox='0 0 32 32' width='32' xmlns='http://www.w3.org/2000/svg' fill='%23FFF'%3E%3Cpath d='M20 1 L24 5 L14 16 L24 27 L20 31 L6 16 z'/%3E%3C/svg%3E"); }
  .paragraph--type--campaign-featured-slideshow .slick-next,
  .paragraph--type--campaign-alerts-slideshow .slick-next,
  .paragraph--type--campaign-hero-slideshow .slick-next {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='32' id='chevron-right' viewBox='0 0 32 32' width='32' xmlns='http://www.w3.org/2000/svg' fill='%23FFF'%3E%3Cpath d='M12 1 L26 16 L12 31 L8 27 L18 16 L8 5 z'/%3E%3C/svg%3E"); }
  .paragraph--type--campaign-featured-slideshow .slick-dots li button,
  .paragraph--type--campaign-alerts-slideshow .slick-dots li button,
  .paragraph--type--campaign-hero-slideshow .slick-dots li button {
    background-color: #0079C0;
    border: 1px solid #15396c;
    border-radius: 50%;
    display: block;
    font-size: 0;
    height: 12px;
    width: 12px;
    color: transparent; }
    .paragraph--type--campaign-featured-slideshow .slick-dots li button:hover,
    .paragraph--type--campaign-alerts-slideshow .slick-dots li button:hover,
    .paragraph--type--campaign-hero-slideshow .slick-dots li button:hover {
      background-color: #112e57; }
    .paragraph--type--campaign-featured-slideshow .slick-dots li button:focus,
    .paragraph--type--campaign-alerts-slideshow .slick-dots li button:focus,
    .paragraph--type--campaign-hero-slideshow .slick-dots li button:focus {
      background-color: #112e57; }
  .paragraph--type--campaign-featured-slideshow .slick-dots li.slick-active button,
  .paragraph--type--campaign-alerts-slideshow .slick-dots li.slick-active button,
  .paragraph--type--campaign-hero-slideshow .slick-dots li.slick-active button {
    background-color: #15396c;
    opacity: 100%; }

.paragraph--type--featured-top-html .field--type-boolean.field--label-hidden {
  display: none; }

.paragraph--type--campaign-alerts-slideshow img {
  margin: 0 auto; }

.paragraph--type--campaign-featured-slideshow .slick-slide img {
  height: auto;
  width: 100%; }

.field--type-image img.image-style-simple-icon {
  margin: 0; }

.paragraph--type--icons-section-one-row .simple-icon-img,
.paragraph--type--icons-section-one-row .simple-icon-img img {
  height: 75px; }

.paragraph--type--icons-section-one-row-stack .simple-icon-img,
.paragraph--type--icons-section-one-row-stack .simple-icon-img img {
  height: 50px; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  html {
    width: 100%;
    overflow-x: hidden; }
  #header .container {
    transform: scale(0.9);
    transform-origin: 0 0;
    margin-bottom: -7px;
    z-index: 999; } }

.feed-icon {
  width: 1.5rem;
  height: 1.5rem;
  padding: 0 0 0 0; }

.feed-icon + .feed-icon {
  margin-left: .75rem; }

.fpo_export .feed-icon {
  background-size: 1.75rem 1.75rem;
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5;
  height: 1.75rem; }
  .fpo_export .feed-icon.icon__excel {
    width: 10.25rem;
    padding: 0 0 0 2rem;
    text-indent: 0;
    overflow: visible;
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns:sketch='http://www.bohemiancoding.com/sketch/ns' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 18 18' style='enable-background:new 0 0 18 18;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill-rule:evenodd;clip-rule:evenodd;fill:%2308743B;%7D%0A%3C/style%3E%3Cdesc%3E%3C/desc%3E%3Cg id='Page-1'%3E%3Cg id='Core' transform='translate(-213.000000, -171.000000)'%3E%3Cg id='drive-ms-excel' transform='translate(213.000000, 171.000000)'%3E%3Cpath id='Shape' class='st0' d='M16,0H2C0.9,0,0,0.9,0,2v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V2C18,0.9,17.1,0,16,0L16,0z M13.2,14h-2L9,10.2L6.8,14h-2L8,9L4.8,4h2L9,7.8L11.2,4h2L10,9L13.2,14L13.2,14z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
  .fpo_export .feed-icon.icon__rss {
    width: 1.75rem;
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 28 28' style='enable-background:new 0 0 28 28;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23F26522;%7D%0A%3C/style%3E%3Cg id='Feeds'%3E%3Cpath class='st0' d='M24.5,28h-21c-0.9,0-1.8-0.3-2.5-1c-0.7-0.7-1-1.6-1-2.5v-21C0,2.6,0.3,1.7,1,1c0.7-0.7,1.6-1,2.5-1h21 c0.9,0,1.8,0.3,2.5,1c0.7,0.7,1,1.6,1,2.5v21C28,26.4,26.4,28,24.5,28z M5.1,4.5v3.6c2.4,0.3,4.8,1,6.9,2.2 c0.9,0.6,1.7,1.2,2.5,1.9c0.9,0.8,1.7,1.7,2.3,2.6c0.7,1.1,1.3,2.3,1.8,3.6c0.5,1.5,0.8,3.1,0.9,4.6h3.4c0-3.1-0.6-6.1-1.9-8.9 c-0.6-1.2-1.3-2.3-2.1-3.4c-0.9-1.2-2-2.2-3.2-3c-1.4-0.9-2.9-1.7-4.5-2.2C9.3,5,7.2,4.6,5.1,4.5z M5.1,14.4c1.4,0.2,2.7,0.6,4,1.2 c0.5,0.3,1,0.7,1.5,1.1c0.5,0.5,0.9,1,1.3,1.6c0.4,0.7,0.8,1.4,1,2.1c0.3,0.9,0.4,1.8,0.5,2.8h3.4c0-2.1-0.5-4.1-1.4-6 c-0.4-0.8-0.9-1.5-1.4-2.2c-0.6-0.8-1.3-1.4-2.1-2c-0.9-0.7-1.9-1.2-3-1.6c-1.3-0.4-2.6-0.6-3.9-0.7L5.1,14.4z M7.7,23.2 c1.4,0,2.6-1.2,2.6-2.6c0-0.7-0.3-1.3-0.8-1.8c-1-1-2.6-1-3.6,0c0,0,0,0,0,0c-1,1-1,2.6-0.1,3.6c0,0,0,0,0.1,0.1 C6.4,22.9,7,23.2,7.7,23.2z'/%3E%3C/g%3E%3C/svg%3E"); }
  .fpo_export .feed-icon.icon__json {
    width: 10.25rem;
    padding: 0 0 0 2rem;
    text-indent: 0;
    overflow: visible;
    background-image: url("/themes/custom/modal/images/assets/json-file.svg"); }
  .fpo_export .feed-icon.icon__csv {
    width: 10.25rem;
    padding: 0 0 0 2rem;
    text-indent: 0;
    overflow: visible;
    background-image: url("/themes/custom/modal/images/assets/csv-file.svg"); }
  .fpo_export .feed-icon.icon__xml {
    width: 10.25rem;
    padding: 0 0 0 2rem;
    text-indent: 0;
    overflow: visible;
    background-image: url("/themes/custom/modal/images/assets/xml-file.svg"); }

.regulations-sections-page-wrapper .view-taxonomy-term {
  display: none; }

.regulations-sections-page-wrapper .view-guidance-for-this-regulation-section .paragraph {
  background-color: #f0f0f2;
  padding: 10px;
  margin: 10px; }
  .regulations-sections-page-wrapper .view-guidance-for-this-regulation-section .paragraph .field--name-field-order-number {
    font-weight: bold;
    font-size: large; }
  .regulations-sections-page-wrapper .view-guidance-for-this-regulation-section .paragraph .field--name-field-question {
    margin: 10px; }
  .regulations-sections-page-wrapper .view-guidance-for-this-regulation-section .paragraph .field--name-field-description .field__label {
    font-weight: bold;
    font-size: large; }
  .regulations-sections-page-wrapper .view-guidance-for-this-regulation-section .paragraph .field--name-field-description .field__item {
    margin: 10px; }

/**
* @file
* Theme styling for Flexible Landing Page Nodes
*/
.node--type-flexible-landing-page .field--type-image {
  float: none; }

.node--type-flexible-landing-page .paragraph--type--landing-page-slideshow {
  position: relative;
  overflow: hidden; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .landing-slide-image {
    height: 60vh; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slide__content h1 {
    font-size: 1.5rem;
    font-weight: 600; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slide__content p {
    font-size: 1.25rem; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slide__caption {
    padding: 10px 0px; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .landing-page-slide .hero__text_filter {
    z-index: 400;
    position: absolute;
    bottom: 0px;
    background: #000;
    opacity: 0.8; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .landing-page-slide [tabindex="-1"],
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .landing-page-slide [tabindex="0"],
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .landing-page-slide a {
    display: block;
    color: #fff; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .landing-page-slide [tabindex="-1"]:focus,
    .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .landing-page-slide [tabindex="0"]:focus,
    .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .landing-page-slide a:focus {
      border: 1px dotted yellow; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick__arrow {
    bottom: auto;
    position: absolute;
    width: 100%;
    z-index: 400; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick-arrow {
    border-radius: 0;
    width: 2rem;
    height: 3.125rem; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick-arrow:hover::before, .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick-arrow::before {
      color: transparent; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick-prev, .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick-next {
    background-color: rgba(75, 86, 93, 0.9);
    background-color: rgba(75, 86, 93, 0.9); }
    .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick-prev:hover, .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick-prev:focus, .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick-next:hover, .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick-next:focus {
      border-radius: 0;
      background-color: rgba(75, 86, 93, 0.9);
      background-color: rgba(75, 86, 93, 0.9); }
    .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick-prev::before, .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick-next::before {
      background-repeat: no-repeat;
      -webkit-background-size: 50% 50%;
      background-size: 100%;
      background-position: center;
      display: block;
      position: relative; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick-prev::before {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='32' id='chevron-left' viewBox='0 0 32 32' width='32' xmlns='http://www.w3.org/2000/svg' fill='%23FFF'%3E%3Cpath d='M20 1 L24 5 L14 16 L24 27 L20 31 L6 16 z'/%3E%3C/svg%3E"); }
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick-next::before {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='32' id='chevron-right' viewBox='0 0 32 32' width='32' xmlns='http://www.w3.org/2000/svg' fill='%23FFF'%3E%3Cpath d='M12 1 L26 16 L12 31 L8 27 L18 16 L8 5 z'/%3E%3C/svg%3E"); }
  .node--type-flexible-landing-page .paragraph--type--landing-page-slideshow .slick--skin--classic .slide__caption {
    background-color: transparent !important;
    width: auto !important; }

.node--type-flexible-landing-page .paragraph h2 {
  border-bottom: 1px solid; }

.node--type-flexible-landing-page .paragraph--type--landing-page-call-to-action-sect {
  padding-top: 2em;
  padding-bottom: 2em; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-call-to-action-sect a:hover {
    text-decoration: none; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-call-to-action-sect .paragraph--type--landing-page-call-to-action {
    text-align: center;
    position: relative; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-call-to-action-sect .paragraph--type--landing-page-call-to-action h3 {
      text-transform: uppercase;
      font-size: 20px;
      line-height: 20px; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-call-to-action-sect .paragraph--type--landing-page-call-to-action .cta-image {
      margin: auto;
      width: 100px;
      height: 100px;
      background-size: cover;
      background-position: center; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-call-to-action-sect .paragraph--type--landing-page-call-to-action .button {
      margin-top: 1em; }
      .node--type-flexible-landing-page .paragraph--type--landing-page-call-to-action-sect .paragraph--type--landing-page-call-to-action .button .field__item {
        display: inline-block;
        border: 1px solid;
        padding: 0.375rem 0.75rem;
        font-size: 1rem;
        line-height: 1.5; }
        .node--type-flexible-landing-page .paragraph--type--landing-page-call-to-action-sect .paragraph--type--landing-page-call-to-action .button .field__item:hover {
          background-color: slategray;
          color: #fff; }

.node--type-flexible-landing-page .paragraph--type--landing-page-carousel {
  padding-top: 2em;
  padding-bottom: 2em;
  overflow: hidden; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .paragraph--type--landing-page-carousel-item {
    margin: .5em; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .paragraph--type--landing-page-carousel-item .card .card-img-top {
      position: relative;
      min-height: 222px;
      overflow: hidden; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .paragraph--type--landing-page-carousel-item .card .card__overlay {
      background-color: #1C6DA6;
      position: absolute;
      height: 100%;
      width: 100%;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0;
      opacity: 0;
      -webkit-transition: all 0.4s ease-in-out 0s;
      -moz-transition: all 0.4s ease-in-out 0s;
      transition: all 0.4s ease-in-out 0s; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .paragraph--type--landing-page-carousel-item .card:hover .card__overlay, .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .paragraph--type--landing-page-carousel-item .card:focus .card__overlay {
      opacity: 1; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .paragraph--type--landing-page-carousel-item .card .card__overlay_content {
      position: absolute;
      color: white;
      width: 100%;
      top: 50%;
      left: 50%;
      opacity: 0;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      -webkit-transition: all 0.3s ease-in-out 0s;
      -moz-transition: all 0.3s ease-in-out 0s;
      transition: all 0.3s ease-in-out 0s; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .paragraph--type--landing-page-carousel-item .card:hover .card__overlay_content, .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .paragraph--type--landing-page-carousel-item .card:focus .card__overlay_content {
      top: 50%;
      left: 50%;
      opacity: 1; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .paragraph--type--landing-page-carousel-item .card .fadein-top {
      top: 20%; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick__arrow {
    bottom: auto;
    position: absolute;
    top: 60%;
    width: 100%;
    z-index: 400; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick-arrow {
    border-radius: 0;
    width: 2rem;
    height: 3.125rem; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick-arrow:hover::before, .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick-arrow::before {
      color: transparent; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick-prev, .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick-next {
    background-color: rgba(75, 86, 93, 0.9);
    background-color: rgba(75, 86, 93, 0.9); }
    .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick-prev:hover, .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick-prev:focus, .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick-next:hover, .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick-next:focus {
      border-radius: 0;
      background-color: rgba(75, 86, 93, 0.9);
      background-color: rgba(75, 86, 93, 0.9); }
    .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick-prev::before, .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick-next::before {
      background-repeat: no-repeat;
      -webkit-background-size: 50% 50%;
      background-size: 100%;
      background-position: center;
      display: block;
      position: relative; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick-prev::before {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='32' id='chevron-left' viewBox='0 0 32 32' width='32' xmlns='http://www.w3.org/2000/svg' fill='%23FFF'%3E%3Cpath d='M20 1 L24 5 L14 16 L24 27 L20 31 L6 16 z'/%3E%3C/svg%3E"); }
  .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick-next::before {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='32' id='chevron-right' viewBox='0 0 32 32' width='32' xmlns='http://www.w3.org/2000/svg' fill='%23FFF'%3E%3Cpath d='M12 1 L26 16 L12 31 L8 27 L18 16 L8 5 z'/%3E%3C/svg%3E"); }
  .node--type-flexible-landing-page .paragraph--type--landing-page-carousel .slick--skin--classic .slide__caption {
    background-color: transparent !important;
    width: auto !important; }

.node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section {
  padding-top: 2em;
  padding-bottom: 3em; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section h2 {
    border-bottom: 1px solid;
    margin-bottom: 1em; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .card-text {
    background-color: #fff;
    padding: 1em; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .card-text h3 {
      color: darkgrey;
      text-transform: uppercase;
      margin-top: 0.2em;
      margin-bottom: 0.4em;
      font-size: 1.1rem; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .card-text .field--name-field-f-pattern-card-link {
      font-weight: bold;
      font-size: 1.1rem;
      margin-bottom: 0.3em; }
      .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .card-text .field--name-field-f-pattern-card-link a {
        color: steelblue; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .field--name-field-left-f-pattern-card .card-image {
    width: 100%; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .field--name-field-left-f-pattern-card .card-text {
    width: 100%; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .field--name-field-top-right-f-pattern-card .card-body,
  .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .field--name-field-bottom-right-f-pattern-car .card-body {
    display: flex;
    align-items: stretch; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .field--name-field-top-right-f-pattern-card .card-body .card-image,
    .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .field--name-field-bottom-right-f-pattern-car .card-body .card-image {
      display: inline-block;
      vertical-align: top; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .field--name-field-top-right-f-pattern-card .card-body .card-text,
    .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .field--name-field-bottom-right-f-pattern-car .card-body .card-text {
      display: inline-block;
      vertical-align: top; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .field--name-field-bottom-right-f-pattern-car {
    margin-top: 1em; }

@media (max-width: 991px) {
  .node--type-flexible-landing-page .paragraph--type--landing-page-f-pattern-section .field--name-field-top-right-f-pattern-card {
    margin-top: 1em; } }

.node--type-flexible-landing-page .paragraph--type--landing-page-tags-section {
  text-align: center; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-tags-section .field--name-field-landing-page-tags .field__item {
    margin: 1em;
    display: inline-block;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    user-select: none;
    color: #fff !important;
    background-color: #0079C0;
    border: 1px solid #0079C0;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    text-decoration: none; }
    .node--type-flexible-landing-page .paragraph--type--landing-page-tags-section .field--name-field-landing-page-tags .field__item a {
      color: #fff !important; }

.node--type-flexible-landing-page .paragraph--type--landing-cards-section .paragraph--type--landing-card a {
  color: #fff; }

.node--type-flexible-landing-page .paragraph--type--landing-page-social-media-feeds- .wrapper {
  padding-top: 2em;
  padding-bottom: 2em;
  background: rgba(25, 65, 120, 0.8); }

.node--type-flexible-landing-page .paragraph--type--landing-page-social-media-feeds- h2.landing-page-title,
.node--type-flexible-landing-page .paragraph--type--landing-page-social-media-feeds- h3 {
  color: #fff; }

.node--type-flexible-landing-page .paragraph--type--landing-page-social-media-feeds- .field--name-field-social-media-embed-code {
  max-height: 300px;
  overflow-x: hidden;
  overflow-y: scroll; }

.node--type-flexible-landing-page .paragraph--type--landing-mission-statement .mission__image {
  margin: 2rem 0; }
  .node--type-flexible-landing-page .paragraph--type--landing-mission-statement .mission__image .field--name-field-mission-image {
    position: relative; }

.node--type-flexible-landing-page .paragraph--type--landing-mission-statement .mission__summary a {
  text-decoration: underline; }

.node--type-flexible-landing-page .paragraph--type--landing-page-menu-section .wrapper {
  padding-top: 2em;
  padding-bottom: 2em;
  background-opacity: 0.8; }

.node--type-flexible-landing-page .paragraph--type--landing-page-menu-section .landing-page-menus {
  text-align: center; }
  .node--type-flexible-landing-page .paragraph--type--landing-page-menu-section .landing-page-menus .menu-image {
    margin: auto;
    width: 100px;
    height: 100px;
    background-size: cover;
    background-position: center; }

@media (max-width: 768px) {
  .node--type-flexible-landing-page .paragraph--type--landing-page-menu {
    margin-top: 1em;
    margin-bottom: 1em; } }

.node--type-flexible-landing-page .layout--twocol .paragraph {
  width: 40rem;
  max-width: 100%;
  padding: 2rem;
  position: relative; }

.node--type-flexible-landing-page .layout--twocol .layout__region--first .wrapper {
  overflow: hidden;
  height: 100%; }
  .node--type-flexible-landing-page .layout--twocol .layout__region--first .wrapper .paragraph {
    float: right; }

@media (max-width: 991px) {
  .node--type-flexible-landing-page .layout--twocol .paragraph {
    width: 100%;
    float: none; } }

.node--type-flexible-landing-page .f-card {
  margin-bottom: 1.75rem; }

.node--type-flexible-landing-page .node .field--type-image {
  margin: 0 0; }

.node--type-flexible-landing-page .order-first .f-card img {
  width: 100%; }

.node--type-flexible-landing-page .order-last .f-card .card-body {
  display: flex;
  align-items: center; }
  .node--type-flexible-landing-page .order-last .f-card .card-body .card-image {
    min-width: 10.5rem;
    max-width: 10.5rem; }
    .node--type-flexible-landing-page .order-last .f-card .card-body .card-image img {
      align-self: center;
      margin: auto;
      height: 159px;
      width: 159px; }

.node--type-flexible-landing-page .order-last .f-card img {
  width: 100%; }

.black_scheme .card-body,
.dark_grey_scheme .card-body,
.light_grey_scheme .card-body,
.dark_blue_scheme .card-body,
.light_blue_scheme .card-body,
.medium_blue_scheme .card-body,
.white_scheme .card-body {
  color: #212529; }

.layout--twocol {
  flex-wrap: nowrap; }
  @media (max-width: 767.98px) {
    .layout--twocol {
      flex-direction: column; } }
  .layout--twocol .layout__region {
    flex: 1; }
    .layout--twocol .layout__region .wrapper {
      height: 100%; }
  .layout--twocol .field--type-image img {
    width: auto; }
    @media (min-width: 992px) {
      .layout--twocol .field--type-image img {
        height: 20rem; } }

/**
 * @file
 * Theme styling for Color Scheme picker fields
 */
/* VARIABLES */
.light_blue_scheme {
  background-color: #d9ecf9;
  color: #15396C; }
  .light_blue_scheme border-color, .light_blue_scheme a, .light_blue_scheme h1, .light_blue_scheme h2, .light_blue_scheme h3, .light_blue_scheme h4, .light_blue_scheme h6 {
    color: #15396C; }
  .light_blue_scheme .card-body,
  .light_blue_scheme .text--mid-gray {
    color: white !important; }

.medium_blue_scheme {
  background-color: steelblue;
  color: white; }
  .medium_blue_scheme border-color, .medium_blue_scheme a, .medium_blue_scheme h1, .medium_blue_scheme h2, .medium_blue_scheme h3, .medium_blue_scheme h4, .medium_blue_scheme h6 {
    color: white; }
  .medium_blue_scheme .card-body,
  .medium_blue_scheme .text--mid-gray {
    color: white !important; }

.dark_blue_scheme {
  background-color: #15396C;
  color: white; }
  .dark_blue_scheme border-color, .dark_blue_scheme a, .dark_blue_scheme h1, .dark_blue_scheme h2, .dark_blue_scheme h3, .dark_blue_scheme h4, .dark_blue_scheme h6 {
    color: white !important; }
  .dark_blue_scheme .card-body,
  .dark_blue_scheme .text--mid-gray {
    color: white !important; }

.black_scheme {
  background-color: #000;
  color: #fff; }
  .black_scheme border-color, .black_scheme a, .black_scheme h1, .black_scheme h2, .black_scheme h3, .black_scheme h4, .black_scheme h6 {
    color: white; }
  .black_scheme .card-body,
  .black_scheme .text--mid-gray {
    color: white !important; }

.light_grey_scheme {
  background-color: #f0f0f2;
  color: #3d4550; }
  .light_grey_scheme border-color, .light_grey_scheme a, .light_grey_scheme h1, .light_grey_scheme h2, .light_grey_scheme h3, .light_grey_scheme h4, .light_grey_scheme h6 {
    color: #3d4550; }
  .light_grey_scheme h3.special-title {
    color: steelblue !important; }

.dark_grey_scheme {
  background-color: #3d4550;
  color: white; }
  .dark_grey_scheme border-color, .dark_grey_scheme a, .dark_grey_scheme h1, .dark_grey_scheme h2, .dark_grey_scheme h3, .dark_grey_scheme h4, .dark_grey_scheme h6 {
    color: white; }
  .dark_grey_scheme .card-body,
  .dark_grey_scheme .text--mid-gray {
    color: white !important; }

/**
 * @file
 * Theme styling for microsite label header block
 */
.microsite-label-header {
  padding: 1em;
  font-weight: bold; }

.book-blocks-toc-book {
  font-size: 100%;
  font-weight: normal; }

.book-blocks-toc-prefix {
  display: none; }

.book-blocks-toc {
  margin-bottom: 0; }
  .book-blocks-toc .book--active-trail {
    font-weight: normal; }
  .book-blocks-toc a {
    color: #005EA2; }
  .book-blocks-toc .nav-item a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .75rem;
    color: #005EA2;
    text-decoration: none; }
    .book-blocks-toc .nav-item a:hover {
      background-color: #f7f7f7; }

.book-blocks-toc-book {
  margin-bottom: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }
  .book-blocks-toc-book a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .75rem;
    color: #005EA2;
    text-decoration: none; }
    .book-blocks-toc-book a:hover {
      background-color: #f7f7f7; }

.node--type-book-cover .node_book__content ul.nav {
  display: none; }

.node_book__content .book-navigation .book-pager,
#content .book-navigation .book-pager {
  font-weight: bold;
  margin: 3rem 0;
  padding: 0 0; }
  .node_book__content .book-navigation .book-pager a,
  #content .book-navigation .book-pager a {
    display: flex;
    align-items: flex-start;
    padding: 0.75rem;
    text-decoration: none; }
  .node_book__content .book-navigation .book-pager a:hover,
  #content .book-navigation .book-pager a:hover {
    background-color: #f7f7f7; }
  .node_book__content .book-navigation .book-pager .book-pager__item--previous a,
  #content .book-navigation .book-pager .book-pager__item--previous a {
    justify-content: flex-start; }
    .node_book__content .book-navigation .book-pager .book-pager__item--previous a b,
    #content .book-navigation .book-pager .book-pager__item--previous a b {
      margin-right: 1rem; }
  .node_book__content .book-navigation .book-pager .book-pager__item--next a,
  #content .book-navigation .book-pager .book-pager__item--next a {
    justify-content: flex-end; }
    .node_book__content .book-navigation .book-pager .book-pager__item--next a b,
    #content .book-navigation .book-pager .book-pager__item--next a b {
      margin-left: 1rem; }

.book-pager {
  display: flex;
  justify-content: flex-end; }
  .book-pager .book-pager__item--center {
    display: none; }
  .book-pager .book-pager__item {
    min-height: 100%; }
    .book-pager .book-pager__item a {
      height: 100%; }
  @media (max-width: 767.98px) {
    .book-pager {
      flex-direction: column; } }

.book-pager__item--previous,
.book-pager__item--next {
  width: 50% !important; }

@media (max-width: 767.98px) {
  .book-pager__item--previous,
  .book-pager__item--next {
    width: 100% !important; } }

.node--type-book-cover .field--name-body,
.node--type-book .field--name-body {
  margin: 0 0 2rem; }

.node--type-book-cover .paragraph--view-mode--collapsible [data-toggle="collapse"],
.node--type-book .paragraph--view-mode--collapsible [data-toggle="collapse"] {
  display: block; }

.node--type-book-cover .paragraph--view-mode--collapsible [data-toggle="collapse"]:after,
.node--type-book .paragraph--view-mode--collapsible [data-toggle="collapse"]:after {
  align-self: self-start;
  content: "\f107";
  display: inline-block;
  float: right;
  font-family: "Font Awesome 5 Free";
  font-size: 1.25rem;
  font-weight: 900;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: rotate(180deg);
  transition: all linear 0.25s; }

.node--type-book-cover .paragraph--view-mode--collapsible [data-toggle="collapse"].collapsed:after,
.node--type-book .paragraph--view-mode--collapsible [data-toggle="collapse"].collapsed:after {
  transform: rotate(0deg); }

.node--type-book-cover .paragraph--view-mode--collapsible .lead,
.node--type-book .paragraph--view-mode--collapsible .lead {
  padding-right: .75rem; }

@media screen and (min-width: 992px) and (max-width: 1079.98px) {
  .navbar-expand-lg .navbar-toggler {
    display: block !important; }
  .collapse:not(.show) {
    display: none !important; }
  .region-primary-menu,
  .ultimenu__region {
    width: 100%; } }

@media (max-width: 1079.98px) {
  #block-ultimenu-main-navigation {
    display: none; } }

@media (min-width: 1080px) {
  .navbar-expand-lg .navbar-toggler {
    display: none; } }

@media (min-width: 1080px) {
  #block-ultimenu-mobile-navigation {
    display: none; } }

@media (min-width: 1080px) {
  #header .is-ultihover .uitem:nth-last-of-type(1) .ultimenu__flyout {
    min-width: max-content;
    max-width: 100%;
    left: auto;
    right: 0 !important; } }

.is-ultimenu .is-ultihover:not(.is-ulticaret) li .ultimenu__flyout:focus,
.is-ultimenu .is-ultihover:not(.is-ulticaret) li:hover > .ultimenu__flyout,
.is-ultimenu .is-ultihover:not(.is-ulticaret) li a:active + .ultimenu__flyout,
.is-ultimenu .is-ultihover:not(.is-ulticaret) li a:focus + .ultimenu__flyout {
  padding: 0; }

.block .ultimenu__flyout .ultimenu__region {
  background-color: #15396c; }

.ultimenu--htb.is-ultihover .ultimenu__flyout,
.ultimenu--htb.is-ultihover .ultimenu__region {
  border-radius: 0 0 0 0; }

.is-ulticaret--triangle .ultimenu__caret i::after {
  border-top: 8px solid #FFF; }

.is-ulticaret--triangle .is-ulink-active .ultimenu__caret i::after {
  border-bottom: 8px solid #FFF; }

.ultimenu__caret i::before,
.ultimenu__caret i::after {
  color: #FFF; }

.ultimenu__region .block-menu {
  text-align: left; }

#block-ultimenu-mobile-navigation .ultimenu__region {
  padding-top: 0; }

#block-ultimenu-mobile-navigation h2 {
  margin: 0 0 1rem; }

.ultimenu .uitem a:focus-visible {
  outline: -webkit-focus-ring-color auto 1px; }

@media (min-width: 1200px) {
  html.is-ultimenu .ultimenu > li,
  html.is-ultimenu .ultimenu .ultimenu__link {
    max-width: 100% !important;
    min-width: unset !important; } }

/* GENERAL STYLES
-------------------------------------------------*/
/* COLORS
--------------------------------------------------*/
a {
  color: #0079C0; }

.layout-main-wrapper {
  background: #FFF; }

.menu--main li a {
  color: #A8CF45; }

.menu--account li a {
  color: #A8CF45; }

.site-name-slogan a {
  text-decoration: none; }

.card-group img {
  margin: 0;
  width: 100%;
  height: auto; }

.card-group .field--type-image {
  margin: 0; }

.slick {
  width: 100%; }

/* HACKS
-------------------------------------------------*/
.breadcrumb {
  background: #FFF; }

.accordion-toggle:after {
  font-family: 'FontAwesome';
  content: "\f078";
  float: right; }

.accordion-opened .accordion-toggle:after {
  content: "\f054"; }

.top-margin {
  margin-top: 30px; }

.btn-modal {
  padding: 1rem 2rem;
  color: white;
  background-color: #1C6DA6; }

a.btn-modal:hover,
.homepage-bottom .views-field-field-link a:hover {
  color: white;
  background-color: #15396c; }

.video-embed {
  margin: 2.5rem auto; }

html {
  background: #15396c;
  -webkit-font-smoothing: antialiased; }

.jumbotron {
  background-size: cover;
  margin-bottom: 0; }
  .jumbotron .field--name-title {
    color: white; }

.usa-banner {
  background: #fafafa; }

.navbar-brand {
  padding-top: 0; }

.site-footer {
  background: #15396c !important; }

.bg-primary {
  background: #0b1f61 !important; }

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

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

.path-taxonomy h1.node__title {
  margin-bottom: 0; }

.path-taxonomy .views-row {
  margin-bottom: 30px; }

.nav-link[data-toggle].collapsed:before {
  content: " ▾"; }

.nav-link[data-toggle]:not(.collapsed):before {
  content: " ▴"; }

.node--type-product .field--type-image {
  float: none; }

*[id]:target {
  scroll-margin-top: 150px; }

.user-logged-in *[id]:target {
  scroll-margin-top: 240px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwidmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWl4aW5zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2RlcHJlY2F0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFkZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2l6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2l6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXNpYmlsaXR5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3gtc2hhZG93LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZmxvYXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29kZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19qdW1ib3Ryb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3V0aWxpdGllcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JhY2tncm91bmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JvcmRlcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2NsZWFyZml4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ludGVyYWN0aW9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fb3ZlcmZsb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zY3JlZW5yZWFkZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaGFkb3dzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaXppbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiLCJiYXJyaW8uc2NzcyIsImNvbXBvbmVudHMvYWZmaXguc2NzcyIsImNvbXBvbmVudHMvYWxlcnRzLnNjc3MiLCJjb21wb25lbnRzL2Jvb2suc2NzcyIsImNvbXBvbmVudHMvYm9vay1uYXZpZ2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL2JyZWFkY3J1bWIuc2NzcyIsImNvbXBvbmVudHMvY29tbWVudHMuc2NzcyIsImNvbXBvbmVudHMvY29udGV4dHVhbC5zY3NzIiwiY29tcG9uZW50cy9kZXRhaWxzLnNjc3MiLCJjb21wb25lbnRzL2Ryb3BidXR0b24uY29tcG9uZW50LnNjc3MiLCJjb21wb25lbnRzL2Ryb3BidXR0b24uc2NzcyIsImNvbXBvbmVudHMvZmVlZC1pY29uLnNjc3MiLCJjb21wb25lbnRzL2ZpZWxkLnNjc3MiLCJjb21wb25lbnRzL2ZpbGUuc2NzcyIsImNvbXBvbmVudHMvZm9ybS5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvaGVscC5zY3NzIiwiY29tcG9uZW50cy9pY29ucy5zY3NzIiwiY29tcG9uZW50cy9pbWFnZS1idXR0b24uc2NzcyIsImNvbXBvbmVudHMvaW5kZW50ZWQuc2NzcyIsImNvbXBvbmVudHMvaXRlbS1saXN0LnNjc3MiLCJjb21wb25lbnRzL2xpc3QtZ3JvdXAuc2NzcyIsImNvbXBvbmVudHMvbm9kZS5zY3NzIiwiY29tcG9uZW50cy9ub2RlLXByZXZpZXcuc2NzcyIsImNvbXBvbmVudHMvcGFnZS5zY3NzIiwiY29tcG9uZW50cy9zZWFyY2gtZm9ybS5zY3NzIiwiY29tcG9uZW50cy9zaG9ydGN1dC5zY3NzIiwiY29tcG9uZW50cy9zaWRlYmFyLnNjc3MiLCJjb21wb25lbnRzL3NpdGUtZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL3NraXAtbGluay5zY3NzIiwiY29tcG9uZW50cy90YWJsZS5zY3NzIiwiY29tcG9uZW50cy90YWJsZWRyYWcuc2NzcyIsImNvbXBvbmVudHMvdGFibGVzZWxlY3Quc2NzcyIsImNvbXBvbmVudHMvdGFibGVzb3J0LnNjc3MiLCJjb21wb25lbnRzL3RhYmxlc29ydC1pbmRpY2F0b3Iuc2NzcyIsImNvbXBvbmVudHMvdGFicy5zY3NzIiwiY29tcG9uZW50cy90ZXh0YXJlYS5zY3NzIiwiY29tcG9uZW50cy91aS13aWRnZXQuc2NzcyIsImNvbXBvbmVudHMvdWktZGlhbG9nLnNjc3MiLCJjb21wb25lbnRzL3VzZXIuc2NzcyIsImNvbXBvbmVudHMvdmVydGljYWwtdGFicy5jb21wb25lbnQuc2NzcyIsImNvbXBvbmVudHMvdmVydGljYWwtdGFicy5zY3NzIiwiY29tcG9uZW50cy92aWV3cy5zY3NzIiwibWl4aW5zLnNjc3MiLCJpZS5zY3NzIiwidGhlbWUtcGFydGlhbHMvX2Jhc2Utc3R5bGVzLnNjc3MiLCJ0aGVtZS1wYXJ0aWFscy9fdGhlbWUuc2NzcyIsInRoZW1lLXBhcnRpYWxzL19mb3JtLnNjc3MiLCJ0aGVtZS1wYXJ0aWFscy9fbGF5b3V0LnNjc3MiLCJ0aGVtZS1wYXJ0aWFscy9fbWVkaWEuc2NzcyIsInRoZW1lLXBhcnRpYWxzL19tZW51LnNjc3MiLCJ0aGVtZS1wYXJ0aWFscy9faGVhZGVyLnNjc3MiLCJ0aGVtZS1wYXJ0aWFscy9fcGF0dGVybi5zY3NzIiwidGhlbWUtcGFydGlhbHMvX2Zvb3Rlci5zY3NzIiwidGhlbWUtcGFydGlhbHMvX2xhbmRpbmctcGFnZS5zY3NzIiwidGhlbWUtcGFydGlhbHMvX3Jlc3BvbnNpdmUuc2NzcyIsInRoZW1lLXBhcnRpYWxzL190YWJsZS5zY3NzIiwidGhlbWUtcGFydGlhbHMvX2ZvbnRzLnNjc3MiLCJ0aGVtZS1wYXJ0aWFscy9fdHlwb2dyYXBoeS5zY3NzIiwidGhlbWUtcGFydGlhbHMvX3dlYmZvcm0uc2NzcyIsInRoZW1lLXBhcnRpYWxzL19jYW1wYWlnbi5zY3NzIiwidGhlbWUtcGFydGlhbHMvX2llZml4ZXMuc2NzcyIsInRoZW1lLXBhcnRpYWxzL19mZWVkLWljb24uc2NzcyIsInRoZW1lLXBhcnRpYWxzL19yZWd1bGF0aW9uc19zZWN0aW9uc190YXhvbm9teV90ZXJtLnNjc3MiLCJ0aGVtZS1wYXJ0aWFscy9fZmxleGlibGUtbGFuZGluZy1wYWdlLnNjc3MiLCJ0aGVtZS1wYXJ0aWFscy9fZmxleGlibGUtbGFuZGluZy1wYWdlX2NvbG9yLXNjaGVtZXMuc2NzcyIsInRoZW1lLXBhcnRpYWxzL19taWNyb3NpdGUtbGFiZWwtaGVhZGVyLWJsb2NrLnNjc3MiLCJ0aGVtZS1wYXJ0aWFscy9fYm9vay5zY3NzIiwidGhlbWUtcGFydGlhbHMvX3VsdGltZW51LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogSU1QT1JUUyAqL1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXBcIjtcbkBpbXBvcnQgXCJiYXJyaW9cIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJpZVwiO1xuQGltcG9ydCBcInRoZW1lLXBhcnRpYWxzL19iYXNlLXN0eWxlc1wiO1xuQGltcG9ydCBcInRoZW1lLXBhcnRpYWxzL190aGVtZVwiO1xuQGltcG9ydCBcInRoZW1lLXBhcnRpYWxzL19mb3JtXCI7XG5AaW1wb3J0IFwidGhlbWUtcGFydGlhbHMvX2xheW91dFwiO1xuQGltcG9ydCBcInRoZW1lLXBhcnRpYWxzL19tZWRpYVwiO1xuQGltcG9ydCBcInRoZW1lLXBhcnRpYWxzL19tZW51XCI7XG5AaW1wb3J0IFwidGhlbWUtcGFydGlhbHMvX2hlYWRlclwiO1xuQGltcG9ydCBcInRoZW1lLXBhcnRpYWxzL19wYXR0ZXJuXCI7XG5AaW1wb3J0IFwidGhlbWUtcGFydGlhbHMvX2Zvb3RlclwiO1xuQGltcG9ydCBcInRoZW1lLXBhcnRpYWxzL19sYW5kaW5nLXBhZ2VcIjtcbkBpbXBvcnQgXCJ0aGVtZS1wYXJ0aWFscy9fcmVzcG9uc2l2ZVwiO1xuQGltcG9ydCBcInRoZW1lLXBhcnRpYWxzL190YWJsZVwiO1xuQGltcG9ydCBcInRoZW1lLXBhcnRpYWxzL19mb250c1wiO1xuQGltcG9ydCBcInRoZW1lLXBhcnRpYWxzL190eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidGhlbWUtcGFydGlhbHMvX3dlYmZvcm1cIjtcbkBpbXBvcnQgXCJ0aGVtZS1wYXJ0aWFscy9fY2FtcGFpZ25cIjtcbkBpbXBvcnQgXCJ0aGVtZS1wYXJ0aWFscy9faWVmaXhlc1wiO1xuQGltcG9ydCBcInRoZW1lLXBhcnRpYWxzL2ZlZWQtaWNvblwiO1xuQGltcG9ydCBcInRoZW1lLXBhcnRpYWxzL3JlZ3VsYXRpb25zX3NlY3Rpb25zX3RheG9ub215X3Rlcm1cIjtcbkBpbXBvcnQgXCJ0aGVtZS1wYXJ0aWFscy9mbGV4aWJsZS1sYW5kaW5nLXBhZ2VcIjtcbkBpbXBvcnQgXCJ0aGVtZS1wYXJ0aWFscy9mbGV4aWJsZS1sYW5kaW5nLXBhZ2VfY29sb3Itc2NoZW1lc1wiO1xuQGltcG9ydCBcInRoZW1lLXBhcnRpYWxzL21pY3Jvc2l0ZS1sYWJlbC1oZWFkZXItYmxvY2tcIjtcbkBpbXBvcnQgXCJ0aGVtZS1wYXJ0aWFscy9ib29rXCI7XG5AaW1wb3J0IFwidGhlbWUtcGFydGlhbHMvX3VsdGltZW51XCI7XG5cbi8qIEdFTkVSQUwgU1RZTEVTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gYm9keSB7XG4vLyAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbi8vIH1cblxuLyogQ09MT1JTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmEge1xuICAgIGNvbG9yOiAkYWNjZW50LXNoYWRlO1xufVxuXG4ubGF5b3V0LW1haW4td3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbn1cblxuLm1lbnUtLW1haW4gbGkgYSB7XG4gIGNvbG9yOiAkcHJpbWFyeS1zaGFkZTtcbn1cblxuLm1lbnUtLWFjY291bnQgbGkgYSB7XG4gIGNvbG9yOiAkcHJpbWFyeS1zaGFkZTtcbn1cblxuLnNpdGUtbmFtZS1zbG9nYW4gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNhcmQtZ3JvdXAgaW1nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uY2FyZC1ncm91cCAuZmllbGQtLXR5cGUtaW1hZ2Uge1xuICAgIG1hcmdpbjogMFxufVxuXG4uc2xpY2sge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vLyAuc2xpY2s+ZGl2IHtcbi8vICAgICBtYXJnaW46IDAgMTVweDtcbi8vIH1cblxuLyogSEFDS1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uYnJlYWRjcnVtYiB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbn1cblxuLmFjY29yZGlvbi10b2dnbGU6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuLmFjY29yZGlvbi1vcGVuZWQgLmFjY29yZGlvbi10b2dnbGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG59XG5cbi50b3AtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmJ0bi1tb2RhbCB7XG4gIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUM2REE2O1xufVxuXG5hLmJ0bi1tb2RhbDpob3Zlcixcbi5ob21lcGFnZS1ib3R0b20gLnZpZXdzLWZpZWxkLWZpZWxkLWxpbmsgYTpob3ZlciB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1Mzk2Yztcbn1cblxuLnZpZGVvLWVtYmVkIHtcbiAgbWFyZ2luOiAyLjVyZW0gYXV0bztcbn1cblxuaHRtbCB7XG4gIGJhY2tncm91bmQ6ICMxNTM5NmM7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG4uanVtYm90cm9uIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgLmZpZWxkLS1uYW1lLXRpdGxlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuLnVzYS1iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiAkc25vdztcbn1cblxuLm5hdmJhci1icmFuZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uc2l0ZS1mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTUzOTZjICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogJG1pZG5pZ2h0Ymx1ZSAhaW1wb3J0YW50O1xufVxuXG4uc2l0ZS1mb290ZXJfX3RvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5zaXRlLWZvb3Rlcl9fYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4vL1RheG9ub215IFRlcm0gcGFnZVxuLnBhdGgtdGF4b25vbXkgaDEubm9kZV9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGF0aC10YXhvbm9teSAudmlld3Mtcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLy9uYXZpZ2F0aW9uXG4ubmF2LWxpbmtbZGF0YS10b2dnbGVdLmNvbGxhcHNlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIOKWvlwiO1xufVxuLm5hdi1saW5rW2RhdGEtdG9nZ2xlXTpub3QoLmNvbGxhcHNlZCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiDilrRcIjtcbn1cblxuLm5vZGUtLXR5cGUtcHJvZHVjdCAuZmllbGQtLXR5cGUtaW1hZ2Uge1xuICBmbG9hdDogbm9uZTtcbn1cblxuLy8gZmlndXJlLmFsaWduLWxlZnQge1xuLy8gICBtYXJnaW4tbGVmdDogMDtcbi8vICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuLy8gfVxuLy9cbi8vIGZpZ3VyZS5hbGlnbi1yaWdodCB7XG4vLyAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuLy8gICBtYXJnaW4tcmlnaHQ6IDA7XG4vLyB9XG4vLyAqW2lkXTp0YXJnZXQ6OmJlZm9yZSB7XG4vLyAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICBjb250ZW50OiBcIlxcMjAwQlwiO1xuLy8gICBtYXJnaW4tdG9wOiAtMTgwcHg7XG4vLyAgIC8vIHNjcm9sbC1tYXJnaW4tdG9wOiAtMTgwcHggOyAvLyBTZXQgdGhlIEFwcHJvcHJpYXRlIEhlaWdodFxuLy8gICBoZWlnaHQ6IDE4MHB4IDsgLy8gU2V0IHRoZSBBcHByb3ByaWF0ZSBIZWlnaHRcbi8vICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuLy8gfVxuLy8gLnVzZXItbG9nZ2VkLWluICpbaWRdOnRhcmdldDpiZWZvcmUge1xuLy8gICBkaXNwbGF5OiBibG9jaztcbi8vICAgY29udGVudDogXCJcXDIwMEJcIjtcbi8vICAgbWFyZ2luLXRvcDogLTI0MHB4O1xuLy8gICAvLyBzY3JvbGwtbWFyZ2luLXRvcDogLTI0MHB4IDsgLy8gU2V0IHRoZSBBcHByb3ByaWF0ZSBIZWlnaHRcbi8vICAgaGVpZ2h0OiAyNDBweCA7IC8vIFNldCB0aGUgQXBwcm9wcmlhdGUgSGVpZ2h0XG4vLyAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbi8vIH1cbipbaWRdOnRhcmdldCB7XG4gIHNjcm9sbC1tYXJnaW4tdG9wOiAxNTBweCA7IC8vIFNldCB0aGUgQXBwcm9wcmlhdGUgSGVpZ2h0XG59XG4udXNlci1sb2dnZWQtaW4gKltpZF06dGFyZ2V0IHtcbiAgc2Nyb2xsLW1hcmdpbi10b3A6IDI0MHB4IDsgLy8gU2V0IHRoZSBBcHByb3ByaWF0ZSBIZWlnaHRcbn1cbiIsIi8qIFZBUklBQkxFUyAqL1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAxcmVtICFkZWZhdWx0O1xuXG4vLyBtb2RhbCB0aGVtZSBjb2xvcnNcbiRzdGVlbGJsdWU6ICMyMTZkYTM7XG5cbi8vIGNvbG9yc1xuJHByaW1hcnktY29sb3I6ICMwYjFmNjE7XG4kcHJpbWFyeS1zaGFkZTogI0E4Q0Y0NTtcbiRwcmltYXJ5LWxpZ2h0OiBsaWdodGVuKCRwcmltYXJ5LXNoYWRlLCAzNyUpO1xuJHByaW1hcnktZGFyazogZGFya2VuKCRwcmltYXJ5LXNoYWRlLCAxMiUpO1xuJGFjY2VudC1zaGFkZTogIzAwNzlDMDtcbiRhY2NlbnQtbGlnaHQ6IGxpZ2h0ZW4oJGFjY2VudC1zaGFkZSwgMzclKTtcbiRhY2NlbnQtZGFyazogZGFya2VuKCRhY2NlbnQtc2hhZGUsIDEyJSk7XG4vLyBSZWFzc2lnbiBjb2xvciB2YXJzIHRvIHNlbWFudGljIGNvbG9yIHNjaGVtZVxuJG1pZG5pZ2h0LWJsdWU6ICMxOTQxNzg7XG4kYmxhY2s6ICMwMDAwMDA7XG4kZmxpbnQ6ICM3MjY1NUY7XG4kdmVyeS1kYXJrLWJsdWU6ICMxNTM5NkM7XG4kZGFyay1ibHVlOiAjMUM2REE2O1xuJGxpZ2h0LWJsdWU6ICNkOWVjZjk7XG5cbiRyZWQ6ICNkYzM1NDU7XG4keWVsbG93OiAjZmZjMTA3O1xuJGdyZWVuOiAjMjhhNzQ1O1xuJGN5YW46ICMxN2EyYjg7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiAoIHByaW1hcnk6ICRhY2NlbnQtc2hhZGUsIHNlY29uZGFyeTogJHByaW1hcnktc2hhZGUsIHN1Y2Nlc3M6ICRncmVlbiwgaW5mbzogJGN5YW4sIHdhcm5pbmc6ICR5ZWxsb3csIGRhbmdlcjogJHJlZCwgbGlnaHQ6ICRncmF5LTEwMCwgZGFyazogJGdyYXktODAwKTtcbiRicmFuZC1wcmltYXJ5OiAkYWNjZW50LXNoYWRlO1xuLy8kYnJhbmQtc3VjY2VzczogJGdyZWVuO1xuLy8kYnJhbmQtaW5mbzogJHRlYWw7XG4vLyRicmFuZC13YXJuaW5nOiAkb3JhbmdlO1xuLy8kYnJhbmQtZGFuZ2VyOiAkcmVkO1xuJGJyYW5kLWludmVyc2U6ICRwcmltYXJ5LXNoYWRlO1xuLy8gQ3VzdG9tIFRoZW1lIENvbG9yc1xuJGRhcmtzbGF0ZTogICMzZDQ1NTA7XG4kZGltZ3JheTogIzU2NWM2NTtcbiR3aGl0ZXNtb2tlOiAjZjBmMGYyO1xuJHNub3c6ICNmYWZhZmE7XG4kbWlkbmlnaHRibHVlOiAjMGIxZjYxO1xuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cbi8vJGJvZHktYmc6ICR3aGl0ZTtcbi8vJGJvZHktY29sb3I6ICRncmF5LWRhcms7XG4kaW52ZXJzZS1iZzogJHByaW1hcnktc2hhZGU7XG4vLyRpbnZlcnNlLWNvbG9yOiAkZ3JheS1saWdodGVyO1xuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG4kbGluay1jb2xvcjogJGFjY2VudC1zaGFkZTtcbiRsaW5rLWRlY29yYXRpb246IG5vbmU7XG4kbGluay1ob3Zlci1jb2xvcjogJGFjY2VudC1kYXJrO1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuLy8gQ29tbWVudHNcbiRjb21tZW50LXNwYWNlci14OiAxLjI1ZW07XG4kY29tbWVudC1zcGFjZXIteTogMS4yNWVtO1xuLy8gUmVzcG9uc2l2ZSBmb250IHNpemVzXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZTtcbiIsIi8qIVxuICogQm9vdHN0cmFwIHY0LjYuMiAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMjIgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIyIFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICovXG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJyb290XCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJ0b2FzdHNcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJzcGlubmVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuQGltcG9ydCBcInByaW50XCI7XG4iLCIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiBvciB1bml0KCRwcmV2LW51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgQGlmIGxlbmd0aCgkbWFwKSA+IDAge1xuICAgICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gICAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIFNlZSBodHRwczovL2NvZGVwZW4uaW8va2V2aW53ZWJlci9wZW4vZFhXb1J3XG4vL1xuLy8gUmVxdWlyZXMgdGhlIHVzZSBvZiBxdW90ZXMgYXJvdW5kIGRhdGEgVVJJcy5cblxuQGZ1bmN0aW9uIGVzY2FwZS1zdmcoJHN0cmluZykge1xuICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwiZGF0YTppbWFnZS9zdmcreG1sXCIpIHtcbiAgICBAZWFjaCAkY2hhciwgJGVuY29kZWQgaW4gJGVzY2FwZWQtY2hhcmFjdGVycyB7XG4gICAgICAvLyBEbyBub3QgZXNjYXBlIHRoZSB1cmwgYnJhY2tldHNcbiAgICAgIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJ1cmwoXCIpID09IDEge1xuICAgICAgICAkc3RyaW5nOiB1cmwoXCIje3N0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCA2LCAtMyksICRjaGFyLCAkZW5jb2RlZCl9XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzdHJpbmc6IHN0ci1yZXBsYWNlKCRzdHJpbmcsICRjaGFyLCAkZW5jb2RlZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IsICRkYXJrOiAkeWlxLXRleHQtZGFyaywgJGxpZ2h0OiAkeWlxLXRleHQtbGlnaHQpIHtcbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICAkeWlxOiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAqIC4wMDE7XG5cbiAgQGlmICgkeWlxID49ICR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICRkYXJrO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRsaWdodDtcbiAgfVxufVxuXG4vLyBSZXRyaWV2ZSBjb2xvciBTYXNzIG1hcHNcbkBmdW5jdGlvbiBjb2xvcigka2V5OiBcImJsdWVcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiB0aGVtZS1jb2xvcigka2V5OiBcInByaW1hcnlcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiBncmF5KCRrZXk6IFwiMTAwXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XG59XG5cbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgJGJsYWNrLCAkd2hpdGUpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG5cbi8vIFJldHVybiB2YWxpZCBjYWxjXG5AZnVuY3Rpb24gYWRkKCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgKyAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9ICsgI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiICsgXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBzdWJ0cmFjdCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCBhbmQgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuIC0kdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxIC0gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTIpICE9IG51bWJlciB7XG4gICAgJHZhbHVlMjogdW5xdW90ZShcIihcIikgKyAkdmFsdWUyICsgdW5xdW90ZShcIilcIik7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gLSAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgLSBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICksXG4gICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6ICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoOiAgIHdpZHRoIC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg3NWVtICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTYgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1sZyAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogLjUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBzdWJ0cmFjdCgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNCkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgIGVzY2FwZS1zdmcoJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yKSByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZSBuby1yZXBlYXQgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogYWRkKDFlbSAqIC43NSwgKDIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKiAuNzUpICsgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PScwIDAgMTIgMTInPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICAgICksXG4gICAgXCJpbnZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICApLFxuICApLFxuICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgKiAuNSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtc2Nyb2xsLW1heC1oZWlnaHQ6ICAgICAgNzV2aCAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc206ICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAqIC41ICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiAhZGVmYXVsdDtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLXZlcnRpY2FsLWFsaWduOiAgLS4xMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogICAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4gIWRlZmF1bHQ7XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcbiR1c2VyLXNlbGVjdHM6IGFsbCwgYXV0bywgbm9uZSAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBUb2dnbGVzXG4vL1xuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXG5cbi8vIFZlbmRvclxuQGltcG9ydCBcInZlbmRvci9yZnNcIjtcblxuLy8gRGVwcmVjYXRlXG5AaW1wb3J0IFwibWl4aW5zL2RlcHJlY2F0ZVwiO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuQGltcG9ydCBcIm1peGlucy90cmFuc2l0aW9uXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zsb2F0XCI7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSBmb250IHNpemVzXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi92OC54L0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSBmb250IHNpemVcbiRyZnMtYmFzZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLWZvbnQtc2l6ZS11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ICE9IHJlbSBhbmQgJHJmcy1mb250LXNpemUtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIGZvbnQgc2l6ZSBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IFwibnVtYmVyXCIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHRvIGZhbHNlXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLWZvbnQtc2l6ZSB1bml0XG4kcmZzLWJhc2UtZm9udC1zaXplLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLWZvbnQtc2l6ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLWZvbnQtc2l6ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicHhcIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6IGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplLCAkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSwgZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtZGlzYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICYsXG4gICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLWVuYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5KCRtcS12YWx1ZSkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGZvbnQgc2l6ZSBtaXhpblxuQG1peGluIHJmcygkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIENhY2hlICRmcyB1bml0XG4gICRmcy11bml0OiBpZih0eXBlLW9mKCRmcykgPT0gXCJudW1iZXJcIiwgdW5pdCgkZnMpLCBmYWxzZSk7XG5cbiAgLy8gQWRkICFpbXBvcnRhbnQgc3VmZml4IGlmIG5lZWRlZFxuICAkcmZzLXN1ZmZpeDogaWYoJGltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICAvLyBJZiAkZnMgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJGZzIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgQGlmIG5vdCAkZnMtdW5pdCBvciAkZnMtdW5pdCAhPSBcIlwiIGFuZCAkZnMtdW5pdCAhPSBcInB4XCIgYW5kICRmcy11bml0ICE9IFwicmVtXCIgb3IgJGZzID09IDAge1xuICAgIGZvbnQtc2l6ZTogI3skZnN9I3skcmZzLXN1ZmZpeH07XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgZGl2aWRlKCRmcyAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQgc2l6ZVxuICAgICRyZnMtc3RhdGljOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3tkaXZpZGUoJGZzLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmc31weCk7XG5cbiAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIGZvbnQgc2l6ZSBpcyBiaWdnZXIgdGhhbiB0aGUgbWluaW11bSBmb250IHNpemVcbiAgICBAaWYgJGZzIDw9ICRyZnMtYmFzZS1mb250LXNpemUgb3Igbm90ICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHtcbiAgICAgIGZvbnQtc2l6ZTogI3skcmZzLXN0YXRpY30jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZSBmb3IgJGZzXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgZGl2aWRlKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkZnMgYW5kIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkZnMtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkZnMtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZVxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcblxuICAgICAgLy8gQnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICAkbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuXG4gICAgICBAaW5jbHVkZSBfcmZzLWRpc2FibGUtY2xhc3Mge1xuICAgICAgICBmb250LXNpemU6ICN7JHJmcy1zdGF0aWN9I3skcmZzLXN1ZmZpeH07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkoJG1xLXZhbHVlKSB7XG4gICAgICAgIEBpbmNsdWRlIF9yZnMtZW5hYmxlLWNsYXNzIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbnMgdXNlIFJGUyB0byByZXNjYWxlIHRoZSBmb250IHNpemVcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBEZXByZWNhdGUgbWl4aW5cbi8vXG4vLyBUaGlzIG1peGluIGNhbiBiZSB1c2VkIHRvIGRlcHJlY2F0ZSBtaXhpbnMgb3IgZnVuY3Rpb25zLlxuLy8gYCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXNgIGlzIGEgZ2xvYmFsIHZhcmlhYmxlLCBgJGlnbm9yZS13YXJuaW5nYCBpcyBhIHZhcmlhYmxlIHRoYXQgY2FuIGJlIHBhc3NlZCB0b1xuLy8gc29tZSBkZXByZWNhdGVkIG1peGlucyB0byBzdXBwcmVzcyB0aGUgd2FybmluZyAoZm9yIGV4YW1wbGUgaWYgdGhlIG1peGluIGlzIHN0aWxsIGJlIHVzZWQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBCb290c3RyYXApXG5AbWl4aW4gZGVwcmVjYXRlKCRuYW1lLCAkZGVwcmVjYXRlLXZlcnNpb24sICRyZW1vdmUtdmVyc2lvbiwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICBAaWYgKCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXMgIT0gZmFsc2UgYW5kICRpZ25vcmUtd2FybmluZyAhPSB0cnVlKSB7XG4gICAgQHdhcm4gXCIjeyRuYW1lfSBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mICN7JGRlcHJlY2F0ZS12ZXJzaW9ufS4gSXQgd2lsbCBiZSByZW1vdmVkIGVudGlyZWx5IGluICN7JHJlbW92ZS12ZXJzaW9ufS5cIjtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cygpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzKCkge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkKCkge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNpemUgYW55dGhpbmdcblxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8va2l0dHlnaXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHNpemUoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoKWBcIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xuICB2aXNpYmlsaXR5OiAkdmlzaWJpbGl0eSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW52aXNpYmxlKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duKCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZm9ybS1jb250cm9sLWZvY3VzKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMxNTU3XG4gICAgLy8gQWxpZ24gdG9vbHRpcCB0byBmb3JtIGVsZW1lbnRzXG4gICAgLmZvcm0tcm93ID4gLmNvbCA+ICYsXG4gICAgLmZvcm0tcm93ID4gW2NsYXNzKj1cImNvbC1cIl0gPiAmIHtcbiAgICAgIGxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXIgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LXBhZGRpbmcteCAqIDQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LXBhZGRpbmcteCAqIDIgY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsICRjdXN0b20tc2VsZWN0LWJnIGVzY2FwZS1zdmcoJGljb24pICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemUgbm8tcmVwZWF0O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLXZhcmlhbnRgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctZ3JhZGllbnQtdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC41LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGlmIChsZW5ndGgoJHNoYWRvdykgPT0gMSkge1xuICAgICAgLy8gV2UgY2FuIHBhc3MgYEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7YFxuICAgICAgJHJlc3VsdDogJHNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEZpbHRlciB0byBhdm9pZCBpbnZhbGlkIHByb3BlcnRpZXMgZm9yIGV4YW1wbGUgYGJveC1zaGFkb3c6IG5vbmUsIDFweCAxcHggYmxhY2s7YFxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHNoYWRvdykge1xuICAgICAgICBAaWYgbnRoKCRzaGFkb3csICRpKSAhPSBcIm5vbmVcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkc2hhZG93LCAkaSksIFwiY29tbWFcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmIChsZW5ndGgoJHJlc3VsdCkgPiAwKSB7XG4gICAgICBib3gtc2hhZG93OiAkcmVzdWx0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAqIC41O1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyICogLjU7XG59XG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgbWFrZS1jb250YWluZXItbWF4LXdpZHRoc2AgbWl4aW5cIiwgXCJ2NC41LjJcIiwgXCJ2NVwiKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogZGl2aWRlKCRzaXplLCAkY29sdW1ucyk7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCBkaXZpZGUoMTAwJSwgJGNvdW50KTtcbiAgICBtYXgtd2lkdGg6IGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQG1peGluIGZsb2F0LWxlZnQoKSB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtbGVmdGAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCgpIHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtcmlnaHRgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG5AbWl4aW4gZmxvYXQtbm9uZSgpIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1ub25lYCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gMS4gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cbi8vIDIuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMuXG4vLyAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4vLyA0LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbi8vIDUuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG59XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMlxuICBsaW5lLWhlaWdodDogMS4xNTsgLy8gM1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDVcbn1cblxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2Vycylcbi8vIFRPRE86IHJlbW92ZSBpbiB2NVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZVxuLy8gICAgdGhlIGBpbmhlcml0YCB2YWx1ZSBvbiB0aGluZ3MgbGlrZSBgPHRoPmAgZWxlbWVudHMuXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZzsgLy8gMlxufVxuXG4vLyBGdXR1cmUtcHJvb2YgcnVsZTogaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IDpmb2N1cy12aXNpYmxlLCBzdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZVxuLy8gb24gZWxlbWVudHMgdGhhdCBwcm9ncmFtbWF0aWNhbGx5IHJlY2VpdmUgZm9jdXMgYnV0IHdvdWxkbid0IG5vcm1hbGx5IHNob3cgYSB2aXNpYmxlXG4vLyBmb2N1cyBvdXRsaW5lLiBJbiBnZW5lcmFsLCB0aGlzIHdvdWxkIG1lYW4gdGhhdCB0aGUgb3V0bGluZSBpcyBvbmx5IGFwcGxpZWQgaWYgdGhlXG4vLyBpbnRlcmFjdGlvbiB0aGF0IGxlZCB0byB0aGUgZWxlbWVudCByZWNlaXZpbmcgcHJvZ3JhbW1hdGljIGZvY3VzIHdhcyBhIGtleWJvYXJkIGludGVyYWN0aW9uLFxuLy8gb3IgdGhlIGJyb3dzZXIgaGFzIHNvbWVob3cgZGV0ZXJtaW5lZCB0aGF0IHRoZSB1c2VyIGlzIHByaW1hcmlseSBhIGtleWJvYXJkIHVzZXIgYW5kL29yXG4vLyB3YW50cyBmb2N1cyBvdXRsaW5lcyB0byBhbHdheXMgYmUgcHJlc2VudGVkLlxuLy9cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOmZvY3VzLXZpc2libGVcbi8vIGFuZCBodHRwczovL2RldmVsb3Blci5wYWNpZWxsb2dyb3VwLmNvbS9ibG9nLzIwMTgvMDMvZm9jdXMtdmlzaWJsZS1hbmQtYmFja3dhcmRzLWNvbXBhdGliaWxpdHkvXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gNS4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gNVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDgwJSk7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDc1JSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZikuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8vIERpc2FibGUgYXV0by1oaWRpbmcgc2Nyb2xsYmFyIGluIElFICYgbGVnYWN5IEVkZ2UgdG8gYXZvaWQgb3ZlcmxhcCxcbiAgLy8gbWFraW5nIGl0IGltcG9zc2libGUgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgY29udGVudFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcbi8vXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG59XG5cbnN2ZyB7XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBTVkcgb3ZlcmZsb3cgYnVnIGluIElFMTAvMTEgaXMgc3RpbGwgcmVxdWlyZWQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI2ODc4XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cbi8vIDEuIFJlbW92ZXMgZm9udC13ZWlnaHQgYm9sZCBieSBpbmhlcml0aW5nXG4vLyAyLiBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGB0ZXh0LWFsaWduYC5cbi8vIDMuIEZpeCBhbGlnbm1lbnQgZm9yIFNhZmFyaVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiAkdGFibGUtdGgtZm9udC13ZWlnaHQ7IC8vIDFcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gMlxuICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDsgLy8gM1xufVxuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxubGFiZWwge1xuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRsYWJlbC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cbkBpZiAkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zIHtcbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBAaW5jbHVkZSBmb250LXNpemUoMS41cmVtKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxLCAuaDEgeyBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7IH1cbmgyLCAuaDIgeyBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7IH1cbmgzLCAuaDMgeyBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7IH1cbmg0LCAuaDQgeyBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7IH1cbmg1LCAuaDUgeyBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7IH1cbmg2LCAuaDYgeyBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7IH1cblxuLmxlYWQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlYWQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuLmRpc3BsYXktMSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTEtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5Mi1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTMge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkzLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkzLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktNCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJGhyLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkaHItbWFyZ2luLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDkwJSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyICogLjU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6ICR0YWJsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgY29sb3I6ICR0YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJvcmRlci1sZXZlbCkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgLy8gUmVtb3ZlIHNlbGVjdCBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRpbnB1dC1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmW3NpemVdLFxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgZm9yIHdvcmthcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5mb3JtLWNoZWNrLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xufVxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCxcbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXksICRidG4tcGFkZGluZy14LCAkYnRuLWZvbnQtc2l6ZSwgJGJ0bi1saW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAkYnRuLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogaWYoJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucywgcG9pbnRlciwgbnVsbCk7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWZvY3VzLWJveC1zaGFkb3csICRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1saW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbiAgfVxufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcblxuICAmLndpZHRoIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aCk7XG4gIH1cbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wcmlnaHQsXG4uZHJvcGRvd24sXG4uZHJvcGxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0KCk7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1wYWRkaW5nLXg7XG4gIG1hcmdpbjogJGRyb3Bkb3duLXNwYWNlciAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkcm9wZG93bi1mb250LXNpemUpO1xuICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRkcm9wZG93bi1ib3gtc2hhZG93KTtcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tbGVmdCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tcmlnaHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3ByaWdodCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQocmlnaHQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGxlZnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChsZWZ0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gUG9wcGVyIGlzIGVuYWJsZWQsIHJlc2V0IHRoZSBiYXNpYyBkcm9wZG93biBwb3NpdGlvblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5kcm9wZG93bi1tZW51IHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxufVxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZywgJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXksIHRydWUpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgLy8gUHJldmVudCBkcm9wZG93biBvdmVyZmxvdyBpZiB0aGVyZSdzIG5vIHBhZGRpbmdcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI3NzAzXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MjQ3MTQwL3doeS1kb250LWZsZXgtaXRlbXMtc2hyaW5rLXBhc3QtY29udGVudC1zaXplXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgLmZvcm0tY29udHJvbCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjdXN0b20gZmlsZSBpbnB1dCBhYm92ZSB0aGUgbGFiZWxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAvLyBDdXN0b20gZmlsZSBpbnB1dHMgaGF2ZSBtb3JlIGNvbXBsZXggbWFya3VwLCB0aHVzIHJlcXVpcmluZyBkaWZmZXJlbnRcbiAgLy8gYm9yZGVyLXJhZGl1cyBvdmVycmlkZXMuXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtdmFsaWRhdGlvbiB7XG4gICAgPiAuZm9ybS1jb250cm9sOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tZmlsZTpudGgtbGFzdC1jaGlsZChuICsgMykgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgID4gLmN1c3RvbS1maWxlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41O1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICBib3JkZXI6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIEZvcmVncm91bmQgKGljb24pXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogNTAlIC8gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemV9IG5vLXJlcGVhdDtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHN3aXRjaGVzXG4vL1xuLy8gVHdlYWsgYSBmZXcgdGhpbmdzIGZvciBzd2l0Y2hlc1xuXG4uY3VzdG9tLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xuXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC13aWR0aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGFkZCgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXG4gICAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7IC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7ICAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1zLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCAqIC41O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdi10YWJzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAvLyBQcmV2ZW50cyBhY3RpdmUgLm5hdi1saW5rIHRhYiBvdmVybGFwcGluZyBmb2N1cyBvdXRsaW5lIG9mIHByZXZpb3VzL25leHQgLm5hdi1saW5rXG4gICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jb250YWluZXIsXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci1icmFuZC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiA1MCUgLyAxMDAlIDEwMCUgbm8tcmVwZWF0O1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiAkbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiAkY2FyZC1oZWlnaHQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBpbWFnZSBzaXplIGJ1ZyBpbiBJRVxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4ODU1XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jb2xvcjtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtJGNhcmQtc3BhY2VyLXkgKiAuNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG5cbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRicmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC8vIE9waW5pb25hdGVkOiByZW1vdmUgdGhlIFwiaGFuZFwiIGN1cnNvciBzZXQgcHJldmlvdXNseSBmb3IgLnBhZ2UtbGlua1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhZGdlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhZGdlLXRyYW5zaXRpb24pO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nICogLjUpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogJGFsZXJ0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxlcnQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmFsZXJ0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCh0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJvcmRlci1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWNvbG9yLWxldmVsKSk7XG4gIH1cbn1cbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHByb2dyZXNzLWhlaWdodCAwOyB9XG4gICAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBsaW5lLWhlaWdodDogMDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmcgcHJvZ3Jlc3MtYmFyLXN0cmlwZXM7XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmICsgJiB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci13aWR0aDogMCAwICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNsb3NlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi50b2FzdCB7XG4gIC8vIFByZXZlbnRzIGZyb20gc2hyaW5raW5nIGluIElFMTEsIHdoZW4gaW4gYSBmbGV4IGNvbnRhaW5lclxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODM0MVxuICBmbGV4LWJhc2lzOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBtYXgtd2lkdGg6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHN1YnRyYWN0KCR0b2FzdC1ib3JkZXItcmFkaXVzLCAkdG9hc3QtYm9yZGVyLXdpZHRoKSk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyAvLyBSZXNldCBoZWlnaHQgdG8gMCBleGNlcHQgb24gSUVcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gKiAuNTtcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAqIC41O1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyOiAkc3Bpbm5lci1ib3JkZXItd2lkdGggc29saWQgY3VycmVudGNvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWJvcmRlcjtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Bpbm5lci1ib3JkZXItd2lkdGgtc207XG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWdyb3c7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuXG5AaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwidXRpbGl0aWVzL2FsaWduXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYm9yZGVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9kaXNwbGF5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2VtYmVkXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2ZsZXhcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZmxvYXRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvaW50ZXJhY3Rpb25zXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL292ZXJmbG93XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NjcmVlbnJlYWRlcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc2hhZG93c1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zaXppbmdcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc3BhY2luZ1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zdHJldGNoZWQtbGlua1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy90ZXh0XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Zpc2liaWxpdHlcIjtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIEJvcmRlclxuLy9cblxuLmJvcmRlciAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AgICAgIHsgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQgICB7IGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tICB7IGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQgICAgeyBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYm9yZGVyLSN7JGNvbG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLy9cbi8vIEJvcmRlci1yYWRpdXNcbi8vXG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc20gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcmlnaHQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGcge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkLXBpbGwgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbiIsIi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGRpdmlkZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSwgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJHVzZXItc2VsZWN0cyB7XG4gIC51c2VyLXNlbGVjdC0jeyR2YWx1ZX0geyB1c2VyLXNlbGVjdDogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW5zIChlLmcuLCB3aGVyZSBgLm1iLW4xYCBpcyBuZWdhdGl2ZSB2ZXJzaW9uIG9mIGAubWItMWApXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgQGlmIFwiI3skc2l6ZX1cIiAhPSBcIjBcIiB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gRGVwcmVjYXRlZCwgYnV0IGF2b2lkcyBpc3N1ZXMgd2l0aCBmbGV4IGNvbnRhaW5lcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIFVzZWQgaW5zdGVhZCBvZiBgb3ZlcmZsb3ctd3JhcGAgZm9yIElFICYgRWRnZSBMZWdhY3lcbn1cblxuLy8gUmVzZXRcblxuLnRleHQtcmVzZXQgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9tYWluLmNzcy9ibG9iL21hc3Rlci9zcmMvX3ByaW50LmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwczovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYgJGVuYWJsZS1wcmludC1zdHlsZXMge1xuICBAbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCBvdXQgYGNvbG9yYCBhbmQgYGJhY2tncm91bmRgXG4gICAgICAvL2NvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ3JheS01MDA7IC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAgIC8vIFNwZWNpZnkgYSBzaXplIGFuZCBtaW4td2lkdGggdG8gbWFrZSBwcmludGluZyBjbG9zZXIgYWNyb3NzIGJyb3dzZXJzLlxuICAgIC8vIFdlIGRvbid0IHNldCBtYXJnaW4gaGVyZSBiZWNhdXNlIGl0IGJyZWFrcyBgc2l6ZWAgaW4gQ2hyb21lLiBXZSBhbHNvXG4gICAgLy8gZG9uJ3QgdXNlIGAhaW1wb3J0YW50YCBvbiBgc2l6ZWAgYXMgaXQgYnJlYWtzIGluIENocm9tZS5cbiAgICBAcGFnZSB7XG4gICAgICBzaXplOiAkcHJpbnQtcGFnZS1zaXplO1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYmxhY2s7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWRhcmsge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9jb21wb25lbnRzL2FmZml4XCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2FsZXJ0c1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9ib29rXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2Jvb2stbmF2aWdhdGlvblwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9icmVhZGNydW1iXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2NvbW1lbnRzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2NvbnRleHR1YWxcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvZGV0YWlsc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9kcm9wYnV0dG9uLmNvbXBvbmVudFwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9kcm9wYnV0dG9uXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2ZlZWQtaWNvblwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9maWVsZFwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9maWxlXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2Zvcm1cIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvaGVhZGVyXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2hlbHBcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvaWNvbnNcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvaW1hZ2UtYnV0dG9uXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2luZGVudGVkXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2l0ZW0tbGlzdFwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL25vZGVcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvbm9kZS1wcmV2aWV3XCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3BhZ2VcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvc2VhcmNoLWZvcm1cIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvc2hvcnRjdXRcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvc2lkZWJhclwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9zaXRlLWZvb3RlclwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9za2lwLWxpbmtcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdGFibGVcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdGFibGVkcmFnXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3RhYmxlc2VsZWN0XCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3RhYmxlc29ydFwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy90YWJsZXNvcnQtaW5kaWNhdG9yXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3RhYnNcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdGV4dGFyZWFcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdWktd2lkZ2V0XCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3VpLWRpYWxvZ1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy91c2VyXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZlcnRpY2FsLXRhYnMuY29tcG9uZW50XCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZlcnRpY2FsLXRhYnNcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3NcIjsiLCIvKipcbiAqIEBmaWxlXG4gKiBTdHlsZXMgZm9yIEJvb3RzdHJhcCBCYXJyaW8gYWZmaXggZWZmZWN0LlxuICovXG5cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAzNTtcbiAgbGVmdDogMDtcbn1cbiIsIi8qKlxuICogQGZpbGVcbiAqIFZpc3VhbCBzdHlsZXMgZm9yIGNvbW1lbnRzIGluIEJhcnJpby5cbiAqL1xuXG4uYWxlcnQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTk7XG59XG4udG9hc3Qtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogOTk5OTtcbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBCb290c3RyYXAgQmFycmlvIHNwZWNpZmljIHN0eWxpbmcgZm9yIHRoZSBCb29rIG1vZHVsZS5cbiAqL1xuXG4uYm9vay1uYXZpZ2F0aW9uIC5tZW51IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbn1cblxuLmJvb2stbmF2aWdhdGlvbiAuYm9vay1wYWdlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgbWFyZ2luOiAwO1xufSIsIi8qKlxuICogQGZpbGVcbiAqIFN0eWxpbmcgZm9yIHRoZSBCb29rIG1vZHVsZS5cbiAqL1xuXG4uYm9vay1uYXZpZ2F0aW9uIC5tZW51IHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAxZW07XG59XG4uYm9vay1uYXZpZ2F0aW9uIC5ib29rLXBhZ2VyIHtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZzogMC41ZW0gMDtcbn1cbi5ib29rLXBhZ2VyX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uYm9vay1wYWdlcl9faXRlbS0tcHJldmlvdXMge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvKiBMVFIgKi9cbiAgd2lkdGg6IDQ1JTtcbn1cbltkaXI9XCJydGxcIl0gLmJvb2stcGFnZXJfX2l0ZW0tLXByZXZpb3VzIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5ib29rLXBhZ2VyX19pdGVtLS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA4JTtcbn1cbi5ib29rLXBhZ2VyX19pdGVtLS1uZXh0IHtcbiAgZmxvYXQ6IHJpZ2h0OyAvKiBMVFIgKi9cbiAgdGV4dC1hbGlnbjogcmlnaHQ7IC8qIExUUiAqL1xuICB3aWR0aDogNDUlO1xufVxuW2Rpcj1cInJ0bFwiXSAuYm9vay1wYWdlcl9faXRlbS0tbmV4dCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuIiwiLyoqXG4gKiBAZmlsZVxuICogU3R5bGVzIGZvciBCb290c3RyYXAgQmFycmlvJ3MgYnJlYWRjcnVtYnMuXG4gKi9cblxuLmJyZWFkY3J1bWIge1xuICAgIGZvbnQtc2l6ZTogMC45MjllbSRmb250LXNpemUtc207XG59XG5cbi5yZWdpb24tYnJlYWRjcnVtYiB7XG4gICAgcGFkZGluZzogMCAxNXB4IDAuMjVlbTtcbiAgICB3aWR0aDogMTAwJTtcbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBWaXN1YWwgc3R5bGVzIGZvciBjb21tZW50cyBpbiBCYXJ0aWsuXG4gKi9cblxuXG4vKiBUaGlzIGlzIHJlcXVpcmVkIHRvIHdpbiBvdmVyIHNwZWNpZmljaXR5IG9mICNjb250ZW50IGgyICovXG5cbiNjb250ZW50IC5jb21tZW50LXdyYXBwZXIgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuI2NvbnRlbnQgLmNvbW1lbnQtd3JhcHBlciBoMi5jb21tZW50LWZvcm1fX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5maWVsZC1ub2RlLS1jb21tZW50IHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG59XG5cbi5jb21tZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY29tbWVudC1zcGFjZXIteTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG5bZGlyPVwicnRsXCJdIC5jb21tZW50IHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbn1cblxuLmNvbW1lbnRfX21ldGEge1xuICAgIHBhZGRpbmc6IDAgMzBweCAwIDA7XG4gICAgLyogTFRSICovXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG59XG5cbltkaXI9XCJydGxcIl0gLmNvbW1lbnRfX21ldGEge1xuICAgIHBhZGRpbmc6IDAgMCAwIDMwcHg7XG59XG5cbi5jb21tZW50X19hdHRyaWJ1dGlvbiBpbWcge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG59XG5cblxuLyogVGhpcyBpcyByZXF1aXJlZCB0byB3aW4gb3ZlciBzcGVjaWZpY2l0eSBvZiAuZmllbGQtLXR5cGUtaW1hZ2UgaW1nICovXG5cbi5jb21tZW50IC5maWVsZC0tbmFtZS11c2VyLXBpY3R1cmUgaW1nIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5jb21tZW50X19hdXRob3IgLnVzZXJuYW1lIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tbWVudF9fYXV0aG9yIHtcbiAgICBtYXJnaW46IDRweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5jb21tZW50X190aW1lLFxuLmNvbW1lbnRfX3Blcm1hbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIGNvbG9yOiAjNjg2OTZiO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmc6IDAgMC41ZW0gMCAwO1xuICAgIC8qIExUUiAqL1xufVxuXG5bZGlyPVwicnRsXCJdIC5jb21tZW50X190aW1lLFxuLmNvbW1lbnRfX3Blcm1hbGluayB7XG4gICAgcGFkZGluZzogMCAwIDAgMC41ZW07XG59XG5cbi5jb21tZW50X19wZXJtYWxpbmsge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uY29tbWVudF9fY29udGVudDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTAwJTtcbiAgICAvKiBMVFIgKi9cbiAgICB0b3A6ICRjb21tZW50LXNwYWNlci15O1xuICAgIGJvcmRlci10b3A6ICRjb21tZW50LXNwYWNlci15IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogJGNvbW1lbnQtc3BhY2VyLXggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAvKiBMVFIgKi9cbiAgICBib3JkZXItYm90dG9tOiAkY29tbWVudC1zcGFjZXIteSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAuY29tbWVudF9fY29udGVudDpiZWZvcmUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAkY29tbWVudC1zcGFjZXIteCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xufVxuXG4uY29tbWVudF9fY29udGVudDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIC8qIExUUiAqL1xuICAgIHRvcDogJGNvbW1lbnQtc3BhY2VyLXk7XG4gICAgYm9yZGVyLXRvcDogJGNvbW1lbnQtc3BhY2VyLXkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkY29tbWVudC1zcGFjZXIteCBzb2xpZCAkd2hpdGU7XG4gICAgLyogTFRSICovXG4gICAgYm9yZGVyLWJvdHRvbTogJGNvbW1lbnQtc3BhY2VyLXkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIC8qIExUUiAqL1xufVxuXG5bZGlyPVwicnRsXCJdIC5jb21tZW50X19jb250ZW50OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogJGNvbW1lbnQtc3BhY2VyLXggc29saWQgJHdoaXRlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbn1cblxuLmNvbW1lbnRfX2NvbnRlbnQgaDMge1xuICAgIG1hcmdpbi10b3A6IDAuOTRlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQ1ZW07XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xufVxuXG4uY29tbWVudF9fY29udGVudCBuYXYge1xuICAgIHBhZGRpbmctdG9wOiAxcHg7XG59XG5cbi5pbmRlbnRlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgLyogTFRSICovXG59XG5cbltkaXI9XCJydGxcIl0gLmluZGVudGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jb21tZW50IC5saW5rcyB7XG4gICAgcGFkZGluZzogMCAwIDAuMjVlbSAwO1xufVxuXG4uY29tbWVudCAubGlua3MtaW5saW5lIHNwYW4ge1xuICAgIHBhZGRpbmc6IDAgMC41ZW0gMCAwO1xuICAgIC8qIExUUiAqL1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xufVxuXG5bZGlyPVwicnRsXCJdIC5jb21tZW50IC5saW5rcy1pbmxpbmUgc3BhbiB7XG4gICAgcGFkZGluZzogMCAwIDAgMC41ZW07XG59XG5cbi5jb21tZW50LS11bnB1Ymxpc2hlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgLyogTFRSICovXG4gICAgcGFkZGluZzogNXB4IDJweCA1cHggNXB4O1xuICAgIC8qIExUUiAqL1xuICAgIGJhY2tncm91bmQ6ICRhY2NlbnQtbGlnaHQ7XG59XG5cbltkaXI9XCJydGxcIl0gLmNvbW1lbnQtLXVucHVibGlzaGVkIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nOiA1cHggNXB4IDVweCAycHg7XG59XG5cblxuLyoqXG4gKiBAdG9kbzogdW5wdWJsaXNoZWQgbm9kZXMgaGF2ZSBjbGFzcyAubm9kZS0tdW5wdWJsaXNoZWQuXG4gKiBjaGFuZ2UgdGhpcyB0byAuY29tbWVudC0tdW5wdWJsaXNoZWQuXG4gKi9cblxuLnVucHVibGlzaGVkIC5jb21tZW50LXRleHQgLmNvbW1lbnQtYXJyb3cge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGFjY2VudC1saWdodDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYWNjZW50LWxpZ2h0O1xufVxuXG4udW5wdWJsaXNoZWQge1xuICAgIHBhZGRpbmc6ICRjb21tZW50LXNwYWNlci15ICRjb21tZW50LXNwYWNlci14IDA7XG59XG5cbi5jb21tZW50LWZvb3RlciB7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xufVxuXG4uY29tbWVudC0tdW5wdWJsaXNoZWQgLmNvbW1lbnRfX3RleHQ6YWZ0ZXIsXG4ubm9kZS0tdW5wdWJsaXNoZWQgLmNvbW1lbnRfX3RleHQ6YWZ0ZXIge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGFjY2VudC1saWdodDtcbiAgICAvKiBMVFIgKi9cbn1cblxuW2Rpcj1cInJ0bFwiXSAuY29tbWVudC0tdW5wdWJsaXNoZWQgLmNvbW1lbnRfX2NvbnRlbnQ6YWZ0ZXIsXG5bZGlyPVwicnRsXCJdIC5ub2RlLS11bnB1Ymxpc2hlZCAuY29tbWVudF9fY29udGVudDphZnRlciB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRhY2NlbnQtbGlnaHQ7XG59IiwiLyoqXG4gKiBAZmlsZVxuICogQ29udGV4dHVhbCBsaW5rcyBzdHlsZXMgZm9yIEJvb3RzdHJhcCBCYXJyaW8uXG4gKi9cblxuLmNvbnRleHR1YWwtbGlua3MgYSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIDAgMDtcbn1cbiIsIi8qKlxuICogQGZpbGVcbiAqIENvbGxhcHNpYmxlIGRldGFpbHMuXG4gKlxuICogQHNlZSBjb2xsYXBzZS5qc1xuICogQHNlZSBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vY3NzLWJhY2tncm91bmQtaW1hZ2UtaGFja3MvXG4gKi9cblxuZGV0YWlscyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2VyO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG59XG5cbmRldGFpbHM+LmRldGFpbHMtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMC41ZW0gMS41ZW07XG59XG5cblxuLyogQHRvZG8gUmVncmVzc2lvbjogVGhlIHN1bW1hcnkgb2YgdW5jb2xsYXBzaWJsZSBkZXRhaWxzIGFyZSBubyBsb25nZXJcbiAgICAgdmVydGljYWxseSBhbGlnbmVkIHdpdGggdGhlIC5kZXRhaWxzLXdyYXBwZXIgaW4gYnJvd3NlcnMgd2l0aG91dCBuYXRpdmVcbiAgICAgZGV0YWlscyBzdXBwb3J0LiAqL1xuXG5zdW1tYXJ5IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMC4yZW0gMC41ZW07XG59IiwiLyoqXG4gKiBAZmlsZVxuICogVmlzdWFsIHN0eWxlcyBmb3IgQmFydGlrJ3MgZHJvcGJ1dHRvbiBjb21wb25lbnQuXG4gKi9cblxuLmpzIC5kcm9wYnV0dG9uLXdyYXBwZXIgLmRyb3BidXR0b24td2lkZ2V0IHtcbiAgLyogVGhpcyBpcyByZXF1aXJlZCB0byB3aW4gb3ZlciBzcGVjaWZpdHkgb2YgLmpzIHRkIC5kcm9wYnV0dG9uLXdpZGdldCAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uanMgLmRyb3BidXR0b24td2lkZ2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2U0ZTRlNCAjZDJkMmQyICNiNGI0YjQgI2QyZDJkMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZjNmM2YzLCAjZThlOGU4KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2YzZjNmMywgI2U4ZThlOCk7XG4gIGNvbG9yOiAjM2EzYTNhO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwLjEyNWVtIDA7XG4gIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5qcyAuZHJvcGJ1dHRvbi13aWRnZXQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNlNGU0ZTQgI2QyZDJkMiAjYjRiNGI0ICNkMmQyZDI7XG59XG4uanMgLmRyb3BidXR0b24td2lkZ2V0IC5idXR0b24ge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4zMmVtIDFlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZTtcbn1cbi5qcyAuZHJvcGJ1dHRvbi1tdWx0aXBsZSAuZHJvcGJ1dHRvbi13aWRnZXQgLmRyb3BidXR0b24tYWN0aW9uIGEge1xuICBtYXJnaW4tcmlnaHQ6IDA7IC8qIExUUiAqL1xufVxuW2Rpcj1cInJ0bFwiXS5qcyAuZHJvcGJ1dHRvbi1tdWx0aXBsZSAuZHJvcGJ1dHRvbi13aWRnZXQgLmRyb3BidXR0b24tYWN0aW9uIGEge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5qcyAuZHJvcGJ1dHRvbiAuc2Vjb25kYXJ5LWFjdGlvbiB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNjY2M7XG59XG4uanMgLmRyb3BidXR0b24tdG9nZ2xlIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2U4ZThlOCwgI2QyZDJkMik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlOGU4ZTgsICNkMmQyZDIpO1xufVxuLmpzIC5kcm9wYnV0dG9uLXRvZ2dsZSAuZHJvcGJ1dHRvbi1hcnJvdzpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG59XG4uanMgLmRyb3BidXR0b24gYSB7XG4gIGNvbG9yOiAjM2EzYTNhO1xuICBib3JkZXItYm90dG9tOiAwIG5vbmU7XG59XG4uanMgLmRyb3BidXR0b24gLmRyb3BidXR0b24tYWN0aW9uOmhvdmVyLFxuLmpzIC5kcm9wYnV0dG9uIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZGVkZWRlO1xuICBib3JkZXItYm90dG9tOiAwIG5vbmU7XG59XG4iLCIvKipcbiAqIEBmaWxlXG4gKiBHZW5lcmFsIHN0eWxlcyBmb3IgZHJvcGJ1dHRvbnMuXG4gKi9cblxuLmpzIC5kcm9wYnV0dG9uLXdpZGdldCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcbn1cblxuLmpzIC5kcm9wYnV0dG9uLXdpZGdldDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjhiOGI4O1xufVxuXG4uZHJvcGJ1dHRvbiAuZHJvcGJ1dHRvbi1hY3Rpb24+KiB7XG4gICAgcGFkZGluZzogMC4xZW0gMC41ZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmRyb3BidXR0b24gLnNlY29uZGFyeS1hY3Rpb24ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZThlOGU4O1xufVxuXG4uZHJvcGJ1dHRvbi1tdWx0aXBsZSAuZHJvcGJ1dHRvbiB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U4ZThlODtcbiAgICAvKiBMVFIgKi9cbn1cblxuW2Rpcj1cInJ0bFwiXSAuZHJvcGJ1dHRvbi1tdWx0aXBsZSAuZHJvcGJ1dHRvbiB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZThlOGU4O1xuICAgIGJvcmRlci1yaWdodDogMCBub25lO1xufVxuXG4uZHJvcGJ1dHRvbi1tdWx0aXBsZSAuZHJvcGJ1dHRvbiAuZHJvcGJ1dHRvbi1hY3Rpb24+KiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG4gICAgLyogTFRSICovXG59XG5cbltkaXI9XCJydGxcIl0gLmRyb3BidXR0b24tbXVsdGlwbGUgLmRyb3BidXR0b24gLmRyb3BidXR0b24tYWN0aW9uPioge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uanMgdGQgLmRyb3BidXR0b24tbXVsdGlwbGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uanMgdGQgLmRyb3BidXR0b24td3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogMmVtO1xufVxuXG4uanMgLmRyb3BidXR0b24td3JhcHBlcixcbi5qcyAuZHJvcGJ1dHRvbi13aWRnZXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmpzIHRkIC5kcm9wYnV0dG9uLXdpZGdldCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufSIsIi8qKlxuICogQGZpbGVcbiAqIEZlZWQgaWNvbiBzdHlsZXMgZm9yIEJvb3RzdHJhcCBCYXJyaW8uXG4gKi9cblxuLmZlZWQtaWNvbiB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogJHNwYWNlciAwIDAgMDtcbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBWaXN1YWwgc3R5bGVzIGZvciBCb290c3RyYXAgQmFycmlvJ3MgZmllbGQgY29tcG9uZW50cy5cbiAqL1xuXG4uZmllbGQtLXR5cGUtZW50aXR5LXJlZmVyZW5jZSB7XG4gICAgbWFyZ2luOiAwIDAgKCRzcGFjZXIgKiAxLjIpO1xufVxuXG4uZmllbGQtLXR5cGUtZW50aXR5LXJlZmVyZW5jZSAuZmllbGRfX2xhYmVsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJHNwYWNlciAqIC4zKTtcbiAgICAvKiBMVFIgKi9cbn1cblxuW2Rpcj1cInJ0bFwiXSAuZmllbGQtLXR5cGUtZW50aXR5LXJlZmVyZW5jZSAuZmllbGRfX2xhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkc3BhY2VyICogLjMpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5maWVsZC0tdHlwZS1lbnRpdHktcmVmZXJlbmNlIHVsLmxpbmtzIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uZmllbGQtLXR5cGUtZW50aXR5LXJlZmVyZW5jZSB1bC5saW5rcyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLyogTFRSICovXG4gICAgcGFkZGluZzogMCAkc3BhY2VyIDAgMDtcbiAgICAvKiBMVFIgKi9cbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5bZGlyPVwicnRsXCJdIC5maWVsZC0tdHlwZS1lbnRpdHktcmVmZXJlbmNlIHVsLmxpbmtzIGxpIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAkc3BhY2VyO1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNTYwcHgpIHtcbiAgICAubm9kZSAuZmllbGQtLXR5cGUtaW1hZ2Uge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgLyogTFRSICovXG4gICAgICAgIG1hcmdpbjogMCAkc3BhY2VyIDAgMDtcbiAgICAgICAgLyogTFRSICovXG4gICAgfVxuICAgIFtkaXI9XCJydGxcIl0gLm5vZGUgLmZpZWxkLS10eXBlLWltYWdlIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IDAgMCAwICRzcGFjZXI7XG4gICAgfVxuICAgIC5ub2RlIC5maWVsZC0tdHlwZS1pbWFnZSsuZmllbGQtLXR5cGUtaW1hZ2Uge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi5maWVsZC0tdHlwZS1pbWFnZSBpbWcsXG4uZmllbGQtLW5hbWUtZmllbGQtdXNlci1waWN0dXJlIGltZyB7XG4gICAgbWFyZ2luOiAwIDAgJHNwYWNlcjtcbn1cblxuLmZpZWxkLS10eXBlLWltYWdlIGEge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5maWVsZC0tbmFtZS1maWVsZC10YWdzIHtcbiAgICBtYXJnaW46IDAgMCAoJHNwYWNlciAqIDEuMik7XG59XG5cbi5maWVsZC0tbmFtZS1maWVsZC10YWdzIC5maWVsZF9fbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAvKiBMVFIgKi9cbn1cblxuW2Rpcj1cInJ0bFwiXSAuZmllbGQtLW5hbWUtZmllbGQtdGFncyAuZmllbGRfX2xhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uZmllbGQtLW5hbWUtZmllbGQtdGFncyAuZmllbGRfX2xhYmVsLFxuLmZpZWxkLS1uYW1lLWZpZWxkLXRhZ3MgdWwubGlua3Mge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbn1cblxuLm5vZGUtLXZpZXctbW9kZS10ZWFzZXIgLmZpZWxkLS1uYW1lLWZpZWxkLXRhZ3MgLmZpZWxkX19sYWJlbCxcbi5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIC5maWVsZC0tbmFtZS1maWVsZC10YWdzIHVsLmxpbmtzIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG59XG5cbi5maWVsZC0tbmFtZS1maWVsZC10YWdzIHVsLmxpbmtzIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmZpZWxkLS1uYW1lLWZpZWxkLXRhZ3MgdWwubGlua3MgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8qIExUUiAqL1xuICAgIHBhZGRpbmc6IDAgJHNwYWNlciAwIDA7XG4gICAgLyogTFRSICovXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAuZmllbGQtLW5hbWUtZmllbGQtdGFncyB1bC5saW5rcyBsaSB7XG4gICAgcGFkZGluZzogMCAwIDAgJHNwYWNlcjtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5maWVsZC0tbGFiZWwtaW5saW5lIC5maWVsZF9fbGFiZWwsXG4uZmllbGQtLWxhYmVsLWlubGluZSAuZmllbGRfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9ja1xufSIsIi8qKlxuICogQGZpbGVcbiAqIERlZmF1bHQgc3R5bGUgZm9yIGZpbGUgbW9kdWxlLlxuICovXG5cblxuLyogRmlsZSBpY29ucy4qL1xuXG4uZmlsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAoJHNwYWNlciAqIDEuNSk7XG4gICAgLyogTFRSICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi1oZWlnaHQ6ICRmb250LXNpemUtYmFzZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIC8qIExUUiAqL1xufVxuXG5bZGlyPVwicnRsXCJdIC5maWxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGluaGVyaXQ7XG4gICAgcGFkZGluZy1yaWdodDogKCRzcGFjZXIgKiAxLjUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbn1cblxuLmZpbGUtLWdlbmVyYWwsXG4uZmlsZS0tYXBwbGljYXRpb24tb2N0ZXQtc3RyZWFtIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2FwcGxpY2F0aW9uLW9jdGV0LXN0cmVhbS5wbmcpO1xufVxuXG4uZmlsZS0tcGFja2FnZS14LWdlbmVyaWMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbnMvcGFja2FnZS14LWdlbmVyaWMucG5nKTtcbn1cblxuLmZpbGUtLXgtb2ZmaWNlLXNwcmVhZHNoZWV0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3gtb2ZmaWNlLXNwcmVhZHNoZWV0LnBuZyk7XG59XG5cbi5maWxlLS14LW9mZmljZS1kb2N1bWVudCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29ucy94LW9mZmljZS1kb2N1bWVudC5wbmcpO1xufVxuXG4uZmlsZS0teC1vZmZpY2UtcHJlc2VudGF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3gtb2ZmaWNlLXByZXNlbnRhdGlvbi5wbmcpO1xufVxuXG4uZmlsZS0tdGV4dC14LXNjcmlwdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29ucy90ZXh0LXgtc2NyaXB0LnBuZyk7XG59XG5cbi5maWxlLS10ZXh0LWh0bWwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbnMvdGV4dC1odG1sLnBuZyk7XG59XG5cbi5maWxlLS10ZXh0LXBsYWluIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3RleHQtcGxhaW4ucG5nKTtcbn1cblxuLmZpbGUtLWFwcGxpY2F0aW9uLXBkZiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29ucy9hcHBsaWNhdGlvbi1wZGYucG5nKTtcbn1cblxuLmZpbGUtLWFwcGxpY2F0aW9uLXgtZXhlY3V0YWJsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29ucy9hcHBsaWNhdGlvbi14LWV4ZWN1dGFibGUucG5nKTtcbn1cblxuLmZpbGUtLWF1ZGlvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2F1ZGlvLXgtZ2VuZXJpYy5wbmcpO1xufVxuXG4uZmlsZS0tdmlkZW8ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbnMvdmlkZW8teC1nZW5lcmljLnBuZyk7XG59XG5cbi5maWxlLS10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3RleHQteC1nZW5lcmljLnBuZyk7XG59XG5cbi5maWxlLS1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29ucy9pbWFnZS14LWdlbmVyaWMucG5nKTtcbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBWaXN1YWwgc3R5bGVzIGZvciBCb290c3RyYXAgQmFycmlvJ3MgZm9ybSBjb21wb25lbnRzLlxuICovXG5cbi5mb3JtLXJlcXVpcmVkOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL3JlcXVpcmVkLnN2Zyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICgkaW5wdXQtaGVpZ2h0IC8gMikgKCRpbnB1dC1oZWlnaHQgLyAyKTtcbiAgICB3aWR0aDogKCRpbnB1dC1oZWlnaHQgLyAyKTtcbiAgICBoZWlnaHQ6ICgkaW5wdXQtaGVpZ2h0IC8gMik7XG4gICAgbWFyZ2luOiAwIDAuM2VtO1xufVxuXG5mb3JtIC5maWx0ZXItd3JhcHBlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG5mb3JtIC5mb3JtLXR5cGUtdGV4dGFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mb3JtLWNvbnRyb2wuaGFzRGF0ZXBpY2tlciB7XG4gIHdpZHRoOiAxMjBweDtcbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLSBIZWFkZXIgLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiNuYXZiYXItdG9wIHtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG59XG5cbiNuYXZiYXItdG9wLm5hdmJhci1kYXJrIC5uYXYtbGluazpob3ZlcixcbiNuYXZiYXItdG9wLm5hdmJhci1kYXJrIC5uYXYtbGluazpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG59XG5cbiNuYXZiYXItdG9wLm5hdmJhci1kYXJrIC5uYXYtbGluayB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuI25hdmJhci10b3AubmF2YmFyLWxpZ2h0IC5uYXYtbGluazpob3ZlcixcbiNuYXZiYXItdG9wLm5hdmJhci1saWdodCAubmF2LWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG59XG5cbiNuYXZiYXItdG9wLm5hdmJhci1saWdodCAubmF2LWxpbmsge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5uYXZiYXItYnJhbmQgLnNpdGUtbG9nbyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzMuOWVtKSB7XG4gICAgLm5hdmJhci10b2dnbGVhYmxlLXhzIC5uYXZiYXItbmF2IC5uYXYtaXRlbSsubmF2LWl0ZW0sXG4gICAgLm5hdmJhci10b2dnbGVhYmxlLXhzLmNvbGxhcHNlLmluIC5uYXZiYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45ZW0pIHtcbiAgICAubmF2YmFyLXRvZ2dsZWFibGUtc20gLm5hdmJhci1uYXYgLm5hdi1pdGVtKy5uYXYtaXRlbSxcbiAgICAubmF2YmFyLXRvZ2dsZWFibGUteHMuY29sbGFwc2UuaW4gLm5hdmJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBTdHlsZXMgZm9yIHRoZSBoZWxwIGJsb2NrLlxuICovXG5cbi5ibG9jay1oZWxwIHtcbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBwYWRkaW5nOiAwICgkc3BhY2VyICogMS41KTtcbiAgICBtYXJnaW4tYm90dG9tOiAoJHNwYWNlciAqIDIpO1xufSIsIi8qKlxuICogQGZpbGVcbiAqIFZpc3VhbCBzdHlsZXMgZm9yIGljb25zLlxuICovXG5cbi5pY29uLWhlbHAge1xuICAgIGJhY2tncm91bmQ6IHVybCgvLi4vLi4vaW1hZ2VzL2hlbHAucG5nKSAwIDUwJSBuby1yZXBlYXQ7XG4gICAgLyogTFRSICovXG4gICAgcGFkZGluZzogMXB4IDAgMXB4ICgkc3BhY2VyICogMS41KTtcbiAgICAvKiBMVFIgKi9cbn1cblxuW2Rpcj1cInJ0bFwiXSAuaWNvbi1oZWxwIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbiAgICBwYWRkaW5nOiAxcHggKCRzcGFjZXIgKiAxLjUpIDFweCAwO1xufVxuXG4uZmVlZC1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLy4uLy4uL2ltYWdlcy9mZWVkLnN2Zykgbm8tcmVwZWF0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRmb250LXNpemUtYmFzZTtcbiAgICBoZWlnaHQ6ICRmb250LXNpemUtYmFzZTtcbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBTdHlsZXMgZm9yIEJvb3RzdHJhcCBCYXJyaW8ncyBpbWFnZSBidXR0b25zLlxuICovXG5cbi5pbWFnZS1idXR0b24uaXMtZGlzYWJsZWQ6aG92ZXIsXG4uaW1hZ2UtYnV0dG9uLmlzLWRpc2FibGVkOmFjdGl2ZSxcbi5pbWFnZS1idXR0b24uaXMtZGlzYWJsZWQ6Zm9jdXMsXG4uaW1hZ2UtYnV0dG9uLmlzLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuIiwiLyoqXG4gKiBAZmlsZVxuICogQmFzaWMgc3R5bGluZyBmb3IgY29tbWVudCBtb2R1bGUuXG4gKi9cblxuXG4vKipcbiAqIEluZGVudCB0aHJlYWRlZCBjb21tZW50cy5cbiAqL1xuXG4uaW5kZW50ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAoJHNwYWNlciAqIDEuNSk7XG4gICAgLyogTFRSICovXG59XG5cbltkaXI9XCJydGxcIl0gLmluZGVudGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICgkc3BhY2VyICogMS41KTtcbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBWaXN1YWwgc3R5bGVzIGZvciBCb290c3RyYXAgQmFycmlvJ3MgaXRlbSBsaXN0LlxuICovXG5cbi5pdGVtLWxpc3QgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDAgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC8qIExUUiAqL1xufVxuXG5bZGlyPVwicnRsXCJdIC5pdGVtLWxpc3QgdWwge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5pdGVtLWxpc3QgdWwgbGkge1xuICAgIC8qIFRoaXMgaXMgbmVlZGVkIHRvIHJlc2V0IHN0eWxlcyBpbiBpdGVtLWxpc3QudGhlbWUuY3NzICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14IDAgMDtcbiAgICAvKiBMVFIgKi9cbn1cblxuW2Rpcj1cInJ0bFwiXSAuaXRlbS1saXN0IHVsIGxpIHtcbiAgICAvKiBUaGlzIGlzIG5lZWRlZCB0byByZXNldCBbZGlyPVwicnRsXCJdIHN0eWxlcyBpbiBpdGVtLWxpc3QudGhlbWUuY3NzICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15IDAgMCAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDtcbn1cblxuLml0ZW0tbGlzdCAuaXRlbS1saXN0X19jb21tYS1saXN0LFxuLml0ZW0tbGlzdCAuaXRlbS1saXN0X19jb21tYS1saXN0IGxpLFxuW2Rpcj1cInJ0bFwiXSAuaXRlbS1saXN0IC5pdGVtLWxpc3RfX2NvbW1hLWxpc3QsXG5bZGlyPVwicnRsXCJdIC5pdGVtLWxpc3QgLml0ZW0tbGlzdF9fY29tbWEtbGlzdCBsaSB7XG4gICAgcGFkZGluZzogMDtcbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBMaXN0IGdyb3VwLlxuICogQSBsaXN0IG9mIGxpbmtzLCBncm91cGVkIHRvZ2V0aGVyLlxuICovXG5cbi5saXN0LWdyb3VwX19saW5rIHtcbiAgICBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgMCAwO1xufVxuXG4ubGlzdC1ncm91cF9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbjogMCAwICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15O1xufSIsIi8qKlxuICogQGZpbGVcbiAqIFZpc3VhbCBzdHlsZXMgZm9yIEJvb3RzdHJhcCBCYXJyaW8ncyBub2RlIGNvbXBvbmVudC5cbiAqL1xuXG4ubm9kZV9fY29udGVudCB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNlcjtcbn1cblxuXG4vKiBWaWV3IG1vZGUgdGVhc2VyIHN0eWxlcy4gKi9cblxuLm5vZGUtLXZpZXctbW9kZS10ZWFzZXIge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyO1xufVxuXG4ubm9kZS0tdmlldy1tb2RlLXRlYXNlciBoMiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMC41ZW07XG59XG5cbi5ub2RlLS12aWV3LW1vZGUtdGVhc2VyLm5vZGUtLXN0aWNreSB7XG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDI0KTtcbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBwYWRkaW5nOiAwICRzcGFjZXIgJHNwYWNlcjtcbn1cblxuLm5vZGUtLXZpZXctbW9kZS10ZWFzZXIgLm5vZGVfX2NvbnRlbnQge1xuICAgIGNsZWFyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbn1cblxuXG4vKiBOb2RlIG1ldGFkYXRhIHN0eWxlcy4gKi9cblxuLm5vZGVfX21ldGEge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xufVxuXG4ubm9kZV9fbWV0YSAuZmllbGQtLW5hbWUtZmllbGQtdXNlci1waWN0dXJlIGltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLyogTFRSICovXG4gICAgbWFyZ2luOiAxcHggJHNwYWNlciAwIDA7XG4gICAgLyogTFRSICovXG59XG5cbltkaXI9XCJydGxcIl0gLm5vZGVfX21ldGEgLmZpZWxkLS1uYW1lLWZpZWxkLXVzZXItcGljdHVyZSBpbWcge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cblxuLyogTm9kZSBsaW5rcyBzdHlsZXMuICovXG5cbi5ub2RlX19saW5rcyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgLyogTFRSICovXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG59XG5cbltkaXI9XCJydGxcIl0gLm5vZGVfX2xpbmtzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5cbi8qIFVucHVibGlzaGVkIG5vZGUgc3R5bGVzLiAqL1xuXG4ubm9kZS0tdW5wdWJsaXNoZWQge1xuICAgIHBhZGRpbmc6ICRzcGFjZXIgJHNwYWNlciAwO1xufVxuXG4ubm9kZS0tdW5wdWJsaXNoZWQgLmNvbW1lbnQtdGV4dCAuY29tbWVudC1hcnJvdyB7XG4gICAgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgI2ZmZjRmNDtcbiAgICBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgI2ZmZjRmNDtcbn0iLCIubm9kZS1wcmV2aWV3LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNkMWU4ZjU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2QxZThmNSwgI2QzZThmNCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNkMWU4ZjUsICNkM2U4ZjQpO1xuICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjMzMzMpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDQ5OTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG4ubm9kZS1wcmV2aWV3LWJhY2tsaW5rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQxOWZmMTtcbiAgYmFja2dyb3VuZDogdXJsKC9jb3JlL21pc2MvaWNvbnMvMDAwMDAwL2NoZXZyb24tbGVmdC5zdmcpIGxlZnQgbm8tcmVwZWF0LCAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICM0MTlmZjEsICMxMDc2ZDUpO1xuICBiYWNrZ3JvdW5kOiB1cmwoL2NvcmUvbWlzYy9pY29ucy8wMDAwMDAvY2hldnJvbi1sZWZ0LnN2ZykgbGVmdCBuby1yZXBlYXQsIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM0MTlmZjEsICMxMDc2ZDUpOyAvKiBMVFIgKi9cbiAgYm9yZGVyOiAxcHggc29saWQgIzAwNDhjODtcbiAgYm9yZGVyLXJhZGl1czogLjRlbTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC40KTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNHB4IDFlbSA0cHggMC42ZW07IC8qIExUUiAqL1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbltkaXI9XCJydGxcIl0gLm5vZGUtcHJldmlldy1iYWNrbGluayB7XG4gIGJhY2tncm91bmQ6IHVybCgvY29yZS9taXNjL2ljb25zLzAwMDAwMC9jaGV2cm9uLXJpZ2h0LnN2ZykgcmlnaHQgbm8tcmVwZWF0LCAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICM0MTlmZjEsICMxMDc2ZDUpO1xuICBiYWNrZ3JvdW5kOiB1cmwoL2NvcmUvbWlzYy9pY29ucy8wMDAwMDAvY2hldnJvbi1yaWdodC5zdmcpIHJpZ2h0IG5vLXJlcGVhdCwgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzQxOWZmMSwgIzEwNzZkNSk7XG4gIHBhZGRpbmc6IDRweCAwLjZlbSA0cHggMWVtO1xuICBmbG9hdDogcmlnaHQ7XG59XG4ubm9kZS1wcmV2aWV3LWJhY2tsaW5rOmZvY3VzLFxuLm5vZGUtcHJldmlldy1iYWNrbGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MTljZjE7XG4gIGJhY2tncm91bmQ6IHVybCgvY29yZS9taXNjL2ljb25zLzAwMDAwMC9jaGV2cm9uLWxlZnQuc3ZnKSBsZWZ0IG5vLXJlcGVhdCwgLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjNTlhYmYzLCAjMmE5MGVmKTtcbiAgYmFja2dyb3VuZDogdXJsKC9jb3JlL21pc2MvaWNvbnMvMDAwMDAwL2NoZXZyb24tbGVmdC5zdmcpIGxlZnQgbm8tcmVwZWF0LCBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNTlhYmYzLCAjMmE5MGVmKTsgLyogTFRSICovXG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDQ4Yzg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG59XG5bZGlyPVwicnRsXCJdIC5ub2RlLXByZXZpZXctYmFja2xpbms6Zm9jdXMsXG5bZGlyPVwicnRsXCJdIC5ub2RlLXByZXZpZXctYmFja2xpbms6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoL2NvcmUvbWlzYy9pY29ucy8wMDAwMDAvY2hldnJvbi1yaWdodC5zdmcpIHJpZ2h0IG5vLXJlcGVhdCwgLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjNTlhYmYzLCAjMmE5MGVmKTtcbiAgYmFja2dyb3VuZDogdXJsKC9jb3JlL21pc2MvaWNvbnMvMDAwMDAwL2NoZXZyb24tcmlnaHQuc3ZnKSByaWdodCBuby1yZXBlYXQsIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM1OWFiZjMsICMyYTkwZWYpO1xufVxuLm5vZGUtcHJldmlldy1iYWNrbGluazphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGU2OWJlO1xuICBiYWNrZ3JvdW5kOiB1cmwoL2NvcmUvbWlzYy9pY29ucy8wMDAwMDAvY2hldnJvbi1sZWZ0LnN2ZykgbGVmdCBuby1yZXBlYXQsIC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzBlNjliZSwgIzJhOTNlZik7XG4gIGJhY2tncm91bmQ6IHVybCgvY29yZS9taXNjL2ljb25zLzAwMDAwMC9jaGV2cm9uLWxlZnQuc3ZnKSBsZWZ0IG5vLXJlcGVhdCwgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzBlNjliZSwgIzJhOTNlZik7IC8qIExUUiAqL1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDA0OGM4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAuMjUpO1xufVxuW2Rpcj1cInJ0bFwiXSAubm9kZS1wcmV2aWV3LWJhY2tsaW5rOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHVybCgvY29yZS9taXNjL2ljb25zLzAwMDAwMC9jaGV2cm9uLXJpZ2h0LnN2ZykgcmlnaHQgbm8tcmVwZWF0LCAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMwZTY5YmUsICMyYTkzZWYpO1xuICBiYWNrZ3JvdW5kOiB1cmwoL2NvcmUvbWlzYy9pY29ucy8wMDAwMDAvY2hldnJvbi1yaWdodC5zdmcpIHJpZ2h0IG5vLXJlcGVhdCwgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzBlNjliZSwgIzJhOTNlZik7XG59XG4ubm9kZS1wcmV2aWV3LWJhY2tsaW5rOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiIsIi8qKlxuICogQGZpbGVcbiAqIFN0eWxlcyBmb3IgQm9vdHN0cmFwIEJhcnJpbyBwYWdlLlxuICovXG5cbiIsIi8qKlxuICogQGZpbGVcbiAqIFRoZSB2aXN1YWwgc3R5bGVzIGZvciBCb290c3RyYXAgQmFycmlvJ3Mgc2VhcmNoIGZvcm0ocykuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaGVhZGVyICNzZWFyY2gtYmxvY2stZm9ybSB7XG4gICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuI3NlYXJjaC1ibG9jay1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufSIsIi8qKlxuICogQGZpbGVcbiAqIFZpc3VhbCBzdHlsZXMgZm9yIHRoZSBTaG9ydGN1dCBhY3Rpb24gbGluayBpbiBCb290c3RyYXAgQmFycmlvLlxuICovXG5cbi5zaG9ydGN1dC13cmFwcGVyIHtcbiAgbWFyZ2luOiAyLjJlbSAwIDEuMWVtIDA7IC8qIFNhbWUgYXMgdXN1YWwgLnBhZ2UtdGl0bGUgbWFyZ2luLiAqL1xufVxuLnNob3J0Y3V0LXdyYXBwZXIgLnBhZ2UtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgLyogTFRSICovXG4gIG1hcmdpbjogMDtcbn1cbltkaXI9XCJydGxcIl0gLnNob3J0Y3V0LXdyYXBwZXIgLnBhZ2UtdGl0bGUge1xuICBmbG9hdDogcmlnaHQ7XG59XG4uc2hvcnRjdXQtYWN0aW9uIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtOyAvKiBMVFIgKi9cbiAgcGFkZGluZy10b3A6IDAuMzVlbTtcbn1cbltkaXI9XCJydGxcIl0gLnNob3J0Y3V0LWFjdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuLnNob3J0Y3V0LWFjdGlvbjpob3Zlcixcbi5zaG9ydGN1dC1hY3Rpb246YWN0aXZlLFxuLnNob3J0Y3V0LWFjdGlvbjpmb2N1cyB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0gU2lkZWJhciAtLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc2lkZWJhciB7XG4gICAgLmJsb2NrIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZXIgJHNwYWNlcjtcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNlcjtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtO1xuICAgICAgICB9XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgKCRzcGFjZXIgKiAuNSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgJGJvcmRlci13aWR0aCAwICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICAgIH1cbiAgICB0Ym9keSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgdHIuZXZlbixcbiAgICB0ci5vZGQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgfVxuICAgIG5hdiB1bC5uYXYge1xuICAgICAgICBtYXJnaW46IDAgLSgkc3BhY2VyKTtcbiAgICB9XG59XG5cbi8vQ29udGFjdCBibG9ja1xuLnNpZGViYXIgLndyYXBwZXJfX2NvbnRhY3RfaW5mbyBoMiB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuYWRkcmVzcy5ub2RlX19jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbiIsIi8qKlxuICogQGZpbGVcbiAqIEZvb3RlciBTdHlsaW5nLlxuICovXG5cbi5zaXRlLWZvb3RlciB7XG4gICAgcGFkZGluZzogJHNwYWNlciAwO1xuICAgIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMCAkc3BhY2VyO1xuICAgIH1cbn1cblxuXG4vKiBGb290ZXIgVG9wIFN0eWxpbmcuICovXG5cbi5zaXRlLWZvb3Rlcl9fdG9wIC5jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG5cbi8qIEZvb3RlciBCb3R0b20gU3R5bGluZy4gKi9cblxuLnNpdGUtZm9vdGVyX19ib3R0b20gLmJsb2NrIHtcbiAgICBtYXJnaW46ICgkc3BhY2VyIC8gMikgMDtcbn1cblxuLnNpdGUtZm9vdGVyX19ib3R0b20gLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6ICgkc3BhY2VyIC8gMikgMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xufSIsIi8qKlxuICogQGZpbGVcbiAqIFN0eWxlcyBmb3IgdGhlIHNraXAgbGluay5cbiAqL1xuXG4uc2tpcC1saW5rIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgei1pbmRleDogNTA7XG4gICAgYmFja2dyb3VuZDogJGdyYXktNzAwO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGc7XG4gICAgcGFkZGluZzogMXB4ICRzcGFjZXIgMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkYm9yZGVyLXJhZGl1cy1sZyAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi5za2lwLWxpbmsudmlzdWFsbHktaGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBTdHlsZXMgZm9yIEJvb3RzdHJhcCBCYXJyaW8ncyB0YWJsZXMuXG4gKi9cblxuLnN0aWNreS1oZWFkZXIgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xufVxuLnRhYmxlIHRoZWFkIHRoLFxuLnN0aWNreS1oZWFkZXIgdGgge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG59XG5cblxuLnRhYmxlIHtcbiAgICBib3JkZXItY29sb3I6ICNkZWUyZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgICNkZWUyZTY7XG4gIH1cblxudGgsIHRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAgI2RlZTJlNjtcbn1cbiAgXG4udGFibGVzYXcgY2FwdGlvbntcbiAgICBjYXB0aW9uLXNpZGU6IHRvcDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIH1cbiAgY2FwdGlvbiB7XG4gICAgY2FwdGlvbi1zaWRlOiB0b3A7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICB9XG5cblxuICB0Ym9keXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XG4gIH1cbi8vIC50YWJsZSAudGhlYWQtZGFyayB0aCB7XG4vLyAgIGJhY2tncm91bmQtY29sb3I6ICMxYzZkYTY7XG4vLyAgIGJvcmRlci1jb2xvcjogIzFjNmRhNjtcbi8vIH1cbi8vXG4vLyAjdmlldy1maWVsZC1lZmZlY3RpdmUtZGF0ZS10YWJsZS1jb2x1bW4ge1xuLy8gICB3aWR0aDogMTglO1xuLy8gfVxuLy9cbi8vIHRoIGEsXG4vLyB0aCBhOmhvdmVyLFxuLy8gdGggYTphY3RpdmUge1xuLy8gICBjb2xvcjogd2hpdGU7XG4vLyB9XG4vL1xuLy8gdGQuaXMtYWN0aXZlIHtcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbi8vIH1cbiIsIi8qKlxuICogQGZpbGVcbiAqIFZpc3VhbCBzdHlsZXMgZm9yIHRhYmxlIGRyYWcuXG4gKi9cblxudHIuZHJhZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmMDtcbn1cblxudHIuZHJhZy1wcmV2aW91cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDtcbn1cblxuYm9keSBkaXYudGFibGVkcmFnLWNoYW5nZWQtd2FybmluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogKCRzcGFjZXIgLyAyKTtcbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBUYWJsZSBzZWxlY3QgYmVoYXZpb3IuXG4gKlxuICogQHNlZSB0YWJsZXNlbGVjdC5qc1xuICovXG5cbnRyLnNlbGVjdGVkIHRkIHtcbiAgYmFja2dyb3VuZDogI2ZmYztcbn1cbnRkLmNoZWNrYm94LFxudGguY2hlY2tib3gge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5bZGlyPVwicnRsXCJdIHRkLmNoZWNrYm94LFxuW2Rpcj1cInJ0bFwiXSB0aC5jaGVja2JveCB7XG4gIC8qIFRoaXMgaXMgcmVxdWlyZWQgdG8gd2luIG92ZXIgc3BlY2lmaWNpdHkgb2YgW2Rpcj1cInJ0bFwiXSB0ZCAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvKipcbiAqIEBmaWxlXG4gKiBUYWJsZSBzb3J0IGluZGljYXRvci5cbiAqL1xuXG50aC5pcy1hY3RpdmUgaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbnRkLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMzAwO1xufSIsIi8qKlxuICogQGZpbGVcbiAqIFRhYmxlc29ydCBpbmRpY2F0b3Igc3R5bGVzLlxuICovXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIC50YWJsZSAudGhlYWQtZGFyayB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG59XG50YWJsZSB7XG4gIHRoZWFkIHtcbiAgICB0aC5zb3J0YWJsZSB7XG4gICAgICAmOm5vdChzcGFuKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzE0Mzk2YyAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICNmOWY3ZjdmYztcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHNwYW4uc29ydGFibGUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RoZW1lcy9jdXN0b20vbW9kYWwvaW1hZ2VzL2ljb25zL3NvcnQuc3ZnXCIpO1xuICAgICAgd2lkdGg6IDExcHg7XG4gICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIH1cbiAgfVxuICBcbn1cbi50YWJsZXNvcnQge1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW46IDFweCAwIDAgNXB4O1xufVxuLnRhYmxlc29ydC0tYXNjIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9jb3JlL21pc2MvaWNvbnMvZmZmZmZmL3R3aXN0aWUtZG93bi5zdmcpO1xufVxuLnRhYmxlc29ydC0tZGVzYyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvY29yZS9taXNjL2ljb25zL2ZmZmZmZi90d2lzdGllLXVwLnN2Zyk7XG59XG4iLCIvKipcbiAqIEBmaWxlXG4gKiBUaGVtZSBzdHlsaW5nIGZvciB0YWJzLlxuICovXG5cbm5hdi50YWJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xufSIsIi8qKlxuICogQGZpbGVcbiAqIFZpc3VhbCBzdHlsZXMgZm9yIGEgcmVzaXphYmxlIHRleHRhcmVhLlxuICovXG5cbi5mb3JtLXRleHRhcmVhLXdyYXBwZXIgdGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbiIsIi8qKlxuICogQGZpbGVcbiAqIFZpc3VhbCBzdHlsZXMgZm9yIEJhcnRpaydzIHVpLXdpZGdldCBjb21wb25lbnQuXG4gKi8iLCIvKipcbiAqIEBmaWxlXG4gKiBTdHlsZXMgZm9yIEJhcnRpaydzIG1vZGFsIHdpbmRvd3NcbiAqL1xuXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi51aS1kaWFsb2cge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi51aS1kaWFsb2cgaW5wdXQsXG4udWktZGlhbG9nIHNlbGVjdCxcbi51aS1kaWFsb2cgdGV4dGFyZWEge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xufVxuXG4udWktZGlhbG9nIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZjNmM2YzLCAjZThlOGU4KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjNmM2YzLCAjZThlOGU4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNGU0O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNiNGI0YjQ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICNkMmQyZDI7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZDJkMmQyO1xuICAgIGNvbG9yOiAjM2EzYTNhO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjI1MGVtIDEuMDYzZW07XG4gICAgYm9yZGVyLXJhZGl1czogMWVtO1xufSIsIi8qKlxuICogQGZpbGVcbiAqIFRoZW1lIHN0eWxpbmcgZm9yIHVzZXIgbW9kdWxlLlxuICovXG5cblxuLyogVmlzdWFsIHN0eWxpbmcgZm9yIHRoZSBQYXNzd29yZCBzdHJlbmd0aCBpbmRpY2F0b3IgKi9cblxuLnBhc3N3b3JkLXN0cmVuZ3RoX19tZXRlciB7XG4gICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMjAwO1xufVxuXG4ucGFzc3dvcmQtc3RyZW5ndGhfX2luZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMC41cyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjVzIGVhc2Utb3V0O1xufVxuXG4ucGFzc3dvcmQtc3RyZW5ndGhfX2luZGljYXRvci5pcy13ZWFrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZS1jb2xvcihcImRhbmdlclwiKTtcbn1cblxuLnBhc3N3b3JkLXN0cmVuZ3RoX19pbmRpY2F0b3IuaXMtZmFpciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IoXCJ3YXJuaW5nXCIpO1xufVxuXG4ucGFzc3dvcmQtc3RyZW5ndGhfX2luZGljYXRvci5pcy1nb29kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZS1jb2xvcihcImluZm9cIik7XG59XG5cbi5wYXNzd29yZC1zdHJlbmd0aF9faW5kaWNhdG9yLmlzLXN0cm9uZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpO1xufVxuXG4ucGFzc3dvcmQtY29uZmlybSxcbi5wYXNzd29yZC1maWVsZCxcbi5wYXNzd29yZC1zdHJlbmd0aCxcbi5wYXNzd29yZC1jb25maXJtLW1hdGNoIHtcbiAgICB3aWR0aDogNTUlO1xufVxuXG4ucGFzc3dvcmQtc3VnZ2VzdGlvbnMge1xuICAgIHBhZGRpbmc6IDAuMmVtIDAuNWVtO1xuICAgIG1hcmdpbjogMC43ZW0gMDtcbiAgICBtYXgtd2lkdGg6IDM0LjdlbTtcbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbn1cblxuLnBhc3N3b3JkLXN1Z2dlc3Rpb25zIHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY29uZmlybS1wYXJlbnQsXG4ucGFzc3dvcmQtcGFyZW50IHtcbiAgICBjbGVhcjogbGVmdDtcbiAgICAvKiBMVFIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAzM2VtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbltkaXI9XCJydGxcIl0gLmNvbmZpcm0tcGFyZW50LFxuW2Rpcj1cInJ0bFwiXSAucGFzc3dvcmQtcGFyZW50IHtcbiAgICBjbGVhcjogcmlnaHQ7XG59XG5cblxuLyogU3R5bGluZyBmb3IgdGhlIHN0YXR1cyBpbmRpY2F0b3Igb2YgdGhlIHBhc3N3b3JkcyBtYXRjaCB0ZXN0LiAgKi9cblxuLnBhc3N3b3JkLWNvbmZpcm0gLm9rIHtcbiAgICBjb2xvcjogdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucGFzc3dvcmQtY29uZmlybSAuZXJyb3Ige1xuICAgIGNvbG9yOiB0aGVtZS1jb2xvcihcImRhbmdlclwiKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuXG4vKiBMb2dpbiBwYWdlIHN0eXBlICovXG5cbi5wYWdlLXVzZXItbG9naW4gbWFpbiAucmVnaW9uLWNvbnRlbnQsXG4ucGFnZS11c2VyLXBhc3N3b3JkIG1haW4gLnJlZ2lvbi1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBhZGRpbmc6ICRzcGFjZXIgJHNwYWNlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBWZXJ0aWNhbCB0YWJzIGNvbXBvbmVudC5cbiAqL1xuXG4vKiBWZXJ0aWNhbCBUYWJzIFJlc2V0ICovXG4udmVydGljYWwtdGFic19fbWVudSB7XG4gIG1hcmdpbjogLTFweCAwIC0xcHg7IC8qIExUUiAqL1xuICBwYWRkaW5nOiAwO1xufVxuW2Rpcj1cInJ0bFwiXSAudmVydGljYWwtdGFic19fbWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gIC8qIFRoaXMgaXMgcmVxdWlyZWQgdG8gd2luIHNwZWNpZmljaXR5IG92ZXIgW2Rpcj1cInJ0bFwiXSAucmVnaW9uLWNvbnRlbnQgdWwgKi9cbiAgcGFkZGluZzogMDtcbn1cbiIsIi8qKlxuICogQGZpbGVcbiAqIFZlcnRpY2FsIFRhYnMuXG4gKi9cblxuLnZlcnRpY2FsLXRhYnMge1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiBMVFIgKi9cbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xufVxuXG5bZGlyPVwicnRsXCJdIC52ZXJ0aWNhbC10YWJzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4udmVydGljYWwtdGFic19fbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIC8qIExUUiAqL1xuICAgIHdpZHRoOiAxNWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiBMVFIgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5bZGlyPVwicnRsXCJdIC52ZXJ0aWNhbC10YWJzX19tZW51IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNWVtO1xufVxuXG4udmVydGljYWwtdGFic19fcGFuZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLnZlcnRpY2FsLXRhYnNfX3BhbmU+c3VtbWFyeSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiBMYXlvdXQgb2YgZWFjaCB0YWIuICovXG5cbi52ZXJ0aWNhbC10YWJzX19tZW51LWl0ZW0ge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYmFja2dyb3VuZDogI2VlZTtcbn1cblxuLnZlcnRpY2FsLXRhYnNfX21lbnUtaXRlbSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjVlbSAwLjZlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi52ZXJ0aWNhbC10YWJzX19tZW51LWl0ZW0gYTpmb2N1cyAudmVydGljYWwtdGFic19fbWVudS1pdGVtLXRpdGxlLFxuLnZlcnRpY2FsLXRhYnNfX21lbnUtaXRlbSBhOmFjdGl2ZSAudmVydGljYWwtdGFic19fbWVudS1pdGVtLXRpdGxlLFxuLnZlcnRpY2FsLXRhYnNfX21lbnUtaXRlbSBhOmhvdmVyIC52ZXJ0aWNhbC10YWJzX19tZW51LWl0ZW0tdGl0bGUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udmVydGljYWwtdGFic19fbWVudS1pdGVtIGE6aG92ZXIge1xuICAgIG91dGxpbmU6ICRib3JkZXItd2lkdGggZG90dGVkO1xufVxuXG4udmVydGljYWwtdGFic19fbWVudS1pdGVtLmlzLXNlbGVjdGVkIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgLyogTFRSICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG5bZGlyPVwicnRsXCJdIC52ZXJ0aWNhbC10YWJzX19tZW51LWl0ZW0uaXMtc2VsZWN0ZWQge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogJGJvcmRlci13aWR0aDtcbn1cblxuLnZlcnRpY2FsLXRhYnNfX21lbnUtaXRlbS5pcy1zZWxlY3RlZCAudmVydGljYWwtdGFic19fbWVudS1pdGVtLXRpdGxlIHtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG4udmVydGljYWwtdGFic19fbWVudS1pdGVtLXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBTdHlsaW5nIGZvciBWaWV3cyBpbiBCYXJ0aWsuXG4gKi9cblxuLyogVGFiIHN0eWxlcyAqL1xuXG4udmlld3MtZGlzcGxheXMgLnRhYnMgLm9wZW4gPiBhIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGcgJGJvcmRlci1yYWRpdXMtbGcgMCAwO1xufVxuXG4udmlld3MtZGlzcGxheXMgLnRhYnMgLm9wZW4gPiBhOmhvdmVyLFxuLnZpZXdzLWRpc3BsYXlzIC50YWJzIC5vcGVuID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbn1cblxuLnZpZXdzLWRpc3BsYXlzIC5zZWNvbmRhcnkgLmZvcm0tc3VibWl0IHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xufVxuXG4vKiBUYWJzIGFjdGlvbiBsaXN0IHN0eWxlcyAqL1xuXG4udmlld3MtZGlzcGxheXMgLnRhYnMgLmFjdGlvbi1saXN0IHtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogQ29udGV4dHVhbCBmaWx0ZXIgb3B0aW9ucyBzdHlsZXMgKi9cblxuLnZpZXdzLWZpbHRlcmFibGUtb3B0aW9uc1xuICAuZmlsdGVyYWJsZS1vcHRpb246bnRoLW9mLXR5cGUoZXZlbilcbiAgLmZvcm0tdHlwZS1jaGVja2JveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG59XG5cbi8qIFZpZXdzIGFjdGlvbiBkcm9wYnV0dG9uIHN0eWxlcyAqL1xuXG4udmlld3MtdWktZGlzcGxheS10YWItYWN0aW9ucyAuZHJvcGJ1dHRvbiAuZm9ybS1zdWJtaXQge1xuICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG59XG5cbi52aWV3cy11aS1kaXNwbGF5LXRhYi1hY3Rpb25zIC5kcm9wYnV0dG9uIC5mb3JtLXN1Ym1pdDpob3Zlcixcbi52aWV3cy11aS1kaXNwbGF5LXRhYi1hY3Rpb25zIC5kcm9wYnV0dG9uIC5mb3JtLXN1Ym1pdDpmb2N1cyB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbn1cbnNwYW4uc29ydGFibGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2N1c3RvbS9tb2RhbC9pbWFnZXMvaWNvbnMvc29ydC5zdmdcIik7XG4gIHdpZHRoOiAxMXB4O1xuICBoZWlnaHQ6IDExcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuIiwiLy8gUmVzcG9uc2l2ZSBGb250XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQoJHJlc3BvbnNpdmUsICRtaW4sICRtYXg6IGZhbHNlLCAkZmFsbGJhY2s6IGZhbHNlKSB7XG4gICRyZXNwb25zaXZlLXVuaXRsZXNzOiAkcmVzcG9uc2l2ZSAvICgkcmVzcG9uc2l2ZSAtICRyZXNwb25zaXZlICsgMSk7XG4gICRkaW1lbnNpb246IGlmKHVuaXQoJHJlc3BvbnNpdmUpID09ICd2aCcsICdoZWlnaHQnLCAnd2lkdGgnKTtcbiAgJG1pbi1icmVha3BvaW50OiAkbWluIC8gJHJlc3BvbnNpdmUtdW5pdGxlc3MgKiAxMDA7XG5cbiAgQG1lZGlhIChtYXgtI3skZGltZW5zaW9ufTogI3skbWluLWJyZWFrcG9pbnR9KSB7XG4gICAgZm9udC1zaXplOiAkbWluO1xuICB9XG5cbiAgQGlmICRtYXgge1xuICAgICRtYXgtYnJlYWtwb2ludDogJG1heCAvICRyZXNwb25zaXZlLXVuaXRsZXNzICogMTAwO1xuXG4gICAgQG1lZGlhIChtaW4tI3skZGltZW5zaW9ufTogI3skbWF4LWJyZWFrcG9pbnR9KSB7XG4gICAgICBmb250LXNpemU6ICRtYXg7XG4gICAgfVxuICB9XG5cbiAgQGlmICRmYWxsYmFjayB7XG4gICAgZm9udC1zaXplOiAkZmFsbGJhY2s7XG4gIH1cblxuICBmb250LXNpemU6ICRyZXNwb25zaXZlO1xufVxuIiwiLyogSUUgT25seSBIYWNrcyBDU1MgKi9cblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLyogSUUxMCsgQ1NTICovXG5cbiAgLnBhdGgtdXNlciB7XG4gICAgI21haW4td3JhcHBlci1jb250ZW50IHtcbiAgICAgICYgPiAucm93IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL1N0aWNreSBtYXN0aGVhZFxuICAvLyAjaGVhZGVyIHtcbiAgLy8gICBwb3NpdGlvbjogZml4ZWQ7XG4gIC8vIH1cblxuICAvL1VsdGltZW51IDUwOCBDb21wbGlhbmNlXG4gIC51bHRpbWVudS0taG92ZXIgLnVsdGltZW51X19mbHlvdXQge1xuICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvL0FuY2hvciBsaW5rcyBhbmQgZml4ZWQgaGVhZGVyIG92ZXJyaWRlXG4gIGFydGljbGUubm9kZSAqW2lkXTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgLy8gU2V0IHRoZSBBcHByb3ByaWF0ZSBIZWlnaHRcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDsgLy8gU2V0IHRoZSBBcHByb3ByaWF0ZSBIZWlnaHRcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAudXNlci1sb2dnZWQtaW4gYXJ0aWNsZS5ub2RlICpbaWRdOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIG1hcmdpbi10b3A6IC04MHB4ICFpbXBvcnRhbnQ7IC8vIFNldCB0aGUgQXBwcm9wcmlhdGUgSGVpZ2h0XG4gICAgaGVpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7IC8vIFNldCB0aGUgQXBwcm9wcmlhdGUgSGVpZ2h0XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLmVtYmVkZGVkLWZpZWxkIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbiAgfVxuXG4gIC5ub2RlLS10eXBlLXByb2dyYW0tbGFuZGluZy1wYWdlIHtcbiAgICAuc2xpY2tfX2Fycm93IHtcbiAgICAgIHRvcDogMzUlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy9DYW1wYWlnbiBDYXJkIEZpeFxuICAuY2FtcGFpZ25fX2NhcmQtaW1hZ2Uge1xuICAgIGhlaWdodDogMjcwcHg7XG4gIH1cblxuICAvLyBDYW1wYWlnbiBDYXJkc1xuICAucGFyYWdyYXBoLS10eXBlLS1jYXJkLXNlY3Rpb24tMyB7XG4gICAgLmNhcmQtaW1hZ2UsXG4gICAgLmNhbXBhaWduX19jYXJkLWltYWdlIHtcbiAgICAgIHdpZHRoOiAzNzBweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tdWx0aWxpbmUtbGlua3MtbGlzdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbn1cblxuQHN1cHBvcnRzICgtbXMtYWNjZWxlcmF0b3I6dHJ1ZSkge1xuICAgLyogRWRnZSAxMisgQ1NTICovXG59XG5cbkBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjphdXRvKSB7XG4gICAgLyogRWRnZSAxNisgQ1NTICovXG59XG4iLCIvLyBCYXNlIFN0eWxlc1xuYSB7XG5cdC8vIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6dmlzaXRlZCB7XG5cdGNvbG9yOiBwdXJwbGU7XG59XG5cbmEuYnRuLW1vZGFsOnZpc2l0ZWQge1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbmEuc3Vic2NyaWJlLWJ1dHRvbjpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuI2NvbnRlbnQgYTpsaW5rLFxuLnJlZ2lvbi1jb250ZW50IGE6bGluayxcbiNzaWRlY29udGVudCBhOmxpbmssXG4uYnJlYWRjcnVtYiBhOmxpbmsge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuI2NvbnRlbnQge1xuXHQubm9kZV9fdGl0bGUgYTpsaW5rLFxuXHQudGl0bGUtLW5ld3MtaXRlbSBhOmxpbmssXG5cdC5wYWdpbmF0aW9uIGE6bGluayxcblx0YS5idG4tbW9kYWw6bGluayxcblx0LnJlZ2lvbi1jb250ZW50IC52aWV3LW5ld3Nyb29tIGgyIGE6bGluayB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG59XG5cbi8vIC5yZWdpb24tY29udGVudCAudmlldy1uZXdzcm9vbSBhOmxpbmsge1xuLy8gXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyB9XG5cbi51c2EtYmFubmVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIHV0aWxpdGllc1xuLm5vLXBhZGRpbmcge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ubm8tZmxvYXQge1xuXHRmbG9hdDogbm9uZTtcbn1cblxuLm5vLWJvcmRlciB7XG5cdGJvcmRlcjogMDtcbn1cblxuLmFsZXJ0LXdyYXBwZXIge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmFsZXJ0LWNvbnRlbnQgYSxcbi5hbGVydC1jb250ZW50IGE6bGluayxcbi5hbGVydC1jb250ZW50IGE6dmlzaXRlZCB7XG5cdGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xufVxuXG5maWd1cmUge1xuXHQmLmFsaWduLWxlZnQge1xuXHRcdG1hcmdpbjogMCAxLjVyZW0gMXJlbTtcblx0fVxuXHQmLmFsaWduLXJpZ2h0IHtcblx0XHRtYXJnaW46IDAgMCAxcmVtIDEuNXJlbTtcblx0fVxufVxuIiwiJGRhcmstYmx1ZTogIzE1Mzk2YztcbiRtaWQtYmx1ZTogIzFDNkRBNjtcbiRkYXJrLWdyYXk6ICMyZDJkMmQ7XG4kbGlnaHQtZ3JheTogI2YzZjNmMztcbiRtaWQtZ3JheTogIzQ2NDY0NjtcbiR3aGl0ZTogI0ZGRjtcblxuLmJnLS1kYXJrLWJsdWUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ibHVlO1xufVxuLmJnLS1taWQtYmx1ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRtaWQtYmx1ZTtcbn1cbi5iZy0tZGFyay1ncmF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheTtcbn1cbi5iZy0tbGlnaHQtZ3JheSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xufVxuLmJnLS13aGl0ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cbi50ZXh0LS1kYXJrLWJsdWUge1xuXHRjb2xvcjogJGRhcmstYmx1ZTtcbn1cbi50ZXh0LS1kYXJrLWdyYXkge1xuXHRjb2xvcjogJGRhcmstZ3JheTtcbn1cbi50ZXh0LS1taWQtZ3JheSB7XG5cdGNvbG9yOiAkbWlkLWdyYXk7XG59XG4udGV4dC0tbWlkLWJsdWUge1xuXHRjb2xvcjogJG1pZC1ibHVlO1xufVxuXG4vLyAuYmctLWRhcmstYmx1ZSB7XG4vLyAgIGJhY2tncm91bmQtY29sb3I6ICMwQTFGNjE7XG4vLyB9XG4vL1xuLy8gLmJnLS1taWQtYmx1ZSB7XG4vLyAgIGJhY2tncm91bmQtY29sb3I6ICMwMDVFQTI7XG4vLyB9XG4vL1xuLy8gLmJnLS1saWdodC1ncmF5IHtcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMDtcbi8vIH1cblxuLmJnLS13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG59XG5cbi8vXG4vLyBDYW1wYWlnbiBMYW5kaW5nIFBhZ2Vcbi8vXG4uZmVhdHVyZWRfX2JsdWV0b25lX3Bob3RvIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC90aGVtZXMvY3VzdG9tL21vZGFsL2ltYWdlcy9ieS10aGUtbnVtYmVycy1iYWNrZ3JvdW5kLmpwZyk7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGgxLmJsb2NrX190aXRsZSxcblx0aDEuc2VjdGlvbi0taGVhZGVyLFxuXHRoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cdGE6aG92ZXIsXG5cdGE6bGluayxcblx0YTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cdCYuc3RhdGlzdGljIHtcblx0XHRoMS5ibG9ja19fdGl0bGUge1xuXHRcdFx0Y29sb3I6ICAkd2hpdGU7XG5cdFx0fVxuXHR9XG59XG5cbi5mZWF0dXJlZF9fZGFya19ibHVlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMCwgNTcsIDEwOCwgMSk7XG4gIGNvbG9yOiAkd2hpdGU7XG5cdGgxLmJsb2NrX190aXRsZSxcbiAgaDEuc2VjdGlvbi0taGVhZGVyLFxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cdGE6aG92ZXIsXG5cdGE6bGluayxcblx0YTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG4gICYuc3RhdGlzdGljIHtcbiAgICBoMS5ibG9ja19fdGl0bGUge1xuICAgICAgY29sb3I6ICAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5mZWF0dXJlZF9fZ3JhZGllbnRfYmx1ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzBhMWY2MiwgIzAwMmQ2ZCwgIzAwM2E3NiwgIzAwNDY3ZSwgIzAwNTM4NSwgIzAwNTk4OCwgIzAxNWU4YiwgIzA3NjQ4ZCwgIzA3NjQ4ZCwgIzA3NjQ4ZCwgIzA3NjQ4ZCwgIzA3NjQ4ZCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRoMS5ibG9ja19fdGl0bGUsXG4gIGgxLnNlY3Rpb24tLWhlYWRlcixcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuICBjb2xvcjogJHdoaXRlO1xuXHRhOmhvdmVyLFxuXHRhOmxpbmssXG5cdGE6dmlzaXRlZCB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0fVxuXHQmLnN0YXRpc3RpYyB7XG5cdFx0aDEuYmxvY2tfX3RpdGxlIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHR9XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbGUge1xuICBhLmJ0bjp2aXNpdGVkLFxuICBhLmJ0bi1vdXRsaW5lLXByaW1hcnk6dmlzaXRlZCB7XG5cdFx0Y29sb3I6ICMwMDVFQTI7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4uZmVhdHVyZWRfX2xpZ2h0X2dyYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIxNiwgMjE2LCAyMTYsIDAuNik7XG59XG5cbi5mZWF0dXJlZF9fd2hpdGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuXHQmLnN0YXRpc3RpYyB7XG5cdFx0Y29sb3I6ICMxOTQxNzg7XG5cdFx0aDEuYmxvY2tfX3RpdGxlIHtcblx0XHRcdGNvbG9yOiAjMTk0MTc4O1xuXHRcdH1cblx0fVxufVxuXG4ucGFnZS0tY2FtcGFpZ24tbGFuZGluZy1wYWdlIC5sYXlvdXQtbWFpbi13cmFwcGVyIC5ub2RlLS10eXBlLWNhbXBhaWduLWxhbmRpbmctcGFnZSB7XG4gIC5jYW1wYWlnbl9fdGhpcmQge1xuICAgIC5mZWF0dXJlZF9fd2hpdGUge1xuICAgICAgY29sb3I6ICMyMTI1Mjk7XG4gICAgICBoMS5ibG9ja19fdGl0bGUge1xuICAgICAgICBjb2xvcjogIzE5NDE3ODtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWaWV3cyBFeHBvc2VkIEZvcm1zXG4vL1xuLnZpZXdzLWV4cG9zZWQtZm9ybSAuZm9ybS1yb3cge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAmID4gLmNvbC1hdXRvOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgfVxufVxuXG4udmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG4gIC5mb3JtLXRleHQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmZvcm0tc3VibWl0IHtcbiAgICB3aWR0aDogMTAwcHg7XG4gIH1cbiAgLmZvcm0tcm93IC5mb3JtLWFjdGlvbnMge1xuICAgICAgYWxpZ24tc2VsZjogYXV0bztcbiAgfVxufVxuXG4uYmVmLWV4cG9zZWQtZm9ybSB7XG4gIC5mb3JtLXN1Ym1pdHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAvLyBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuZm9ybS1zdWJtaXQgKyAuZm9ybS1zdWJtaXQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbi52aWV3LWZlZGVyYWwtcmVnaXN0ZXIge1xuICAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICAuZm9ybS1yb3cgPiBkaXYuZm9ybS1zdWJtaXRzLFxuICAgIC5mb3JtLXN1Ym1pdHMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5mb3JtLXN1Ym1pdCArIC5mb3JtLXN1Ym1pdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC52aWV3LWZlZGVyYWwtcmVnaXN0ZXIge1xuICAgIC52aWV3cy1leHBvc2VkLWZvcm0ge1xuICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICB3aWR0aDogMjByZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBWaWV3cyBQYWdpbmF0aW9uXG4vL1xuLnBhZ2UgdWwucGFnaW5hdGlvbiB7XG4gIC13ZWJraXQtcGFkZGluZy1zdGFydDogMCAhaW1wb3J0YW50O1xuICAtbW96LXBhZGRpbmctc3RhcnQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDAgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAwICFpbXBvcnRhbnQ7XG4gIC1tb3otcGFkZGluZy1zdGFydDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogMCAhaW1wb3J0YW50O1xufVxuXG4ubGlzdF9wYWdpbmF0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4ucGFnZS1pdGVtW3JvbGU9bmF2aWdhdGlvbl0ge1xuICBtYXJnaW46IDAgMTBweDtcbn1cbi8vXG4vLyBWaWV3cyBjdXN0b20gdHJlYXRtZW50c1xuLy9cbi52aWV3cy1leHBvc2VkLWZvcm0sXG4uYmVmLWV4cG9zZWQtZm9ybSB7XG4gIC5mb3JtLXR5cGUtc2VsZWN0IHtcbiAgICBsYWJlbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbi52aWV3LXJlZ3VsYXRvcnktZ3VpZGFuY2UgLmxpc3RfZmlsdGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnZpZXctcmVndWxhdGlvbnMtc2VjdGlvbnMge1xuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmZvcm0tc2VsZWN0IHtcbiAgICAvLyBtYXJnaW4tdG9wOiAuMjVyZW07XG4gIH1cbn1cblxuLy8gQWRtaW4gSGFja1xuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuXG4gIC5mb3JtLXJvdyA+IC5jb2wsXG4gIC5mb3JtLXJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDRweCAhaW1wb3J0YW50O1xuICB9XG5cbn1cblxuLmZvcm0tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xufVxuXG5sYWJlbCB7XG4gIC8vIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8vIHNlbGVjdCB7XG4vLyAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbi8vICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuLy8gICAtby1hcHBlYXJhbmNlOiBub25lO1xuLy8gICBhcHBlYXJhbmNlOiBub25lO1xuLy8gICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRDBpTVRKd2VDSWdlVDBpTUhCNElpQjNhV1IwYUQwaU1qUndlQ0lnYUdWcFoyaDBQU0l6Y0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EySURNaUlHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lEWWdNeUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJK1BIQnZiSGxuYjI0Z2NHOXBiblJ6UFNJMUxqazVNaXd3SURJdU9Ua3lMRE1nTFRBdU1EQTRMREFnSWk4K1BDOXpkbWMrKTtcbi8vICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTglIGNlbnRlcjtcbi8vICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbi8vICAgb3V0bGluZTogbm9uZTtcbi8vIH1cblxuLmVudGl0eS1tb2RlcmF0aW9uLWZvcm0ge1xuICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xuICBwYWRkaW5nOiAxcmVtO1xuICAuZW50aXR5LW1vZGVyYXRpb24tZm9ybV9faXRlbSB7XG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG50aGVhZCB7XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG50ZCB7XG4gICYuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnRhYmxlLWhvdmVyIHRib2R5IHRyIHtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogdXJsKGhhbmQuY3VyKSwgcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBCb290c3RyYXAgSGFja1xuLyogQ2hhbmdlIHRoZSB3aGl0ZSB0byBhbnkgY29sb3IgOykgKi9cbi5mb3JtLXN1Ym1pdDpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3OUMwO1xuICBib3JkZXItY29sb3I6ICMwMDc5QzA7XG59XG5cbi5wYXRoLXVzZXIge1xuICAudXNlci1sb2dpbi1mb3JtIC5idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIH1cbn1cblxuLmVudGl0eS1tb2RlcmF0aW9uLWZvcm0ge1xuICBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIjpcIjtcbiAgICB9XG4gIH1cbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIH1cbn1cblxuLmVudGl0eS1tb2RlcmF0aW9uLWZvcm0ge1xuICAuZW50aXR5LW1vZGVyYXRpb24tZm9ybV9faXRlbSB7XG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBWaWV3cyBFeHBvc2VkIEZpbHRlclxuLnZpZXdzLWV4cG9zZWQtZm9ybSB7XG4gIHNtYWxsLmRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDkwJTtcbiAgfVxuICAudGV4dC1tdXRlZCB7XG4gICAgY29sb3I6ICMyMTI1MjkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBSZXF1aXJlZFxuLmZvcm0tcmVxdWlyZWQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC90aGVtZXMvY3VzdG9tL21vZGFsL2ltYWdlcy9yZXF1aXJlZC5zdmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDdweCA3cHg7XG4gIHdpZHRoOiA3cHg7XG4gIGhlaWdodDogN3B4O1xufVxuIiwiLy8gX2xheW91dC5zY3NzXG5cbi50d28tY29scy1sYXlvdXQsXG4udGhyZWUtY29scy1sYXlvdXQsXG4ucGF0aC1lbGlicmFyeS1zZWFyY2ggIC5tYWluIHtcbiAgcGFkZGluZy1ib3R0b206IDUuNXJlbTtcbn1cblxuLnNpZGViYXJfZmlyc3Qge1xuICAvLyBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xufVxuXG4uY29udGVudF9fY29yZSB7XG59XG5cbi5zaWRlY29udGVudCB7XG4gIG9sLCB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICB9XG59XG5cbi8vIE92ZXJmbG93IENvbnRlbnRcblxuLm1haW4ge1xuICBhIHtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgfVxuICB0YWJsZSBhLFxuICB0aCBhIHtcbiAgICBvdmVyZmxvdy13cmFwOiB1bnNldCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lbWJlZGRlZC1maWVsZCB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5zdWJjb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMS43NXJlbTtcbiAgcGFkZGluZzogLjc1cmVtIDA7XG59XG5cbi53cmFwcGVyX19zZXRfY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDEuNzVyZW07XG59XG5cbi5jb2xsYXBzaWJsZV9jb250ZW50LFxuLndyYXBwZXJfX3NpZGVuYXYsXG4ud3JhcHBlcl9fcmVsYXRlZF9saW5rcyB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLnBhdGgtbG9naW4ge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNy41cmVtO1xuICB9XG59XG5cbi5wYXRoLW5ld3Nyb29tIHtcbiAgLm5ld3Nyb29tLWJ1dHRvbiAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDEuNXJlbSAwO1xuICB9XG59XG5cbi51c2VyLWxvZ2luLWZvcm0ge1xuICAuYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuLmxpc3RfbmV3cyxcbi5saXN0X3BhZ2luYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ubGlzdF9uZXdzIGFydGljbGUge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4vLyAubGlzdF9uZXdzIC50YWJsZS1yZXNwb25zaXZlIHtcbi8vICAgbWFyZ2luLXRvcDogMzBweDtcbi8vIH1cblxuLm5ld3Nyb29tX19yb3cge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG59XG5cbi5uZXdzcm9vbV9fcm93LWxhc3Qge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4udmlldy1mb290ZXIge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5cbi8vTmV3c3Jvb20gc3R5bGVzXG5cblxuLnBhdGgtZnJvbnRwYWdlIHtcbiAgLmhlcm8tbmV3c3Jvb20ge1xuICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtO1xuICB9XG59XG5cblxuLy9mb3IgdGhlIEZSQSBuZXdzcm9vbVxuXG4ubmV3c3Jvb20tYmxvY2sge1xuICAudmlldy1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQ3NXB4O1xuICB9XG4gIC52aWV3cy1yb3cge1xuICAgIG1hcmdpbi1ib3R0b206MTBweDtcbiAgfVxufVxuXG4ucGF0aC1uZXdzcm9vbSB7XG4gICNzaWRlYmFyX2ZpcnN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5tYWluLWNvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICB9XG59XG5cbi8vIC5jb250ZW50IHtcbi8vICAgaW1nIHtcbi8vICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbi8vICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbi8vICAgICAmLmFsaWduLXJpZ2h0IHtcbi8vICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbi8vICAgICB9XG4vLyAgICAgJi5hbGlnbi1sZWZ0IHtcbi8vICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG5cbi8vIGltYWdlc1xuXG4uaW5saW5lLWltYWdlIHtcblx0Ji5hbGlnbi1jZW50ZXIge1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0bWFyZ2luOiAuNXJlbSBhdXRvIC43NXJlbTtcblx0XHRALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuXHRcdFx0bWFyZ2luOiAuNXJlbSBhdXRvIC41cmVtO1xuXHRcdH1cblx0fVxufVxuXG4uY29udGVudCB7XG4gIGltZyB7XG4gICAgLy8gbWFyZ2luLXRvcDogLjVyZW07XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogLjVyZW07XG5cdFx0QC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IC4yNXJlbTtcblx0XHR9XG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xuXHRcdFx0QC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDEuMjVyZW07XG5cdFx0XHR9XG4gICAgfVxuICAgICYuYWxpZ24tbGVmdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcblx0XHRcdEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMS4yNXJlbTtcblx0XHRcdH1cbiAgICB9XG4gIH1cbn1cblxuLmNvbnRlbnQgPiAuY2FyZCA+IGltZyB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuLmNvbnRlbnQge1xuICAuY2FyZCBpbWcge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uc2lkZWJhciB7XG4gIG5hdiB1bC5uYXYge1xuICAgIG1hcmdpbjogMCAwO1xuICB9XG59XG5cbi8vXG4vLyBQcm9ncmFtIExhbmRpbmcgTm9kZSBQYWdlIExheW91dFxuLy9cbi5ub2RlLS10eXBlLXByb2dyYW0tbGFuZGluZy1wYWdlIHtcbiAgLmZlYXR1cmVkLWxlZnQtLWNvbnRlbnQsXG4gIC5mZWF0dXJlZC1yaWdodC0tY29udGVudCB7XG4gICAgd2lkdGg6IDMycmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAuaGFsZi0tYmxlZWQge1xuICAgIC52aWRlby1lbWJlZCwgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDJyZW07XG4gICAgfVxuICB9XG59XG5cbi8vIEFuY2hvci9KdW1wIExpbmsgU2Nyb2xsLXRvcC1zcGFjZVxuaHRtbCB7XG4gIHNjcm9sbC1wYWRkaW5nLXRvcDogMTByZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgc2Nyb2xsLXBhZGRpbmctdG9wOiBhdXRvO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSBpRnJhbWVcclxuLm5vZGUtLXR5cGUtY29tcGxleC1kYXRhc2V0IHtcclxuXHQubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtdGFibGVhdS1pZCB7XHJcblx0XHRjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XHJcblx0fVxyXG5cdC5kYXRhc2V0LWlmcmFtZS1jb250YWluZXIge1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHRpZnJhbWUge1xyXG5cdFx0Ym9keSB7XHJcblx0XHRcdG1heC13aWR0aDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5yZXNwb25zaXZlLWlmcmFtZSB7XHJcbiAgd2lkdGg6IDEwMCU7ICAgICAgICAgICAvKiBGaWxscyB0aGUgd2lkdGggb2YgaXRzIGNvbnRhaW5lciAqL1xyXG4gIGhlaWdodDogMTAwJTsgICAgICAgICAgLyogV29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCBhc3BlY3QtcmF0aW8gKi9cclxuICBhc3BlY3QtcmF0aW86IDE2IC8gOTsgIC8qIE1haW50YWlucyBhIDE2OjkgYXNwZWN0IHJhdGlvICovXHJcbiAgYm9yZGVyOiBub25lOyAgICAgICAgICAvKiBPcHRpb25hbDogcmVtb3ZlcyBkZWZhdWx0IGJvcmRlciAqL1xyXG59IiwiLy9cbi8vIFNpZGUgTmF2XG4vL1xuQG1peGluIHRyYW5zaXRpb24ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuYXNpZGUge1xuICAgIC5zaWRlbmF2IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi41cmVtO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLndyYXBwZXJfX3NpZGVuYXYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBsaSBhLm5hdi1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IC43NXJlbTtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgbGkgYS5uYXYtbGluazpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlc21va2U7XG4gICAgICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgYXNpZGUge1xuICAgICAgICAuc2lkZW5hdi1oZWFkZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDA3OUMwO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IC43NXJlbSAuNzVyZW0gLjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAud3JhcHBlcl9fc2lkZW5hdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpZGVuYXYtaGVhZGVyIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDY3XCI7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndyYXBwZXJfX3NpZGVuYXYgbGkubmF2LWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIGxlZnQgbmF2IGFjY29yZGlvbiAqL1xuXG4vLyBMZWZ0IE5hdiBzdHlsZXMgZm9yIG5vbi1ub2RlcyB0aGF0IG5lZWQgbWVudSBpbiB0aGUgc2lkZWJhci5cbi5zaWRlYmFyX2ZpcnN0IHtcbiAgICAuYmxvY2stbWVudSB7XG4gICAgICAgIGxpLm5hdi1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIGEubmF2LWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNzVyZW07XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBsaSBhLm5hdi1saW5rOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlc21va2U7XG4gICAgICAgICAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogU3R5bGluZyB0b3AgbGV2ZWwgaXRlbXNcbiAqL1xuXG4uZmlyc3QtbGV2ZWwgbGFiZWwgPiBhIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubGVmdC1uYXYtYWNjb3JkaW9uIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAuNXJlbSAuNXJlbSAuNXJlbSAxcmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4yNXMgZWFzZS1pbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlLWluO1xuXG4gICAgJjpmb2N1cywgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbih3aGl0ZSwgMyUpO1xuICAgIH1cbn1cblxuLmxlZnQtbmF2LWFjY29yZGlvbiBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgY29sb3I6IGJsYWNrO1xufVxuXG4ubGVmdC1uYXYtYWNjb3JkaW9uIGxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG59XG5cbi5uYXZfX2xpc3QgPiAuZmlyc3QtbGV2ZWwge1xuIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbn1cblxuLy9MZWZ0bmF2IEZvbnRBd2Vzb21lIEZpeFxuLndyYXBwZXJfX3NpZGVuYXYge1xuICBhLm5hdi1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbi8qKlxuICogQWNjb3JkaW9uIExlZnQtTmF2IFN0eWxpbmcgZmlyc3QgbGV2ZWwgbGlzdHMgaXRlbXNcbiAqL1xuXG4vKiBET1Qgb3ZlcnJpZGUgZm9yIGNvbG9ycyAqL1xuXG4uZ3JvdXAtbGlzdCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG1heC1oZWlnaHQgLjVzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjVzIGVhc2UtaW4tb3V0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uZ3JvdXAtbGlzdCB7XG4gIGxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgYmFja2dyb3VuZDogZGFya2VuKHdoaXRlLCA2JSk7XG4gICAgJjpmb2N1cywgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4od2hpdGUsIDklKTtcbiAgICB9XG4gIH1cbn1cbi8vIC5ncm91cC1saXN0IHtcbi8vICAgbGFiZWwge1xuLy8gICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbi8vICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4od2hpdGUsIDEyJSk7XG4vLyAgICAgJjpmb2N1cywgJjpob3ZlciB7XG4vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4od2hpdGUsIDE1JSk7XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG4vLyAuZ3JvdXAtbGlzdCB7XG4vLyAgIGxhYmVsIHtcbi8vICAgICBwYWRkaW5nLWxlZnQ6IDVyZW07XG4vLyAgICAgYmFja2dyb3VuZDogZGFya2VuKHdoaXRlLCAxOCUpO1xuLy8gICAgICY6Zm9jdXMsICY6aG92ZXIge1xuLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKHdoaXRlLCAyMSUpO1xuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuXG4vKipcbiAqIEhpZGUgbmVzdGVkIGxpc3RzXG4gKi9cblxuLm5hdl9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5uYXZfX2xpc3QgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsICsgdWwge1xuICAgIC8qIHJlc2V0IHRoZSBoZWlnaHQgd2hlbiBjaGVja2JveCBpcyBjaGVja2VkICovXG4gICAgbWF4LWhlaWdodDogMjAwMHB4O1xufVxuXG4vKipcbiAqIFJvdGF0aW5nIGNoZXZyb24gaWNvblxuICovXG5cbmxhYmVsID4gc3ZnLnN2Zy1pbmxpbmUtLWZhIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAuNjVzIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42NXMgZWFzZTtcbiAgICBoZWlnaHQ6IDEuNWVtO1xuICAgIGNvbG9yOiBncmF5O1xufVxuXG4ubmF2X19saXN0IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbCA+IHN2ZyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5zaWRlYmFyIC5ibG9jay1mYWNldHMge1xuICBtYXJnaW46IDAgMDtcbiAgcGFkZGluZzogLjVyZW0gMCAuNXJlbSAxcmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIH1cbn1cblxuZGl2IHtcbiAgLmNvbGxhcHNpYmxvY2ssXG4gIC5jb2xsYXBzaWJsb2NrQ29sbGFwc2VkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiBncmF5O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oZ3JleSwgMTAlKTtcbiAgICB9XG4gIH1cbiAgJjphZnRlciB7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuMTI1cmVtO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5cbmRpdiAuY29sbGFwc2libG9jayB7XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5kaXYgLmNvbGxhcHNpYmxvY2suY29sbGFwc2libG9ja0NvbGxhcHNlZCB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAuNjVzIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42NXMgZWFzZTtcbiAgfVxufVxuXG5kaXYgLmNvbGxhcHNpYmxvY2sge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xuICB9XG59XG5cbi5ibG9jay1mYWNldC0tY2hlY2tib3gge1xuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAuY29sbGFwc2libG9jayxcbiAgICAuY29sbGFwc2libG9ja0NvbGxhcHNlZCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgY29sb3I6ICMwMTAxMDE7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1mYWNldC0tY2hlY2tib3gge1xuICAuZmFjZXQtaXRlbS0tY29sbGFwc2VkLFxuICAuZmFjZXQtaXRlbS0tZXhwYW5kZWQge1xuICAgICYgPiAuZmFjZXRzLWNoZWNrYm94IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuLFxuICAgIH1cbiAgICAmID4gbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG59XG5cbi5mYWNldC1pdGVtLS1jb2xsYXBzZWQsXG4uZmFjZXQtaXRlbS0tZXhwYW5kZWQge1xuICAmID4gaW5wdXQsICYgPiBsYWJlbCwgJiA+IGEge1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgfVxuICB9XG4gICYgPiBsYWJlbDphZnRlciB7XG4gICAgZm9udC1zaXplOiAuNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5cbi5mYWNldC1pdGVtLS1jb2xsYXBzZWQge1xuICAmID4gbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDY3XCI7XG4gIH1cbn1cblxuLmZhY2V0LWl0ZW0tLWV4cGFuZGVkIHtcbiAgJiA+IGxhYmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZjA2OFwiO1xuICB9XG59XG5cbi5mYWNldHMtd2lkZ2V0LSAgbGkuZmFjZXQtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbn1cblxuLmJsb2NrLWZhY2V0cy1zdW1tYXJ5IHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgbGkge1xuICAgIG1hcmdpbi1yaWdodDogMS4xMjVyZW07XG4gIH1cbiAgLmZhY2V0LWl0ZW1fX3ZhbHVlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG4gIC5qcy1mYWNldC1kZWFjdGl2YXRlIHtcbiAgICBmb250LXNpemU6IDA7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjA1Nyc7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgIH1cbiAgfVxufVxuXG4uYmxvY2stZmFjZXQtYmxvY2tzdWJqZWN0IC5mYWNldC1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuKiBQYWdpbmF0aW9uXG4qL1xuXG4ucGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLy8gSUUxMVxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLmZhY2V0LWl0ZW0gbGFiZWwge1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gIH1cbn1cblxuLyoqXG4qIExlZnRuYXZcbiovXG5cbi5tZW51LWl0ZW0tLWV4cGFuZGVkIHN2ZyB7XG4gIC8vIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjY1cyBlYXNlO1xuICAvLyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjY1cyBlYXNlO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLmFycm93LWRvd24gc3ZnIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLm1lbnUtaXRlbS0tZXhwYW5kZWQgc3ZnLnJvdGF0ZSB7XG4gLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi53cmFwcGVyX19zaWRlbmF2IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1pdGVtIHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm5hdi1pdGVtIHVsLmFjdGl2ZV9fb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubmF2LWl0ZW0gdWwuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZW51LWl0ZW0tLWV4cGFuZGVkIHVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4ubWVudS1pdGVtLS1leHBhbmRlZCB1bC5tZW51IGEubmF2LWxpbmsge1xuICBwYWRkaW5nOiAuNXJlbSAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG4ud3JhcHBlcl9fc2lkZW5hdiAubWVudSAubmF2LWxpbmsge1xuICBmb250LXNpemU6IDFyZW07XG4gIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMTI1KTtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDtcbn1cblxuLm1lbnUgbGk6Zmlyc3Qtb2YtdHlwZSAubmF2LWxpbmsge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjEyNSk7XG59XG5cbi5tZW51IGxpOmxhc3Qtb2YtdHlwZSAubmF2LWxpbmssXG4ubWVudS1pdGVtLS1leHBhbmRlZCAubmF2LWl0ZW06bGFzdC1vZi10eXBlIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLndyYXBwZXJfX3NpZGVuYXYgYS5uYXYtbGluayB7XG4gIGNvbG9yOiAjMDA1RUEyO1xufVxuXG4ud3JhcHBlcl9fc2lkZW5hdiBsaSBhLm5hdi1saW5rOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbn1cblxuLndyYXBwZXJfX3NpZGVuYXYgdWwgdWwgYS5uYXYtbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGU4O1xufVxuXG4vKipcbiogVWx0aW1lbnVcbiovXG4gLnVsdGltZW51X19mb2N1cyB7XG4gIG1heC1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDY0cHg7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kZWxheTogLjFzO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudWx0aW1lbnVfX2ZseW91dCB7XG4gICAgdG9wOiAwO1xuICAgICYuaXMtZmx5b3V0LWV4cGFuZGVkIHtcbiAgICB9XG4gIH1cbn1cblxuLnVsdGltZW51X19mbHlvdXQge1xuICAubmF2YmFyLW5hdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIF9tZW51LnNjc3NcblxuLy9cbi8vIE1haW4gTmF2XG4vL1xuLnNpdGUtaGVhZGVyIC5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5zaXRlLWhlYWRlci5iZy1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFjNmRhNiAhaW1wb3J0YW50O1xufVxuXG4udXNhLWJhbm5lciB7XG4gIHBhZGRpbmc6IC4yNXJlbSAwO1xuICAudXNhLW1lZGlhX2Jsb2NrLWJvZHkgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4udXNhLWJhbm5lcl9fbG9jay1pbWFnZSB7XG4gIGhlaWdodDogMS41ZXg7XG4gIHdpZHRoOiAxLjIxODc1ZXg7XG59XG5cbi5zaXRlLWhlYWRlciB7XG4gIC5uYXZiYXIge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAubmF2YmFyLWJyYW5kIHsgLy9sb2dvXG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaW1nLmltZy1mbHVpZCB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBpbWcuaW1nLWZsdWlkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5uYXZiYXItZm9ybSB7IC8vc2VhcmNoIGFyZWFcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgZmllbGRzZXQuZm9ybS10eXBlLXNlYXJjaCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cbiAgLnVzYXNlYXJjaC1zZWFyY2gtYmxvY2stZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvLyB3aWR0aDogMjQ1cHg7XG4gICAgb3JkZXI6IDI7XG4gICAgLnVzYWdvdi1zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGhlaWdodDogMS44OHJlbTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgLmpzLWZvcm0tdHlwZS1zZWFyY2gge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICB9XG4gIC5mb3JtLXN1Ym1pdCB7XG4gICAgYmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEQUFBQUF3Q0FNQUFBQmczQW0xQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFETlFURlJGVTFOVDlmWDFsSlNVWGw1ZTFkWFZmbjUrYzNOejZ1cnF2NysvdExTMGlZbUpxYW1wbjUrZnlzckszOS9mYVdscC8vLy9WaTRaeXdBQUFCRjBVazVULy8vLy8vLy8vLy8vLy8vLy8vLy8vd0FsclpsaUFBQUJMa2xFUVZSNDJyU1dXUmJESUFoRkhlT1V0TjMvYWdzMXphQTRjSHJLWjhKRlJId29Ya3dUdndHUDFRbzBiWU9iQVB3aUxtYk5BSEJXRkJabEQ5ajBKeGZsRFZpSU9iTkhHL0RvOFBSSFRKazBUZXpBaHY3cWxvSzBKSkVCaCtGOCtVL2hvcElFTE9XZmlaVUNET1pEMVJBRE9RS0E3NW9xNGN2VmtjVCtPZEhucXFwUUNJVFdBam5XVmdHUVVXejEybEp1R3dHb2FXZ0JLelJWQmNDeXBnVWtPQW9XZ0JYL0wwQ214TjQwdTZ4d2NJSjFjT3pXWURmZnAzYXhzUU95dmRrWGlIOUZLUkZ3UFJIWVpVYVhNZ1BMZWlXN1FoYkRSY2l5TFhKYUtoZUN1TGJpVm9xeDFEVlJ5SDI2eWIwaHN1b09GRVBzb3orQlZFME1SbFpOakdaY1JReUhZa21NcDJoQlRJemRrekNUYy9wTHFPbkJyazcveVpkQU9xL3E1TlBCSDFmN3g3ZkdQNEMzQUFNQVFyaHpYOXpoY0dzQUFBQUFTVVZPUks1Q1lJST0pIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB0ZXh0LWluZGVudDogLTEwMDAwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDRweDtcbiAgICByaWdodDogNXB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gIH1cbiAgLm5hdmJhci1jb2xsYXBzZSB7IC8vY29sbGFwc2libGUgYXJlYVxuICAgIGNsZWFyOiByaWdodDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAvLyAubmF2YmFyLW5hdiB7IC8vbWFpbiBtZW51ICh1c2VkIHdoZW4gdWx0aW1lbnUgaXMgbm90IGluIHVzZSlcbiAgLy8gICBkaXNwbGF5OiBmbGV4O1xuICAvLyAgIGZsZXg6IDEgMSAwO1xuICAvLyAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAvLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLy8gICAubmF2LWxpbmsge1xuICAvLyAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIC8vICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIC8vICAgICAgIG1pbi13aWR0aDoyMDBweDtcbiAgLy8gICAgICAgLy8gZm9udC1zaXplOiAwLjkycmVtO1xuICAvLyAgICAgICAvLyBmb250LXdlaWdodDogYm9sZDtcbiAgLy8gICAgICAgY29sb3I6IHdoaXRlO1xuICAvLyAgIH1cbiAgLy8gfVxuICBcbiAgLm1lbnUtLW1haW4ge1xuICAgIG9yZGVyOiAzO1xuICB9XG59XG5cbi8vIFVsdGltZW51XG4uc2l0ZS1oZWFkZXIge1xuICAjYmxvY2stdWx0aW1lbnUtbW9iaWxlLW5hdmlnYXRpb24ge1xuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTA3OS45OHB4KSB7XG4gIC5zaXRlLWhlYWRlciB7XG4gICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrIC51bHRpbWVudSB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtcGFkZGluZy1zdGFydDogMDtcbn1cblxuLnVsdGltZW51IHtcbi8vICAgZGlzcGxheTogZmxleDtcbi8vICAgZmxleDogMSAxIDA7XG4vLyAgIGZsZXgtd3JhcDogbm93cmFwO1xuLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGgxLCBoMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xuICAgIC8vIG1hcmdpbi1yaWdodDogMTUlO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAvLyBsaW5lLWhlaWdodDogMjNweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAudWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyAmLmlzLWFjdGl2ZS10cmFpbCxcbiAgICAmOmhvdmVyIHsgLy9tYWluIG5hdmlnYXRpb24gaXRlbSBob3ZlclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE1Mzk2YztcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24geyAvL3dyYXBzIG5hdlxuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gIC5uYXYgeyAvL3ZlcnRpY2FsIHVsXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrXG4gIH1cbiAgLm5hdi1pdGVtIGEge1xuICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XG4gIH1cbiAgLm5hdi1pdGVtIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbiNibG9jay11bHRpbWVudS1tb2JpbGUtbmF2aWdhdGlvbiB7XG4gIC51bHRpbWVudSB7XG4gICAgLm5hdi1pdGVtIGF7XG4gICAgICBwYWRkaW5nOiAuNXJlbSAwO1xuICAgIH1cbiAgfVxufVxuXG4jaGVhZGVyIC51bHRpbWVudS0taG92ZXIge1xuICAudWl0ZW0geyAvL21ha2UgdGhlIGxhc3QgMyBtZW51IGl0ZW1zIGZseW91dCB0byB0aGUgbGVmdFxuICAgICAgJjpudGgtbGFzdC1jaGlsZCgtbiszKSB7XG4gICAgICAudWx0aW1lbnVfX2ZseW91dCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudWx0aW1lbnVfX2ZseW91dCB7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbiAgICB3aWR0aDogaW5pdGlhbDtcbiAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAudWx0aW1lbnVfX3JlZ2lvbiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTM5NmM7IC8vZGFyay1ibHVlXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5ibG9jay1tZW51IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAxcmVtIDA7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICAgIGZsZXg6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgIH1cbiAgICAuYmxvY2stbWVudSArIC5ibG9jay1tZW51IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk0M3B4KSB7XG4gICAgLnVsdGltZW51X19mbHlvdXQge1xuICAgICAgLnVsdGltZW51X19yZWdpb24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gICAgICAuYmxvY2stbWVudSB7XG4gICAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udWx0aW1lbnUtLW1haW4gLnVsdGltZW51X19saW5rLFxuLnVsdGltZW51IC51bHRpbWVudV9fYWpheCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmJ1dHRvbi5idXR0b24tLXVsdGltZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGFycm93cyBvbiBMYXJnZSBkZXZpY2VzIChkZXNrdG9wcywgOTkycHggYW5kIHVwKVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51bHRpbWVudS51bHRpbWVudS0taG92ZXIgLnVsdGltZW51X19saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcbiAgfVxuICAvLyAudWx0aW1lbnUgLmNhcmV0IHtcbiAgLy8gICBkaXNwbGF5OiBub25lO1xuICAvLyB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDc5Ljk4cHgpIHtcbiAgICAuc2l0ZS1oZWFkZXIge1xuICAgICAgLm5hdmJhci1mb3JtLFxuICAgICAgLnJlZ2lvbi1oZWFkZXItZm9ybSxcbiAgICAgIC51c2FzZWFyY2gtc2VhcmNoLWJsb2NrLWZvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwODBweCkge1xuICAgIC5zaXRlLWhlYWRlciB7XG4gICAgICAudXNhc2VhcmNoLXNlYXJjaC1ibG9jay1mb3JtIHtcbiAgICAgICAgd2lkdGg6IDI0NXB4O1xuICAgIH1cbiAgfVxufVxuXG4uc3RpY2t5LXRvcCB7XG4gIHBhZGRpbmc6IC4yNXJlbSAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IHBhZGRpbmcgLjNzO1xuICAtbW96LXRyYW5zaXRpb246IHBhZGRpbmcgLjNzO1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIC4zcztcbiAgei1pbmRleDogNTAwO1xufVxuLnN0aWNreS10b3AgLm5hdmJhci1icmFuZCB7XG4gIHdpZHRoOiAyLjVyZW07XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjNzO1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xufVxuLnN0aWNreS10b3Auc3RpY2t5LXRvcC1zaHJpbmsge1xuICBwYWRkaW5nOiAwIDA7XG59XG4uc3RpY2t5LXRvcC5zdGlja3ktdG9wLXNocmluayAubmF2YmFyLWJyYW5kIHtcbiAgZm9udC1zaXplOiA4NSU7XG4gIHdpZHRoOiAxLjVyZW07XG59XG5cbi8vXG4vLyBTaWRlIE5hdlxuLy9cbkBtaXhpbiB0cmFuc2l0aW9uIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbmFzaWRlIHtcbiAgLnNpZGVuYXYge1xuICAgIG1hcmdpbjogMCAwIDIuNXJlbTtcbiAgfVxuICAuc2lkZW5hdi1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAud3JhcHBlcl9fc2lkZW5hdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cdH1cblxuICBsaS5uYXYtaXRlbSB7XG4gICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAgIC8vIG1hcmdpbjogMCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXHR9XG4gIGxpIGEubmF2LWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IC43NXJlbTtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIGxpIGEubmF2LWxpbms6aG92ZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgYmFja2dyb3VuZDogJHdoaXRlc21va2U7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGFzaWRlIHtcbiAgICAuc2lkZW5hdi1oZWFkZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA3OUMwO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgLy8gZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAuNzVyZW0gLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAud3JhcHBlcl9fc2lkZW5hdiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuc2lkZW5hdi1oZWFkZXIge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBjb250ZW50OiBcIlxcZjA2N1wiO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnNpdGUtZm9vdGVyIHtcbiAgcGFkZGluZzogM3JlbSAwO1xuICAuc3Vic2NyaWJlLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN0ZWVsYmx1ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkc3RlZWxibHVlLCA2JSk7XG4gICAgfVxuICB9XG4gIC5mb290ZXItc29jaWFsIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4gICAgLmZvbnRhd2Vzb21lLWljb24taW5saW5lIHtcblxuICAgIH1cblxuICAgIC5mYWIsIC5mYXMsIC5mYS1icmFuZHMsIC5mYS1zb2xpZCB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mYWIsIC5mYXMsIC5mYS1icmFuZHMsIC5mYS1zb2xpZCB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RlZWxibHVlO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIC8vIGJvcmRlcjogOHB4IHNvbGlkICRzdGVlbGJsdWU7XG4gICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC8vIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRzdGVlbGJsdWUsIDYlKTtcbiAgICAgICAgLy8gYm9yZGVyOiA4cHggc29saWQgbGlnaHRlbigkc3RlZWxibHVlLCAzMCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mYS1icmFuZHMge1xuICAgICAgJi5mYS1pbnN0YWdyYW0ge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICB9XG4gICAgICAmLmZhLXgtdHdpdHRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICAuc2l0ZS1mb290ZXJfX3RvcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLnNpdGUtZm9vdGVyX19ib3R0b20ge1xuICAgIC5yZWdpb24ge1xuICAgIH1cbiAgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIG1hcmdpbi1ib3R0b206IC43NXJlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgLm5hdmlnYXRpb24ge1xuICAgIC5uYXYge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgaDEsIGgyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVG9wIEJhbm5lclxuXG4udXNhLWJhbm5lciB7XG4gIHBhZGRpbmc6IC4yNXJlbSAwO1xuICAudXNhLW1lZGlhX2Jsb2NrLWJvZHkgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4ucmVnaW9uLXNpdGUtbm90aWZpY2F0aW9uIHtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbi5ibG9jay0tc2l0ZS1ub3RpZmljYXRpb24ge1xuICAubWVzc2FnZS0tc3RhdHVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiAuNDI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNDI1cmVtO1xuICB9XG59XG5cbi5zdGFuZGFsb25lIHtcbiAgLmJsb2NrLS1zaXRlLW5vdGlmaWNhdGlvbiB7XG4gICAgLm1lc3NhZ2UtLXN0YXR1cyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy10b3A6IC40MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogLjQyNXJlbTtcbiAgICB9XG4gIH1cbiAgLmFsZXJ0LWNvbnRlbnQsXG4gIC5mYSwgLmZhYiwgLmZhbCwgLmZhciwgLmZhcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5hbGVydC1pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICB9XG59XG5cbi5hbGVydC1jb250ZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYWxlcnQtaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogLjVyZW07XG59XG5cbi5tZXNzYWdlLS1zdGF0dXMge1xuICBsaW5lLWhlaWdodDogMjtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG59XG5cbi5ibG9jay0tZW1lcmdlbmN5IHtcbiAgYmFja2dyb3VuZDogcmdiKDEzOSwwLDApO1xufVxuXG4uYmxvY2stLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiByZ2IoMCwxMDAsMCk7XG59XG4iLCIvL0FkbWluIFRhYnNcbiNjb250ZW50IC5uYXYtdGFicy5wcmltYXJ5IGE6bGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLy8gVVNBIGJhbm5lclxuLnVzYS1iYW5uZXItaGVhZGVyIHtcbiAgLnVzYS1tZWRpYV9ibG9jay1pY29uIHtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogMC4xMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIH1cbiAgLnVzYS1iYW5uZXItZmxhZyB7XG4gICAgd2lkdGg6IDEwMCVcbiAgfVxufVxuLnVzYS1iYW5uZXItY29udGVudCB7XG4gIC51c2EtbWVkaWFfYmxvY2staWNvbiB7XG4gICAgbWluLXdpZHRoOiAyNHB4O1xuICAgIG1heC13aWR0aDogMjRweDtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICB9XG4gIC51c2EtYmFubmVyLWljb24ge1xuICAgIHdpZHRoOiAxMDAlXG4gIH1cbn1cblxuLy9KdW1icm90cm9uL0hlcm8gc3R5bGVzIGNvbnZlcmdlZCBpbnRvIGhlcmU6XG5cbi8vRk1DU0Fcbi5mbWNzYS1ob21lcGFnZSAuc2VjdGlvbiAuZmlyc3Qtcm93IC52aWV3LWZtY3NhLWhvbWVwYWdlLWltYWdlIC52aWV3LWZtY3NhLWhvbWVwYWdlLWJsb2NrIGgxIHtcbiAgZm9udC1zaXplOiAzZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbFxufVxuXG4vL0ZSQSwgRkhXQSwgU2Vhd2F5LCBQSE1TQVxuLmp1bWJvdHJvbiB7XG4gIG1pbi1oZWlnaHQ6IDU0MHB4O1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAzZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbn1cblxuLy9CVFMgSW4gdGhlIHNwb3RsaWdodFxuLnNwb3RsaWdodF9fY2FyZCB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gIH1cbiAgLmNhcmQtaW1nLXRvcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xMjUpO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAuanVtYm90cm9uIHtcbiAgICBtaW4taGVpZ2h0OiBpbnRyaW5zaWM7IC8qIFNhZmFyaS9XZWJLaXQgdXNlcyBhIG5vbi1zdGFuZGFyZCBuYW1lICovXG4gICAgbWluLWhlaWdodDogLW1vei1tYXgtY29udGVudDsgLyogRmlyZWZveC9HZWNrbyAqL1xuICAgIG1pbi1oZWlnaHQ6IC13ZWJraXQtbWF4LWNvbnRlbnQ7IC8qIENocm9tZSAqL1xuICAgIG1pbi1oZWlnaHQ6IG1heC1jb250ZW50O1xuIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG5cdC5qdW1ib3Ryb24ge1xuICAgIG1pbi1oZWlnaHQ6IGludHJpbnNpYzsgLyogU2FmYXJpL1dlYktpdCB1c2VzIGEgbm9uLXN0YW5kYXJkIG5hbWUgKi9cbiAgICBtaW4taGVpZ2h0OiAtbW96LW1heC1jb250ZW50OyAvKiBGaXJlZm94L0dlY2tvICovXG4gICAgbWluLWhlaWdodDogLXdlYmtpdC1tYXgtY29udGVudDsgLyogQ2hyb21lICovXG4gICAgbWluLWhlaWdodDogbWF4LWNvbnRlbnQ7XG5cdH1cblx0Lmhlcm8ge1xuXHRcdC5jb250YWluZXIge1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcbiAgICBcdHBhZGRpbmctbGVmdDogMDtcblx0XHR9XG5cdH1cbn1cblxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwZDFhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEzLCAyNiwgMC40NSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTMsIDI2LCAwLjQ1KTtcbiAgd2lkdGg6IDEwMCU7XG4gIC8vIHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICAvLyB3aWR0aDogLW1vei1maXQtY29udGVudDtcbiAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4vLyBfcGF0dGVybi5zY3NzXG5cbi5icmVhZGNydW1iIHtcbiAgLy8gcGFkZGluZy1sZWZ0OiAwO1xuICAvLyBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLy9cbi8vIFVTQSBiYW5uZXJcbi8vXG4udXNhLW1lZGlhX2Jsb2NrLWljb24ge1xuICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAudXNhLWJhbm5lci1pY29uIHtcbiAgICB3aWR0aDogMi41cmVtO1xuICB9XG4gIC51c2EtYmFubmVyLWZsYWcge1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICB9XG59XG5cbi51c2EtYmFubmVyLWhlYWRlciB7XG4gIC51c2EtbWVkaWFfYmxvY2stYm9keSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgfVxufVxuXG4udXNhLWJhbm5lci1jb250ZW50IC51c2Etd2lkdGgtb25lLWhhbGYge1xuICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG59XG5cbmJ1dHRvbi51c2EtYWNjb3JkaW9uLWJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIC51c2EtYmFubmVyLWJ1dHRvbi10ZXh0IHtcbiAgICBjb2xvcjogIzAwNWVhMjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbmJ1dHRvbi51c2EtYmFubmVyLWJ1dHRvbjo6YWZ0ZXIge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbmJ1dHRvbi51c2EtYmFubmVyLWJ1dHRvbjpob3Zlcjo6YWZ0ZXIge1xuICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG59XG5cblthcmlhLWV4cGFuZGVkPWZhbHNlXSBidXR0b24udXNhLWJhbm5lci1idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogXCIgXFxmMTA3XCI7XG59XG5cblthcmlhLWV4cGFuZGVkPXRydWVdIGJ1dHRvbi51c2EtYmFubmVyLWJ1dHRvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcXGYxMDZcIjtcbn1cblxuLy9cbi8vIGVMaWJyYXJ5IFZpZXdzXG4vL1xuXG4ubGlzdF9maWx0ZXIgLmNhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MSwgMjQxLCAyNDEsIDEpO1xufVxuXG4ucGF0aC1lbGlicmFyeS1zZWFyY2ggLm1haW4tY29udGVudCB7XG4gIC5saXN0X2ZpbHRlcixcbiAgLmxpc3Rfdmlld19pdGVtcyxcbiAgLmxpc3RfcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwIDAgMi41cmVtO1xuICB9XG59XG5cbi5lbGlicmFyeS0tc2VhcmNoLWl0ZW0ge1xuICBwYWRkaW5nOiAxLjI1cmVtIDA7XG59XG5cbi5lbGlicmFyeS0tc2VhcmNoLWl0ZW0gKyAuZWxpYnJhcnktLXNlYXJjaC1pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbn1cblxuLy9cbi8vIENvbGxhcHNpYmxlIGJsb2NrXG4vL1xuXG4uY29sbGFwc2libGVfY29udGVudCB7XG4gIFtkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBbZGF0YS10b2dnbGU9XCJjb2xsYXBzZVwiXTphZnRlciB7XG4gICAgYWxpZ24tc2VsZjogc2VsZi1zdGFydDtcbiAgICBjb250ZW50OiBcIlxcZjEwN1wiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSA7XG4gICAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAwLjI1cztcbiAgICB9XG4gIFtkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJdLmNvbGxhcHNlZDphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgLmRvY3VtZW50LS1zZXQge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuICAubGVhZCB7XG4gICAgcGFkZGluZy1yaWdodDogLjc1cmVtO1xuICB9XG59XG5cbiNjb250ZW50LFxuI3NpZGVjb250ZW50LFxuLnJlZ2lvbi1jb250ZW50IHtcbiAgLnZpZXctZ3JvdXBpbmcgPiAuY2FyZC1oZWFkZXIsXG4gIC5jb2xsYXBzaWJsZV9jb250ZW50ID4gLmNhcmQtaGVhZGVyIHtcbiAgICBhOmxpbmsge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICAudmlldy1ldmVudHMgLnZpZXdzLXJvdyA+IC52aWV3cy1maWVsZC10aXRsZSB7XG4gICAgYTpsaW5rIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNsaWRlX19jb250ZW50IC5zbGlkZV9faGVhZGxpbmUge1xuICAgIGE6bGluayB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBTbGljayBTbGlkZSAoQ29waWVkIGZyb20gVVNNTUEgX2Jhc2Utc3R5bGVzLnNjc3MpXG4vL1xuXG4uc2xpY2tfX3NsaWRlc2hvd19jb250YWluZXIge1xuICBtYXJnaW46IDMuMjVyZW0gYXV0bztcbn1cbi5zbGlkZV9fYmdfaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnNsaWRlX19iZ19pbWFnZSB7XG4gIC5zbGlkZV9fY29udGVudCAuc2xpZGVfX2hlYWRsaW5lIHtcbiAgICBhOmxpbmsge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2xpZGVfX2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjY1KTtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgLnNsaWRlX19oZWFkbGluZSxcbiAgICAuc2xpZGVfX2NhcHRpb24sXG4gICAgLnNsaWRlX19saW5rIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIG1hcmdpbjogMCAwIC41cmVtO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLnNsaWNrLS1za2luLS1mdWxsd2lkdGggLnNsaWRlX19saW5rIGEge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xufVxuXG4vL1xuLy8gU2xpZGUgaGVhZGxpbmUgcmlnaHQgcGFkZGluZ1xuLy9cbi5ub2RlLS10eXBlLWxpdGUtbGFuZGluZy1wYWdlIHtcbiAgLnNsaWRlX19iZ19pbWFnZSB7XG4gICAgLnNsaWRlX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDg0cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIEJsb2NrcXVvdGVcbi8vXG5cbmJsb2NrcXVvdGV7XG4gIHBhZGRpbmc6IDFlbSAxLjVyZW0gMWVtIDNyZW07XG4gIGJvcmRlci1sZWZ0OiAuMjVyZW0gc29saWQgIzQ5NTA1NztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5ibG9ja3F1b3RlOjpiZWZvcmV7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLy9cbi8vIENhcmRzXG4vL1xuXG4uY2FyZCB7XG4gIC5ub2RlX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIGgxLCBoMiwgaDMge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJsb2NrIHtcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xufVxuXG4uc2lkZWJhcl9zZWNvbmQge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luOiAwIDAgMS43NXJlbTtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1pbmZvcm1hdGlvbi1nYWxsZXJ5IHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNTYwcHgpIHtcbiAgICAubm9kZSAuZmllbGQtLXR5cGUtaW1hZ2Uge1xuICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMCAwIDAgMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gSGVyb1xuLy9cblxuLmp1bWJvdHJvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5cbi5oZXJvX19jb250ZW50IHtcbiAgLmhlcm9fX3RleHRfZmlsdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwZDFhO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTMsIDI2LCAwLjY1KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEzLCAyNiwgMC42NSk7XG4gICAgd2lkdGg6IC13ZWJraXQtZml0LWNvbnRlbnQ7XG4gICAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICB9XG4gIC5oZXJvX19oZWFkbGluZSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwgMCwgMCwgMSk7XG4gIH1cbn1cblxuLmhlcm8ge1xuICAudmlldy1mb290ZXIge1xuICAgIGEuYnRuLW1vZGFsIHtcbiAgICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBJbWFnZXNcbi8vXG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5pbWcuZmxvYXQtbGVmdCB7XG4gIG1hcmdpbjogLjVyZW0gMS41cmVtIC41cmVtIDA7XG4gIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgbWFyZ2luOiAuNXJlbSAxLjVyZW0gLjI1cmVtIDA7XG4gIH1cbn1cblxuaW1nLmZsb2F0LXJpZ2h0IHtcbiAgbWFyZ2luOiAuNXJlbSAwIC41cmVtIDEuNXJlbTtcbiAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICBtYXJnaW46IC41cmVtIDAgLjI1cmVtIDEuNXJlbTtcbiAgfVxufVxuXG4vL1xuLy8gRmlsZSBEb2N1bWVudFxuLy9cblxuLmRvY3VtZW50LS1zZXQge1xuICBtYXJnaW46IDEuMjVyZW0gMCAwO1xufVxuLmRvY3VtZW50LS1pdGVtIHtcbiAgbWFyZ2luOiAwIDAgLjc1cmVtO1xufVxuXG4vLyBlTGlicmFyeVxuXG4uZWxpYnJhcnktLXNlYXJjaC1pdGVtIHtcblx0LnJvdyB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHR9XG4gIC5jb2wtZGF0ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiKDI0MSwyNDEsMjQxKTtcbiAgfVxufVxuXG4uZmFjZXRzLWNoZWNrYm94IHtcblx0bWFyZ2luLXJpZ2h0OiAuNXJlbTtcbn1cblxuLmVsaWJyYXJ5LS1zZWFyY2gtaXRlbSB7XG4gIC5maWVsZF9fbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCI6XCI7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgIHRvcDogaW5oZXJpdDtcbiAgICAgIHJpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG4uZWxpYnJhcnktLXNlYXJjaC1pdGVtIHtcbiAgLmZpZWxkLS10eXBlLWVudGl0eS1yZWZlcmVuY2Uge1xuICAgIG1hcmdpbjogMCAwO1xuICB9XG4gIC5maWVsZC0tbmFtZS1maWVsZC1zdWJqZWN0IC5maWVsZF9fbGFiZWwsXG4gIC5maWVsZC0tbmFtZS1maWVsZC1zdWJqZWN0IC5maWVsZF9faXRlbXMsXG4gIC5maWVsZC0tbmFtZS1maWVsZC1zdWJqZWN0IC5maWVsZF9faXRlbSxcbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWF1dGhvciAuZmllbGRfX2xhYmVsLFxuICAgLmZpZWxkLS1uYW1lLWZpZWxkLWF1dGhvciAuZmllbGRfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5maWVsZC0tdHlwZS1lbnRpdHktcmVmZXJlbmNlIC5maWVsZF9fbGFiZWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtc3ViamVjdCAuZmllbGRfX2l0ZW06OmFmdGVyIHtcbiAgICBjb250ZW50OiAnLCc7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgIHRvcDogaW5oZXJpdDtcbiAgICByaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC5maWVsZC0tbmFtZS1maWVsZC1zdWJqZWN0IC5maWVsZF9faXRlbTpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cblxuLmNvbnRhY3QtdXMtc29jaWFsLW1lZGlhIHtcbiAgYSB7XG4gICAgcGFkZGluZy1yaWdodDogLjVyZW07XG4gIH1cbn1cblxuLy9cbi8vIEZpZ3VyZVxuLy9cbiBmaWd1cmUge1xuICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gfVxuXG4vL1xuLy8gQ29udGFjdCBCbG9ja1xuLy9cbi5jb250YWN0LXVzLXNvY2lhbC1tZWRpYS1pdGVtcyBhIHtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi8vQ29udGVudCBNb2RlcmF0aW9uXG4uY29udGVudC1tb2RlcmF0aW9uLWVudGl0eS1tb2RlcmF0aW9uLWZvcm0ge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIERhdGFzZXRcbi8vXG4ubm9kZS0tdHlwZS1tYXBzLFxuLm5vZGUtLXR5cGUtY29tcGxleC1kYXRhc2V0LFxuLm5vZGUtLXR5cGUtbWVkaXVtLWRhdGFzZXQge1xuICAuZmllbGRfX2xhYmVsIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxufVxuXG4uZmllbGQtLW5hbWUtZmllbGQtcHJvZHVjdC1pbmZvIC5maWVsZF9fbGFiZWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uZmllbGQtLW5hbWUtZmllbGQtcmVsYXRlZC1kYXRhc2V0cyAuZmllbGRfX2l0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5maWVsZC0tbmFtZS1maWVsZC1yZWxhdGVkLWRhdGFzZXRzIGE6bGluayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5maWVsZC0tbmFtZS1maWVsZC1zb2NyYXRhLWlkIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi8vXG4vLyBQcm9kdWN0XG4vL1xuLnZpZXctcHJvZHVjdC1yZWxhdGVkLWRhdGFzZXRzIC52aWV3LWZpbHRlcnMge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4vL1xuLy8gUmVndWxhdGlvbnMgU2VjdGlvbnNcbi8vXG4udmlldy1yZWd1bGF0aW9ucy1zZWN0aW9ucyB7XG4vLyAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4vLyAgIC52aWV3LWZpbHRlcnMge1xuLy8gICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4vLyAgIH1cbiAgLmZvcm0taXRlbS1jb21iaW5lIHtcbiAgICB3aWR0aDogMjAwcHg7XG4gIH1cbi8vICAgLmZvcm0taXRlbS1maWVsZC1zZWN0aW9uLXZhbHVlIHtcbi8vICAgICB3aWR0aDogMTUwcHg7XG4vLyAgIH1cbn1cblxuLy8gQm9sZCBhbGwgdGhlIGZpZWxkIGxhYmVsc1xuLmZpZWxkX19sYWJlbHtcbiAgZm9udC13ZWlnaHQ6Ym9sZDtcbn1cblxuLmZpZWxkLS10eXBlLWVudGl0eS1yZWZlcmVuY2UgLmZpZWxkX19sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4vL1xuLy8gTm9kZSBTaWRlYmFyXG4vL1xuLy8gQ29udGFjdCBJbmZvIE5vZGVcbi5ub2RlLS10eXBlLWNvbnRhY3QtaW5mbyB7XG4gIC5zZXRfYWRkcmVzc19faXRlbSB7XG4gICAgLmFkZHJlc3Mge1xuICAgICAgbWFyZ2luLWxlZnQ6IC4yNWVtO1xuICAgIH1cbiAgfVxufVxuLm5vZGUtLXR5cGUtY29udGFjdC1pbmZvIHtcbiAgLmV4dCxcbiAgLm1haWx0byB7XG4gICAgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuMjVlbTtcbiAgICB9XG4gIH1cbiAgLy8gUGhvbmUgTnVtYmVyXG4gIC5mYS1mYXgsXG4gIC5mYS1waG9uZSB7XG4gICAgY29sb3I6ICM3MjcyNzI7XG4gICAgZm9udC1zaXplOiAuNWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuLy8gU2lkZWJhciBSZWxhdGVkIENvbnRlbnRcbi5zaWRlY29udGVudCB7XG4gIHVsLmxpc3RfcmVsYXRlZF9kb2N1bWVudHMsXG4gIHVsLmxpc3RfcmVsYXRlZF9saW5rcyB7XG4gICAgbGkge1xuICAgICAgbWFyZ2luOiAuNXJlbSAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBcbi8vIEhvbWVwYWdlIEJ5IHRoZSBOdW1iZXJzIFZpZXdcbi8vIFxuLmJ5LXRoZS1udW1iZXJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFjNmRhNjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9ieS10aGUtbnVtYmVycy1iYWNrZ3JvdW5kLmpwZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gIGEge1xuICAgY29sb3I6ICNGRkZGRkY7IFxuICB9XG4gIGgxIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjY2N3JlbTtcbiAgfVxuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnZpZXdzLWZpZWxkLWZpZWxkLXZhbHVlIHtcbiAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICB9XG59XG5cbiIsIi8vIEZvb3RlclxuXG4uc2l0ZS1mb290ZXIge1xuICBwYWRkaW5nOiAzcmVtIDA7XG4gIC5zdWJzY3JpYmUtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RlZWxibHVlO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJHN0ZWVsYmx1ZSwgNiUpO1xuICAgIH1cbiAgfVxuICAuZm9vdGVyLXNvY2lhbCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgJitsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAuZmFiLCAuZmFzLCAuZmEtYnJhbmRzLCAuZmEtc29saWQge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZhYiwgLmZhcywgLmZhLWJyYW5kcywgLmZhLXNvbGlkLCB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RlZWxibHVlO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIC8vIGJvcmRlcjogOHB4IHNvbGlkICRzdGVlbGJsdWU7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICAgIH1cbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRzdGVlbGJsdWUsIDMwJSk7XG4gICAgICAgIC8vIGJvcmRlcjogOHB4IHNvbGlkIGxpZ2h0ZW4oJHN0ZWVsYmx1ZSwgMzAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmEtYnJhbmRzIHtcbiAgICAmLmZhLWluc3RhZ3JhbSB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgfVxuICAgICYuZmEteC10d2l0dGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gIH1cblxuICAuc2l0ZS1mb290ZXJfX3RvcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjc1cmVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuICAubmF2aWdhdGlvbiB7XG4gICAgLm5hdiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBoMSwgaDIge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gICAgLm5hdi1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAubmF2LWl0ZW0ge1xuICAgICAgYTpsaW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNDRkNGQ0YgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBwdXJwbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vU29jaWFsIEljb25zXG4ucmVnaW9uLWZvb3Rlci1yaWdodCBhOmhvdmVyIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuIiwiLyoqXG4gKiBAZmlsZVxuICogVGhlbWUgc3R5bGluZyBmb3IgTGFuZGluZyBQYWdlIE5vZGVzXG4gKi9cblxuIC5sYW5kaW5nLXBhZ2UtY29udGVudCB7XG4gICAgIC5jb250ZW50IHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JleTtcbiAgICAgfVxuXG4gICAgIC5sYW5kaW5nLXBhZ2UtaGVyby10ZXh0IHtcbiAgICAgICBhOmxpbmsge1xuICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgfVxuICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgY29sb3I6ICNDRkNGQ0Y7XG4gICAgICAgfVxuICAgICAgIGE6dmlzaXRlZCB7XG4gICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgfVxuICAgICB9XG5cbiAgICAgLy9DYW1wYWlnbiBMYW5kaW5nIFBhZ2VcbiAgICAgI2NvbnRlbnQgLmxhbmRpbmctcGFnZS1maXJzdC1yb3cgLmNhcmQtcGFyYWdyYXBoIGE6bGluayB7XG4gICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICB9XG5cbiAgICAgI2NvbnRlbnQgLmxhbmRpbmctcGFnZS1maXJzdC1yb3cgLmNhcmQtcGFyYWdyYXBoIGE6aG92ZXIgaDEge1xuICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICB9XG5cbiAgICAgI2NvbnRlbnQgLmxhbmRpbmctcGFnZS1maXJzdC1yb3cgLmNhcmQtcGFyYWdyYXBoIGE6dmlzaXRlZCBoMSB7XG4gICAgICAgY29sb3I6IHB1cnBsZTtcbiAgICAgfVxuXG4gICAgIC5sYW5kaW5nLXBhZ2UtbWVudSBhOmhvdmVyIHtcbiAgICAgICBjb2xvcjogI0NGQ0ZDRiAhaW1wb3J0YW50O1xuICAgICB9XG5cbiAgICAgLmxhbmRpbmctcGFnZS1oZXJvLXNlY3Rpb24ge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTUlO1xuICAgICAgICAgcGFkZGluZzogMTMlO1xuXG4gICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgICAgaDEge1xuICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zOHB4O1xuXG4gICAgICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgICBmb250LXNpemU6IDUycHg7XG4gICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTVweDtcbiAgICAgICAgIH1cblxuICAgICAgICAgLmxhbmRpbmctcGFnZS1oZXJvLXRleHQge1xuICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4yOXB4O1xuXG4gICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICB9XG5cbiAgICAgLmxhbmRpbmctcGFnZS1maXJzdC1yb3cge1xuICAgICAgICAgaDEge1xuICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgIH1cblxuICAgICAgICAgLmNhcmRzLXNlY3Rpb24ge1xuICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQlO1xuXG4gICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAuY2FyZC1wYXJhZ3JhcGgge1xuICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyOThweDtcblxuICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgIC5jYXJkLXRleHQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29sb3I6ICRkYXJrLWJsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAzOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAzOTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzFDNkRBNjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgLmNhcmQtc3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgIH1cblxuICAgICAubGFuZGluZy1wYWdlLXNlY29uZC1yb3cge1xuICAgICAgICAgLmxhbmRpbmctcGFnZS1tZW51LXNlY3Rpb24ge1xuICAgICAgICAgICAgIHBhZGRpbmc6IDIlO1xuXG4gICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZlcnktZGFyay1ibHVlO1xuICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAgICAgICAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6c29mdC1saWdodDtcblxuICAgICAgICAgICAgIGgxLCBoMiwgYSB7XG4gICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUlO1xuXG4gICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICBoMS5sYW5kaW5nLXBhZ2UtbWVudS1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAubGFuZGluZy1wYWdlLW1lbnUtc2VjdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgLmxhbmRpbmctcGFnZS1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAubGFuZGluZy1wYWdlLW1lbnUtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzNnB4IDI2cHg7XG4gICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgIC5sYW5kaW5nLXBhZ2UtbWVudS10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzklO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgIC5sYW5kaW5nLXBhZ2UtbWVudS10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAubGFuZGluZy1wYWdlLW1lbnUtbGlua3Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmllbGRfX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgIH1cblxuICAgICAubGFuZGluZy1wYWdlLXRoaXJkLXJvdyB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAgLmxhbmRpbmctcGFnZS1xdWljay1saW5rcyB7XG4gICAgICAgICAgICAgcGFkZGluZzogMyU7XG5cbiAgICAgICAgICAgICAubGFuZGluZy1wYWdlLXF1aWNrLWxpbmtzLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IDQ5N3B4O1xuXG4gICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgaDIubGFuZGluZy1wYWdlLXF1aWNrLWxpbmtzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgcGFkZGluZzogMTNweCAwcHggMjZweCAwcHg7XG5cbiAgICAgICAgICAgICAgICAgY29sb3I6ICM0QTRBNEE7XG5cbiAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAubGFuZGluZy1wYWdlLXF1aWNrLWxpbmtzLWxpbmtzIHtcbiAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjQwcHg7XG4gICAgICAgICAgICAgICAgIC5maWVsZF9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICB9XG5cbiAgICAgLmxhbmRpbmctcGFnZS1mb290ZXIge1xuICAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLXBvc3RzY3JpcHQge1xuICAgICAgICAgICAgIHBhZGRpbmc6IDElO1xuXG4gICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWJsdWU7XG5cbiAgICAgICAgICAgICBmb250LXNpemU6IDJlbTtcblxuICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICB9XG4gfVxuXG4gLm5vZGUtLXR5cGUtbGl0ZS1sYW5kaW5nLXBhZ2Uge1xuICAgICAuc2xpY2tfX2Fycm93IHtcbiAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgIC8vIGJvdHRvbTogNnB4O1xuICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuXG4gICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAuc2xpY2stYXJyb3cge1xuICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICAgfVxuICAgICAgIC5zbGljay1wcmV2LCAuc2xpY2stbmV4dCB7XG4gICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcmVkLCAxMCUpO1xuICAgICAgICAgfVxuICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgd2lkdGg6IDQycHg7XG4gICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuXG4gICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG5cbiAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI1JTtcbiAgICAgICAgIH1cbiAgICAgfVxuXG4gICAgIC5zbGljay1wcmV2IHtcbiAgICAgICByaWdodDogNDJweDtcbiAgICAgICBsZWZ0OiBpbml0aWFsO1xuXG4gICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIGFyaWEtaGlkZGVuPSd0cnVlJyBmb2N1c2FibGU9J2ZhbHNlJyBkYXRhLXByZWZpeD0nZmFzJyBkYXRhLWljb249J2FuZ2xlLWxlZnQnIGNsYXNzPSdzdmctaW5saW5lLS1mYSBmYS1hbmdsZS1sZWZ0IGZhLXctOCcgcm9sZT0naW1nJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNTYgNTEyJyUzRSUzQ3BhdGggZmlsbD0nd2hpdGUnIGQ9J00zMS43IDIzOWwxMzYtMTM2YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDIyLjYgMjIuNmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwxMjcuOSAyNTZsOTYuNCA5Ni40YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45TDIwMS43IDQwOWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTEzNi0xMzZjLTkuNS05LjQtOS41LTI0LjYtLjEtMzR6JyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICB9XG4gICAgIH1cblxuICAgICAuc2xpY2stbmV4dCB7XG5cbiAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBhcmlhLWhpZGRlbj0ndHJ1ZScgZm9jdXNhYmxlPSdmYWxzZScgZGF0YS1wcmVmaXg9J2ZhcycgZGF0YS1pY29uPSdhbmdsZS1yaWdodCcgY2xhc3M9J3N2Zy1pbmxpbmUtLWZhIGZhLWFuZ2xlLXJpZ2h0IGZhLXctOCcgcm9sZT0naW1nJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNTYgNTEyJyUzRSUzQ3BhdGggZmlsbD0nd2hpdGUnIGQ9J00yMjQuMyAyNzNsLTEzNiAxMzZjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwbC0yMi42LTIyLjZjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDk2LjQtOTYuNC05Ni40LTk2LjRjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDU0LjMgMTAzYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDEzNiAxMzZjOS41IDkuNCA5LjUgMjQuNi4xIDM0eiclM0UlM0MvcGF0aCUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICB9XG4gICAgICAgfVxuXG4gICAgIH1cblxuIH1cblxuIC5idG4gLmV4dCB7XG4gICBiYWNrZ3JvdW5kOiBub25lO1xuIH1cblxuIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgLmhlcm9fX2NvbnRlbnQgLmhlcm9fX3RleHRfZmlsdGVyIHtcbiAgICAgd2lkdGg6ICAxMDAlO1xuICAgfVxuIH1cblxuIC8vRmxleGlibGUgTGFuZGluZyBQYWdlXG4uc2xpY2stLWZpZWxkLWxhbmRpbmctcGFnZS1jYXJvLWl0ZW1zIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4iLCIvLyBSZXNwb25zaXZlXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuXG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuXHQjaGVhZGVyIC51bHRpbWVudSB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdC51aXRlbSAudWx0aW1lbnVfX2ZseW91dCB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRtaW4td2lkdGg6IGluaXRpYWwgIWltcG9ydGFudDtcblx0XHRcdC51bHRpbWVudV9fcmVnaW9uIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdC5ibG9jay1tZW51LCAubmF2IHtcblx0XHRcdFx0XHRtaW4td2lkdGg6IGluaXRpYWw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnNpdGUtaGVhZGVyIHtcblx0ICAgIC5uYXZiYXItY29sbGFwc2Uge1xuXHQgICAgICBjbGVhcjogYm90aDtcblx0ICAgICAgZmxvYXQ6IG5vbmU7XG5cdCAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cdCAgICB9XG5cdCAgfVxuXHQubmF2YmFyLWZvcm0ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdC51c2FzZWFyY2gtc2VhcmNoLWJsb2NrLWZvcm0ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cdC5yZWdpb24taGVhZGVyLWZvcm0ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuXHQuc2l0ZS1mb290ZXIgLnNpdGUtZm9vdGVyX190b3Age1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0LnJlZ2lvbi1mb290ZXItbGVmdCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cdFx0fVxuXHRcdC5mb290ZXItc29jaWFsIHtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGxpIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuc2l0ZS1mb290ZXIgLnNpdGUtZm9vdGVyX19ib3R0b20ge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHQucmVnaW9uIHtcblx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdH1cblx0fVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcblxufVxuXG4vLyBFeHRyYSBzbWFsbCBkZXZpY2VzIChwb3J0cmFpdCBwaG9uZXMsIGxlc3MgdGhhbiA1NzZweClcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblx0ZmlndXJlIHtcblx0XHQmLmFsaWduLWxlZnQge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRtYXJnaW46IDAgYXV0byAxcmVtO1xuXHRcdH1cblx0XHQmLmFsaWduLXJpZ2h0IHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG8gMXJlbTtcblx0XHR9XG5cdH1cbn1cbi8vIFNtYWxsIGRldmljZXMgKGxhbmRzY2FwZSBwaG9uZXMsIDU3NnB4IGFuZCB1cClcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuLy8gTWVkaXVtIGRldmljZXMgKHRhYmxldHMsIDc2OHB4IGFuZCB1cClcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBMYXJnZSBkZXZpY2VzIChkZXNrdG9wcywgOTkycHggYW5kIHVwKVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBpZnJhbWUgY29udGFpbmVyXG5cbi5pZnJhbWUtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRpZnJhbWUge1xuXHQgcG9zaXRpb246IGFic29sdXRlO1xuICAgYm9yZGVyOiAwO1xuXHQgd2lkdGg6IDEwMCU7XG4gICBoZWlnaHQ6IDEwMCU7XG4gICBsZWZ0OiAwO1xuICAgdG9wOiAwO1xuXHR9XG59XG5cbi5pZnJhbWUtaG9sZGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXHRpZnJhbWUsIG9iamVjdCwgZW1iZWQge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0cGFkZGluZzogMDtcblx0XHRtYXJnaW46IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cbiIsIi8qKlxuICogQm9vdHN0cmFwIEJhcnJpbydzIHRhYmxlcyBzdHlsZXMgT3ZlcndyaXRlLlxuICovXG5cbi50YWJsZSAudGhlYWQtZGFyayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxYzZkYTY7XG59XG5cbi50YWJsZSAudGhlYWQtZGFyayB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYzZkYTY7XG4gIGJvcmRlci1jb2xvcjogIzFjNmRhNjtcbn1cblxudGFibGUge1xuICAmLnZpZXdzLXRhYmxlLFxuICB0aGVhZCB7XG4gICAgLnZpZXdzLWZpZWxkLWZpZWxkLWVmZmVjdGl2ZS1kYXRlIHtcbiAgICAgIHdpZHRoOiAxMS41cmVtO1xuICAgIH1cbiAgICAudGFibGVzb3J0IHtcbiAgICAgIC8vIGZsb2F0OiByaWdodDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbnRhYmxlLCAudGFibGUge1xuICBjYXB0aW9uIHtcbiAgICBjb2xvcjogIzM0M0E0MDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogLjVyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxudGggYSxcbnRoIGE6aG92ZXIsXG50aCBhOmFjdGl2ZSB7XG4gIGNvbG9yOiAjMDA3OUMwO1xufVxuXG4udGhlYWQtZGFyayB0aCB7XG4gIGEsXG4gIGE6aG92ZXIsXG4gIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cblxudGQuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLnRhYmxlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNlxufVxuXG4vLyAudGFibGUgY2FwdGlvbiB7XG4vLyAgIGNhcHRpb24tc2lkZTogdG9wO1xuLy8gICBjb2xvcjogI2ZmZmZmZjtcbi8vICAgcGFkZGluZy10b3A6IDBweDtcbi8vICAgcGFkZGluZy1ib3R0b206IDBweDtcbi8vIH1cbi8vIGNhcHRpb24ge1xuLy8gICBjYXB0aW9uLXNpZGU6IHRvcDtcbi8vICAgY29sb3I6ICNmZmZmZmY7XG4vLyAgIHBhZGRpbmctdG9wOiAwcHg7XG4vLyAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4vLyB9XG5cbnRoIHtcbiAgLy8gUmVtb3ZlIHdvcmQgd3JhcHBpbmcgb24gaGVhZGVyIGNvbHVtbnNcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLy9jb2xvciBoZWFkZXIgY2VsbHMgb2YgdGFibGVcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzOCwgMjM4LCAyMzgpO1xufVxuXG4jY29udGVudCxcbi5yZWdpb24tY29udGVudCB7XG4gIHRhYmxlIHRoZWFkIGE6bGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi52aWV3IHtcbiAgdGFibGUgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzZkYTY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWM2ZGE2O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBhLGE6aG92ZXIsXG4gICAgYTphY3RpdmUge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxufVxuIiwiaDEsIGgyLCBoMSBhLCBoMiBhIGgzLCBoNCwgaDUsIGg2LCBoMyBhLCBib2R5LCBwLCBhLCBsaSB7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xufVxuXG5oMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG5oMSB7XG4gICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAyZW07XG59XG5cbmgyIHtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogJGZsaW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMS41M2VtO1xufVxuXG5oMyB7XG4gICAgZm9udC1zaXplOiAxLjM0ZW07XG4gICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5oNCB7XG4gICAgZm9udC1zaXplOiAxLjI3ZW07XG4gICAgY29sb3I6ICRmbGludDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzIxMjUxOTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDYge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAkZmxpbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4iLCIvLyBfdHlwb2dyYXBoeS5zY3NzXG5cbi8vIFJlc3BvbnNpdmUgRm9udFxuQG1peGluIHJlc3BvbnNpdmUtZm9udCgkcmVzcG9uc2l2ZSwgJG1pbiwgJG1heDogZmFsc2UsICRmYWxsYmFjazogZmFsc2UpIHtcbiAgJHJlc3BvbnNpdmUtdW5pdGxlc3M6ICRyZXNwb25zaXZlIC8gKCRyZXNwb25zaXZlIC0gJHJlc3BvbnNpdmUgKyAxKTtcbiAgJGRpbWVuc2lvbjogaWYodW5pdCgkcmVzcG9uc2l2ZSkgPT0gJ3ZoJywgJ2hlaWdodCcsICd3aWR0aCcpO1xuICAkbWluLWJyZWFrcG9pbnQ6ICRtaW4gLyAkcmVzcG9uc2l2ZS11bml0bGVzcyAqIDEwMDtcblxuICBAbWVkaWEgKG1heC0jeyRkaW1lbnNpb259OiAjeyRtaW4tYnJlYWtwb2ludH0pIHtcbiAgICBmb250LXNpemU6ICRtaW47XG4gIH1cblxuICBAaWYgJG1heCB7XG4gICAgJG1heC1icmVha3BvaW50OiAkbWF4IC8gJHJlc3BvbnNpdmUtdW5pdGxlc3MgKiAxMDA7XG5cbiAgICBAbWVkaWEgKG1pbi0jeyRkaW1lbnNpb259OiAjeyRtYXgtYnJlYWtwb2ludH0pIHtcbiAgICAgIGZvbnQtc2l6ZTogJG1heDtcbiAgICB9XG4gIH1cblxuICBAaWYgJGZhbGxiYWNrIHtcbiAgICBmb250LXNpemU6ICRmYWxsYmFjaztcbiAgfVxuXG4gIGZvbnQtc2l6ZTogJHJlc3BvbnNpdmU7XG59XG5cbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU9wZW4rU2Fuczp3Z2h0QDMwMDs0MDA7NTAwOzYwMDs3MDAmZGlzcGxheT1zd2FwJyk7XG5cbmh0bWwge1xuICBmb250LXNpemU6IDE1cHg7XG59XG5cbmJvZHksICoge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxucCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIC8vIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbmgxLnRpdGxlLS1uZXdzcm9vbS1pdGVtIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmgyIHtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAmLnRpbGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxufVxuXG5oMyB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xufVxuXG5oNCB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xufVxuXG5oMiwgaDMge1xuICAmLnJlbGF0ZWQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIH1cbn1cblxuLnBhdGgtZnJvbnRwYWdlIHtcbiAgLmhlcm8tbmV3c3Jvb20ge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIH1cbiAgfVxufVxuXG4ucGF0aC1mcm9udHBhZ2Uge1xuICBoMiwgaDMsIGg0IHtcbiAgICBwYWRkaW5nLXRvcDogaW5pdGlhbDtcbiAgfVxufVxuXG4ucGFnZS0tbmV3c3Jvb20ge1xuICBoMS50aXRsZS0tbmV3cy1pdGVtLFxuICBoMi50aXRsZS0tbmV3cy1pdGVtIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubm9kZS0tdHlwZS1wcm9ncmFtLWxhbmRpbmctcGFnZSB7XG4gIG1haW4ubWFpbiB7XG4gICAgaDEsIGgyLCBoMywgaDQsIGg1IHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5zaWRlbmF2LWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuLnNsaWRlX19oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuIC5zaXRlLWZvb3RlciBoMSxcbiAuZWxpYnJhcnktLXRpdGxlIHtcbiAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gfVxuXG4uc2xpZGVfX2NhcHRpb24sXG4uc2xpZGVfX2xpbmsge1xuICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZ2VfX3RpdGxlIHtcbiAgLy8gbWFyZ2luOiAwIDAgMi41cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cbn1cblxuLmJsb2NrLS1zaXRlLW5vdGlmaWNhdGlvbixcbi5ibG9jay0tZW1lcmdlbmN5LFxuLmJsb2NrLS13YXJuaW5nLFxuLnNpdGUtZm9vdGVyIC5ibG9jay1tZW51IGgxLFxuLnNpdGUtbWFzdGhlYWQsXG4uc2l0ZS1mb290ZXIsXG4uc2xpZGVfX2xpbmsge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiAgYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYmxvY2stLXNpdGUtbm90aWZpY2F0aW9uLFxuLmJsb2NrLS1lbWVyZ2VuY3ksXG4uYmxvY2stLXdhcm5pbmcge1xuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zbGlkZV9fbGluayBhIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5hLmJ0bjpsaW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5oMSxcbi5idG4sXG4uZWxpYnJhcnktLXRpdGxlLFxuLm1lbnUtLW1haW4sXG4ubWVudS0tZm9vdGVyLFxuLnBhZ2VfX3RpdGxlLFxuLnVsdGltZW51X19pdGVtIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNpdGUtZm9vdGVyIGgxLFxuaDIsIGgzIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnVsdGltZW51X19pdGVtIHtcbiAgLm5hdi1pdGVtIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbn1cblxuLm1lbnUtLW1haW4sXG4ubWVudS0tZm9vdGVyIHtcbiAgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiAgfVxufVxuXG5mb290ZXIuc2l0ZS1mb290ZXIge1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbn1cblxuLmVsaWJyYXJ5LS1zZWFyY2gtaXRlbSB7XG4gIC5maWVsZF9fbGFiZWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cblxuLnRleHQtLSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAmMXgge1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG4gICYyeCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgZm9udC1zaXplOiAyMDAlO1xuICAgIH1cbiAgICBmb250LXdlaWdodDogODAwO1xuICB9XG59XG5cbi5idG4tbW9kYWwge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sge1xuICBoMSwgaDIsIGgzLCBoNCB7XG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuLy9cbi8vIExpc3RzXG4vL1xuLmRvY3VtZW50LS1zZXQge1xuICBkbCBkdCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxufVxuXG4vL1xuLy8gU21hbGxlciBGb250LXNpemVcbi8vXG4uc3RhbmRhbG9uZSB7XG4gIC5ibG9jay0tc2l0ZS1ub3RpZmljYXRpb24gcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuYmxvY2stLXNpdGUtbm90aWZpY2F0aW9uIHAsXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxufVxuXG5zbWFsbCB7XG4gICYuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG4gICYuc21hbGxlciB7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gIH1cbn1cblxuc3ViIHtcbiAgJi5zdWJzZXQge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG59XG5cbnN1cCB7XG4gICYuc3VwZXJzZXQge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG59XG5cbi8vIEN1c3RvbSB0eXBlIHRyZWF0bWVudHNcblxuLnNsaWRlX19jb250ZW50IGgyLFxuLnNsaWRlX19oZWFkbGluZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjI1cmVtKTtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KDN2dywgMXJlbSwgMS4yNXJlbSk7XG59XG5cbi5ob21lcGFnZS1zbGlkZSAuc2xpZGVfX2hlYWRsaW5lIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KDN2dywgMS4zMzNlbSwgMS41ZW0pO1xuICAmLmhlYWRsaW5lX19sYXJnZSB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KDN2dywgMS43MzNlbSwgM2VtKTtcbiAgfVxuICAmLmhlYWRsaW5lX19tZWRpdW0ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCgzdncsIDEuNmVtLCAyZW0pO1xuICB9XG4gICYuaGVhZGxpbmVfX3NtYWxsIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoM3Z3LCAxLjMzM2VtLCAxLjVlbSk7XG4gIH1cbn1cblxuLmp1bWJvdHJvbiBoMSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCgzdncsIDEuNzMzZW0sIDNlbSk7XG4gICYuaGVhZGxpbmVfX2xhcmdlIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoM3Z3LCAxLjczM2VtLCAzZW0pO1xuICB9XG4gICYuaGVhZGxpbmVfX21lZGl1bSB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KDN2dywgMS42ZW0sIDJlbSk7XG4gIH1cbiAgJi5oZWFkbGluZV9fc21hbGwge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCgzdncsIDEuMzMzZW0sIDEuNWVtKTtcbiAgfVxufVxuXG5oMSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCgzdncsIDEuNmVtLCAyZW0pO1xufVxuXG4ubGFuZGluZ19faGVybyB7XG4gIC5oZXJvX19jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoM3Z3LCAxZW0sIDEuMmVtKTtcbiAgfVxufVxuXG4vLyBDYW1wYWlnbiBMYW5kaW5nIFBhZ2Vcbi5jYW1wYWlnbl9faGVybyB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgaDEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuICAuaGVyb19faGVhZGxpbmUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzcmVtKTtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoM3Z3LCAycmVtLCAzcmVtKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5oZXJvX19jYXB0aW9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gIH1cbn1cbi5ieS10aGUtbnVtYmVycy1jYW1wYWlnbiB7XG4gLm51bWJlcnNfX3ZhbHVlIHtcbiAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XG4gICBmb250LXNpemU6IDM2cHg7XG4gICBmb250LXNpemU6IDIuNHJlbTtcbiAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gfVxuIC5udW1iZXJzX19kZXRhaWwge1xuICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgcGFkZGluZzogMCAxcmVtO1xuIH1cbn1cblxuLy8gUHJvZ3JhbSBMYW5kaW5nIFBhZ2Vcbi5ub2RlLS10eXBlLXByb2dyYW0tbGFuZGluZy1wYWdlIHtcbiAgLmNhcmQtLXRpdGxlLFxuICAuY2Fyb3VzZWxfX2hlYWRlcixcbiAgLmZlYXR1cmVkX19oZWFkZXIsXG4gIC5taXNzaW9uX19oZWFkZXIge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCgzdncsIDEuNmVtLCAxLjg2NmVtKTtcbiAgfVxuICAuY2Fyb3VzZWwtdGV4dCxcbiAgLm1pc3Npb25fX3N1bW1hcnkge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCgzdncsIDFlbSwgMS4yZW0pO1xuICB9XG59XG5cbi5tZW51X19oZWFkZXIge1xuICBAaW5jbHVkZSBmb250LXNpemUoMTVweCk7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCgzdncsIDFlbSwgMS4yZW0pO1xufVxuXG4uY2FwdGlvbiA+IGZpZ2NhcHRpb24sXG5maWdjYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5ibG9jay0tc2l0ZS1ub3RpZmljYXRpb24ge1xuICAuYWxlcnQtY29udGVudCBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vL1xuLy8gQnkgdGhlIE51bWJlcnMgU2VjdGlvbnNcbi8vXG4udmlldy1ieS10aGUtbnVtYmVycyB7XG4gIC52aWV3cy1maWVsZCB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudmlld3MtZmllbGQtZmllbGQtdmFsdWUgIHtcbiAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICB9XG4gIC52aWV3cy1maWVsZC1maWVsZC1sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgfVxufVxuXG4vLyBVc2VyIEFnZW50IENTUyBIYWNrXG5cbi5wYWdlIHVsLm5hdiB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbnAuYWRkcmVzcyB7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbn1cblxucC5kYXRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMS4yNXJlbSAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuYSB7XG4gIHN2Zy5leHQge1xuICAgIG1hcmdpbi1sZWZ0OiAuMjVyZW07XG4gIH1cbn1cblxuLmJ0biB7XG4gIC5leHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vV2ViZm9ybXNcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuY29sLWF1dG8ge1xuICBwYWRkaW5nOiAwO1xufVxuXG5maWVsZHNldC53ZWJmb3JtLWNvbXBvc2l0ZS1oaWRkZW4tdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ud2ViZm9ybS1idXR0b24tLXN1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHdpZHRoOiAxMDBweDtcbn1cblxuLndlYmZvcm0tY29tcG9zaXRlLXZpc2libGUtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ud2ViZm9ybS1jb21wb3NpdGUtdmlzaWJsZS10aXRsZSBsZWdlbmQge1xuICBmb250LXNpemU6IDFyZW07XG59XG4vLyBSZW1vdmUgaG9uZXlwb3QgZmllbGRcbmZpZWxkc2V0LmZvcm0taXRlbS1lbWFpbC1vZi1kZXB0LWJ1aXNzLW9yZyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iLCIubm9kZS0tdHlwZS1jYW1wYWlnbi1sYW5kaW5nLXBhZ2UgLm5vZGVfX2NvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uY29sLWNlbnRlcmVkIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uYnRuLXJlZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4NTE0MTY7XG59XG5cbi5maWVsZC0tbmFtZS1maWVsZC1maXJzdC1yb3ctY29udGVudCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjE2LDIxNiwyMTYsMC42KTtcbn1cblxuLmNhbXBhaWduX19zZWNvbmQge1xuICAvLyBiYWNrZ3JvdW5kOiByZ2JhKDIxNiwyMTYsMjE2LDAuNik7XG4gIC5maWVsZC0tbmFtZS1maWVsZC10aXRsZSB7XG4gICAgY29sb3I6ICMxNTM5NkM7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAudmlkZW8tZW1iZWQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLXZpZGVvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG4uY2FyZC1zZXQge1xuICAvLyBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgLmNhcmQtcGFyYWdyYXBoIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLXNldC1oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMTUzOTZDO1xuICBmb250LXNpemU6IDMycHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbmgyIHtcbiAgJi50aWxlLXRpdGxlIHtcbiAgICBjb2xvcjogIzE1Mzk2QztcbiAgfVxufVxuXG4uY2FtcGFpZ25fX2NhcmQtaW1hZ2Uge1xuICAuZmllbGQtLXR5cGUtaW1hZ2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4uY2FtcGFpZ25fX2NhcmQtdGl0bGUge1xuICBjb2xvcjogIzFDNkRBNjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICAvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FtcGFpZ25fX3RoaXJkIHtcbiAgYmFja2dyb3VuZDogIzE0Mzk2QztcbiAgY29sb3I6IHdoaXRlO1xuICAuZmllbGQtLXR5cGUtaW1hZ2Uge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBwIHtcbiAgICBhOmxpbmsge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG4gIGEuYnRuLXJlZDpsaW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAucGFyYWdyYXBoLS10eXBlLS1jYXJkLXNlY3Rpb24tMyxcbiAgLnBhcmFncmFwaC0tdHlwZS0tY2FyZC1zZWN0aW9uLTQge1xuICAgIC5jYXJkLWJvZHkge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWNhbXBhaWduLWNhcm91c2VsLWl0ZW0ge1xuICAgIGNvbG9yOiAjMzQzYTQwO1xuICAgIGEge1xuICAgICAgJjpsaW5rIHtcbiAgICAgICAgY29sb3I6ICMxODYzOUY7O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMDUyODM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICM2NTMxOGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuYS5idG4tcmVkOmxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jYW1wYWlnbl9fcHJvbW8taGVhZGVyIHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDMycHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5jYW1wYWlnbl9fZm91cnRoIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMTYsMjE2LDIxNiwwLjYpO1xuICAvLyBwYWRkaW5nOiA0MHB4IDA7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgICAvLyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgIC5jYW1wYWlnbl9fYmxvY2sgLmJsb2NrLWltYWdlLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiAgICB9XG4gICAgLmNhcmQge1xuICAgICAgLy8gYm9yZGVyOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC8vIHBhZGRpbmc6IDQwcHggMCAwO1xuICB9XG59XG5cbi5jYXJkLXNldCAuY2FyZC1ib2R5IHtcbiAgLy8gbWluLWhlaWdodDogMTQwcHg7XG4gIC8vIG1pbi1oZWlnaHQ6IDExMnB4O1xufVxuXG4uYmxvY2stc2V0LWhlYWRlciB7XG4gIGNvbG9yOiAjMTUzOTZDO1xuICBmb250LXNpemU6IDMycHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5ibG9jay1pbWFnZS13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI0U0RUVGNDtcbn1cblxuLmNhbXBhaWduX19wcm9tby1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4uY2FtcGFpZ25fX3RoaXJkIHtcbiAgLy8gcGFkZGluZzogMzBweCAwO1xuICAuZmllbGQtLXR5cGUtaW1hZ2Uge1xuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgfVxuICBoMSwgaDIge1xuICAgICYuYmxvY2tfX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAjRkZGO1xuICAgIH1cbiAgfVxufVxuXG4uY2FtcGFpZ25fX2Jsb2NrIHtcbiAgaDEge1xuICAgIGNvbG9yOiAjMUM2REE2O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYTpsaW5rLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzFDNkRBNjtcbiAgICB9XG4gICAgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwNTI4MztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmJsb2NrLWltYWdlLXdyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IDEzNHB4O1xuICB9XG5cbn1cblxuLmNhbXBhaWduX19ibG9jayB7XG4gIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogOS4yNXJlbTtcbiAgfVxuICAuZmllbGQtLXR5cGUtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5ibG9jay1pbWFnZS13cmFwcGVyIHtcbiAgLmZpZWxkLS10eXBlLWltYWdlIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLmhlcm9fX2NhbGxvdXQge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5jYW1wYWlnbl9fZmlmdGgge1xuICAvLyBwYWRkaW5nOiA1MHB4IDA7XG4gIC52aWRlby1lbWJlZCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5maWVsZC0tbmFtZS1maWVsZC1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gIH1cbiAgLy8gLmhlcm9fX2NhbGxvdXQge1xuICAvLyB9XG59XG5cbi5jYW1wYWlnbl9fbGluay1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgLy8gbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIGE6bGluayxcbiAgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogIzFDNkRBNjtcbiAgICAvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMDA1MjgzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmNhbXBhaWduX19saW5rLWxpc3QgbGk6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb250ZW50OiBcIlxcZjBkYVwiO1xuICAgIG1hcmdpbjowIDVweCAwIC0xNXB4O1xuICAgIGNvbG9yOiAjQUUxQjFCO1xufVxuXG4vL1xuLy8gQ2FtcGFpZ24gTGFuZGluZyBQYWdlXG4vL1xuLmNhbXBhaWduX19oZXJvIHtcbiAgcGFkZGluZzogMTI1cHggMDtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGgxIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgLmhlcm9fX2hlYWRsaW5lIHtcbiAgICAvLyBmb250LXNpemU6IDU4cHg7XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgcGFkZGluZzogMS41cmVtIDAgMXJlbTtcbiAgfVxufVxuXG4uYnRuLXJlZCB7XG4gIGJhY2tncm91bmQ6ICNBRTFBMUM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgJjp2aXNpdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjQUUxQTFDO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG4vLyBDYXJkIFNldCBMYXlvdXRcbi5jYXJkLXNldCB7XG4gIGE6aG92ZXIgaDEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWNhcmQtc2VjdGlvbi0zIHtcbiAgICAuY2FyZC1wYXJhZ3JhcGgge1xuICAgICAgd2lkdGg6IDIzLjI1cmVtO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uY2FtcGFpZ24tY2FyZCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uY2FtcGFpZ24tY2FyZCxcbi5jb2wtdGlsZSB7XG4gIC5tdWx0aWxpbmUtbGlua3MtbGlzdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5jYW1wYWlnbi1jYXJkIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tY2FtcGFpZ24tZmlmdGgtcm93IHtcbiAgICAuY29sLW1kLTYge1xuICAgICAgJiA+IC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY2FtcGFpZ25fX2Nhcm91c2VsIHtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vIENhbXBhaWduIENhcm91c2VsXG4uY2FtcGFpZ25fX2Nhcm91c2VsIHtcbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuc2xpY2stdHJhY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC5zbGlja19fc2xpZGUge1xuICAgIG1hcmdpbjogMCAuNzVyZW07XG4gIH1cbiAgLmNhbXBhaWduX19jYXJvdXNlbC1pdGVtIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICBtaW4taGVpZ2h0OiA0NDBweDtcbiAgICB9XG4gIH1cbiAgLnNsaWNrX19hcnJvdyB7XG4gICAgdG9wOiA0NSU7XG4gICAgLnNsaWNrLXByZXYge1xuICAgICAgbGVmdDogLjc1cmVtO1xuICAgIH1cbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogLjc1cmVtO1xuICAgIH1cbiAgfVxuICAuc2xpY2stYXJyb3cge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbiAgLnNsaWNrLXByZXYsIC5zbGljay1uZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDc1LCA4NiwgOTMsIDAuOSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgyMDMsIDExJSwgMzMlLCAwLjkpO1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzUsIDg2LCA5MywgMC45KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGhzbGEoMjAzLCAxMSUsIDMzJSwgMC45KTtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiA1MCUgNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG4gIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0MlM0Z4bWwgdmVyc2lvbj0nMS4wJyAlM0YlM0UlM0NzdmcgaGVpZ2h0PSczMicgaWQ9J2NoZXZyb24tbGVmdCcgdmlld0JveD0nMCAwIDMyIDMyJyB3aWR0aD0nMzInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzRkZGJyUzRSUzQ3BhdGggZD0nTTIwIDEgTDI0IDUgTDE0IDE2IEwyNCAyNyBMMjAgMzEgTDYgMTYgeicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuICAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDJTNGeG1sIHZlcnNpb249JzEuMCcgJTNGJTNFJTNDc3ZnIGhlaWdodD0nMzInIGlkPSdjaGV2cm9uLXJpZ2h0JyB2aWV3Qm94PScwIDAgMzIgMzInIHdpZHRoPSczMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNGRkYnJTNFJTNDcGF0aCBkPSdNMTIgMSBMMjYgMTYgTDEyIDMxIEw4IDI3IEwxOCAxNiBMOCA1IHonLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbn1cbi8vIENhbXBhaWduIEJ5IFRoZSBOdW1iZXJzXG4ucGFyYWdyYXBoLS10eXBlLS1ieS10aGUtbnVtYmVycy1ub2RlLXJlZmVyZW5jZSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5pbmRpY2F0b3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAuaW5kaWNhdG9yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJ0bi1vdXRsaW5lLWxpZ2h0IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAuYXJyb3ctcmlnaHQtbGlnaHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0MlM0Z4bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnJTNGJTNFJTNDIS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjQuMC4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAtLSUzRSUzQ3N2ZyB2ZXJzaW9uPScxLjEnIGlkPSdMYXllcl8xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB4PScwcHgnIHk9JzBweCcgdmlld0JveD0nMCAwIDI0LjMgNDQuNScgc3R5bGU9J2VuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjQuMyA0NC41OycgeG1sOnNwYWNlPSdwcmVzZXJ2ZSclM0UlM0NzdHlsZSB0eXBlPSd0ZXh0L2NzcyclM0UgLnN0MCU3QmZpbGw6JTIzRkZGRkZGOyU3RCUwQSUzQy9zdHlsZSUzRSUzQ3BvbHlnb24gY2xhc3M9J3N0MCcgcG9pbnRzPScyLjEsMCAwLDIuMSAyMC4yLDIyLjIgMCw0Mi40IDIuMSw0NC41IDI0LjMsMjIuMiAnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb250ZW50OlwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTVweDtcbiAgICB3aWR0aDogOHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDFweDtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICAuYXJyb3ctcmlnaHQtbGlnaHQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQyUzRnhtbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSd1dGYtOCclM0YlM0UlM0MhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNC4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApIC0tJTNFJTNDc3ZnIHZlcnNpb249JzEuMScgaWQ9J0xheWVyXzEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHg9JzBweCcgeT0nMHB4JyB2aWV3Qm94PScwIDAgMjQuMyA0NC41JyBzdHlsZT0nZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyNC4zIDQ0LjU7JyB4bWw6c3BhY2U9J3ByZXNlcnZlJyUzRSUzQ3N0eWxlIHR5cGU9J3RleHQvY3NzJyUzRSAuc3QwJTdCZmlsbDolMjMwMTAxMDE7JTdEJTBBJTNDL3N0eWxlJTNFJTNDcG9seWdvbiBjbGFzcz0nc3QwJyBwb2ludHM9JzIuMSwwIDAsMi4xIDIwLjIsMjIuMiAwLDQyLjQgMi4xLDQ0LjUgMjQuMywyMi4yICcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICB9XG4gIH1cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgfVxuICAmOnZpc2l0ZWQ6aG92ZXIge1xuICAgIGNvbG9yOiAjMjEyNTI5O1xuICB9XG59XG5cbi8vIENhbXBhaWduIEZlYXR1cmVkIFRvcCBTZWN0aW9uXG4ucGFyYWdyYXBoLS10eXBlLS1jYW1wYWlnbi1mZWF0dXJlZC1zbGlkZXNob3csXG4ucGFyYWdyYXBoLS10eXBlLS1jYW1wYWlnbi1hbGVydHMtc2xpZGVzaG93LFxuLnBhcmFncmFwaC0tdHlwZS0tY2FtcGFpZ24taGVyby1zbGlkZXNob3cge1xuICAuc2xpY2stLWZpZWxkLWNhbXBhaWduLWFsZXJ0LXNsaWRlLFxuICAuc2xpY2stLWZpZWxkLWNhbXBhaWduLWhlcm8tc2xpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuc2xpY2sge1xuICAgIC5zbGljay1kb3RzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTJyZW07XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgYXBwZWFyYW5jZTogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuc2xpY2tfX2Fycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLnNsaWNrLXByZXYge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbiAgJHNsaWNrLWFycm93LWJnOiByZ2JhKDc1LCA4NiwgOTMsIDAuOSk7XG4gICRzbGljay1hcnJvdy1iZzogaHNsYSgyMDMsIDExJSwgMzMlLCAwLjkpO1xuICAuc2xpY2stcHJldiwgLnNsaWNrLW5leHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzUsIDg2LCA5MywgMC45KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDIwMywgMTElLCAzMyUsIDAuOSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2xpY2stYXJyb3ctYmcsIDEwJSk7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLXByZXYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0MlM0Z4bWwgdmVyc2lvbj0nMS4wJyAlM0YlM0UlM0NzdmcgaGVpZ2h0PSczMicgaWQ9J2NoZXZyb24tbGVmdCcgdmlld0JveD0nMCAwIDMyIDMyJyB3aWR0aD0nMzInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzRkZGJyUzRSUzQ3BhdGggZD0nTTIwIDEgTDI0IDUgTDE0IDE2IEwyNCAyNyBMMjAgMzEgTDYgMTYgeicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gIC5zbGljay1uZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDJTNGeG1sIHZlcnNpb249JzEuMCcgJTNGJTNFJTNDc3ZnIGhlaWdodD0nMzInIGlkPSdjaGV2cm9uLXJpZ2h0JyB2aWV3Qm94PScwIDAgMzIgMzInIHdpZHRoPSczMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNGRkYnJTNFJTNDcGF0aCBkPSdNMTIgMSBMMjYgMTYgTDEyIDMxIEw4IDI3IEwxOCAxNiBMOCA1IHonLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc5QzA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzE1Mzk2YztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGhlaWdodDogMTJweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oIzE1Mzk2YywgNSUpO1xuICAgIH1cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjMTUzOTZjLCA1JSk7XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1Mzk2YztcbiAgICBvcGFjaXR5OiAxMDAlO1xuICB9XG5cbiAgcGFkZGluZzogMCAwIDJyZW07XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLWZlYXR1cmVkLXRvcC1odG1sIHtcbiAgLmZpZWxkLS10eXBlLWJvb2xlYW4uZmllbGQtLWxhYmVsLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1jYW1wYWlnbi1hbGVydHMtc2xpZGVzaG93IHtcbiAgaW1nIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1jYW1wYWlnbi1mZWF0dXJlZC1zbGlkZXNob3cge1xuICAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmZpZWxkLS10eXBlLWltYWdlIGltZyB7XG4gICYuaW1hZ2Utc3R5bGUtc2ltcGxlLWljb24ge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLnBhcmFncmFwaC0tdHlwZS0taWNvbnMtc2VjdGlvbi1vbmUtcm93IHtcbiAgLnNpbXBsZS1pY29uLWltZyxcbiAgLnNpbXBsZS1pY29uLWltZyBpbWcge1xuICAgIGhlaWdodDogNzVweDtcbiAgfVxufVxuLnBhcmFncmFwaC0tdHlwZS0taWNvbnMtc2VjdGlvbi1vbmUtcm93LXN0YWNrIHtcbiAgLnNpbXBsZS1pY29uLWltZyxcbiAgLnNpbXBsZS1pY29uLWltZyBpbWcge1xuICAgIGhlaWdodDogNTBweDtcbiAgfVxufVxuIiwiLy8gSUUgRml4IGZvciBIZWFkZXIvVWx0aW1lbnVcblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcblx0aHRtbCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHR9XG5cdCNoZWFkZXIgLmNvbnRhaW5lciB7XG4gICAgXHR0cmFuc2Zvcm06IHNjYWxlKC45MCk7XG4gICAgXHR0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgXHRtYXJnaW4tYm90dG9tOiAtN3B4O1xuXHRcdFx0ei1pbmRleDogOTk5O1xuXHR9XG59XG4iLCIvLyBcbi8vICBEYXRhIEV4cG9ydCBGZWVkXG4vLyBcbi5mZWVkLWljb24ge1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZzogMCAwIDAgMDtcbn1cblxuLmZlZWQtaWNvbiArIC5mZWVkLWljb24ge1xuICBtYXJnaW4tbGVmdDogLjc1cmVtO1xufVxuLmZwb19leHBvcnQge1xuICAgIC5mZWVkLWljb24ge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjc1cmVtIDEuNzVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgJi5pY29uX19leGNlbCB7XG4gICAgICAgIHdpZHRoOiAxMC4yNXJlbTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMnJlbTtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDJTNGeG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J3V0Zi04JyUzRiUzRSUzQyEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjEuMiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgLS0lM0UlM0NzdmcgdmVyc2lvbj0nMS4xJyBpZD0nTGF5ZXJfMScgeG1sbnM6c2tldGNoPSdodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHg9JzBweCcgeT0nMHB4JyB2aWV3Qm94PScwIDAgMTggMTgnIHN0eWxlPSdlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE4IDE4OycgeG1sOnNwYWNlPSdwcmVzZXJ2ZSclM0UlM0NzdHlsZSB0eXBlPSd0ZXh0L2NzcyclM0UgLnN0MCU3QmZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6JTIzMDg3NDNCOyU3RCUwQSUzQy9zdHlsZSUzRSUzQ2Rlc2MlM0UlM0MvZGVzYyUzRSUzQ2cgaWQ9J1BhZ2UtMSclM0UlM0NnIGlkPSdDb3JlJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMjEzLjAwMDAwMCwgLTE3MS4wMDAwMDApJyUzRSUzQ2cgaWQ9J2RyaXZlLW1zLWV4Y2VsJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgyMTMuMDAwMDAwLCAxNzEuMDAwMDAwKSclM0UlM0NwYXRoIGlkPSdTaGFwZScgY2xhc3M9J3N0MCcgZD0nTTE2LDBIMkMwLjksMCwwLDAuOSwwLDJ2MTRjMCwxLjEsMC45LDIsMiwyaDE0YzEuMSwwLDItMC45LDItMlYyQzE4LDAuOSwxNy4xLDAsMTYsMEwxNiwweiBNMTMuMiwxNGgtMkw5LDEwLjJMNi44LDE0aC0yTDgsOUw0LjgsNGgyTDksNy44TDExLjIsNGgyTDEwLDlMMTMuMiwxNEwxMy4yLDE0eicvJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIH1cbiAgICAgICYuaWNvbl9fcnNzIHtcbiAgICAgICAgd2lkdGg6IDEuNzVyZW07XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0MlM0Z4bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnJTNGJTNFJTNDIS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjQuMS4yLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAtLSUzRSUzQ3N2ZyB2ZXJzaW9uPScxLjEnIGlkPSdMYXllcl8xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB4PScwcHgnIHk9JzBweCcgdmlld0JveD0nMCAwIDI4IDI4JyBzdHlsZT0nZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyOCAyODsnIHhtbDpzcGFjZT0ncHJlc2VydmUnJTNFJTNDc3R5bGUgdHlwZT0ndGV4dC9jc3MnJTNFIC5zdDAlN0JmaWxsOiUyM0YyNjUyMjslN0QlMEElM0Mvc3R5bGUlM0UlM0NnIGlkPSdGZWVkcyclM0UlM0NwYXRoIGNsYXNzPSdzdDAnIGQ9J00yNC41LDI4aC0yMWMtMC45LDAtMS44LTAuMy0yLjUtMWMtMC43LTAuNy0xLTEuNi0xLTIuNXYtMjFDMCwyLjYsMC4zLDEuNywxLDFjMC43LTAuNywxLjYtMSwyLjUtMWgyMSBjMC45LDAsMS44LDAuMywyLjUsMWMwLjcsMC43LDEsMS42LDEsMi41djIxQzI4LDI2LjQsMjYuNCwyOCwyNC41LDI4eiBNNS4xLDQuNXYzLjZjMi40LDAuMyw0LjgsMSw2LjksMi4yIGMwLjksMC42LDEuNywxLjIsMi41LDEuOWMwLjksMC44LDEuNywxLjcsMi4zLDIuNmMwLjcsMS4xLDEuMywyLjMsMS44LDMuNmMwLjUsMS41LDAuOCwzLjEsMC45LDQuNmgzLjRjMC0zLjEtMC42LTYuMS0xLjktOC45IGMtMC42LTEuMi0xLjMtMi4zLTIuMS0zLjRjLTAuOS0xLjItMi0yLjItMy4yLTNjLTEuNC0wLjktMi45LTEuNy00LjUtMi4yQzkuMyw1LDcuMiw0LjYsNS4xLDQuNXogTTUuMSwxNC40YzEuNCwwLjIsMi43LDAuNiw0LDEuMiBjMC41LDAuMywxLDAuNywxLjUsMS4xYzAuNSwwLjUsMC45LDEsMS4zLDEuNmMwLjQsMC43LDAuOCwxLjQsMSwyLjFjMC4zLDAuOSwwLjQsMS44LDAuNSwyLjhoMy40YzAtMi4xLTAuNS00LjEtMS40LTYgYy0wLjQtMC44LTAuOS0xLjUtMS40LTIuMmMtMC42LTAuOC0xLjMtMS40LTIuMS0yYy0wLjktMC43LTEuOS0xLjItMy0xLjZjLTEuMy0wLjQtMi42LTAuNi0zLjktMC43TDUuMSwxNC40eiBNNy43LDIzLjIgYzEuNCwwLDIuNi0xLjIsMi42LTIuNmMwLTAuNy0wLjMtMS4zLTAuOC0xLjhjLTEtMS0yLjYtMS0zLjYsMGMwLDAsMCwwLDAsMGMtMSwxLTEsMi42LTAuMSwzLjZjMCwwLDAsMCwwLjEsMC4xIEM2LjQsMjIuOSw3LDIzLjIsNy43LDIzLjJ6Jy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gICAgICB9XG4gICAgICAmLmljb25fX2pzb24ge1xuICAgICAgICB3aWR0aDogMTAuMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDJyZW07XG4gICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL2N1c3RvbS9tb2RhbC9pbWFnZXMvYXNzZXRzL2pzb24tZmlsZS5zdmcnKTtcbiAgICAgICAgLy8gYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgfVxuICAgICAgJi5pY29uX19jc3Z7XG4gICAgICAgIHdpZHRoOiAxMC4yNXJlbTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMnJlbTtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90aGVtZXMvY3VzdG9tL21vZGFsL2ltYWdlcy9hc3NldHMvY3N2LWZpbGUuc3ZnJyk7XG4gICAgICAgIC8vIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIH1cbiAgICAgICYuaWNvbl9feG1se1xuICAgICAgICB3aWR0aDogMTAuMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDJyZW07XG4gICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL2N1c3RvbS9tb2RhbC9pbWFnZXMvYXNzZXRzL3htbC1maWxlLnN2ZycpO1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB9XG4gICAgfVxuICB9IiwiLy8gZm9yIHRoZSByZWd1bGF0aW9ucyBzZWN0aW9uc1xuXG4ucmVndWxhdGlvbnMtc2VjdGlvbnMtcGFnZS13cmFwcGVyIHtcbiAgICAvLyBIaWRlIHRoZSBkZWZhdWx0IHRheG9ub215IHRlcm0gdmlld1xuICAgIC52aWV3LXRheG9ub215LXRlcm0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIHN0eWxlcyB0byB0aGUgYmxvY2sgb24gdGhpcyBwYWdlIGZvciBndWlkZW5jZSBub2Rlc1xuICAgIC52aWV3LWd1aWRhbmNlLWZvci10aGlzLXJlZ3VsYXRpb24tc2VjdGlvbiB7XG5cbiAgICAucGFyYWdyYXBoe1xuICAgIFx0YmFja2dyb3VuZC1jb2xvcjokd2hpdGVzbW9rZTtcbiAgICBcdHBhZGRpbmc6MTBweDtcbiAgICBcdG1hcmdpbjoxMHB4O1xuICAgICAgICAvLyBRdWVzdGlvbiBOdW1iZXJcbiAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLW9yZGVyLW51bWJlciB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBRdWVzdGlvbiBCb2R5XG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1xdWVzdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbnN3ZXJcbiAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIC5maWVsZF9fbGFiZWwge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maWVsZF9faXRlbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxufSIsIi8qKlxuKiBAZmlsZVxuKiBUaGVtZSBzdHlsaW5nIGZvciBGbGV4aWJsZSBMYW5kaW5nIFBhZ2UgTm9kZXNcbiovXG4ubm9kZS0tdHlwZS1mbGV4aWJsZS1sYW5kaW5nLXBhZ2Uge1xuICAgIC8vIC9jaGFuZ2luZyBtb2RhbCB0aGVtZSBiZWhhdmlvciBvZiBmbG9hdGluZyBhbGwgaW1hZ2VzIGxlZnRcbiAgICAuZmllbGQtLXR5cGUtaW1hZ2Uge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS1MQU5ESU5HIFBBR0UgU0xJREVTSE9XUy0tLS0tLS0tLS0tLS0tLS1cbiAgICAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2Utc2xpZGVzaG93IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5sYW5kaW5nLXNsaWRlLWltYWdlIHtcbiAgICAgICAgICAgIGhlaWdodDogNjB2aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGlkZV9fY29udGVudCBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpZGVfX2NvbnRlbnQgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpZGVfX2NhcHRpb24ge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubGFuZGluZy1wYWdlLXNsaWRlIC5oZXJvX190ZXh0X2ZpbHRlciB7XG4gICAgICAgICAgICB6LWluZGV4OiA0MDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIH1cblxuICAgICAgICAubGFuZGluZy1wYWdlLXNsaWRlIFt0YWJpbmRleD1cIi0xXCJdLFxuICAgICAgICAubGFuZGluZy1wYWdlLXNsaWRlIFt0YWJpbmRleD1cIjBcIl0sXG4gICAgICAgIC5sYW5kaW5nLXBhZ2Utc2xpZGUgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAvLyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgLy8gb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IGRvdHRlZCB5ZWxsb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2tfX2Fycm93IHtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogNDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMy4xMjVyZW07XG5cbiAgICAgICAgICAgICY6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLXByZXYsIC5zbGljay1uZXh0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzUsIDg2LCA5MywgMC45KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhzbGEoMjAzLCAxMSUsIDMzJSwgMC45KTtcblxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDc1LCA4NiwgOTMsIDAuOSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgyMDMsIDExJSwgMzMlLCAwLjkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDUwJSA1MCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stcHJldjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0MlM0Z4bWwgdmVyc2lvbj0nMS4wJyAlM0YlM0UlM0NzdmcgaGVpZ2h0PSczMicgaWQ9J2NoZXZyb24tbGVmdCcgdmlld0JveD0nMCAwIDMyIDMyJyB3aWR0aD0nMzInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzRkZGJyUzRSUzQ3BhdGggZD0nTTIwIDEgTDI0IDUgTDE0IDE2IEwyNCAyNyBMMjAgMzEgTDYgMTYgeicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1uZXh0OjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQyUzRnhtbCB2ZXJzaW9uPScxLjAnICUzRiUzRSUzQ3N2ZyBoZWlnaHQ9JzMyJyBpZD0nY2hldnJvbi1yaWdodCcgdmlld0JveD0nMCAwIDMyIDMyJyB3aWR0aD0nMzInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzRkZGJyUzRSUzQ3BhdGggZD0nTTEyIDEgTDI2IDE2IEwxMiAzMSBMOCAyNyBMMTggMTYgTDggNSB6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLS1za2luLS1jbGFzc2ljIC5zbGlkZV9fY2FwdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0qKioqKioqKioqKioqKioqKioqLS0tLS0tLS0tLS0tLS0tRkxFWElCTEUgTEFZT1VUIFBBUkFHUkFQSCBTVFlMRVMtLS0tLS0tLS0tLS0tLSoqKioqKioqKioqKioqXG4gICAgLnBhcmFncmFwaCB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLUxBTkRJTkcgUEFHRSBDQUxMIFRPIEFDVElDT05TIC0tLS0tLS0tLS0tLS0tLS1cbiAgICAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtY2FsbC10by1hY3Rpb24tc2VjdCB7XG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJlbTtcblxuICAgICAgICAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtY2FsbC10by1hY3Rpb24ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jdGEtaW1hZ2Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuXG4gICAgICAgICAgICAgICAgLmZpZWxkX19pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2xhdGVncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS1MQU5ESU5HIFBBR0UgQ0FST1VTRUwgU0VDVElPTlMtLS0tLS0tLS0tLS0tLS0tXG4gICAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWNhcm91c2VsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtY2Fyb3VzZWwtaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IC41ZW07XG5cbiAgICAgICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAgICAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMjJweDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY2FyZF9fb3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxQzZEQTY7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0IDBzO1xuICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0IDBzO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwcztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAuY2FyZF9fb3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNhcmRfX292ZXJsYXlfY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIC5jYXJkX19vdmVybGF5X2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZhZGVpbi10b3Age1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDIwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2tfX2Fycm93IHtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNjAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiA0MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stYXJyb3cge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcblxuICAgICAgICAgICAgJjpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stcHJldiwgLnNsaWNrLW5leHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3NSwgODYsIDkzLCAwLjkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgyMDMsIDExJSwgMzMlLCAwLjkpO1xuXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzUsIDg2LCA5MywgMC45KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDIwMywgMTElLCAzMyUsIDAuOSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogNTAlIDUwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQyUzRnhtbCB2ZXJzaW9uPScxLjAnICUzRiUzRSUzQ3N2ZyBoZWlnaHQ9JzMyJyBpZD0nY2hldnJvbi1sZWZ0JyB2aWV3Qm94PScwIDAgMzIgMzInIHdpZHRoPSczMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNGRkYnJTNFJTNDcGF0aCBkPSdNMjAgMSBMMjQgNSBMMTQgMTYgTDI0IDI3IEwyMCAzMSBMNiAxNiB6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDJTNGeG1sIHZlcnNpb249JzEuMCcgJTNGJTNFJTNDc3ZnIGhlaWdodD0nMzInIGlkPSdjaGV2cm9uLXJpZ2h0JyB2aWV3Qm94PScwIDAgMzIgMzInIHdpZHRoPSczMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNGRkYnJTNFJTNDcGF0aCBkPSdNMTIgMSBMMjYgMTYgTDEyIDMxIEw4IDI3IEwxOCAxNiBMOCA1IHonLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stLXNraW4tLWNsYXNzaWMgLnNsaWRlX19jYXB0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tTEFORElORyBQQUdFIEYgUEFUVEVSTiBTRUNUSU9OLS0tLS0tLS0tLS0tLS0tXG4gICAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWYtcGF0dGVybi1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNlbTtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC10ZXh0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiAxZW07XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2dyZXk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjRlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWYtcGF0dGVybi1jYXJkLWxpbmsge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuM2VtO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBzdGVlbGJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWxlZnQtZi1wYXR0ZXJuLWNhcmQge1xuICAgICAgICAgICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2FyZC10ZXh0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC10b3AtcmlnaHQtZi1wYXR0ZXJuLWNhcmQsXG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1ib3R0b20tcmlnaHQtZi1wYXR0ZXJuLWNhciB7XG4gICAgICAgICAgICAuY2FyZC1ib2R5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgICAgICAgICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IDQwJTtcbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jYXJkLXRleHQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IDU5JTtcbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1ib3R0b20tcmlnaHQtZi1wYXR0ZXJuLWNhciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWYtcGF0dGVybi1zZWN0aW9uIHtcbiAgICAgICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC10b3AtcmlnaHQtZi1wYXR0ZXJuLWNhcmQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLUxBTkRJTkcgUEFHRSBUQUdTIFNFQ1RJT04tLS0tLS0tLS0tLS0tLVxuICAgIC5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS10YWdzLXNlY3Rpb24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWxhbmRpbmctcGFnZS10YWdzIHtcbiAgICAgICAgICAgIC5maWVsZF9faXRlbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3OUMwO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDc5QzA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLUxBTkRJTkcgUEFHRSBDQVJEUyAgU0VDVElPTi0tLS0tLS0tLS0tLS0tXG5cbiAgICAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLWNhcmRzLXNlY3Rpb24ge1xuICAgICAgICAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLWNhcmQge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS1MQU5ESU5HIFBBR0UgRkVBVFVSRUQgVklERU8tLS0tLS0tLS0tLS0tLS0tXG4gICAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWZlYXR1cmVkLXZpZGVvLWJsb2Mge1xuICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtdG9wLXJpZ2h0LWYtcGF0dGVybi1jYXJkIHt9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tTEFORElORyBQQUdFIFNPQ0lBTCBNRURJQSBGRUVEUy0tLS0tLS0tLS0tLS0tLS1cbiAgICAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2Utc29jaWFsLW1lZGlhLWZlZWRzLSB7XG4gICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNSwgNjUsIDEyMCwgMC44KTtcblxuICAgICAgICAgICAgLmNvbnRhaW5lciB7fVxuICAgICAgICB9XG5cbiAgICAgICAgaDIubGFuZGluZy1wYWdlLXRpdGxlLFxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1zb2NpYWwtbWVkaWEtZW1iZWQtY29kZSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLUxBTkRJTkcgUEFHRSBNSVNTSU9OIFNUQVRFTUVOVC0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIGxldHMgbWFrZSB0aGUgaW1hZ2UgdGhlIHNhbWUgc2l6ZSBhcyBhIHlvdXR1YmUgdmlkZW9cblxuICAgIC5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctbWlzc2lvbi1zdGF0ZW1lbnQge1xuICAgICAgICAubWlzc2lvbl9faW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAycmVtIDA7XG5cbiAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDJlbTtcbiAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IDNlbTtcblxuICAgICAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLW1pc3Npb24taW1hZ2Uge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiA1OSU7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIC8vIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1pc3Npb25fX3N1bW1hcnkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS1MQU5ESU5HIFBBR0UgTUVOVSBTRUNUSU9OUy0tLS0tLS0tLS0tLS0tLS1cbiAgICAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtbWVudS1zZWN0aW9uIHtcbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLW9wYWNpdHk6IDAuODtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sYW5kaW5nLXBhZ2UtbWVudXMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAubWVudS1pbWFnZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFR3byBDb2x1bW4gTGF5b3V0IEFkanVzdG1lbnRzXG4gICAgLmxheW91dC0tdHdvY29sIHtcbiAgICAgICAgLnBhcmFncmFwaCB7XG4gICAgICAgICAgICAvLyBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDQwcmVtO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3Qge1xuICAgICAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgLnBhcmFncmFwaCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgLmxheW91dC0tdHdvY29sIHtcbiAgICAgICAgICAgIC5wYXJhZ3JhcGgge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGF5b3V0X19yZWdpb24tLWZpcnN0IHtcbiAgICAgICAgICAgICAgICAucGFyYWdyYXBoIHt9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ub2RlLS10eXBlLWZsZXhpYmxlLWxhbmRpbmctcGFnZSB7XG4gICAgLy8gLmYtY2FyZCBhIC5leHQge1xuICAgIC8vICAgZGlzcGxheTogbm9uZTtcbiAgICAvLyB9XG4gICAgLmYtY2FyZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgfVxuXG4gICAgLm5vZGUgLmZpZWxkLS10eXBlLWltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIDA7XG4gICAgfVxuXG4gICAgLm9yZGVyLWZpcnN0IC5mLWNhcmQge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItbGFzdCAuZi1jYXJkIHtcbiAgICAgICAgLmNhcmQtYm9keSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAuNXJlbTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwLjVyZW07XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNTlweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1OXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsYWNrX3NjaGVtZSxcbi5kYXJrX2dyZXlfc2NoZW1lLFxuLmxpZ2h0X2dyZXlfc2NoZW1lLFxuLmRhcmtfYmx1ZV9zY2hlbWUsXG4ubGlnaHRfYmx1ZV9zY2hlbWUsXG4ubWVkaXVtX2JsdWVfc2NoZW1lLFxuLndoaXRlX3NjaGVtZSB7XG4gICAgLmNhcmQtYm9keSB7XG4gICAgICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgIH1cbn1cblxuLy8gUGFyYWdyYXBoIExheW91dFxuLmxheW91dC0tdHdvY29sIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC5sYXlvdXRfX3JlZ2lvbiB7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLS10eXBlLWltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBUaGVtZSBzdHlsaW5nIGZvciBDb2xvciBTY2hlbWUgcGlja2VyIGZpZWxkc1xuICovXG5cbi8vIHZhcmlhYmxlcyAodXNlZCB0byBnZXQgdGhlIHRoZW1lIGNvbG9ycylcbkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcblxuLy8gY29sb3Igc2NoZW1lc1xuXG4ubGlnaHRfYmx1ZV9zY2hlbWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibHVlO1xuICAgIGNvbG9yOiAkdmVyeS1kYXJrLWJsdWU7XG5cbiAgICBib3JkZXItY29sb3IsIGEsIGgxLCBoMiwgaDMsIGg0LCBoNiB7XG4gICAgICAgIGNvbG9yOiAkdmVyeS1kYXJrLWJsdWU7XG4gICAgfVxuICAgICAgICAuY2FyZC1ib2R5LFxuICAgIC50ZXh0LS1taWQtZ3JheSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLm1lZGl1bV9ibHVlX3NjaGVtZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc3RlZWxibHVlO1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIGJvcmRlci1jb2xvciwgYSwgaDEsIGgyLCBoMywgaDQsIGg2IHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgIC5jYXJkLWJvZHksXG4gICAgLnRleHQtLW1pZC1ncmF5IHtcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uZGFya19ibHVlX3NjaGVtZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHZlcnktZGFyay1ibHVlO1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIGJvcmRlci1jb2xvciwgYSwgaDEsIGgyLCBoMywgaDQsIGg2IHtcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNhcmQtYm9keSxcbiAgICAudGV4dC0tbWlkLWdyYXkge1xuICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5ibGFja19zY2hlbWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICBib3JkZXItY29sb3IsIGEsIGgxLCBoMiwgaDMsIGg0LCBoNiB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAuY2FyZC1ib2R5LFxuICAgIC50ZXh0LS1taWQtZ3JheSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLndoaXRlX3NjaGVtZSB7fVxuXG4ubGlnaHRfZ3JleV9zY2hlbWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZXNtb2tlO1xuICAgIGNvbG9yOiAkZGFya3NsYXRlO1xuXG4gICAgYm9yZGVyLWNvbG9yLCBhLCBoMSwgaDIsIGgzLCBoNCwgaDYge1xuICAgICAgICBjb2xvcjogJGRhcmtzbGF0ZTtcbiAgICB9XG5cbiAgICBoMy5zcGVjaWFsLXRpdGxlIHtcbiAgICAgICAgY29sb3I6IHN0ZWVsYmx1ZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmRhcmtfZ3JleV9zY2hlbWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrc2xhdGU7XG4gICAgY29sb3I6IHdoaXRlO1xuXG4gICAgYm9yZGVyLWNvbG9yLCBhLCBoMSwgaDIsIGgzLCBoNCwgaDYge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgLmNhcmQtYm9keSxcbiAgICAudGV4dC0tbWlkLWdyYXkge1xuICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG59IiwiLyoqXG4gKiBAZmlsZVxuICogVGhlbWUgc3R5bGluZyBmb3IgbWljcm9zaXRlIGxhYmVsIGhlYWRlciBibG9ja1xuICovXG5cbi5taWNyb3NpdGUtbGFiZWwtaGVhZGVye1xuICAgIHBhZGRpbmc6MWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufSIsIi8vIFNpZGViYXIgQm9vayBOYXZpZ2F0aW9uXG4uYm9vay1ibG9ja3MtdG9jLWJvb2sge1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5ib29rLWJsb2Nrcy10b2MtcHJlZml4IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ib29rLWJsb2Nrcy10b2Mge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICAuYm9vay0tYWN0aXZlLXRyYWlsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG4gIGEge1xuICAgIGNvbG9yOiAjMDA1RUEyO1xuICB9XG4gIC5uYXYtaXRlbSBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IC43NXJlbTtcbiAgICBjb2xvcjogIzAwNUVBMjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAgIH1cbiAgfVxufVxuLmJvb2stYmxvY2tzLXRvYy1ib29rIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IC43NXJlbTtcbiAgICBjb2xvcjogIzAwNUVBMjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb250ZW50IEJvb2sgTmF2aWdhdGlvblxuLm5vZGUtLXR5cGUtYm9vay1jb3ZlciB7XG4gIC5ub2RlX2Jvb2tfX2NvbnRlbnQge1xuICAgIHVsLm5hdiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuLm5vZGVfYm9va19fY29udGVudCxcbiNjb250ZW50IHtcbiAgLmJvb2stbmF2aWdhdGlvbiAuYm9vay1wYWdlciB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICAvLyBhOnZpc2l0ZWQge1xuICAgIC8vICAgY29sb3I6ICMwMDVFQTI7XG4gICAgLy8gfVxuICAgIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgICB9XG4gICAgLmJvb2stcGFnZXJfX2l0ZW0tLXByZXZpb3VzIGEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJvb2stcGFnZXJfX2l0ZW0tLW5leHQgYSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IDNyZW0gMDtcbiAgICBwYWRkaW5nOiAwIDA7XG4gIH1cbn1cbi5ib29rLXBhZ2VyIHtcbiAgLmJvb2stcGFnZXJfX2l0ZW0tLWNlbnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYm9vay1wYWdlcl9faXRlbSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBhIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4uYm9vay1wYWdlcl9faXRlbS0tcHJldmlvdXMsXG4uYm9vay1wYWdlcl9faXRlbS0tbmV4dCB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5ib29rLXBhZ2VyX19pdGVtLS1wcmV2aW91cyxcbiAgLmJvb2stcGFnZXJfX2l0ZW0tLW5leHQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gQ29sbGFwc2libGUgQmxvY2tcbi5ub2RlLS10eXBlLWJvb2stY292ZXIsXG4ubm9kZS0tdHlwZS1ib29rIHtcbiAgLmZpZWxkLS1uYW1lLWJvZHkge1xuICAgIG1hcmdpbjogMCAwIDJyZW07XG4gIH1cbn1cblxuLm5vZGUtLXR5cGUtYm9vay1jb3Zlcixcbi5ub2RlLS10eXBlLWJvb2sge1xuICAucGFyYWdyYXBoLS12aWV3LW1vZGUtLWNvbGxhcHNpYmxlIHtcbiAgICBbZGF0YS10b2dnbGU9XCJjb2xsYXBzZVwiXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl06YWZ0ZXIge1xuICAgICAgYWxpZ24tc2VsZjogc2VsZi1zdGFydDtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTA3XCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBsaW5lYXIgMC4yNXM7XG4gICAgICB9XG4gICAgW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl0uY29sbGFwc2VkOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAubGVhZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAuNzVyZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBVcGRhdGVkIFVsdGltZW51IE92ZXJpZGVcblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMDc5Ljk4cHgpIHtcbiAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY29sbGFwc2U6bm90KC5zaG93KSB7IFxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5yZWdpb24tcHJpbWFyeS1tZW51LFxuICAgIC51bHRpbWVudV9fcmVnaW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTA3OS45OHB4KSB7XG4gICAgI2Jsb2NrLXVsdGltZW51LW1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufSAgICAgICBcblxuQG1lZGlhIChtaW4td2lkdGg6IDEwODBweCkge1xuICAgIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTA4MHB4KSB7XG4gICAgI2Jsb2NrLXVsdGltZW51LW1vYmlsZS1uYXZpZ2F0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDgwcHgpIHtcbiAgICAjaGVhZGVyIC5pcy11bHRpaG92ZXIgLnVpdGVtIHtcbiAgICAgICAgJjpudGgtbGFzdC1vZi10eXBlKDEpIC51bHRpbWVudV9fZmx5b3V0IHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmlzLXVsdGltZW51IC5pcy11bHRpaG92ZXI6bm90KC5pcy11bHRpY2FyZXQpIGxpIC51bHRpbWVudV9fZmx5b3V0OmZvY3VzLCBcbi5pcy11bHRpbWVudSAuaXMtdWx0aWhvdmVyOm5vdCguaXMtdWx0aWNhcmV0KSBsaTpob3ZlciA+IC51bHRpbWVudV9fZmx5b3V0LCBcbi5pcy11bHRpbWVudSAuaXMtdWx0aWhvdmVyOm5vdCguaXMtdWx0aWNhcmV0KSBsaSBhOmFjdGl2ZSArIC51bHRpbWVudV9fZmx5b3V0LCBcbi5pcy11bHRpbWVudSAuaXMtdWx0aWhvdmVyOm5vdCguaXMtdWx0aWNhcmV0KSBsaSBhOmZvY3VzICsgLnVsdGltZW51X19mbHlvdXQge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5ibG9jayAudWx0aW1lbnVfX2ZseW91dCAudWx0aW1lbnVfX3JlZ2lvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1Mzk2Yztcbn1cblxuLnVsdGltZW51LS1odGIuaXMtdWx0aWhvdmVyIC51bHRpbWVudV9fZmx5b3V0LCBcbi51bHRpbWVudS0taHRiLmlzLXVsdGlob3ZlciAudWx0aW1lbnVfX3JlZ2lvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmlzLXVsdGljYXJldC0tdHJpYW5nbGUgLnVsdGltZW51X19jYXJldCBpOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICNGRkY7XG59XG5cbi5pcy11bHRpY2FyZXQtLXRyaWFuZ2xlIC5pcy11bGluay1hY3RpdmUgLnVsdGltZW51X19jYXJldCBpOjphZnRlciAge1xuICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjRkZGO1xufVxuXG4udWx0aW1lbnVfX2NhcmV0IGk6OmJlZm9yZSwgXG4udWx0aW1lbnVfX2NhcmV0IGk6OmFmdGVyIHtcbiAgICBjb2xvcjogI0ZGRjtcbn1cblxuLnVsdGltZW51X19yZWdpb24ge1xuICAgIC5ibG9jay1tZW51IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5cbiNibG9jay11bHRpbWVudS1tb2JpbGUtbmF2aWdhdGlvbiB7XG4gICAgLnVsdGltZW51X19yZWdpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIH1cbn1cblxuLnVsdGltZW51IC51aXRlbSBhIHtcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3IgYXV0byAxcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIGh0bWwuaXMtdWx0aW1lbnUgLnVsdGltZW51ID4gbGksIFxuICAgIGh0bWwuaXMtdWx0aW1lbnUgLnVsdGltZW51IC51bHRpbWVudV9fbGluayB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsYUFBYTtBQ0FiLGVBQWU7QUNBZjs7Ozs7R0FLRztBa0pzQkgsT0FBTyxDQUFDLCtGQUFJO0E5RzNCWixBQUFBLEtBQUssQ0FBQztFQUdGLE1BQVcsQ0FBRSxRQUFDO0VBQWQsUUFBVyxDQUFFLFFBQUM7RUFBZCxRQUFXLENBQUUsUUFBQztFQUFkLE1BQVcsQ0FBRSxRQUFDO0VBQWQsS0FBVyxDQUFFLFFBQUM7RUFBZCxRQUFXLENBQUUsUUFBQztFQUFkLFFBQVcsQ0FBRSxRQUFDO0VBQWQsT0FBVyxDQUFFLFFBQUM7RUFBZCxNQUFXLENBQUUsUUFBQztFQUFkLE1BQVcsQ0FBRSxRQUFDO0VBQWQsT0FBVyxDQUFFLEtBQUM7RUFBZCxNQUFXLENBQUUsUUFBQztFQUFkLFdBQVcsQ0FBRSxRQUFDO0VBSWQsU0FBVyxDQUFFLFFBQUM7RUFBZCxXQUFXLENBQUUsUUFBQztFQUFkLFNBQVcsQ0FBRSxRQUFDO0VBQWQsTUFBVyxDQUFFLFFBQUM7RUFBZCxTQUFXLENBQUUsUUFBQztFQUFkLFFBQVcsQ0FBRSxRQUFDO0VBQWQsT0FBVyxDQUFFLFFBQUM7RUFBZCxNQUFXLENBQUUsUUFBQztFQUlkLGVBQW1CLENBQWEsRUFBQztFQUFqQyxlQUFtQixDQUFhLE1BQUM7RUFBakMs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QUFTLEVBQUUsUUFBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxT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 */
