@charset "UTF-8";

/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

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

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

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

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

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

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

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }

  .navbar {
    display: none;
  }

  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }

  .label {
    border: 1px solid #000;
  }

  .table {
    border-collapse: collapse !important;
  }

  .table td,
  .table th {
    background-color: #fff !important;
  }

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

* {
  box-sizing: border-box;
}

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

html {
  font-size: 10px;
  -webkit-tap-highlight-color: transparent;
}

body {
  font-family: "Lato", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.2;
  color: #555454;
  background-color: #fff;
}

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

a {
  color: inherit;
  text-decoration: none;
}

a:hover,
a:focus {
  color: inherit;
  text-decoration: none;
}

a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

figure {
  margin: 0;
}

img {
  vertical-align: middle;
}

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}

.img-rounded {
  border-radius: 6px;
}

.img-thumbnail {
  padding: 4px;
  line-height: 1.2;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}

.img-circle {
  border-radius: 50%;
}

hr {
  margin-top: 19px;
  margin-bottom: 19px;
  border: 0;
  border-top: 1px solid #eeeeee;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}

h1 small,
h1 .small,
h2 small,
h2 .small,
h3 small,
h3 .small,
h4 small,
h4 .small,
h5 small,
h5 .small,
h6 small,
h6 .small,
.h1 small,
.h1 .small,
.h2 small,
.h2 .small,
.h3 small,
.h3 .small,
.h4 small,
.h4 .small,
.h5 small,
.h5 .small,
.h6 small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}

h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 19px;
  margin-bottom: 9.5px;
}

h1 small,
h1 .small,
.h1 small,
.h1 .small,
h2 small,
h2 .small,
.h2 small,
.h2 .small,
h3 small,
h3 .small,
.h3 small,
.h3 .small {
  font-size: 65%;
}

h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 9.5px;
  margin-bottom: 9.5px;
}

h4 small,
h4 .small,
.h4 small,
.h4 .small,
h5 small,
h5 .small,
.h5 small,
.h5 .small,
h6 small,
h6 .small,
.h6 small,
.h6 .small {
  font-size: 75%;
}

h1,
.h1 {
  font-size: 41px;
}

h2,
.h2 {
  font-size: 34px;
}

h3,
.h3 {
  font-size: 28px;
}

h4,
.h4 {
  font-size: 20px;
}

h5,
.h5 {
  font-size: 16px;
}

h6,
.h6 {
  font-size: 14px;
}

p {
  margin: 0 0 9.5px;
}

.lead {
  margin-bottom: 19px;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.4;
}

@media (min-width: 768px) {
  .lead {
    font-size: 24px;
  }
}

small,
.small {
  font-size: 87%;
}

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

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

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

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

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

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

.text-lowercase {
  text-transform: lowercase;
}

.text-uppercase,
.initialism {
  text-transform: uppercase;
}

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

.text-muted {
  color: #777777;
}

.text-primary {
  color: #337ab7;
}

a.text-primary:hover,
a.text-primary:focus {
  color: #286090;
}

.text-success {
  color: #3c763d;
}

a.text-success:hover,
a.text-success:focus {
  color: #2b542c;
}

.text-info {
  color: #31708f;
}

a.text-info:hover,
a.text-info:focus {
  color: #245269;
}

.text-warning {
  color: #8a6d3b;
}

a.text-warning:hover,
a.text-warning:focus {
  color: #66512c;
}

.text-danger {
  color: #a94442;
}

a.text-danger:hover,
a.text-danger:focus {
  color: #843534;
}

.bg-primary {
  color: #fff;
}

.bg-primary {
  background-color: #337ab7;
}

a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090;
}

.bg-success {
  background-color: #dff0d8;
}

a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3;
}

.bg-info {
  background-color: #d9edf7;
}

a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}

.bg-warning {
  background-color: #fcf8e3;
}

a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5;
}

.bg-danger {
  background-color: #f2dede;
}

a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9;
}

.page-header {
  padding-bottom: 8.5px;
  margin: 38px 0 19px;
  border-bottom: 1px solid #eeeeee;
}

ul,
ol {
  margin-top: 0;
  margin-bottom: 9.5px;
}

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

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

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

.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}

dl {
  margin-top: 0;
  margin-bottom: 19px;
}

dt,
dd {
  line-height: 1.2;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

.dl-horizontal dd:before,
.dl-horizontal dd:after {
  content: " ";
  display: table;
}

.dl-horizontal dd:after {
  clear: both;
}

@media (min-width: 768px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .dl-horizontal dd {
    margin-left: 180px;
  }
}

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777;
}

.initialism {
  font-size: 90%;
}

blockquote {
  padding: 9.5px 19px;
  margin: 0 0 19px;
  font-size: 20px;
  border-left: 5px solid #eeeeee;
}

blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}

blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.2;
  color: #777777;
}

blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}

.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right;
}

.blockquote-reverse footer:before,
.blockquote-reverse small:before,
.blockquote-reverse .small:before,
blockquote.pull-right footer:before,
blockquote.pull-right small:before,
blockquote.pull-right .small:before {
  content: '';
}

.blockquote-reverse footer:after,
.blockquote-reverse small:after,
.blockquote-reverse .small:after,
blockquote.pull-right footer:after,
blockquote.pull-right small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}

address {
  margin-bottom: 19px;
  font-style: normal;
  line-height: 1.2;
}

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.container:before,
.container:after {
  content: " ";
  display: table;
}

.container:after {
  clear: both;
}

@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}

@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}

@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}

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

.container-fluid:before,
.container-fluid:after {
  content: " ";
  display: table;
}

.container-fluid:after {
  clear: both;
}

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

.row:before,
.row:after {
  content: " ";
  display: table;
}

.row:after {
  clear: both;
}

.col-xs-1,
.col-sm-1,
.col-md-1,
.col-lg-1,
.col-xs-2,
.col-sm-2,
.col-md-2,
.col-lg-2,
.col-xs-3,
.col-sm-3,
.col-md-3,
.col-lg-3,
.col-xs-4,
.col-sm-4,
.col-md-4,
.col-lg-4,
.col-xs-5,
.col-sm-5,
.col-md-5,
.col-lg-5,
.col-xs-6,
.col-sm-6,
.col-md-6,
.col-lg-6,
.col-xs-7,
.col-sm-7,
.col-md-7,
.col-lg-7,
.col-xs-8,
.col-sm-8,
.col-md-8,
.col-lg-8,
.col-xs-9,
.col-sm-9,
.col-md-9,
.col-lg-9,
.col-xs-10,
.col-sm-10,
.col-md-10,
.col-lg-10,
.col-xs-11,
.col-sm-11,
.col-md-11,
.col-lg-11,
.col-xs-12,
.col-sm-12,
.col-md-12,
.col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}

.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12 {
  float: left;
}

.col-xs-1 {
  width: 8.33333333%;
}

.col-xs-2 {
  width: 16.66666667%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-4 {
  width: 33.33333333%;
}

.col-xs-5 {
  width: 41.66666667%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-7 {
  width: 58.33333333%;
}

.col-xs-8 {
  width: 66.66666667%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-10 {
  width: 83.33333333%;
}

.col-xs-11 {
  width: 91.66666667%;
}

.col-xs-12 {
  width: 100%;
}

.col-xs-pull-0 {
  right: auto;
}

.col-xs-pull-1 {
  right: 8.33333333%;
}

.col-xs-pull-2 {
  right: 16.66666667%;
}

.col-xs-pull-3 {
  right: 25%;
}

.col-xs-pull-4 {
  right: 33.33333333%;
}

.col-xs-pull-5 {
  right: 41.66666667%;
}

.col-xs-pull-6 {
  right: 50%;
}

.col-xs-pull-7 {
  right: 58.33333333%;
}

.col-xs-pull-8 {
  right: 66.66666667%;
}

.col-xs-pull-9 {
  right: 75%;
}

.col-xs-pull-10 {
  right: 83.33333333%;
}

.col-xs-pull-11 {
  right: 91.66666667%;
}

.col-xs-pull-12 {
  right: 100%;
}

.col-xs-push-0 {
  left: auto;
}

.col-xs-push-1 {
  left: 8.33333333%;
}

.col-xs-push-2 {
  left: 16.66666667%;
}

.col-xs-push-3 {
  left: 25%;
}

.col-xs-push-4 {
  left: 33.33333333%;
}

.col-xs-push-5 {
  left: 41.66666667%;
}

.col-xs-push-6 {
  left: 50%;
}

.col-xs-push-7 {
  left: 58.33333333%;
}

.col-xs-push-8 {
  left: 66.66666667%;
}

.col-xs-push-9 {
  left: 75%;
}

.col-xs-push-10 {
  left: 83.33333333%;
}

.col-xs-push-11 {
  left: 91.66666667%;
}

.col-xs-push-12 {
  left: 100%;
}

.col-xs-offset-0 {
  margin-left: 0%;
}

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

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

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

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

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

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

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

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

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

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

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

.col-xs-offset-12 {
  margin-left: 100%;
}

@media (min-width: 768px) {
  .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 {
    float: left;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .col-sm-pull-0 {
    right: auto;
  }

  .col-sm-pull-1 {
    right: 8.33333333%;
  }

  .col-sm-pull-2 {
    right: 16.66666667%;
  }

  .col-sm-pull-3 {
    right: 25%;
  }

  .col-sm-pull-4 {
    right: 33.33333333%;
  }

  .col-sm-pull-5 {
    right: 41.66666667%;
  }

  .col-sm-pull-6 {
    right: 50%;
  }

  .col-sm-pull-7 {
    right: 58.33333333%;
  }

  .col-sm-pull-8 {
    right: 66.66666667%;
  }

  .col-sm-pull-9 {
    right: 75%;
  }

  .col-sm-pull-10 {
    right: 83.33333333%;
  }

  .col-sm-pull-11 {
    right: 91.66666667%;
  }

  .col-sm-pull-12 {
    right: 100%;
  }

  .col-sm-push-0 {
    left: auto;
  }

  .col-sm-push-1 {
    left: 8.33333333%;
  }

  .col-sm-push-2 {
    left: 16.66666667%;
  }

  .col-sm-push-3 {
    left: 25%;
  }

  .col-sm-push-4 {
    left: 33.33333333%;
  }

  .col-sm-push-5 {
    left: 41.66666667%;
  }

  .col-sm-push-6 {
    left: 50%;
  }

  .col-sm-push-7 {
    left: 58.33333333%;
  }

  .col-sm-push-8 {
    left: 66.66666667%;
  }

  .col-sm-push-9 {
    left: 75%;
  }

  .col-sm-push-10 {
    left: 83.33333333%;
  }

  .col-sm-push-11 {
    left: 91.66666667%;
  }

  .col-sm-push-12 {
    left: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .col-sm-offset-12 {
    margin-left: 100%;
  }
}

@media (min-width: 992px) {
  .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 {
    float: left;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .col-md-pull-0 {
    right: auto;
  }

  .col-md-pull-1 {
    right: 8.33333333%;
  }

  .col-md-pull-2 {
    right: 16.66666667%;
  }

  .col-md-pull-3 {
    right: 25%;
  }

  .col-md-pull-4 {
    right: 33.33333333%;
  }

  .col-md-pull-5 {
    right: 41.66666667%;
  }

  .col-md-pull-6 {
    right: 50%;
  }

  .col-md-pull-7 {
    right: 58.33333333%;
  }

  .col-md-pull-8 {
    right: 66.66666667%;
  }

  .col-md-pull-9 {
    right: 75%;
  }

  .col-md-pull-10 {
    right: 83.33333333%;
  }

  .col-md-pull-11 {
    right: 91.66666667%;
  }

  .col-md-pull-12 {
    right: 100%;
  }

  .col-md-push-0 {
    left: auto;
  }

  .col-md-push-1 {
    left: 8.33333333%;
  }

  .col-md-push-2 {
    left: 16.66666667%;
  }

  .col-md-push-3 {
    left: 25%;
  }

  .col-md-push-4 {
    left: 33.33333333%;
  }

  .col-md-push-5 {
    left: 41.66666667%;
  }

  .col-md-push-6 {
    left: 50%;
  }

  .col-md-push-7 {
    left: 58.33333333%;
  }

  .col-md-push-8 {
    left: 66.66666667%;
  }

  .col-md-push-9 {
    left: 75%;
  }

  .col-md-push-10 {
    left: 83.33333333%;
  }

  .col-md-push-11 {
    left: 91.66666667%;
  }

  .col-md-push-12 {
    left: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .col-md-offset-12 {
    margin-left: 100%;
  }
}

@media (min-width: 1200px) {
  .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 {
    float: left;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .col-lg-pull-0 {
    right: auto;
  }

  .col-lg-pull-1 {
    right: 8.33333333%;
  }

  .col-lg-pull-2 {
    right: 16.66666667%;
  }

  .col-lg-pull-3 {
    right: 25%;
  }

  .col-lg-pull-4 {
    right: 33.33333333%;
  }

  .col-lg-pull-5 {
    right: 41.66666667%;
  }

  .col-lg-pull-6 {
    right: 50%;
  }

  .col-lg-pull-7 {
    right: 58.33333333%;
  }

  .col-lg-pull-8 {
    right: 66.66666667%;
  }

  .col-lg-pull-9 {
    right: 75%;
  }

  .col-lg-pull-10 {
    right: 83.33333333%;
  }

  .col-lg-pull-11 {
    right: 91.66666667%;
  }

  .col-lg-pull-12 {
    right: 100%;
  }

  .col-lg-push-0 {
    left: auto;
  }

  .col-lg-push-1 {
    left: 8.33333333%;
  }

  .col-lg-push-2 {
    left: 16.66666667%;
  }

  .col-lg-push-3 {
    left: 25%;
  }

  .col-lg-push-4 {
    left: 33.33333333%;
  }

  .col-lg-push-5 {
    left: 41.66666667%;
  }

  .col-lg-push-6 {
    left: 50%;
  }

  .col-lg-push-7 {
    left: 58.33333333%;
  }

  .col-lg-push-8 {
    left: 66.66666667%;
  }

  .col-lg-push-9 {
    left: 75%;
  }

  .col-lg-push-10 {
    left: 83.33333333%;
  }

  .col-lg-push-11 {
    left: 91.66666667%;
  }

  .col-lg-push-12 {
    left: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .col-lg-offset-12 {
    margin-left: 100%;
  }
}

table {
  background-color: transparent;
}

caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}

th {
  text-align: left;
}

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 19px;
}

.table > thead > tr > th,
.table > thead > tr > td,
.table > tbody > tr > th,
.table > tbody > tr > td,
.table > tfoot > tr > th,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.2;
  vertical-align: top;
  border-top: 1px solid #ddd;
}

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

.table > caption + thead > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > th,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}

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

.table .table {
  background-color: #fff;
}

.table-condensed > thead > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > th,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > th,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}

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

.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > th,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > th,
.table-bordered > tfoot > tr > td {
  border: 1px solid #ddd;
}

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

.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}

.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}

table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}

table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}

.table > thead > tr > td.active,
.table > thead > tr > th.active,
.table > thead > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr > td.active,
.table > tbody > tr > th.active,
.table > tbody > tr.active > td,
.table > tbody > tr.active > th,
.table > tfoot > tr > td.active,
.table > tfoot > tr > th.active,
.table > tfoot > tr.active > td,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}

.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}

.table > thead > tr > td.success,
.table > thead > tr > th.success,
.table > thead > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr > td.success,
.table > tbody > tr > th.success,
.table > tbody > tr.success > td,
.table > tbody > tr.success > th,
.table > tfoot > tr > td.success,
.table > tfoot > tr > th.success,
.table > tfoot > tr.success > td,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}

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

.table > thead > tr > td.info,
.table > thead > tr > th.info,
.table > thead > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr > td.info,
.table > tbody > tr > th.info,
.table > tbody > tr.info > td,
.table > tbody > tr.info > th,
.table > tfoot > tr > td.info,
.table > tfoot > tr > th.info,
.table > tfoot > tr.info > td,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}

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

.table > thead > tr > td.warning,
.table > thead > tr > th.warning,
.table > thead > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr > td.warning,
.table > tbody > tr > th.warning,
.table > tbody > tr.warning > td,
.table > tbody > tr.warning > th,
.table > tfoot > tr > td.warning,
.table > tfoot > tr > th.warning,
.table > tfoot > tr.warning > td,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}

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

.table > thead > tr > td.danger,
.table > thead > tr > th.danger,
.table > thead > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr > td.danger,
.table > tbody > tr > th.danger,
.table > tbody > tr.danger > td,
.table > tbody > tr.danger > th,
.table > tfoot > tr > td.danger,
.table > tfoot > tr > th.danger,
.table > tfoot > tr.danger > td,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}

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

.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}

@media screen and (max-width: 991px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 14.25px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }

  .table-responsive > .table {
    margin-bottom: 0;
  }

  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }

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

  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }

  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }

  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}

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

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 19px;
  font-size: 24px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}

label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}

input[type="search"] {
  box-sizing: border-box;
}

input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}

input[type="file"] {
  display: block;
}

input[type="range"] {
  display: block;
  width: 100%;
}

select[multiple],
select[size] {
  height: auto;
}

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

output {
  display: block;
  padding-top: 7px;
  font-size: 16px;
  line-height: 1.2;
  color: #555555;
}

.form-control {
  display: block;
  width: 100%;
  height: 33px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.2;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}

.form-control:-ms-input-placeholder {
  color: #999;
}

.form-control::-webkit-input-placeholder {
  color: #999;
}

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

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

.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}

textarea.form-control {
  height: auto;
}

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

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 33px;
  }

  input[type="date"].input-sm,
  .input-group-sm input[type="date"],
  input[type="time"].input-sm,
  .input-group-sm
  input[type="time"],
  input[type="datetime-local"].input-sm,
  .input-group-sm
  input[type="datetime-local"],
  input[type="month"].input-sm,
  .input-group-sm
  input[type="month"] {
    line-height: 33px;
  }

  input[type="date"].input-lg,
  .input-group-lg input[type="date"],
  input[type="time"].input-lg,
  .input-group-lg
  input[type="time"],
  input[type="datetime-local"].input-lg,
  .input-group-lg
  input[type="datetime-local"],
  input[type="month"].input-lg,
  .input-group-lg
  input[type="month"] {
    line-height: 49px;
  }
}

.form-group {
  margin-bottom: 15px;
}

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.radio label,
.checkbox label {
  min-height: 19px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}

.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}

.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}

.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}

.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}

input[type="radio"][disabled],
input[type="radio"].disabled,
fieldset[disabled] input[type="radio"],
input[type="checkbox"][disabled],
input[type="checkbox"].disabled,
fieldset[disabled]
input[type="checkbox"] {
  cursor: not-allowed;
}

.radio-inline.disabled,
fieldset[disabled] .radio-inline,
.checkbox-inline.disabled,
fieldset[disabled]
.checkbox-inline {
  cursor: not-allowed;
}

.radio.disabled label,
fieldset[disabled] .radio label,
.checkbox.disabled label,
fieldset[disabled]
.checkbox label {
  cursor: not-allowed;
}

.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 35px;
}

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

.input-sm {
  height: 33px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}

select.input-sm {
  height: 33px;
  line-height: 33px;
}

textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}

.form-group-sm .form-control {
  height: 33px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}

.form-group-sm select.form-control {
  height: 33px;
  line-height: 33px;
}

.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}

.form-group-sm .form-control-static {
  height: 33px;
  min-height: 33px;
  padding: 6px 10px;
  font-size: 14px;
  line-height: 1.5;
}

.input-lg {
  height: 49px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.3333333;
  border-radius: 6px;
}

select.input-lg {
  height: 49px;
  line-height: 49px;
}

textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}

.form-group-lg .form-control {
  height: 49px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.3333333;
  border-radius: 6px;
}

.form-group-lg select.form-control {
  height: 49px;
  line-height: 49px;
}

.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}

.form-group-lg .form-control-static {
  height: 49px;
  min-height: 39px;
  padding: 11px 16px;
  font-size: 20px;
  line-height: 1.3333333;
}

.has-feedback {
  position: relative;
}

.has-feedback .form-control {
  padding-right: 41.25px;
}

.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 33px;
  height: 33px;
  line-height: 33px;
  text-align: center;
  pointer-events: none;
}

.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 49px;
  height: 49px;
  line-height: 49px;
}

.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 33px;
  height: 33px;
  line-height: 33px;
}

.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}

.has-success .form-control {
  border-color: #3c763d;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.has-success .form-control:focus {
  border-color: #2b542c;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}

.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}

.has-success .form-control-feedback {
  color: #3c763d;
}

.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}

.has-warning .form-control {
  border-color: #8a6d3b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.has-warning .form-control:focus {
  border-color: #66512c;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}

.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}

.has-warning .form-control-feedback {
  color: #8a6d3b;
}

.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}

.has-error .form-control {
  border-color: #a94442;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.has-error .form-control:focus {
  border-color: #843534;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}

.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}

.has-error .form-control-feedback {
  color: #a94442;
}

.has-feedback label ~ .form-control-feedback {
  top: 24px;
}

.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}

.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #959494;
}

@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }

  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }

  .form-inline .form-control-static {
    display: inline-block;
  }

  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }

  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }

  .form-inline .input-group > .form-control {
    width: 100%;
  }

  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }

  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }

  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }

  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }

  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}

.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}

.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 26px;
}

.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px;
}

.form-horizontal .form-group:before,
.form-horizontal .form-group:after {
  content: " ";
  display: table;
}

.form-horizontal .form-group:after {
  clear: both;
}

@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}

.form-horizontal .has-feedback .form-control-feedback {
  right: 15px;
}

@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 20px;
  }
}

@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 14px;
  }
}

.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

.dropup,
.dropdown {
  position: relative;
}

.dropdown-toggle:focus {
  outline: 0;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 16px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}

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

.dropdown-menu .divider {
  height: 1px;
  margin: 8.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}

.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.2;
  color: #333333;
  white-space: nowrap;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}

.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #777777;
}

.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}

.open > .dropdown-menu {
  display: block;
}

.open > a {
  outline: 0;
}

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

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

.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 14px;
  line-height: 1.2;
  color: #777777;
  white-space: nowrap;
}

.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}

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

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: "";
}

.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}

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

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

/*@import "bootstrap/button-groups";
@import "bootstrap/input-groups";*/

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

.nav:before,
.nav:after {
  content: " ";
  display: table;
}

.nav:after {
  clear: both;
}

.nav > li {
  position: relative;
  display: block;
}

.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}

.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}

.nav > li.disabled > a {
  color: #777777;
}

.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #777777;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}

.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: inherit;
}

.nav .nav-divider {
  height: 1px;
  margin: 8.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}

.nav > li > a > img {
  max-width: none;
}

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

.nav-tabs > li {
  float: left;
  /*margin-bottom: -1px;*/
}

.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.2;
  border: 1px solid transparent;
  border-radius: 4px 4px 0 0;
}

.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #555555;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}

.nav-pills > li {
  float: left;
}

.nav-pills > li > a {
  border-radius: 4px;
}

.nav-pills > li + li {
  margin-left: 2px;
}

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #fff;
  background-color: #337ab7;
}

.nav-stacked > li {
  float: none;
}

.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}

.nav-justified,
.nav-tabs.nav-justified {
  width: 100%;
}

.nav-justified > li,
.nav-tabs.nav-justified > li {
  float: none;
}

.nav-justified > li > a,
.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}

.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}

@media (min-width: 768px) {
  .nav-justified > li,
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }

  .nav-justified > li > a,
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}

.nav-tabs-justified,
.nav-tabs.nav-justified {
  border-bottom: 0;
}

.nav-tabs-justified > li > a,
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 4px;
}

.nav-tabs-justified > .active > a,
.nav-tabs.nav-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #ddd;
}

@media (min-width: 768px) {
  .nav-tabs-justified > li > a,
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 4px 4px 0 0;
  }

  .nav-tabs-justified > .active > a,
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}

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

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

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

.navbar {
  position: relative;
  min-height: 50px;
  margin-bottom: 19px;
  border: 1px solid transparent;
}

.navbar:before,
.navbar:after {
  content: " ";
  display: table;
}

.navbar:after {
  clear: both;
}

@media (min-width: 768px) {
  .navbar {
    border-radius: 4px;
  }
}

.navbar-header:before,
.navbar-header:after {
  content: " ";
  display: table;
}

.navbar-header:after {
  clear: both;
}

@media (min-width: 768px) {
  .navbar-header {
    float: left;
  }
}

.navbar-collapse {
  overflow-x: visible;
  padding-right: 15px;
  padding-left: 15px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}

.navbar-collapse:before,
.navbar-collapse:after {
  content: " ";
  display: table;
}

.navbar-collapse:after {
  clear: both;
}

.navbar-collapse.in {
  overflow-y: auto;
}

@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }

  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }

  .navbar-collapse.in {
    overflow-y: visible;
  }

  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}

.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}

@media (max-device-width: 480px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}

.container > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-header,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -15px;
}

@media (min-width: 768px) {
  .container > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-header,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}

.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}

@media (min-width: 768px) {
  .navbar-static-top {
    border-radius: 0;
  }
}

.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}

@media (min-width: 768px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}

.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}

.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}

.navbar-brand {
  float: left;
  padding: 15.5px 15px;
  font-size: 20px;
  line-height: 19px;
  height: 50px;
}

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

.navbar-brand > img {
  display: block;
}

@media (min-width: 768px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: -15px;
  }
}

.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 15px;
  padding: 9px 10px;
  margin-top: 8px;
  margin-bottom: 8px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}

.navbar-toggle:focus {
  outline: 0;
}

.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}

.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}

@media (min-width: 768px) {
  .navbar-toggle {
    display: none;
  }
}

.navbar-nav {
  margin: 7.75px -15px;
}

.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 19px;
}

@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }

  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }

  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 19px;
  }

  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}

@media (min-width: 768px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }

  .navbar-nav > li {
    float: left;
  }

  .navbar-nav > li > a {
    padding-top: 15.5px;
    padding-bottom: 15.5px;
  }
}

.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 8.5px;
  margin-bottom: 8.5px;
}

@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }

  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }

  .navbar-form .form-control-static {
    display: inline-block;
  }

  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }

  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }

  .navbar-form .input-group > .form-control {
    width: 100%;
  }

  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }

  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }

  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }

  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }

  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}

@media (max-width: 767px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }

  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}

@media (min-width: 768px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    box-shadow: none;
  }
}

.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.navbar-btn {
  margin-top: 8.5px;
  margin-bottom: 8.5px;
}

.navbar-btn.btn-sm {
  margin-top: 8.5px;
  margin-bottom: 8.5px;
}

.navbar-btn.btn-xs {
  margin-top: 14px;
  margin-bottom: 14px;
}

.navbar-text {
  margin-top: 15.5px;
  margin-bottom: 15.5px;
}

@media (min-width: 768px) {
  .navbar-text {
    float: left;
    margin-left: 15px;
    margin-right: 15px;
  }
}

@media (min-width: 768px) {
  .navbar-left {
    float: left !important;
  }

  .navbar-right {
    float: right !important;
    margin-right: -15px;
  }

  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}

.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}

.navbar-default .navbar-brand {
  color: #777;
}

.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #5e5d5d;
  background-color: transparent;
}

.navbar-default .navbar-text {
  color: #777;
}

.navbar-default .navbar-nav > li > a {
  color: #777;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #333;
  background-color: transparent;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #555;
  background-color: #e7e7e7;
}

.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}

.navbar-default .navbar-toggle {
  border-color: #ddd;
}

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}

.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}

.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e7e7e7;
}

.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #e7e7e7;
  color: #555;
}

@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #777;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333;
    background-color: transparent;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #555;
    background-color: #e7e7e7;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
  }
}

.navbar-default .navbar-link {
  color: #777;
}

.navbar-default .navbar-link:hover {
  color: #333;
}

.navbar-default .btn-link {
  color: #777;
}

.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #333;
}

.navbar-default .btn-link[disabled]:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:hover,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}

.navbar-inverse {
  background-color: #222;
  border-color: #090909;
}

.navbar-inverse .navbar-brand {
  color: #9d9d9d;
}

.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}

.navbar-inverse .navbar-text {
  color: #9d9d9d;
}

.navbar-inverse .navbar-nav > li > a {
  color: #9d9d9d;
}

.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #fff;
  background-color: transparent;
}

.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: #090909;
}

.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}

.navbar-inverse .navbar-toggle {
  border-color: #333;
}

.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}

.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}

.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}

.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #090909;
  color: #fff;
}

@media (max-width: 767px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #090909;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #090909;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #9d9d9d;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #fff;
    background-color: transparent;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #fff;
    background-color: #090909;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
  }
}

.navbar-inverse .navbar-link {
  color: #9d9d9d;
}

.navbar-inverse .navbar-link:hover {
  color: #fff;
}

.navbar-inverse .btn-link {
  color: #9d9d9d;
}

.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #fff;
}

.navbar-inverse .btn-link[disabled]:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:hover,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}

.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 19px 0;
  border-radius: 4px;
}

.pagination > li {
  display: inline;
}

.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.2;
  text-decoration: none;
  color: #42bda5;
  background-color: white;
  margin-left: -1px;
  font-size: 16px;
  font-weight: 700;
}

.pagination > li > a .fa,
.pagination > li > span .fa {
  color: #42bda5;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}

.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}

.pagination > li > a:hover,
.pagination > li > a:focus,
.pagination > li > span:hover,
.pagination > li > span:focus {
  z-index: 2;
  color: white;
  background-color: #42bda5;
  border-color: #ddd;
}

.pagination > li > a:hover .fa,
.pagination > li > a:focus .fa,
.pagination > li > span:hover .fa,
.pagination > li > span:focus .fa {
  color: white;
}

.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > a:focus,
.pagination > .active > span,
.pagination > .active > span:hover,
.pagination > .active > span:focus {
  z-index: 3;
  color: white;
  background-color: #42bda5;
  border-color: #337ab7;
  cursor: default;
}

.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #777777;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}

.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.3333333;
}

.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 6px;
  border-top-left-radius: 6px;
}

.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 6px;
  border-top-right-radius: 6px;
}

.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
}

.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}

.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}

/*@import "bootstrap/pager";
@import "bootstrap/labels";
@import "bootstrap/badges";
@import "bootstrap/jumbotron";
@import "bootstrap/thumbnails";
@import "bootstrap/alerts";*/

@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }

  to {
    background-position: 0 0;
  }
}

@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }

  to {
    background-position: 0 0;
  }
}

.progress {
  overflow: hidden;
  height: 19px;
  margin-bottom: 19px;
  background-color: #f5f5f5;
  border-radius: 4px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 14px;
  line-height: 19px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  transition: width 0.6s ease;
}

.progress-striped .progress-bar,
.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: 40px 40px;
}

.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}

.progress-bar-success {
  background-color: #5cb85c;
}

.progress-striped .progress-bar-success {
  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);
}

.progress-bar-info {
  background-color: #5bc0de;
}

.progress-striped .progress-bar-info {
  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);
}

.progress-bar-warning {
  background-color: #f0ad4e;
}

.progress-striped .progress-bar-warning {
  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);
}

.progress-bar-danger {
  background-color: #d9534f;
}

.progress-striped .progress-bar-danger {
  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);
}

/*@import "bootstrap/media";
@import "bootstrap/list-group";
@import "bootstrap/panels";
@import "bootstrap/responsive-embed";
@import "bootstrap/wells";
@import "bootstrap/close";*/

/*@import "bootstrap/modals";
@import "bootstrap/tooltip";
@import "bootstrap/popovers";
@import "bootstrap/carousel";*/

@-ms-viewport {
  width: device-width;
}

.visible-xs {
  display: none !important;
}

.visible-sm {
  display: none !important;
}

.visible-md {
  display: none !important;
}

.visible-lg {
  display: none !important;
}

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}

@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }

  table.visible-xs {
    display: table !important;
  }

  tr.visible-xs {
    display: table-row !important;
  }

  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }

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

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

  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }

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

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

  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }

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

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

  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}

.visible-print {
  display: none !important;
}

@media print {
  .visible-print {
    display: block !important;
  }

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

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

  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}

.visible-print-block {
  display: none !important;
}

@media print {
  .visible-print-block {
    display: block !important;
  }
}

.visible-print-inline {
  display: none !important;
}

@media print {
  .visible-print-inline {
    display: inline !important;
  }
}

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

@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}

@media print {
  .hidden-print {
    display: none !important;
  }
}

header .main-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 13px;
  padding-bottom: 13px;
  /* #burger > #controlPanelHeader .burger-content {
      top: 70px;
    } */
}

header .main-nav ul {
  margin-bottom: 0;
}

header .main-nav ul .brand {
  width: 135px;
}

@media only screen and (max-width: 767px) {
  header .main-nav ul {
    margin-bottom: 10px;
  }
}

header .main-nav #authentication .column-right span {
  margin-right: 10px;
}

header .main-nav #authentication .column-right .btn-green {
  width: 220px;
  padding: 5px 0;
}

header .main-nav #progressBar {
  width: 75%;
}

header .main-nav #progressBar .column-right {
  width: 100%;
}

header .main-nav #progressBar .column-right span {
  margin-right: 10px;
  vertical-align: top;
}

header .main-nav #progressBar .column-right .progress {
  display: inline-block;
  width: 82%;
  margin-bottom: 0;
  border-radius: 0;
}

header .main-nav #progressBar .column-right .progress-bar {
  background-color: #42bda5;
}

header .main-nav #controlPanelHeader ul li {
  display: inline-block;
  padding: 10px 0;
  margin-bottom: 5px;
}

header .main-nav #controlPanelHeader ul li a {
  border: 1px solid #e7e7e7;
  border-radius: 5px;
  padding: 10px;
}

@media only screen and (max-width: 767px) {
  header .main-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

header .main-nav .burger-content {
  top: 70px;
  left: 0;
  position: absolute;
  z-index: 100;
  width: 100%;
}

header .main-nav .burger-content .inner {
  border: 2px solid #e7e7e7;
  background-color: white;
}

header .main-nav .burger-content .inner .btn-red {
  right: 25px;
  bottom: 10px;
  position: absolute;
  width: 50px;
}

header .main-nav .burger-content .punct {
  display: inline-block;
  padding: 15px 10px 0px 10px;
  margin: 10px 10px 0px 10px;
  vertical-align: top;
}

header .main-nav .burger-content .punct .head {
  text-align: center;
  color: white;
  background-color: #42bda5;
  padding: 5px 15px;
}

header .main-nav .burger-content .punct ul {
  list-style-type: none;
  padding-left: 5px;
}

header .main-nav .burger-content .punct ul li:before {
  content: "\f101";
  color: #42bda5;
  font-family: FontAwesome;
}

header .main-nav .burger-content .punct ul li a {
  margin-left: 5px;
  transition: .5s;
  text-decoration: none;
}

header .main-nav .burger-content .punct ul li a:hover {
  color: #42bda5;
}

body,
html {
  height: 100%;
  margin: 0;
  padding: 0;
}

.main {
  min-height: 100%;
  margin-bottom: -100px;
}

* html .main {
  height: 100%;
}

.page-buffer {
  height: 100px;
}

.checked {
  color: red;
}

.main {
  background-color: #f0f0f0;
}

.main__home {
  padding-top: 70px;
  padding-bottom: 60px;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #f0f0f0;
  background-image: url(/images/bg-home.jpg?4cdcc0fbb7a194c18137cbfe1bfde8dc);
}

.main__home-title {
  text-align: center;
  color: white;
}

.main__home-title .title {
  font-size: 58px;
  font-weight: 700;
  color: white;
}

.main__home-title .subtitle {
  font-size: 30px;
}

@media only screen and (min-width: 1200px) {
  .main__home-title {
    padding-top: 100px;
  }
}

@media only screen and (max-width: 1199px) {
  .main__home-title {
    padding-top: 80px;
  }
}

@media only screen and (min-width: 1200px) {
  .main__home-form {
    max-width: 460px;
  }
}

@media only screen and (max-width: 1199px) {
  .main__home-form {
    max-width: 460px;
  }
}

.main__home-form .nav-tabs {
  border-bottom: 0;
}

.main__home-form .nav-tabs li {
  width: 50%;
  margin-bottom: 0;
  text-align: center;
}

.main__home-form .nav-tabs li a {
  margin-right: 0;
  border: none !important;
  border-radius: 0;
  color: #555454;
  background-color: rgba(255, 255, 255, 0.5);
}

.main__home-form .nav-tabs li:hover a {
  border-radius: 0;
  color: #fff;
  background-color: #42bda5;
}

.main__home-form .nav-tabs .active a {
  color: #fff !important;
  background-color: #42bda5 !important;
}

.main__home-form .tab-content .form {
  position: relative;
  min-height: 420px;
  padding: 20px;
  margin-bottom: 10px;
  background-color: #fff;
}

.main__home-form .tab-content .form .my-input label,
.main__home-form .tab-content .form .my-select label {
  font-weight: 400;
}

.main__home-form .tab-content .btn-red {
  position: absolute;
  bottom: 20px;
  width: 92%;
}

.main__home-form .tab-content .sub {
  text-align: center;
  font-size: 13px;
  color: #fff;
}

.common-title {
  margin-top: 40px;
  margin-bottom: 25px;
  text-align: center;
}

.common-title .title {
  display: block;
  max-width: 600px;
  margin: 0 auto;
  margin-bottom: 10px;
  font-size: 40px;
  font-weight: 900;
}

.common-title .subtitle {
  display: block;
  max-width: 500px;
  margin: 0 auto;
  font-size: 18px;
}

.main__advantages .item,
.main__how-work .item {
  border: 1px solid #e7e7e7;
  height: 420px;
  padding: 30px 30px 0;
  margin-bottom: 30px;
  text-align: center;
  background-color: #fff;
}

.main__advantages .item .fa-check-circle,
.main__how-work .item .fa-check-circle {
  margin-bottom: 40px;
  font-size: 160px;
}

.main__advantages .item .circle,
.main__how-work .item .circle {
  display: inline-block;
  width: 90px;
  height: 90px;
  margin-bottom: 20px;
  border-radius: 50%;
  text-align: center;
  background-color: #ea5856;
}

.main__advantages .item .circle span,
.main__how-work .item .circle span {
  font-size: 40px;
  line-height: 90px;
  font-weight: 900;
  color: #fff;
}

.main__advantages .item .title,
.main__how-work .item .title {
  font-size: 22px;
  font-weight: 900;
}

.main__how-work {
  padding-bottom: 30px;
}

.main__how-work .faq {
  border: 1px solid #e7e7e7;
  padding-top: 30px;
  padding-bottom: 30px;
  text-align: center;
  background-color: #fff;
}

.main__how-work .faq a:hover {
  color: #42bda5;
}

.main__services {
  padding-bottom: 10px;
}

.main__services .item {
  border: 1px solid #e7e7e7;
  height: 270px;
  padding: 30px 30px 0;
  margin-bottom: 30px;
  text-align: center;
  background-color: #fff;
}

.main__services .item .fa {
  margin-bottom: 15px;
  font-size: 160px;
}

@media only screen and (max-width: 1199px) {
  .main__services .item .fa {
    font-size: 120px;
  }
}

@media only screen and (max-width: 991px) {
  .main__services .item .fa {
    font-size: 120px;
  }
}

.main__services .item .title {
  font-weight: 700;
  font-size: 18px;
}

.main__reviews {
  padding-bottom: 20px;
}

.main__reviews .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 30px 15px;
  margin-bottom: 30px;
  background-color: #fff;
}

.main__reviews .item .avatar {
  display: inline-block;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  margin-right: 10px;
  text-align: center;
}

.main__reviews .item .avatar img {
  margin-bottom: 5px;
}

.main__reviews .item .avatar .title {
  display: block;
  font-size: 13px;
}

.main__reviews .item .text {
  display: inline-block;
}

.main__reviews .item .text .green {
  font-weight: 700;
}

.main__reviews .item .text .date,
.main__reviews .item .text .time {
  display: inline-block;
  font-size: 12px;
}

.main__reviews .btn-red {
  display: block;
  max-width: 320px;
  margin: 0 auto;
}

footer {
  padding-top: 35px;
  padding-bottom: 35px;
  color: #a8a8a8;
  background-color: #232323;
}

footer .page-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 559px) {
  footer .page-footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
  }
}

.green {
  color: #42bda5 !important;
}

.red {
  color: #ea5856 !important;
}

.gray {
  color: #a1a1a1 !important;
}

.white {
  color: white !important;
}

.gray-bg {
  background-color: #f0f0f0 !important;
}

.bold {
  font-weight: 700;
}

.hidden {
  display: none !important;
}

.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
}

.fa {
  vertical-align: baseline;
}

.fa-question-circle {
  color: #42bda5;
  cursor: pointer;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.mt-20 {
  margin-top: 20px !important;
}

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

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

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

.main-title {
  font-size: 25px;
  color: #555454;
}

.title {
  font-size: 20px;
  font-weight: 700;
  color: #555454;
}

.title-sm {
  font-size: 18px;
  font-weight: 700;
  color: #555454;
}

@media only screen and (max-width: 559px) {
  .super-xs {
    width: 100% !important;
  }
}

.flex-align,
.flex-align-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex-align-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.align-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.frame {
  border: 1px solid #e7e7e7;
  margin-bottom: 10px;
}

.my-select,
.my-input {
  margin-bottom: 15px;
}

.my-select label,
.my-input label {
  width: 100%;
}

.input-bg {
  border: 1px solid #e7e7e7;
  width: 100%;
  height: 40px;
  padding: 0px 10px;
  margin-top: 5px;
}

.input-bg input {
  color: #555454;
}

.select-bg {
  border: 1px solid #e7e7e7;
  position: relative;
  width: 100%;
  height: 40px;
  padding: 0 10px;
  margin-top: 5px;
}

.select-bg::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  width: 38px;
  height: 100%;
  background-color: #42bda5;
  pointer-events: none;
}

.select-bg::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 12px;
  bottom: auto;
  left: auto;
  width: 12px;
  height: 14px;
  content: "\f107";
  font-family: FontAwesome;
  font-size: 18px;
  color: #fff;
  font-weight: bold;
  pointer-events: none;
}

.select-bg select {
  color: #555454;
}

.text-form {
  width: 100%;
  height: 100%;
  border: none;
  outline: none !important;
  background: transparent !important;
  appearance: none;
  -moz-appearance: none;
  /* Firefox */
  -webkit-appearance: none;
  /* Safari and Chrome */
  z-index: 200;
  color: #a2a2a2;
}

.text-form:focus {
  outline: none !important;
}

.small-select {
  display: inline-block;
  margin-left: 20px;
  margin-bottom: 10px;
}

.small-select .select-bg {
  width: 100px;
  height: 26px;
  padding: 0 5px;
}

.small-select .select-bg::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  width: 24px;
  height: 24px;
}

.small-select .select-bg::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 6px;
  bottom: auto;
  left: auto;
  width: 12px;
  height: 14px;
  content: "\f107";
  font-weight: bold;
}

.small-select .select-bg select {
  color: #a1a1a1;
}

.small-input {
  display: inline-block;
  margin-left: 20px;
}

.small-input .input-bg {
  width: 100px;
  height: 26px;
  padding: 0 5px;
}

.checkbox,
.radio {
  margin-left: 0 !important;
}

.checkbox .point,
.radio .point {
  display: none;
  position: absolute;
  top: 3px;
  left: 6px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #42bda5;
}

.checkbox label,
.radio label {
  position: relative;
  padding-left: 35px;
  margin-bottom: 5px;
  font-weight: 400;
}

.checkbox label::before,
.radio label::before {
  content: "";
  position: absolute;
  top: -3px;
  right: auto;
  bottom: auto;
  left: 0;
  width: 26px;
  height: 26px;
  border: 1px solid #e7e7e7;
  background-color: #fff;
}

.checkbox input[type="checkbox"],
.checkbox input[type="radio"],
.radio input[type="checkbox"],
.radio input[type="radio"] {
  display: none;
}

.checkbox input[type="checkbox"]:checked + label::before,
.radio input[type="checkbox"]:checked + label::before {
  background-image: url(/images/check.png?18b7d08274b35ef9042064d2dc045e8b);
  background-repeat: no-repeat;
  background-position: center center;
}

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

input[type="radio"]:checked ~ .point {
  display: block;
}

.radio-group .radio {
  margin-right: 20px;
}

textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 5px;
  outline: none;
  border: 1px solid #e7e7e7;
  resize: none;
}

.btn-green,
.btnGreen,
.btn-red,
.btn-white {
  position: relative;
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 15px !important;
  font-weight: 700;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  width: 100%;
  padding: 10px 0;
  border-radius: 4px;
  font-size: 16px;
  line-height: 1.2;
}

.btn-green:hover,
.btnGreen:hover,
.btn-red:hover,
.btn-white:hover {
  text-decoration: none;
  color: #fff;
  transition: 0.5s;
}

.btn-green:focus,
.btnGreen:focus,
.btn-red:focus,
.btn-white:focus,
.btn-green:active,
.btnGreen:active,
.btn-red:active,
.btn-white:active,
.active.btn-green,
.active.btnGreen,
.active.btn-red,
.active.btn-white {
  outline: 0;
}

@media only screen and (max-width: 559px) {
  .btn-green,
  .btnGreen,
  .btn-red,
  .btn-white {
    font-size: 13px;
  }
}

.btn-add {
  padding: 5px 15px;
}

.btn-green {
  background-color: #42bda5;
}

.btn-green:hover {
  background-color: #359784;
}

.btnGreen {
  color: white !important;
  background-color: #42bda5 !important;
}

.btnGreen:hover {
  background-color: #359784 !important;
}

.btn-red {
  background-color: #ea5856;
}

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

.btn-white {
  color: #555454;
  background-color: #fff;
  border-color: #e7e7e7;
}

.btn-white:hover {
  color: #555454;
  background-color: #f7f7f7;
}

.input-file {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.sweet-modal-overlay .sweet-modal.sweet-alert {
  max-width: 1170px;
  max-height: 90%;
  overflow-y: auto;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-box-actions .sweet-action-close:hover {
  background-color: #ea5856;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content {
  padding-top: 60px;
  padding-bottom: 0;
  text-align: left;
  line-height: normal;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .form-group {
  border: 1px solid #e7e7e7;
  padding: 30px;
  margin-top: 15px;
}

.tax-count {
  position: relative;
}

.tax-count .marker {
  position: absolute;
  right: 0;
  width: 70px;
  height: 38px;
  text-align: center;
  line-height: 40px;
  color: #fff;
  background-color: #ea5856;
  z-index: 100;
}

@media only screen and (max-width: 559px) {
  .tax-count .marker {
    width: 44px;
    font-size: 13px;
  }
}

@media only screen and (max-width: 767px) {
  .sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .form-group {
    padding: 20px;
  }
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .option .my-select {
  margin-bottom: 0;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .option .my-select .select-bg {
  width: 140px;
  height: 26px;
  padding: 0 5px;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .option .my-select .select-bg::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  width: 24px;
  height: 24px;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .option .my-select .select-bg::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 6px;
  bottom: auto;
  left: auto;
  width: 12px;
  height: 14px;
  content: "\f107";
  font-weight: bold;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .option .my-select .select-bg select {
  color: #a1a1a1;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .options .frame {
  padding: 10px 15px;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .options .frame .optionsTitle {
  font-size: 16px;
  font-weight: bold;
  color: #42bda5;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .options .checkbox {
  font-size: 14px;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .openingHours .my-select,
.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .kidsRestaurants .my-select,
.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .kidsRelaxation .my-select {
  display: inline-block;
  width: 180px;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .openingHours .my-select:nth-child(2n),
.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .kidsRestaurants .my-select:nth-child(2n),
.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .kidsRelaxation .my-select:nth-child(2n) {
  margin-right: 10px;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .openingHours .my-select span,
.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .kidsRestaurants .my-select span,
.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .kidsRelaxation .my-select span {
  margin-right: 10px;
  color: #9a9a9a;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .openingHours .my-select .select-bg,
.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .kidsRestaurants .my-select .select-bg,
.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .kidsRelaxation .my-select .select-bg {
  display: inline-block;
  max-width: 120px;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .staff .row {
  margin-bottom: 10px;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .staff .my-input,
.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .staff .my-select {
  display: inline-block;
  width: 210px;
  margin-right: 10px;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .staff .add-avatar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .staff .add-avatar .avatar {
  width: 160px;
  height: 110px;
  margin-right: 10px;
  background-color: #f0f0f0;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .staff .add-avatar .btn-group {
  max-width: 200px;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .staff .add-avatar .btn-group .btn-red,
.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .staff .add-avatar .btn-group .btn-green {
  margin-bottom: 5px;
  width: 150px;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .addHall .btn-red {
  margin-top: 25px;
}

@media only screen and (max-width: 559px) {
  .sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .addHall .btn-red {
    margin-top: 0;
    margin-bottom: 20px;
  }
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .menuSettings .dishDescription {
  margin-top: 30px;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .menuSettings .dishTime-item {
  margin-bottom: 10px;
  border: 1px solid #e7e7e7;
}

.sweet-modal-overlay .sweet-modal.sweet-alert .sweet-content .menuSettings .dishTime-item .checkbox {
  padding: 4px 10px 0px 10px;
}

.btn-preview {
  padding: 5px 0;
  width: 150px;
}

.sweet-modal-overlay .sweet-buttons {
  position: relative !important;
  border-top: none !important;
  text-align: right;
}

.sweet-modal-overlay .sweet-buttons .btn-red {
  width: 100px;
}

.vue-slider-component.vue-slider-horizontal .vue-slider-process {
  background-color: #42bda5;
}

.info {
  position: relative;
  padding: 10px 10px 10px 50px;
  font-size: 13px;
  color: #fff;
  background-color: #42bda5;
}

.info .fa {
  position: absolute;
  top: 8px;
  left: 14px;
  font-size: 20px;
}

.info span {
  display: block;
}

.select-period {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 20px 10px;
  border: 1px solid #e7e7e7;
}

@media only screen and (max-width: 1199px) {
  .select-period {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.select-period .column-left p {
  margin-right: 15px;
  font-weight: 700;
}

.select-period .select-bg {
  display: inline-block;
  width: 130px;
  margin-right: 10px;
  margin-bottom: 10px;
}

.select-period .tax-count .marker {
  position: absolute;
  right: 0;
  width: 40px;
  height: 38px;
  text-align: center;
  line-height: 40px;
  color: #fff;
  background-color: #42bda5;
  z-index: 100;
}

@media only screen and (max-width: 559px) {
  .select-period .tax-count .marker {
    width: 44px;
    font-size: 13px;
  }
}

.select-period .btn-red {
  width: 100px;
}

@media only screen and (max-width: 559px) {
  .select-period .btn-red {
    width: 100%;
  }
}

.select-period .btn-white {
  width: 140px;
}

@media only screen and (max-width: 1199px) {
  .select-period .btn-white {
    margin-top: 10px;
  }
}

#datepicker {
  display: inline-block;
  width: 240px;
  vertical-align: middle;
}

#datepicker .control {
  margin-bottom: 0;
  margin-right: 10px;
}

@media only screen and (max-width: 559px) {
  #datepicker .control {
    margin-bottom: 10px;
    margin-right: 0;
  }
}

#datepicker .fa-calendar {
  color: #42bda5;
}

#datepicker .fa-times {
  color: #ea5856;
}

@media only screen and (max-width: 559px) {
  #datepicker {
    width: 100%;
  }
}

.flatpickr-day.endRange,
.flatpickr-day.endRange.nextMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.endRange:focus,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.selected:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.startRange:focus,
.flatpickr-day.startRange:hover {
  background: #42bda5;
  border-color: #42bda5;
}

.flatpickr-day:focus,
.flatpickr-day:hover {
  background-color: #42bda5;
  color: white;
}

.flatpickr-day.today {
  border-color: #42bda5;
}

.flatpickr-day.today:focus,
.flatpickr-day.today:hover {
  border-color: #42bda5;
  background-color: #42bda5;
}

.main__registration,
.main__control-panel {
  padding-top: 15px;
  padding-bottom: 25px;
}

.main__registration .custom-nav,
.main__control-panel .custom-nav {
  background-color: #fff;
}

.main__registration .custom-nav ul li,
.main__control-panel .custom-nav ul li {
  position: relative;
  padding: 15px 25px 15px 45px;
  border: 1px solid #e7e7e7;
}

.main__registration .custom-nav ul li .fa-angle-right,
.main__control-panel .custom-nav ul li .fa-angle-right {
  float: right;
  line-height: 20px;
}

.main__registration .custom-nav ul li .fa-check,
.main__registration .custom-nav ul li .icon,
.main__control-panel .custom-nav ul li .fa-check,
.main__control-panel .custom-nav ul li .icon {
  position: absolute;
  top: 16px;
  left: 16px;
  color: #42bda5;
}

.main__registration .custom-nav ul .active,
.main__registration .custom-nav ul a:hover li,
.main__control-panel .custom-nav ul .active,
.main__control-panel .custom-nav ul a:hover li {
  background-color: #42bda5;
}

.main__registration .custom-nav ul .active .fa-angle-right,
.main__registration .custom-nav ul .active .fa-check,
.main__registration .custom-nav ul .active .icon,
.main__registration .custom-nav ul a:hover li .fa-angle-right,
.main__registration .custom-nav ul a:hover li .fa-check,
.main__registration .custom-nav ul a:hover li .icon,
.main__control-panel .custom-nav ul .active .fa-angle-right,
.main__control-panel .custom-nav ul .active .fa-check,
.main__control-panel .custom-nav ul .active .icon,
.main__control-panel .custom-nav ul a:hover li .fa-angle-right,
.main__control-panel .custom-nav ul a:hover li .fa-check,
.main__control-panel .custom-nav ul a:hover li .icon {
  color: #fff;
}

.main__registration .custom-nav ul .active span,
.main__registration .custom-nav ul a:hover li span,
.main__control-panel .custom-nav ul .active span,
.main__control-panel .custom-nav ul a:hover li span {
  color: #fff;
  font-weight: 700;
}

.main__registration .blank,
.main__control-panel .blank {
  padding: 25px;
  background-color: #fff;
}

.main__registration .blank .property-acts,
.main__control-panel .blank .property-acts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.main__registration .blank .property-acts .my-input,
.main__control-panel .blank .property-acts .my-input {
  width: 186px;
}

.main__registration .blank .property-acts .btn-green,
.main__control-panel .blank .property-acts .btn-green {
  width: 120px;
  height: 40px;
  margin-bottom: 20px;
}

.main__registration .blank .property-acts .btn-red,
.main__control-panel .blank .property-acts .btn-red {
  width: 60px;
  height: 40px;
  margin-bottom: 20px;
}

.main__registration .map-block,
.main__control-panel .map-block {
  margin-bottom: 10px;
}

.payments .item {
  border: 1px solid #e7e7e7;
  position: relative;
  height: 210px;
  padding: 20px 10px 0 10px;
  margin-bottom: 15px;
  text-align: center;
  cursor: pointer;
}

.payments .item span {
  display: block;
}

.payments .item .fa {
  margin-bottom: 5px;
}

.payments .item .title {
  margin-bottom: 10px;
  font-size: 18px;
}

.payments .item .text {
  font-size: 13px;
}

.payments .item .state {
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  height: 20px;
  border-bottom: 1px solid #e7e7e7;
  border-left: 1px solid #e7e7e7;
}

#accordionCommission .panel-title {
  border: 1px solid #e7e7e7;
  position: relative;
  padding: 5px 15px;
  margin-top: 5px;
  margin-bottom: 0;
}

#accordionCommission .panel-title a {
  font-size: 16px;
  color: #42bda5;
}

#accordionCommission .panel-title a .fa-angle-down {
  color: #555252;
}

#accordionCommission .panel-title a .fa {
  position: absolute;
  top: 8px;
  right: 10px;
}

#accordionCommission .panel-collapse {
  border: 1px solid #e7e7e7;
  border-top: none;
  padding: 10px 15px;
}

#accordionCommission .panel-collapse span {
  font-size: 13px;
}

.main__registration .blank .contacts {
  margin-bottom: 20px;
}

.main__registration .blank .contacts .item span {
  display: block;
}

.main__registration .blank .requisites .text p {
  margin-bottom: 0;
}

.main__registration .blank .requisites .text,
.main__registration .blank .requisites .print {
  margin-bottom: 15px;
}

.main__registration .blank .confirm-block {
  padding: 10px 15px 20px 15px;
  margin-bottom: 10px;
  background-color: #42bda5;
}

.main__registration .blank .confirm-block .title {
  font-size: 16px;
  color: #fff;
}

.main__registration .blank .confirm-block .checkbox label {
  font-size: 13px;
  color: #fff;
}

.main__registration .blank .confirm-block .checkbox label a {
  font-weight: 700;
  color: #555454;
}

.main__registration .blank .main-title .btn-red {
  float: right;
  width: 150px;
  padding: 5px 0;
}

@media only screen and (max-width: 559px) {
  .main__registration .blank .main-title .btn-red {
    float: none;
    display: block;
    margin: 0 auto;
    margin-top: 10px;
  }
}

.rooms-table {
  width: 100%;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.rooms-table td {
  border: 1px solid #e7e7e7;
  padding: 5px 10px;
}

.rooms-table tr:not(:first-of-type) td:first-child span {
  color: #ea5856;
}

.rooms-table tr:not(:first-of-type) td:nth-child(2n) {
  color: #ea5856;
}

.main__registration .blank .add-block {
  border: 1px solid #e7e7e7;
}

.main__registration .blank .add-block .header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #e7e7e7;
  padding: 15px 20px;
}

.main__registration .blank .add-block .header .btn-group .btn-green,
.main__registration .blank .add-block .header .btn-group .btn-red {
  width: 100px;
  padding: 5px 0;
}

@media only screen and (max-width: 767px) {
  .main__registration .blank .add-block .header .btn-group .btn-green,
  .main__registration .blank .add-block .header .btn-group .btn-red {
    margin-top: 10px;
  }
}

@media only screen and (max-width: 559px) {
  .main__registration .blank .add-block .header .btn-group .btn-green,
  .main__registration .blank .add-block .header .btn-group .btn-red {
    width: 100%;
  }
}

@media only screen and (max-width: 767px) {
  .main__registration .blank .add-block .header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.main__registration .blank .add-block .body {
  padding: 60px 20px;
  text-align: center;
}

.main__registration .blank .add-block .body .btn-white {
  padding: 5px 0;
  display: block;
  max-width: 250px;
  margin: 0 auto;
}

.bed-type .add-button .btn-white {
  float: left;
  width: 250px;
}

.bed-type .add-button .btn-red {
  float: right;
  width: 120px;
}

.bed-type .add-button .btn-white,
.bed-type .add-button .btn-red {
  padding: 5px 0;
  margin-bottom: 10px;
}

@media only screen and (max-width: 559px) {
  .bed-type .add-button .btn-white,
  .bed-type .add-button .btn-red {
    float: none;
    display: block;
    margin: 0 auto;
    margin-bottom: 10px;
  }
}

@media only screen and (max-width: 559px) {
  .bed-type .add-button .btn-white {
    display: block;
    max-width: 190px;
    margin: 0 auto;
    float: none;
    display: block;
    margin-bottom: 10px;
  }
}

.facilities .form-group .checkbox {
  display: inline-block;
  margin-right: 15px;
}

.facilities .extra-beds_options,
.facilities .reservation-type {
  border: 1px solid #e7e7e7;
  padding: 25px;
  margin-bottom: 15px;
}

.facilities .reservation-type {
  padding-bottom: 6px;
}

.facilities .reservation-type .red {
  font-size: 13px;
}

.facilities__list .header {
  display: block;
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
  margin-top: 25px;
  margin-bottom: 50px;
}

.facilities__list .header p {
  font-size: 25px;
  font-weight: 700;
}

.facilities__list #accordionFacilities .panel-title {
  border: 1px solid #e7e7e7;
  padding: 15px 25px;
  margin-top: 20px;
  margin-bottom: 0;
}

.facilities__list #accordionFacilities .panel-title a {
  font-size: 20px;
  font-weight: 700;
  color: #42bda5;
}

.facilities__list #accordionFacilities .panel-title a .fa-angle-down {
  color: #555252;
}

.facilities__list #accordionFacilities .panel-collapse {
  border: 1px solid #e7e7e7;
  border-top: none;
  padding: 20px 25px;
}

.photos .form-group .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 15px;
}

.photos .form-group .text > span {
  margin-right: 30px;
}

@media only screen and (max-width: 767px) {
  .photos .form-group .text > span {
    margin-right: 0;
    margin-bottom: 10px;
  }
}

.photos .form-group .text .btn-red {
  width: 200px;
  height: 40px;
}

@media only screen and (max-width: 767px) {
  .photos .form-group .text .btn-red {
    display: block;
    max-width: 180px;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  .photos .form-group .text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.photos .gallery-item {
  position: relative;
  margin-bottom: 30px;
}

.photos .gallery-item img {
  width: 100%;
}

.photos .gallery-item .options {
  border: 1px solid #e7e7e7;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #f9f8f7;
}

.photos .gallery-item .options-item {
  display: inline-block;
  width: 32%;
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: center;
}

.photos .gallery-item .options-item .fa {
  display: block;
}

.photos .gallery-item .options-item span {
  font-size: 13px;
}

.photos .gallery-item .options-item:nth-last-of-type(2) {
  border-left: 1px solid #e7e7e7;
  border-right: 1px solid #e7e7e7;
}

.main__control-panel .blank .statistics-item {
  border: 1px solid #e7e7e7;
  position: relative;
  padding-top: 20px;
  padding-bottom: 60px;
  margin-bottom: 30px;
  text-align: center;
}

.main__control-panel .blank .statistics-item .green {
  font-size: 70px;
  font-weight: 900;
}

.main__control-panel .blank .statistics-item .period {
  position: absolute;
  bottom: 0;
  padding: 5px;
  width: 100%;
  border-top: 1px solid #e7e7e7;
  text-align: center;
  color: #afafaf;
}

.main__control-panel #controlPanelNav .panel-group .panel {
  margin-bottom: 0;
  border: none;
}

.main__control-panel #controlPanelNav .panel-group .panel .panel-heading {
  border: 1px solid #e7e7e7;
  padding: 0;
  background-color: #fff;
}

.main__control-panel #controlPanelNav .panel-group .panel .panel-heading h5 {
  position: relative;
  padding: 15px 25px 15px 45px;
  margin: 0;
  border-radius: 0;
}

.main__control-panel #controlPanelNav .panel-group .panel .panel-heading h5 .fa-angle-right,
.main__control-panel #controlPanelNav .panel-group .panel .panel-heading h5 .fa-angle-down {
  float: right;
  line-height: 20px;
}

.main__control-panel #controlPanelNav .panel-group .panel .panel-heading h5 .icon {
  position: absolute;
  top: 16px;
  left: 16px;
  color: #42bda5;
}

.main__control-panel #controlPanelNav .panel-group .panel .panel-heading h5 span {
  color: #555454;
}

.main__control-panel #controlPanelNav .panel-group .panel .active h5,
.main__control-panel #controlPanelNav .panel-group .panel .panel-heading a:hover h5 {
  background-color: #42bda5;
}

.main__control-panel #controlPanelNav .panel-group .panel .active h5 .fa-angle-right,
.main__control-panel #controlPanelNav .panel-group .panel .active h5 .fa-angle-down,
.main__control-panel #controlPanelNav .panel-group .panel .active h5 .icon,
.main__control-panel #controlPanelNav .panel-group .panel .panel-heading a:hover h5 .fa-angle-right,
.main__control-panel #controlPanelNav .panel-group .panel .panel-heading a:hover h5 .fa-angle-down,
.main__control-panel #controlPanelNav .panel-group .panel .panel-heading a:hover h5 .icon {
  color: #fff;
}

.main__control-panel #controlPanelNav .panel-group .panel .active h5 span,
.main__control-panel #controlPanelNav .panel-group .panel .panel-heading a:hover h5 span {
  color: #fff;
  font-weight: 700;
}

.main__control-panel #controlPanelNav .panel-group .panel .panel-collapse .panel-body {
  border: 1px solid #e7e7e7;
  padding: 15px 25px 5px 45px;
  background-color: #f5f5f6;
}

.main__control-panel #controlPanelNav .panel-group .panel .panel-collapse .panel-body ul {
  margin-bottom: 0;
}

.main__control-panel #controlPanelNav .panel-group .panel .panel-collapse .panel-body ul li {
  margin-bottom: 10px;
}

.main__control-panel #controlPanelNav .panel-group .panel .panel-collapse .panel-body ul .active span,
.main__control-panel #controlPanelNav .panel-group .panel .panel-collapse .panel-body ul a:hover li span {
  color: #42bda5;
  font-weight: 700;
}

.main__control-panel .blank .scroll-x,
.main__control-panel .blank .legend {
  margin-top: 20px;
}

.main__control-panel .blank .scroll-x .reserved,
.main__control-panel .blank .legend .reserved {
  background-color: #00b9a5;
}

.main__control-panel .blank .scroll-x .restricted,
.main__control-panel .blank .legend .restricted {
  background-color: #00b970;
}

.main__control-panel .blank .scroll-x .closed,
.main__control-panel .blank .legend .closed {
  background-color: #ed5454;
}

.main__control-panel .blank .scroll-x .sold,
.main__control-panel .blank .legend .sold {
  background-color: #c1a562;
}

.main__control-panel .blank .scroll-x .unexist,
.main__control-panel .blank .legend .unexist {
  background-color: #e0e329;
}

.main__control-panel .blank .scroll-x {
  width: 100%;
  margin-bottom: 14.25px;
  overflow-y: hidden;
  border: 1px solid #ddd;
  overflow-x: auto;
  min-height: 0.01%;
}

.main__control-panel .blank .scroll-x .calendar-table {
  min-width: 930px;
}

.main__control-panel .blank .scroll-x .calendar-table td {
  border: 1px solid #e7e7e7;
  position: relative;
  padding: 10px 15px;
}

.main__control-panel .blank .scroll-x .calendar-table td:first-of-type {
  width: 190px;
}

.main__control-panel .blank .scroll-x .calendar-table td:not(:first-of-type) {
  width: 100px;
  vertical-align: middle;
  text-align: center;
}

.main__control-panel .blank .scroll-x .calendar-table td .fa {
  color: #42bda5;
}

.main__control-panel .blank .scroll-x .calendar-table td .fa-pencil-square-o {
  position: absolute;
  right: 10px;
  top: 10px;
  cursor: pointer;
}

.main__control-panel .blank .scroll-x .calendar-table .title-sm {
  border: none;
}

.main__control-panel .blank .scroll-x .calendar-table .standart-rate {
  font-weight: 700;
  cursor: pointer;
}

.main__control-panel .blank .scroll-x .calendar-table .standart-rate .fa {
  position: absolute;
  right: 10px;
  top: 10px;
}

.main__control-panel .blank .scroll-x .calendar-table .room-number td:not(:first-of-type) {
  padding: 0 25px;
}

.main__control-panel .blank .scroll-x .calendar-table .room-number .white-box {
  height: 40px;
  line-height: 40px;
  background-color: white;
}

.main__control-panel .blank .scroll-x .calendar-table .type td:not(:first-child),
.main__control-panel .blank .scroll-x .calendar-table .rate td:not(:first-child),
.main__control-panel .blank .scroll-x .calendar-table .room-number td:not(:first-child) {
  border: none;
}

.main__control-panel .blank .legend div {
  display: inline-block;
  vertical-align: top;
}

.main__control-panel .blank .legend-item {
  border: 1px solid #e7e7e7;
  max-width: 240px;
  height: 30px;
  margin-right: 10px;
  margin-bottom: 15px;
}

.main__control-panel .blank .legend-item .color-cube {
  width: 30px;
  height: 100%;
}

.main__control-panel .blank .legend-item .text {
  padding: 0 15px;
  text-align: center;
}

.main__control-panel .blank .legend-item .text span {
  line-height: 30px;
}

.main__control-panel .blank .choice-period {
  margin-top: 10px;
}

.main__control-panel .blank .choice-period__item {
  padding: 20px;
}

.main__control-panel .blank .choice-period__item .btn-red,
.main__control-panel .blank .choice-period__item .btn-green {
  width: 170px;
  padding: 5px 0;
  margin-top: 5px;
}

.main__control-panel .blank .choice-period__item .checkbox-group {
  margin-top: 10px;
}

.main__control-panel .blank .choice-period__item .checkbox label {
  font-size: 15px;
}

@media only screen and (min-width: 1200px) {
  .main__control-panel .blank .choice-period__item {
    height: 340px;
  }
}

.main__control-panel .blank #actions {
  margin-bottom: 10px;
}

.main__control-panel .blank #actions .btn-white {
  width: 170px;
  padding: 5px 0;
  margin-bottom: 10px;
}

.main__control-panel .blank #actions .btn-white .fa {
  display: none;
}

.main__control-panel .blank #actions .btnGreen .fa {
  display: inline-block;
}

.main__control-panel .blank .btn-white {
  width: 250px;
  padding: 5px 0;
  margin-bottom: 10px;
  font-size: 13px;
}

.main__control-panel .blank .table td {
  border: 1px solid #e7e7e7;
  padding: 15px 20px;
  vertical-align: top;
}

.main__control-panel .blank .table .name span {
  display: block;
}

.main__control-panel .blank .table .name button {
  width: 100px;
  padding: 5px 0;
  margin-bottom: 5px;
}

.main__control-panel .blank .table .room span {
  display: block;
  white-space: nowrap;
}

.main__control-panel .facilities .row {
  margin-bottom: 30px;
}

.main__control-panel .facilities .frame {
  position: relative;
  padding: 15px 50px 15px 70px;
}

.main__control-panel .facilities .frame .fa-2x {
  position: absolute;
  left: 20px;
  top: 10px;
}

@media only screen and (max-width: 559px) {
  .main__control-panel .facilities .frame {
    padding: 15px;
  }

  .main__control-panel .facilities .frame .fa-2x {
    display: none;
  }
}

.main__control-panel .facilities .new-category .gray {
  font-size: 13px;
}

.main__control-panel .facilities .room-type .checkbox {
  display: inline-block;
  margin-right: 20px;
}

.main__control-panel .facilities .policies .radio,
.main__control-panel .facilities .dining-table .radio {
  display: inline-block;
  margin-right: 20px;
}

.main__control-panel .facilities .dining-table .checkbox-group {
  display: inline-block;
  margin-right: 20px;
}

.main__control-panel .facilities .when-display .gray {
  font-size: 13px;
}

.main__control-panel .facilities .when-display .gray label {
  display: block;
}

.main__control-panel .facilities .when-display .gray .input-bg {
  display: inline-block;
  width: 44px;
  padding: 0 12px;
  margin-right: 10px;
  margin-bottom: 5px;
}

.main__control-panel .facilities .min-stay {
  height: 180px;
}

.main__control-panel .facilities .min-stay .gray {
  font-size: 13px;
}

.main__control-panel .blank .location,
.main__control-panel .blank .commission,
.main__control-panel .blank .calendar {
  position: relative;
  padding: 15px 50px 15px 70px;
}

.main__control-panel .blank .location .fa-2x,
.main__control-panel .blank .commission .fa-2x,
.main__control-panel .blank .calendar .fa-2x {
  position: absolute;
  left: 20px;
  top: 10px;
}

.main__control-panel .blank .location .title,
.main__control-panel .blank .commission .title,
.main__control-panel .blank .calendar .title {
  margin-bottom: 5px;
}

@media only screen and (max-width: 559px) {
  .main__control-panel .blank .location,
  .main__control-panel .blank .commission,
  .main__control-panel .blank .calendar {
    padding: 15px;
  }

  .main__control-panel .blank .location .fa-2x,
  .main__control-panel .blank .commission .fa-2x,
  .main__control-panel .blank .calendar .fa-2x {
    display: none;
  }
}

.main__control-panel .blank .reset-date {
  margin-top: 10px;
  margin-bottom: 15px;
}

.main__control-panel .blank .reset-date,
.main__control-panel .blank .add-new {
  max-width: 270px;
}

.main__control-panel .blank .title-sm .bold {
  padding-left: 5px;
  padding-right: 5px;
  color: white;
  background-color: #42bda5;
}

.main__control-panel .blank .location .radio-group .radio {
  display: inline-block;
  margin-right: 20px;
}

.main__control-panel .blank .location .radio-group .gray {
  margin-bottom: 15px;
  font-size: 13px;
}

.main__control-panel .blank .location .choose-country .my-select {
  display: inline-block;
  width: 100%;
}

@media only screen and (min-width: 1200px) {
  .main__control-panel .blank .location .choose-country .my-select {
    width: 400px;
    margin-right: 20px;
  }
}

.main__control-panel .blank .location .choose-country button {
  width: 115px;
  padding: 5px 0;
  margin-bottom: 10px;
}

.main__control-panel .blank .location .choose-country .btn-green {
  margin-right: 10px;
}

.main__control-panel .visibility #datepicker .flatpickr-calendar {
  margin: 0 auto;
}

.main__control-panel .blank .frameWithHeader .frame {
  padding: 15px 20px;
}

.main__control-panel .blank .frameWithHeader .frame .btn-delete,
.main__control-panel .blank .frameWithHeader .frame .btn-edit {
  width: 100px;
  padding: 5px 0;
}

.main__control-panel .blank .frameWithHeader .frame .benefit-from,
.main__control-panel .blank .frameWithHeader .frame .prepayment {
  margin-bottom: 10px;
}

.main__control-panel .blank .frameWithHeader .frame .benefit-from .radio,
.main__control-panel .blank .frameWithHeader .frame .prepayment .radio {
  display: inline-block;
}

.main__control-panel .blank .frameWithHeader .frame .summary {
  padding: 15px 20px 5px 20px;
  margin-bottom: 10px;
  background-color: #f0f0f0;
}

.main__control-panel .blank .frameWithHeader .frame .create-policy {
  width: 270px;
  margin-top: 20px;
}

@media only screen and (max-width: 559px) {
  .main__control-panel .blank .frameWithHeader .frame .create-policy {
    width: 100%;
  }
}

.main__control-panel .blank .frameWithHeader .frame .youngDriverTaxe .radio-group .radio,
.main__control-panel .blank .frameWithHeader .frame .mileageLimit .radio-group .radio {
  display: inline-block;
}

.main__control-panel .blank .frameWithHeader .frame .youngDriverTaxe .age-range {
  display: inline-block;
  margin-right: 10px;
}

.main__control-panel .blank .frameWithHeader .header {
  padding: 15px 20px 5px 20px;
  background-color: #42bda5;
}

.main__control-panel .blank .frameWithHeader .header p {
  display: inline-block;
  color: white;
}

.main__control-panel .blank .frameWithHeader .header p .title-sm {
  color: white;
}

.main__control-panel .blank .frameWithHeader .header .btn-white {
  float: right;
  width: 120px;
}

.main__control-panel .blank .frameWithHeader .header .btn-white span {
  color: #555454;
  font-weight: 700;
}

@media only screen and (max-width: 559px) {
  .main__control-panel .blank .frameWithHeader .header .btn-white {
    float: none;
    display: block;
  }
}

.main__control-panel .blank .reservation-table {
  width: 100%;
  margin-top: 20px;
}

.main__control-panel .blank .reservation-table td {
  border: 1px solid #e7e7e7;
  padding: 10px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
}

.main__control-panel .blank .reservation-table td:first-of-type {
  text-align: left;
}

.main__control-panel .blank .reservation-table td .number-persons {
  display: block;
  white-space: nowrap;
}

.main__control-panel .blank .reservation-table td .total-commission {
  margin-right: 10px;
}

.main__control-panel .blank .new-messages {
  width: 200px;
  margin-top: 10px;
  margin-bottom: 60px;
}

.main__control-panel .blank #conversation {
  margin-bottom: 20px;
}

.main__control-panel .blank #conversation .btn-group {
  display: block;
  max-width: 485px;
  margin: 0 auto;
  margin-bottom: 40px;
}

.main__control-panel .blank #conversation .btn-group .btn-white {
  width: 240px;
}

@media only screen and (max-width: 559px) {
  .main__control-panel .blank #conversation .btn-group .btn-white {
    width: 100%;
  }
}

.main__control-panel .blank #conversation .messages-table {
  width: 100%;
  margin-bottom: 15px;
}

.main__control-panel .blank #conversation .messages-table td {
  border: 1px solid #e7e7e7;
  padding: 10px 20px;
  text-align: center;
  font-weight: 700;
}

.main__control-panel .blank #conversation .messages-table td .fa-trash-o {
  margin-left: 10px;
}

.main__control-panel .blank #conversation .messages-table + p {
  margin-left: 20px;
}

.main__control-panel .blank .conversation-block {
  border: 1px solid #e7e7e7;
}

.main__control-panel .blank .conversation-block .header {
  position: relative;
  padding: 15px 20px 5px 20px;
  border-bottom: 1px solid #e7e7e7;
}

.main__control-panel .blank .conversation-block .header p {
  display: inline-block;
}

.main__control-panel .blank .conversation-block .header p .green {
  font-weight: 700;
}

.main__control-panel .blank .conversation-block .header .manager {
  margin-right: 10px;
}

.main__control-panel .blank .conversation-block .header .fa-times {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
}

.main__control-panel .blank .conversation-block .body {
  padding: 15px;
  border-bottom: 1px solid #e7e7e7;
  background-color: #f9f9f9;
}

.main__control-panel .blank .conversation-block .body .message {
  margin-bottom: 40px;
  background-color: transparent;
  border-radius: 0;
}

.main__control-panel .blank .conversation-block .body .message .avatar,
.main__control-panel .blank .conversation-block .body .message .text {
  display: inline-block;
}

.main__control-panel .blank .conversation-block .body .message .avatar {
  text-align: center;
}

.main__control-panel .blank .conversation-block .body .message .avatar img {
  border-radius: 50%;
}

.main__control-panel .blank .conversation-block .body .message .avatar span {
  display: block;
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
  .main__control-panel .blank .conversation-block .body .message .avatar {
    display: none;
  }
}

.main__control-panel .blank .conversation-block .body .message .text {
  position: relative;
  width: 85%;
  padding: 15px 20px;
  border-radius: 5px;
  vertical-align: top;
}

.main__control-panel .blank .conversation-block .body .message .text .name {
  font-weight: 700;
}

.main__control-panel .blank .conversation-block .body .message .text span {
  display: block;
  font-size: 14px;
}

.main__control-panel .blank .conversation-block .body .message .text .date {
  position: absolute;
  bottom: -20px;
}

.main__control-panel .blank .conversation-block .body .message .text .date span {
  font-size: 12px;
  color: #555454;
}

@media only screen and (max-width: 1199px) {
  .main__control-panel .blank .conversation-block .body .message .text {
    width: 80%;
  }
}

@media only screen and (max-width: 767px) {
  .main__control-panel .blank .conversation-block .body .message .text {
    width: 100%;
  }
}

.main__control-panel .blank .conversation-block .body .message .manager-massage {
  margin-left: 2%;
  background-color: #a6e5d6;
}

.main__control-panel .blank .conversation-block .body .message .manager-massage span {
  color: #4f746b;
}

.main__control-panel .blank .conversation-block .body .message .manager-massage .date {
  right: 10px;
}

.main__control-panel .blank .conversation-block .body .message .manager-massage::before {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  left: -15px;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 15px solid #a6e5d6;
}

@media only screen and (max-width: 767px) {
  .main__control-panel .blank .conversation-block .body .message .manager-massage::before {
    content: none;
  }
}

@media only screen and (max-width: 767px) {
  .main__control-panel .blank .conversation-block .body .message .manager-massage {
    margin-left: 0;
  }
}

.main__control-panel .blank .conversation-block .body .message .user-massage {
  margin-right: 2%;
  background-color: #ffa7a9;
}

.main__control-panel .blank .conversation-block .body .message .user-massage span {
  color: #6a4f4f;
}

.main__control-panel .blank .conversation-block .body .message .user-massage .date {
  left: 10px;
}

.main__control-panel .blank .conversation-block .body .message .user-massage::after {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  right: -15px;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 15px solid #ffa7a9;
}

@media only screen and (max-width: 767px) {
  .main__control-panel .blank .conversation-block .body .message .user-massage::after {
    content: none;
  }
}

@media only screen and (max-width: 767px) {
  .main__control-panel .blank .conversation-block .body .message .user-massage {
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 767px) {
  .main__control-panel .blank .conversation-block .body .message .user-massage {
    margin-right: 0;
  }
}

.main__control-panel .blank .conversation-block .footer {
  height: 95px;
  padding: 0;
  background-color: white;
}

.main__control-panel .blank .conversation-block .footer textarea {
  width: 87%;
  height: 100%;
  padding: 15px;
  border: none;
}

@media only screen and (max-width: 559px) {
  .main__control-panel .blank .conversation-block .footer textarea {
    width: 70%;
  }
}

.main__control-panel .blank .conversation-block .footer button {
  width: 12%;
  height: 100%;
  border: none;
  border-left: 1px solid #e7e7e7;
  vertical-align: top;
  background-color: white;
}

@media only screen and (max-width: 559px) {
  .main__control-panel .blank .conversation-block .footer button {
    width: 28%;
  }
}

.main__control-panel .blank .reviews {
  margin-top: 20px;
}

.main__control-panel .blank .reviews-item {
  margin-bottom: 15px;
}

.main__control-panel .blank .reviews-item .header,
.main__control-panel .blank .reviews-item .body {
  border: 1px solid #e7e7e7;
}

.main__control-panel .blank .reviews-item .header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px;
}

.main__control-panel .blank .reviews-item .header .avatar img {
  border-radius: 50%;
}

.main__control-panel .blank .reviews-item .header .information span {
  display: block;
  font-size: 12px;
}

.main__control-panel .blank .reviews-item .header .information span .green {
  display: inline;
  font-weight: 900;
}

.main__control-panel .blank .reviews-item .header .information .user-name,
.main__control-panel .blank .reviews-item .header .information .rating {
  font-size: 16px;
  font-weight: 700;
}

.main__control-panel .blank .reviews-item .body {
  padding: 15px 20px;
}

.main__control-panel .blank .reviews-item .body p {
  font-size: 13px;
}

.main__control-panel .blank .reviews-item .footer {
  padding: 15px;
  color: white;
  background-color: #42bda5;
}

.main__control-panel .blank .reviews-item .footer span {
  font-weight: 700;
}

.main__control-panel .blank .reviews .load-more {
  display: block;
  max-width: 270px;
  margin: 0 auto;
  margin-top: 15px;
}

.main__control-panel .blank .year-bils label,
.main__control-panel .blank .year-bils .my-select {
  margin-right: 10px;
}

.main__control-panel .blank .year-bils .my-select {
  display: inline-block;
  width: 160px;
}

.main__control-panel .blank .year-bils .btn-red {
  width: 150px;
  margin-bottom: 5px;
}

.main__control-panel .blank .table-invoices {
  width: 100%;
  margin-bottom: 20px;
}

.main__control-panel .blank .table-invoices td,
.main__control-panel .blank .table-invoices th {
  border: 1px solid #e7e7e7;
  padding: 10px;
  vertical-align: top;
}

.main__control-panel .blank .table-invoices td {
  font-size: 14px;
}

.main__control-panel .blank .table-invoices .btn-green {
  padding: 5px 0;
}

.main__control-panel .blank .table-invoices p {
  margin-bottom: 0;
}

.main__control-panel .blank .table-invoices .green {
  font-weight: bold;
}

.main__control-panel .blank .table-border {
  display: inline-block;
  border: 1px solid #e7e7e7;
  padding: 15px 20px;
}

.main__control-panel .blank .table-border .table-invoices-info {
  position: relative;
  width: 100%;
}

.main__control-panel .blank .table-border .table-invoices-info td {
  padding: 10px;
}

.main__control-panel .blank .table-border .table-invoices-info td .switch {
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
}

.main__control-panel .blank .table-border .table-invoices-info td:first-of-type {
  width: 30%;
}

.main__control-panel .blank .table-border .table-invoices-info td input {
  width: 80%;
}

.main__control-panel .blank .table-border .table-invoices-info tr:not(:last-child) td {
  border-bottom: 1px solid #e7e7e7;
}

.main__control-panel .blank .frameWithHeader .property-details p span:first-child {
  font-weight: 700;
}

.main__control-panel .blank .frameWithHeader .taxes-details table {
  width: 100%;
}

.main__control-panel .blank .frameWithHeader .taxes-details table tr:first-of-type {
  border: 1px solid #e7e7e7;
}

.main__control-panel .blank .frameWithHeader .taxes-details table th {
  width: calc(100% / 3);
  padding: 10px 5px;
}

.main__control-panel .blank .frameWithHeader .taxes-details table td {
  padding: 10px 5px;
  border-bottom: 1px solid #e7e7e7;
}

.main__control-panel .blank .frameWithHeader .frame .add-avatar {
  text-align: center;
}

.main__control-panel .blank .frameWithHeader .frame .add-avatar .avatar {
  display: block;
  max-width: 120px;
  margin: 0 auto;
  height: 120px;
  margin-bottom: 10px;
  border-radius: 50%;
  background-color: #e5e5e5;
}

.main__control-panel .blank .frameWithHeader .frame .add-avatar .btn-red {
  width: 180px;
  padding: 5px 0;
  margin-bottom: 15px;
}

.main__control-panel .blank .frameWithHeader .frame .custom-message #addLanguage {
  margin-bottom: 20px;
}

.main__control-panel .blank .frameWithHeader .frame .custom-message #addLanguage .btn-green {
  width: 110px;
  padding: 5px 0;
  margin-right: 5px;
  margin-bottom: 10px;
}

.main__control-panel .blank .frameWithHeader .frame .custom-message #addLanguage .btn-green .fa {
  margin-right: 10px;
}

.main__control-panel .blank .frameWithHeader .frame .custom-message #addLanguage .btn-green .fa-times {
  display: none;
}

.main__control-panel .blank .frameWithHeader .frame .custom-message #addLanguage .btn-green:hover .fa-times {
  display: inline-block;
}

.main__control-panel .blank .frameWithHeader .frame .custom-message #addLanguage .btn-green:hover .fa-globe {
  display: none;
}

.main__control-panel .blank .frameWithHeader .frame .custom-message #addLanguage .btn-white {
  width: 170px;
  font-size: 16px;
}

.main__control-panel .blank .frameWithHeader .frame .custom-message .my-select {
  margin-bottom: 0;
}

.main__control-panel .blank .frameWithHeader .frame .custom-message .textarea-about {
  position: relative;
  margin-bottom: 20px;
}

.main__control-panel .blank .frameWithHeader .frame .custom-message .textarea-about .green {
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.main__control-panel .blank .frameWithHeader .about-property .rent-start .my-select,
.main__control-panel .blank .frameWithHeader .about-property .rent-start .my-input,
.main__control-panel .blank .frameWithHeader .about-property .year-reconst .my-select,
.main__control-panel .blank .frameWithHeader .about-property .year-reconst .my-input {
  display: inline-block;
  width: 48%;
}

@media only screen and (max-width: 559px) {
  .main__control-panel .blank .frameWithHeader .about-property .rent-start .my-select,
  .main__control-panel .blank .frameWithHeader .about-property .rent-start .my-input,
  .main__control-panel .blank .frameWithHeader .about-property .year-reconst .my-select,
  .main__control-panel .blank .frameWithHeader .about-property .year-reconst .my-input {
    width: 100%;
  }
}

.main__control-panel .blank .frameWithHeader .about-property .rent-start .my-select,
.main__control-panel .blank .frameWithHeader .about-property .year-reconst .my-select {
  margin-right: 3%;
}

@media only screen and (max-width: 559px) {
  .main__control-panel .blank .frameWithHeader .about-property .rent-start .my-select,
  .main__control-panel .blank .frameWithHeader .about-property .year-reconst .my-select {
    margin-right: 0;
  }
}

.main__control-panel .blank .frameWithHeader .about-property .year-property .my-input {
  width: 48%;
}

@media only screen and (max-width: 559px) {
  .main__control-panel .blank .frameWithHeader .about-property .year-property .my-input {
    width: 100%;
  }
}

.main__control-panel .blank #propertyModal .item,
.main__control-panel .blank #propertyModal .add-item {
  margin-bottom: 15px;
}

.main__control-panel .blank #propertyModal .item {
  position: relative;
}

.main__control-panel .blank #propertyModal .item img {
  width: 100%;
}

.main__control-panel .blank #propertyModal .item .description {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(85, 76, 71, 0.8);
}

.main__control-panel .blank #propertyModal .item .description .text {
  padding: 5px 10px;
}

.main__control-panel .blank #propertyModal .item .description .text p {
  margin-bottom: 0;
  color: white;
  font-size: 13px;
}

.main__control-panel .blank #propertyModal .item .description .text .bold {
  font-size: 16px;
}

.main__control-panel .blank #propertyModal .item .description .edit {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 60px;
  height: 100%;
  padding: 15px 0;
  color: white;
  background-color: #42bda5;
  text-align: center;
}

.main__control-panel .blank #propertyModal .item .description .edit .fa {
  display: block;
}

.main__control-panel .blank #propertyModal .item .description .edit span {
  font-size: 13px;
}

.main__control-panel .blank #propertyModal .item .description-auto .edit {
  padding-top: 28px;
}

.main__control-panel .blank #propertyModal .add-item {
  padding: 58px 0;
  text-align: center;
  cursor: pointer;
}

.main__control-panel .blank #propertyModal .add-item .fa {
  display: block;
}

.main__control-panel .blank #propertyModal .add-item span {
  font-size: 13px;
}

.main__control-panel .blank .hall-settings {
  padding: 15px 20px;
}

.main__control-panel .blank .hall-settings .general-information {
  margin-bottom: 40px;
}

.main__control-panel .blank .hall-settings .tables {
  margin-bottom: 20px;
}

.main__control-panel .blank .hall-settings .tables .table-shape,
.main__control-panel .blank .hall-settings .tables .seats-number,
.main__control-panel .blank .hall-settings .tables .table-number {
  display: inline-block;
  margin-bottom: 20px;
}

.main__control-panel .blank .hall-settings .tables .table-shape .small-select,
.main__control-panel .blank .hall-settings .tables .seats-number .small-select,
.main__control-panel .blank .hall-settings .tables .table-number .small-select {
  margin-left: 0;
}

.main__control-panel .blank .hall-settings .tables .table-number {
  margin-right: 30px;
}

.main__control-panel .blank .hall-settings .tables .table-shape .small-select .select-bg {
  width: 200px;
}

.main__control-panel .blank .hall-settings .tables .seats-number .small-select .select-bg,
.main__control-panel .blank .hall-settings .tables .table-number .small-select .select-bg {
  width: 60px;
}

.main__control-panel .blank .hall-settings .tables button {
  width: 115px;
  padding: 3px 0;
  margin-right: 10px;
}

.main__control-panel .blank .content {
  border: 1px solid #e7e7e7;
  padding: 20px 15px;
  margin-bottom: 10px;
}

.main__control-panel .blank .content #addTransport {
  margin-bottom: 15px;
}

.main__control-panel .blank .content #addTransport .btn-white {
  width: 210px;
}

.main__control-panel .blank .content .button-controls {
  margin-top: 15px;
  margin-bottom: 15px;
}

.main__control-panel .blank .content .button-controls .btn-red,
.main__control-panel .blank .content .button-controls .btn-green {
  width: 120px;
  padding: 5px 0;
  margin-right: 10px;
  margin-bottom: 5px;
}

.main__control-panel .blank .content #addShop .btn-green,
.main__control-panel .blank .content #addObject .btn-green {
  width: 140px;
  padding: 5px 0;
}

.main__control-panel .title {
  font-size: 25px;
  font-weight: 700;
}

.main__control-panel .blank .description-field {
  padding: 10px 15px;
  margin-bottom: 10px;
  background-color: #e5e5e5;
}

.main__control-panel .blank #keys .my-select {
  max-width: 430px;
}

.main__control-panel .blank #keys .my-input {
  max-width: 430px;
}

.main__control-panel .blank .payment-options .radio-group .radio,
.main__control-panel .blank .hot .radio-group .radio,
.main__control-panel .blank .guest-info .radio-group .radio,
.main__control-panel .blank .extra-expenses .radio-group .radio {
  display: inline-block;
}

.main__control-panel .blank .payment-options #paymentOptions > .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.main__control-panel .blank .hot .checkbox-group {
  margin-bottom: 30px;
}

.main__control-panel .blank .hot .checkbox-group .item .checkbox label span {
  display: block;
}

.main__control-panel .blank .hot .checkbox-group .item .checkbox .my-select {
  display: none;
}

.main__control-panel .blank .hot .checkbox-group .item .checkbox .my-select .select-bg {
  width: 80px;
  height: 26px;
}

.main__control-panel .blank .hot .checkbox-group .item .checkbox .my-select .select-bg .text-form {
  color: #a1a1a1;
}

.main__control-panel .blank .hot .checkbox-group .item .checkbox .my-select .select-bg::before {
  width: 24px;
  height: 24px;
}

.main__control-panel .blank .hot .checkbox-group .item .checkbox .my-select .select-bg::after {
  top: 3px;
  right: 5px;
}

.main__control-panel .blank .hot .checkbox-group .item .checkbox #hot1:checked ~ .my-select,
.main__control-panel .blank .hot .checkbox-group .item .checkbox #hot2:checked ~ .my-select,
.main__control-panel .blank .hot .checkbox-group .item .checkbox #hot3:checked ~ .my-select {
  display: block !important;
}

.main__control-panel .blank .hot .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.main__control-panel .blank .сancellation .checkbox label {
  margin-bottom: 20px;
}

.main__control-panel .blank .сancellation .checkbox label span {
  display: block;
}

.main__control-panel .blank .template-messages {
  padding: 100px 20px;
  background-image: url(/images/template-messages-img.png?683599cc18d2e7534e95e608cdd0e846);
  background-repeat: no-repeat;
  background-position-x: 20px;
  background-position-y: 10px;
}

@media only screen and (max-width: 767px) {
  .main__control-panel .blank .template-messages {
    padding: 20px 20px;
    background-image: none;
  }
}

.main__control-panel .blank .template-messages .text-center {
  float: right;
  max-width: 580px;
  margin-left: 300px;
}

.main__control-panel .blank .template-messages .text-center .btn-green {
  max-width: 250px;
}

@media only screen and (max-width: 767px) {
  .main__control-panel .blank .template-messages .text-center {
    margin: 0 auto;
  }
}

.main__control-panel .blank .chart-preview {
  margin-top: 25px;
}

.main__control-panel .blank .chart-preview span {
  display: block;
}

.main__control-panel .blank .chart-preview .inner {
  border: 1px solid #e7e7e7;
  margin-top: 10px;
}

.main__control-panel .blank .chart-preview .inner .chart,
.main__control-panel .blank .chart-preview .inner .text {
  max-height: 400px;
}

.main__control-panel .blank .chart-preview .inner .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 15px 20px;
}

.main__control-panel .blank .chart-preview .inner .text table tr td {
  padding-bottom: 15px;
}

.main__control-panel .blank .chart-preview .inner .text table tr td:first-child {
  padding-right: 20px;
  color: #42bda5;
  font-weight: 700;
}

@media only screen and (max-width: 559px) {
  .main__control-panel .blank .chart-preview .inner .text table tr td {
    font-size: 14px;
  }
}

.main__control-panel .blank .chart-preview .inner .text .btn-red {
  width: 180px;
  padding: 5px 0;
  margin-top: 30px;
}

.main__control-panel .blank .line-chart {
  margin-top: 30px;
  height: 500px;
}

.main__control-panel .blank .line-chart .my-select {
  display: inline-block;
  margin-right: 20px;
}

.main__control-panel .blank .line-chart .my-select span {
  margin-right: 15px;
}

.main__control-panel .blank .line-chart .my-select .select-bg {
  display: inline-block;
  width: 160px;
}

.tablesPlan .settings .settings-item {
  border: 1px solid #e7e7e7;
  margin-top: 15px;
}

.tablesPlan .settings .settings-item .header {
  padding: 10px 0;
  border-bottom: 1px solid #e7e7e7;
  text-align: center;
}

.tablesPlan .settings .settings-item .header span {
  color: #42bda5;
  font-weight: bold;
}

.tablesPlan .settings .settings-item .body {
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: center;
}

.tablesPlan .settings .settings-item .body .btn-red {
  padding: 5px 0;
}

.tablesPlan .settings .hallsSquare .body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.tablesPlan .settings .hallsSquare .body .hallSize {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.tablesPlan .settings .hallsSquare .body .hallSize .fa {
  color: #42bda5;
  cursor: pointer;
}

.tablesPlan .settings .hallsSquare .body .hallSize .fa:hover {
  color: #359784;
}

.tablesPlan .settings .hallsSquare .body .hallSize .my-input {
  margin-left: 10px;
  margin-right: 10px;
  width: 100px;
}

.tablesPlan .settings .hallsSquare .body .hallSize .my-input label {
  text-align: center;
}

.tablesPlan .settings .hallsSquare .body .hallSize .my-input .input-bg {
  height: 30px;
}

.tablesPlan .settings .hallsSquare .body .hallSize .my-input .input-bg .text-form {
  text-align: center;
}

.tablesPlan .settings .hallsSquare .body .btn-red {
  width: 150px;
  height: 30px;
}

@media only screen and (max-width: 559px) {
  .tablesPlan .settings .hallsSquare .body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.tablesPlan .settings .addTable .body,
.tablesPlan .settings .additional .body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media only screen and (max-width: 559px) {
  .tablesPlan .settings .addTable .body,
  .tablesPlan .settings .additional .body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.tablesPlan .settings .addTable-item,
.tablesPlan .settings .additional-item {
  width: 30%;
}

.tablesPlan .settings .addTable-item img,
.tablesPlan .settings .addTable-item .fa,
.tablesPlan .settings .additional-item img,
.tablesPlan .settings .additional-item .fa {
  margin-bottom: 15px;
}

.tablesPlan .settings .addTable-item .btn-red,
.tablesPlan .settings .additional-item .btn-red {
  height: 30px;
}

@media only screen and (max-width: 559px) {
  .tablesPlan .settings .addTable-item,
  .tablesPlan .settings .additional-item {
    width: 50%;
    margin-bottom: 15px;
  }
}

.tablesPlan .field {
  margin-top: 15px;
  margin-bottom: 15px;
}

.tablesPlan .field .header {
  padding: 10px 15px;
  color: #ffffff;
  background-color: #555353;
}

.tablesPlan .field .header ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.tablesPlan .field .header ul li {
  display: inline-block;
  font-size: 12px;
}

.tablesPlan .field .header ul .instrumetsLabel {
  font-size: 16px;
}

.tablesPlan .field .header .instrumetGreed li {
  margin-right: 5px;
}

.tablesPlan .field .header .instrumetGreed li .radio label {
  padding-left: 25px;
  margin-bottom: 0;
}

.tablesPlan .field .header .instrumetGreed li .radio label::before {
  width: 20px;
  height: 20px;
  border-radius: 0;
}

.tablesPlan .field .header .instrumetGreed li .radio .point {
  top: -1px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 0;
}

@media only screen and (max-width: 559px) {
  .tablesPlan .field .header .instrumetGreed li {
    margin-right: 2px;
  }
}

.tablesPlan .field .header > ul li {
  margin-right: 15px;
}

.tablesPlan .field .header .enlarge,
.tablesPlan .field .header .decrease,
.tablesPlan .field .header .underSize,
.tablesPlan .field .header .rotateRight,
.tablesPlan .field .header .rotateLeft {
  cursor: pointer;
}

.tablesPlan .field .body {
  min-height: 400px;
  padding: 70px 40px 45px 40px;
  background: linear-gradient(#e7e7e7, transparent 1px), linear-gradient(90deg, #e7e7e7, transparent 1px);
  background-size: 30px 30px;
  background-position: center center;
  border: 2px solid #e7e7e7;
}

.tablesPlan .field .body .field-item {
  margin-bottom: 25px;
}

.tablesPlan .field .body .field-item img {
  display: block;
  margin: 0 auto;
  margin-bottom: 10px;
}

.tablesPlan .field .body .field-item .name {
  width: 120px;
  padding: 10px 0;
  margin: 0 auto;
  border: 1px solid #e7e7e7;
  background-color: white;
  text-align: center;
}

.tablesPlan .field .body .field-item .name .fa-pencil-square-o {
  color: #42bda5;
}

.tablesPlan .field .body .field-item .name .fa-trash {
  color: #ea5856;
}

.tablesPlan .field .body .field-item .name .fa {
  margin-left: 5px;
  cursor: pointer;
}

.tablesPlan .field .body .field-item .name span {
  font-size: 13px;
}

@media only screen and (max-width: 559px) {
  .tablesPlan .field .body {
    padding: 25px 10px 0px 10px;
  }
}

.tablesPlan .description {
  margin-bottom: 15px;
}

.sales-policy #addAgent,
.rental-policy #addAgent {
  max-width: 1200px;
  margin: 0 auto;
}

.sales-policy .frame,
.rental-policy .frame {
  padding: 25px;
}

.sales-policy .download-logo .btn-red,
.rental-policy .download-logo .btn-red {
  position: relative;
  width: 170px;
  height: 40px;
  margin-top: 10px;
  margin-bottom: 10px;
}

@media screen and (max-width: 559px) {
  .sales-policy .download-logo .btn-red,
  .rental-policy .download-logo .btn-red {
    width: 100%;
  }
}

.sales-policy .download-logo .gray,
.rental-policy .download-logo .gray {
  margin-bottom: 12px;
}

.sales-policy .what-get .banner,
.rental-policy .what-get .banner {
  border: 1px solid #e7e7e7;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(/images/banner-bg.png?3e0cea458926d2c767f9ede2fa794e99);
  height: 294px;
}

#addAgent .agent-card {
  margin-bottom: 30px;
  border: 1px solid #e7e7e7;
}

#addAgent .agent-card .avatar {
  position: relative;
}

#addAgent .agent-card .avatar img {
  width: 100%;
}

#addAgent .agent-card .avatar .options {
  border: 1px solid #e7e7e7;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #f9f8f7;
}

#addAgent .agent-card .avatar .options-item {
  display: inline-block;
  width: 48%;
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: center;
}

#addAgent .agent-card .avatar .options-item .fa {
  display: block;
}

#addAgent .agent-card .avatar .options-item span {
  font-size: 13px;
}

#addAgent .agent-card .avatar .options-item:first-of-type {
  border-right: 1px solid #e7e7e7;
}

#addAgent .agent-card .avatar .options .edit {
  color: #42bda5;
}

#addAgent .agent-card .avatar .options .delete {
  color: #ea5856;
}

#addAgent .agent-card .contacts {
  padding-left: 25px;
  padding-right: 25px;
}

#addAgent .agent-card .contacts .main-title {
  padding-top: 25px;
  padding-bottom: 15px;
  color: #42bda5;
}

#addAgent .agent-card .contacts .row {
  padding-bottom: 30px;
}

#addAgent .agent-card .contacts .row .fa {
  color: #42bda5;
}

#addAgent .add-form .avatar {
  position: relative;
  margin-bottom: 15px;
  background-repeat: no-repeat;
  background-size: 100%;
  background-image: url(/images/avatar-bg.png?6af0d08fccf5b807d91d68de2452099f);
  height: 204px;
  cursor: pointer;
}

#addAgent .add-form .avatar input {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.nearby .distance span {
  margin-right: 10px;
}

.nearby .distance .my-select {
  display: inline-block;
  width: 125px;
}

.nearby .btn-green {
  margin-top: 5px;
}

.main__control-panel .row .has-addons input {
  width: 100%;
}

.main__control-panel .blank .property-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 30px;
  border: 1px solid #e7e7e7;
}

.main__control-panel .blank .property-card .property-image,
.main__control-panel .blank .property-card .property-description {
  position: relative;
  display: inline-block;
  width: 50%;
}

@media only screen and (max-width: 559px) {
  .main__control-panel .blank .property-card .property-image,
  .main__control-panel .blank .property-card .property-description {
    display: block;
    width: 100%;
  }
}

.main__control-panel .blank .property-card .property-image {
  height: 380px;
  overflow: hidden;
}

.main__control-panel .blank .property-card .property-image .price {
  position: absolute;
  width: 100%;
  padding: 5px 10px;
  color: white;
  background-color: #42bda5;
  z-index: 100;
}

.main__control-panel .blank .property-card .property-image .price .fa {
  color: #8ee3ce;
}

.main__control-panel .blank .property-card .property-image .price .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 25px;
}

.main__control-panel .blank .property-card .property-image .price .description span {
  width: 60%;
  font-size: 17px;
}

.main__control-panel .blank .property-card .property-image .price .count {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.main__control-panel .blank .property-card .property-image .price .count span {
  font-size: 30px;
  font-weight: 900;
}

.main__control-panel .blank .property-card .property-image .price .count sub {
  font-size: 14px;
}

.main__control-panel .blank .property-card .property-image img {
  position: absolute;
  bottom: 0;
  width: 100%;
}

.main__control-panel .blank .property-card .property-description {
  position: relative;
}

.main__control-panel .blank .property-card .property-description .description {
  padding: 10px;
}

.main__control-panel .blank .property-card .property-description .description li {
  margin-bottom: 10px;
}

.main__control-panel .blank .property-card .property-description .description li span {
  font-size: 14px;
}

.main__control-panel .blank .property-card .property-description .description .fa {
  color: #42bda5;
}

.main__control-panel .blank .property-card .property-description .description span:first-of-type {
  font-weight: 900;
}

.main__control-panel .blank .property-card .property-description .options {
  border: 1px solid #e7e7e7;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #f9f8f7;
}

.main__control-panel .blank .property-card .property-description .options-item {
  display: inline-block;
  width: 23.5%;
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: center;
}

.main__control-panel .blank .property-card .property-description .options-item .fa {
  display: block;
}

.main__control-panel .blank .property-card .property-description .options-item span {
  font-size: 13px;
}

.main__control-panel .blank .property-card .property-description .options-item:nth-last-of-type(3) {
  border-left: 1px solid #e7e7e7;
  border-right: 1px solid #e7e7e7;
}

.main__control-panel .blank .property-card .property-description .options-item:nth-last-of-type(2) {
  border-right: 1px solid #e7e7e7;
}

@media screen and (max-width: 499px) {
  .main__control-panel .blank .property-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.personal-account__items {
  margin-bottom: 40px;
}

.personal-account__item {
  height: 320px;
  padding: 20px 10px;
  margin-bottom: 15px;
  border: 1px solid #e7e7e7;
  text-align: center;
}

.personal-account__item:hover {
  transition: 2s;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.personal-account__item img {
  margin-bottom: 5px;
}

.personal-account__title {
  font-size: 20px;
  font-weight: 700;
  color: #ea5856;
}

.personal-account .simplify-procedure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px 25px;
  background-color: #42bda5;
  margin-bottom: 30px;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
  font-weight: 700;
}

.personal-account .simplify-procedure__item {
  color: #fff;
  font-size: 18px;
}

.personal-account .simplify-procedure .btn-red {
  width: auto;
}

.personal-account__special .special__title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px;
}

.personal-account__special .special__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 200px;
  padding: 10px 15px;
  margin-bottom: 15px;
  background-repeat: no-repeat;
  background-size: cover;
}

.personal-account__special .special__item-filter {
  opacity: 0.5;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.personal-account__special .special__item-title {
  -ms-flex-item-align: end;
      align-self: flex-end;
  font-size: 36px;
  color: #fff;
  font-weight: 700;
  z-index: 100;
}

.personal-account__special .special__item-list {
  color: #fffc00;
  font-weight: 700;
  z-index: 100;
}

.personal-account__special .special__item-list li:not(:last-child) {
  margin-bottom: 5px;
}

.personal-account__special .special__item:hover {
  transition: 2s;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.reservation__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #e7e7e7;
  margin-bottom: 20px;
}

.reservation__item-img {
  position: relative;
}

.reservation__item-price {
  position: absolute;
  top: 15px;
  left: -13px;
  min-width: 150px;
  padding: 5px;
  color: white;
  text-align: center;
  background-color: #ea5856;
  /*@media screen and (min-width: 600px) and (max-width: 1199px) {
          top: 50px;
        }
        @media screen and (max-width: 599px) {
          top: -20px;
        }*/
}

.reservation__item-price span {
  font-size: 25px;
  font-weight: 700;
}

.reservation__item-price::before {
  position: absolute;
  content: "";
  height: 0;
  width: 0;
  left: 0;
  bottom: -10px;
  border-left: 12px solid transparent;
  border-top: 10px solid #94363a;
}

.reservation__item-price::after {
  position: absolute;
  content: "";
  height: 0;
  width: 0;
  top: 0;
  right: -10px;
  border-right: 10px solid transparent;
  border-bottom: 40px solid #ea5856;
}

.reservation__item-description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  padding: 10px 15px;
}

.reservation__item-description .undone {
  background-color: #ea5856;
}

.reservation__item-description .undone::before {
  border-bottom: 35px solid #ea5856;
}

.reservation__item-description .undone::after {
  border-top: 10px solid #94363a;
}

.reservation__item-description .confirmed {
  background-color: #42bda5;
}

.reservation__item-description .confirmed::before {
  border-bottom: 35px solid #42bda5;
}

.reservation__item-description .confirmed::after {
  border-top: 10px solid #368073;
}

.reservation__item-description .waiting {
  background-color: #555454;
}

.reservation__item-description .waiting::before {
  border-bottom: 35px solid #555454;
}

.reservation__item-description .waiting::after {
  border-top: 10px solid #1c1c1c;
}

.reservation__item-description .item-description__sticker {
  position: absolute;
  top: 15px;
  right: -13px;
  min-width: 150px;
  padding: 5px;
  color: white;
  text-align: center;
}

.reservation__item-description .item-description__sticker span {
  font-size: 21px;
  font-weight: 900;
}

.reservation__item-description .item-description__sticker::before {
  position: absolute;
  content: "";
  height: 0;
  width: 0;
  top: 0;
  left: -10px;
  border-left: 10px solid transparent;
}

.reservation__item-description .item-description__sticker::after {
  position: absolute;
  content: "";
  height: 0;
  width: 0;
  right: 0;
  bottom: -10px;
  border-right: 12px solid transparent;
}

@media screen and (min-width: 600px) and (max-width: 1199px) {
  .reservation__item-description .item-description__sticker {
    top: 50px;
  }
}

@media screen and (max-width: 599px) {
  .reservation__item-description .item-description__sticker {
    top: -28px;
  }
}

.reservation__item-description .item-description__header {
  margin-bottom: 20px;
}

.reservation__item-description .item-description__title {
  display: inline-block;
  margin-right: 15px;
  font-size: 24px;
  font-weight: 700;
  color: #42bda5;
}

.reservation__item-description .item-description__stars {
  display: inline-block;
  color: #fffc00;
  margin-bottom: 10px;
}

.reservation__item-description .item-description__date {
  display: block;
  margin-right: 10px;
  margin-bottom: 5px;
}

.reservation__item-description .item-description__date span {
  font-weight: 700;
}

.reservation__item-description .item-description__date span:first-of-type {
  color: #42bda5;
}

@media screen and (min-width: 1200px) {
  .reservation__item-description .item-description__date {
    display: inline-block;
  }
}

.reservation__item-description .item-description__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.reservation__item-description .item-description__number span {
  display: block;
}

.reservation__item-description .item-description__number-count {
  margin-right: 15px;
  font-size: 36px;
  font-weight: 700;
  color: #42bda5;
}

.reservation__item-description .item-description__buttons-remove {
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 5px;
  font-size: 14px;
  color: #ea5856;
}

.reservation__item-description .item-description__buttons-reserve {
  width: auto;
  margin-bottom: 5px;
}

.reservation__item-description .item-description__buttons-reviews {
  width: auto;
}

@media screen and (max-width: 600px) {
  .reservation__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.user-panel__messages .messages {
  margin-bottom: 20px;
  background-image: url(/images/messages-bg.png?8515556d83b7086387f73eabf5993d94);
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: contain;
}

.user-panel__messages .conversations-list .table tr td,
.user-panel__messages .conversations-list .table tr th {
  text-align: center;
  vertical-align: middle;
}

.user-panel__messages .conversations-list .table .btn-group {
  text-align: right;
}

.user-panel__messages .conversations-list .table .btn-red,
.user-panel__messages .conversations-list .table .btn-green {
  width: auto;
}

.user-panel__messages .conversations-list .table .btn-green {
  margin-right: 15px;
}

.user-panel__reviews-title {
  font-size: 18px;
  font-weight: 700;
}

.reviews-list {
  margin-bottom: 20px;
}

.reviews-self__item {
  border: 1px solid #e7e7e7;
  margin-bottom: 15px;
}

.reviews-self__item-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #e7e7e7;
}

@media (min-width: 992px) and (max-width: 1199.99px) {
  .reviews-self__item-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media (max-width: 500px) {
  .reviews-self__item-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.reviews-self__item-img {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.reviews-self__item-stars {
  position: absolute;
  bottom: 20px;
  left: 20px;
}

.reviews-self__item-stars .fa-star {
  color: #fffc00;
}

.reviews-self__item-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 10px;
}

.reviews-self__item-title {
  font-size: 20px;
  font-weight: 700;
  color: #42bda5;
}

.reviews-self__item-dates {
  margin-bottom: 10px;
}

.reviews-self__item-date span {
  font-weight: 700;
}

.reviews-self__item-date span:first-of-type {
  color: #42bda5;
}

.reviews-self__item-rating {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.reviews-self__item-rating .item-rating__icon {
  position: relative;
}

.reviews-self__item-rating .item-rating__count {
  position: absolute;
  right: -18px;
  top: 14px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #36373f;
  text-align: center;
}

.reviews-self__item-rating .item-rating__count span {
  font-size: 12px;
  line-height: 24px;
  color: #fffc00;
}

.reviews-self__item-rating .item-rating__text {
  font-size: 28px;
  font-weight: 700;
  color: #ea5856;
}

.reviews-self__item-body {
  position: relative;
  padding: 40px 25px 15px 15px;
}

.reviews-self__item-body .fa {
  position: absolute;
  right: 10px;
  top: 10px;
  color: #737272;
  cursor: pointer;
}

.reviews-self__item-comment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 10px;
}

.reviews-self__item-comment img {
  width: 26px;
  height: 26px;
  margin-right: 15px;
}

.reviews-self__item-comment span {
  position: relative;
  font-size: 14px;
  color: white;
  padding: 10px;
  border-radius: 12px;
}

.reviews-self__item-comment span::before {
  position: absolute;
  content: "";
  height: 0;
  width: 0;
  left: -14px;
  top: 18px;
  border-left: 15px solid transparent;
}

.reviews-self__item-comment-positive span {
  background-color: #42bda5;
}

.reviews-self__item-comment-positive span::before {
  border-top: 10px solid #42bda5;
}

.reviews-self__item-comment-negative span {
  background-color: #ea5856;
}

.reviews-self__item-comment-negative span::before {
  border-top: 10px solid #ea5856;
}

.reviews-self__item-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #e7e7e7;
}

.reviews-self__item-footer .footer__item {
  position: relative;
  display: inline-block;
  width: 25%;
  padding-top: 15px;
  outline: 1px solid #e7e7e7;
  text-align: center;
  color: #42bda5;
}

.reviews-self__item-footer .footer__item-text {
  font-size: 14px;
}

.reviews-self__item-footer .footer__item-count {
  position: absolute;
  top: 10px;
  right: 5px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  text-align: center;
  background-color: #36373f;
}

.reviews-self__item-footer .footer__item-count span {
  line-height: 20px;
  font-weight: 700;
  color: white;
}

@media (min-width: 992px) and (max-width: 1199.99px) {
  .reviews-self__item-footer {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  .reviews-self__item-footer .footer__item {
    width: 50%;
  }
}

@media (max-width: 500px) {
  .reviews-self__item-footer {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  .reviews-self__item-footer .footer__item {
    width: 50%;
  }
}

.user-panel__bg {
  height: 400px;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(/images/user-panel__bg.jpg?508f9531ed19a70ee6c75c11989211ee);
}

.user-panel__bg .container-fluid,
.user-panel__bg .row,
.user-panel__bg .col-xs-12 {
  height: 100%;
}

.user-panel__header {
  margin-bottom: 25px;
}

.user-panel__title {
  font-size: 24px;
  font-weight: 700;
}

.user-panel__avatar {
  position: relative;
  display: inline-block;
  width: 256px;
  height: 256px;
  border-radius: 50%;
  border: 4px solid #4cb9a5;
  z-index: 100;
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(/images/user-panel__avatar.png?d36bf46e637a02a89e70d5fd8b4e847d);
  background-position: center center;
}

.user-panel__avatar-container {
  position: relative;
  height: 100%;
  padding-top: 35px;
  text-align: center;
}

.user-panel__filter {
  opacity: 0.5;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9hc3NldHMvc2Fzcy9hcHAuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvX2Jvb3RzdHJhcC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3ZhcmlhYmxlcy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX21peGlucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19oaWRlLXRleHQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fb3BhY2l0eS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19pbWFnZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19sYWJlbHMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcmVzZXQtZmlsdGVyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc2l6ZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fc2l6ZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL190YWItZm9jdXMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3RleHQtb3ZlcmZsb3cuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2FsZXJ0cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19idXR0b25zLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZm9ybXMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fY2VudGVyLWJsb2NrLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX25hdi12ZXJ0aWNhbC1hbGlnbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ncmlkLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbm9ybWFsaXplLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcHJpbnQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19zY2FmZm9sZGluZy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3R5cGUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19ncmlkLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdGFibGVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fZm9ybXMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19kcm9wZG93bnMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19uYXZzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbmF2YmFyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcGFnaW5hdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3Byb2dyZXNzLWJhcnMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19yZXNwb25zaXZlLXV0aWxpdGllcy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL19jdXN0b20uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9fdmFyaWFibGVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvX21peGlucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL19jb21tb24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9fc2V0dGluZ3Muc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9fZWxlbWVudHMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zZXR0bGVtZW50L3JlZ2lzdHJhdGlvbi9fZ2VuZXJhbC1pbmZvcm1hdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NldHRsZW1lbnQvcmVnaXN0cmF0aW9uL19wYXltZW50cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NldHRsZW1lbnQvcmVnaXN0cmF0aW9uL19jb250YWN0LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2V0dGxlbWVudC9yZWdpc3RyYXRpb24vX3Jvb21zLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2V0dGxlbWVudC9jb250cm9sLXBhbmVsL19tYWluLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2V0dGxlbWVudC9jb250cm9sLXBhbmVsL3ByaWNlcy9fY2FsZW5kYXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zZXR0bGVtZW50L2NvbnRyb2wtcGFuZWwvcHJpY2VzL19hdmFpbGFiaWxpdHkuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zZXR0bGVtZW50L2NvbnRyb2wtcGFuZWwvcHJpY2VzL19jYXRlZ29yaWVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2V0dGxlbWVudC9jb250cm9sLXBhbmVsL3ByaWNlcy9fdmlzaWJpbGl0eS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NldHRsZW1lbnQvY29udHJvbC1wYW5lbC9wcmljZXMvX3BvbGljeS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NldHRsZW1lbnQvY29udHJvbC1wYW5lbC9fcmVzZXJ2YXRpb24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zZXR0bGVtZW50L2NvbnRyb2wtcGFuZWwvX21lc3NhZ2VzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2V0dGxlbWVudC9jb250cm9sLXBhbmVsL19yZXZpZXdzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2V0dGxlbWVudC9jb250cm9sLXBhbmVsL3BheW1lbnRzL19pbnZvaWNlcy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NldHRsZW1lbnQvY29udHJvbC1wYW5lbC9kZXRhaWxzL19nZW5lcmFsLWluZm9ybWF0aW9uLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2V0dGxlbWVudC9jb250cm9sLXBhbmVsL2RldGFpbHMvX3Jvb21zLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2V0dGxlbWVudC9jb250cm9sLXBhbmVsL2RldGFpbHMvX2hhbGwuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zZXR0bGVtZW50L2NvbnRyb2wtcGFuZWwvZGV0YWlscy9fYWJvdXQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zZXR0bGVtZW50L2NvbnRyb2wtcGFuZWwvZGV0YWlscy9fZGVzY3JpcHRpb24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zZXR0bGVtZW50L2NvbnRyb2wtcGFuZWwvZGV0YWlscy9fc2V0dGluZ3Muc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zZXR0bGVtZW50L2NvbnRyb2wtcGFuZWwvc3RhdGlzdGljcy9fZ2VuZXJhbC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3Jlc3RhdXJhbnRzL3JlZ2lzdHJhdGlvbi9faGFsbHMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zYWxlcy9yZWdpc3RyYXRpb24vX3BvbGljeS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NhbGVzL3JlZ2lzdHJhdGlvbi9fcHJvcGVydHktaW5mb3JtYXRpb24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zYWxlcy9jb250cm9sLXBhbmVsL19teS1wcm9wZXJ0eS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3VzZXItcGFuZWwvX191c2VyLXBhbmVsLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvdXNlci1wYW5lbC9fcGVyc29uYWwtYWNjb3VudC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3VzZXItcGFuZWwvX3Jlc2VydmF0aW9uLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvdXNlci1wYW5lbC9fbWVzc2FnZXMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy91c2VyLXBhbmVsL19yZXZpZXdzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBCb290c3RyYXBcbkBpbXBvcnQgXCJib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwLnNjc3NcIjtcblxuXG5AaW1wb3J0IFwiX2N1c3RvbS5zY3NzXCI7XG5cblxuLy8gU2V0dGxlbWVudFxuXG4vL1JlZ2lzdHJhdGlvblxuQGltcG9ydCBcInNldHRsZW1lbnQvcmVnaXN0cmF0aW9uL19nZW5lcmFsLWluZm9ybWF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJzZXR0bGVtZW50L3JlZ2lzdHJhdGlvbi9fcGF5bWVudHMuc2Nzc1wiO1xuQGltcG9ydCBcInNldHRsZW1lbnQvcmVnaXN0cmF0aW9uL19jb250YWN0LnNjc3NcIjtcbkBpbXBvcnQgXCJzZXR0bGVtZW50L3JlZ2lzdHJhdGlvbi9fcm9vbXMuc2Nzc1wiO1xuXG4vL0NvbnRyb2wtcGFuZWxcbkBpbXBvcnQgXCJzZXR0bGVtZW50L2NvbnRyb2wtcGFuZWwvX21haW4uc2Nzc1wiO1xuLy8gUHJpY2VzXG5AaW1wb3J0IFwic2V0dGxlbWVudC9jb250cm9sLXBhbmVsL3ByaWNlcy9fY2FsZW5kYXIuc2Nzc1wiO1xuQGltcG9ydCBcInNldHRsZW1lbnQvY29udHJvbC1wYW5lbC9wcmljZXMvX2F2YWlsYWJpbGl0eS5zY3NzXCI7XG5AaW1wb3J0IFwic2V0dGxlbWVudC9jb250cm9sLXBhbmVsL3ByaWNlcy9fY2F0ZWdvcmllcy5zY3NzXCI7XG5AaW1wb3J0IFwic2V0dGxlbWVudC9jb250cm9sLXBhbmVsL3ByaWNlcy9fdmlzaWJpbGl0eS5zY3NzXCI7XG5AaW1wb3J0IFwic2V0dGxlbWVudC9jb250cm9sLXBhbmVsL3ByaWNlcy9fcG9saWN5LnNjc3NcIjtcbi8vIFJlc2VydmF0aW9uXG5AaW1wb3J0IFwic2V0dGxlbWVudC9jb250cm9sLXBhbmVsL19yZXNlcnZhdGlvbi5zY3NzXCI7XG4vLyBNZXNzYWdlc1xuQGltcG9ydCBcInNldHRsZW1lbnQvY29udHJvbC1wYW5lbC9fbWVzc2FnZXMuc2Nzc1wiO1xuLy8gUmV2aWV3c1xuQGltcG9ydCBcInNldHRsZW1lbnQvY29udHJvbC1wYW5lbC9fcmV2aWV3cy5zY3NzXCI7XG4vLyBQYXltZW50c1xuQGltcG9ydCBcInNldHRsZW1lbnQvY29udHJvbC1wYW5lbC9wYXltZW50cy9faW52b2ljZXMuc2Nzc1wiO1xuLy8gRGV0YWlsc1xuQGltcG9ydCBcInNldHRsZW1lbnQvY29udHJvbC1wYW5lbC9kZXRhaWxzL19nZW5lcmFsLWluZm9ybWF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJzZXR0bGVtZW50L2NvbnRyb2wtcGFuZWwvZGV0YWlscy9fcm9vbXMuc2Nzc1wiO1xuQGltcG9ydCBcInNldHRsZW1lbnQvY29udHJvbC1wYW5lbC9kZXRhaWxzL19oYWxsLnNjc3NcIjtcbkBpbXBvcnQgXCJzZXR0bGVtZW50L2NvbnRyb2wtcGFuZWwvZGV0YWlscy9fYWJvdXQuc2Nzc1wiO1xuQGltcG9ydCBcInNldHRsZW1lbnQvY29udHJvbC1wYW5lbC9kZXRhaWxzL19kZXNjcmlwdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwic2V0dGxlbWVudC9jb250cm9sLXBhbmVsL2RldGFpbHMvX3NldHRpbmdzLnNjc3NcIjtcbi8vIFN0YXRpc3RpY3NcbkBpbXBvcnQgXCJzZXR0bGVtZW50L2NvbnRyb2wtcGFuZWwvc3RhdGlzdGljcy9fZ2VuZXJhbC5zY3NzXCI7XG5cbi8vIFJlc3RhdXJhbnRzXG5cbi8vIFJlZ2lzdHJhdGlvblxuQGltcG9ydCBcInJlc3RhdXJhbnRzL3JlZ2lzdHJhdGlvbi9faGFsbHMuc2Nzc1wiO1xuXG4vLyBTYWxlc1xuXG4vLyBSZWdpc3RyYXRpb25cbkBpbXBvcnQgXCJzYWxlcy9yZWdpc3RyYXRpb24vX3BvbGljeS5zY3NzXCI7XG5AaW1wb3J0IFwic2FsZXMvcmVnaXN0cmF0aW9uL19wcm9wZXJ0eS1pbmZvcm1hdGlvbi5zY3NzXCI7XG4vLyAvL0NvbnRyb2wtcGFuZWxcbkBpbXBvcnQgXCJzYWxlcy9jb250cm9sLXBhbmVsL19teS1wcm9wZXJ0eS5zY3NzXCI7XG5AaW1wb3J0IFwidXNlci1wYW5lbC9fX3VzZXItcGFuZWxcIjsiLCIvKiFcbiAqIEJvb3RzdHJhcCB2My4zLjcgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxNiBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG5cbi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCJib290c3RyYXAvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL21peGluc1wiO1xuXG4vLyBSZXNldCBhbmQgZGVwZW5kZW5jaWVzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9wcmludFwiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9nbHlwaGljb25zXCI7XG5cbi8vIENvcmUgQ1NTXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3NjYWZmb2xkaW5nXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3R5cGVcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9jb2RlXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2dyaWRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvdGFibGVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2Zvcm1zXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL2J1dHRvbnNcIjtcblxuLy8gQ29tcG9uZW50c1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL2NvbXBvbmVudC1hbmltYXRpb25zXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2Ryb3Bkb3duc1wiO1xuLypAaW1wb3J0IFwiYm9vdHN0cmFwL2J1dHRvbi1ncm91cHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvaW5wdXQtZ3JvdXBzXCI7Ki9cbkBpbXBvcnQgXCJib290c3RyYXAvbmF2c1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9uYXZiYXJcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9icmVhZGNydW1ic1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9wYWdpbmF0aW9uXCI7XG4vKkBpbXBvcnQgXCJib290c3RyYXAvcGFnZXJcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbGFiZWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2JhZGdlc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9qdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJib290c3RyYXAvdGh1bWJuYWlsc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9hbGVydHNcIjsqL1xuQGltcG9ydCBcImJvb3RzdHJhcC9wcm9ncmVzcy1iYXJzXCI7XG4vKkBpbXBvcnQgXCJib290c3RyYXAvbWVkaWFcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9wYW5lbHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcmVzcG9uc2l2ZS1lbWJlZFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC93ZWxsc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9jbG9zZVwiOyovXG5cbi8vIENvbXBvbmVudHMgdy8gSmF2YVNjcmlwdFxuLypAaW1wb3J0IFwiYm9vdHN0cmFwL21vZGFsc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC90b29sdGlwXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3BvcG92ZXJzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2Nhcm91c2VsXCI7Ki9cblxuLy8gVXRpbGl0eSBjbGFzc2VzXG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL3V0aWxpdGllc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9yZXNwb25zaXZlLXV0aWxpdGllc1wiO1xuIiwiJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogZmFsc2UgIWRlZmF1bHQ7XG4vL1xuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vPT0gQ29sb3JzXG4vL1xuLy8jIyBHcmF5IGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxuXG4kZ3JheS1iYXNlOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRncmF5LWRhcmtlcjogICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDEzLjUlKSAhZGVmYXVsdDsgLy8gIzIyMlxuJGdyYXktZGFyazogICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMjAlKSAhZGVmYXVsdDsgICAvLyAjMzMzXG4kZ3JheTogICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAzMy41JSkgIWRlZmF1bHQ7IC8vICM1NTVcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDQ2LjclKSAhZGVmYXVsdDsgLy8gIzc3N1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgOTMuNSUpICFkZWZhdWx0OyAvLyAjZWVlXG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgIGRhcmtlbigjNDI4YmNhLCA2LjUlKSAhZGVmYXVsdDsgLy8gIzMzN2FiN1xuJGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgIzVjYjg1YyAhZGVmYXVsdDtcbiRicmFuZC1pbmZvOiAgICAgICAgICAgICM1YmMwZGUgIWRlZmF1bHQ7XG4kYnJhbmQtd2FybmluZzogICAgICAgICAjZjBhZDRlICFkZWZhdWx0O1xuJGJyYW5kLWRhbmdlcjogICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcblxuXG4vLz09IFNjYWZmb2xkaW5nXG4vL1xuLy8jIyBTZXR0aW5ncyBmb3Igc29tZSBvZiB0aGUgbW9zdCBnbG9iYWwgc3R5bGVzLlxuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIGA8Ym9keT5gLlxuJGJvZHktYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIHRleHQgY29sb3Igb24gYDxib2R5PmAuXG4vLyR0ZXh0LWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kdGV4dC1jb2xvcjogICAgICAgICAgICAjNTU1NDU0ICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCB0ZXh0dWFsIGxpbmsgY29sb3IuXG4vLyRsaW5rLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstY29sb3I6ICAgICAgICAgICAgaW5oZXJpdDtcblxuLy8qKiBMaW5rIGhvdmVyIGNvbG9yIHNldCB2aWEgYGRhcmtlbigpYCBmdW5jdGlvbi5cbi8vJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgaW5oZXJpdDtcblxuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXG4vLyRsaW5rLWhvdmVyLWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IG5vbmU7XG5cblxuLy89PSBUeXBvZ3JhcGh5XG4vL1xuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICBcIkxhdG9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyRmb250LXNpemUtYmFzZTogICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRmb250LXNpemUtYmFzZTogICAgICAgICAgMTZweCAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbiRmb250LXNpemUtaDE6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuNikpICFkZWZhdWx0OyAvLyB+MzZweFxuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi4xNSkpICFkZWZhdWx0OyAvLyB+MzBweFxuJGZvbnQtc2l6ZS1oMzogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjcpKSAhZGVmYXVsdDsgLy8gfjI0cHhcbiRmb250LXNpemUtaDQ6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg2OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxuLy8kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuNDI4NTcxNDI5ICFkZWZhdWx0OyAvLyAyMC8xNFxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjIgIWRlZmF1bHQ7IC8vIDE2LzIwXG4vLyoqIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxuJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UpKSAhZGVmYXVsdDsgLy8gfjIwcHhcblxuLy8qKiBCeSBkZWZhdWx0LCB0aGlzIGluaGVyaXRzIGZyb20gdGhlIGA8Ym9keT5gLlxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuXG4vLz09IEljb25vZ3JhcGh5XG4vL1xuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgb2YgdGhlIGluY2x1ZGVkIEdseXBoaWNvbnMgaWNvbiBmb250LiBVc2VmdWwgZm9yIHRob3NlIGluY2x1ZGluZyBCb290c3RyYXAgdmlhIEJvd2VyLlxuXG4vLyoqIExvYWQgZm9udHMgZnJvbSB0aGlzIGRpcmVjdG9yeS5cblxuLy8gW2NvbnZlcnRlcl0gSWYgJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciBpZiB1c2VkLCBwcm92aWRlIHBhdGggcmVsYXRpdmUgdG8gdGhlIGFzc2V0cyBsb2FkIHBhdGguXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGJlY2F1c2Ugc29tZSBhc3NldCBoZWxwZXJzLCBzdWNoIGFzIFNwcm9ja2V0cywgZG8gbm90IHdvcmsgd2l0aCBmaWxlLXJlbGF0aXZlIHBhdGhzLlxuJGljb24tZm9udC1wYXRoOiBpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCBcImJvb3RzdHJhcC9cIiwgXCIuLi9mb250cy9ib290c3RyYXAvXCIpICFkZWZhdWx0O1xuXG4vLyoqIEZpbGUgbmFtZSBmb3IgYWxsIGZvbnQgZmlsZXMuXG4kaWNvbi1mb250LW5hbWU6ICAgICAgICAgIFwiZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhclwiICFkZWZhdWx0O1xuLy8qKiBFbGVtZW50IElEIHdpdGhpbiBTVkcgaWNvbiBmaWxlLlxuJGljb24tZm9udC1zdmctaWQ6ICAgICAgICBcImdseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29tcG9uZW50c1xuLy9cbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLiBWYWx1ZXMgYmFzZWQgb24gMTRweCB0ZXh0IGFuZCAxLjQyOCBsaW5lLWhlaWdodCAofjIwcHggdG8gc3RhcnQpLlxuXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiAgICAgNnB4ICFkZWZhdWx0O1xuJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOiAgIDEycHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAxMHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogIDE2cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOiAgICA1cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAgMTBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmcteHMtdmVydGljYWw6ICAgICAgIDFweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXhzLWhvcml6b250YWw6ICAgICA1cHggIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1sYXJnZTogICAgICAgICAxLjMzMzMzMzMgIWRlZmF1bHQ7IC8vIGV4dHJhIGRlY2ltYWxzIGZvciBXaW4gOC4xIENocm9tZVxuJGxpbmUtaGVpZ2h0LXNtYWxsOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgIDRweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICA2cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgM3B4ICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIGJhY2tncm91bmQgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIFdpZHRoIG9mIHRoZSBgYm9yZGVyYCBmb3IgZ2VuZXJhdGluZyBjYXJldHMgdGhhdCBpbmRpY2F0ZSBkcm9wZG93bnMuXG4kY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXG4kY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVGFibGVzXG4vL1xuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vKiogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1zdHJpcGVkYC5cbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IEJ1dHRvbnNcbi8vXG4vLyMjIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcblxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXN1Y2Nlc3MtYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgZGFya2VuKCRidG4taW5mby1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRidG4tZGFuZ2VyLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuJGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcblxuLy8qKiBgLmZvcm0tZ3JvdXBgIG1hcmdpblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgMTVweCAhZGVmYXVsdDtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cblxuLy89PSBEcm9wZG93bnNcbi8vXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8qKiBCYWNrZ3JvdW5kIGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXG4kZHJvcGRvd24tYm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXG4kZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cbi8vXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG4vLz09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcbi8vXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNzY4cHggIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tc20gIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbWRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweCAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgJHNjcmVlbi1tZC1taW4gIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLWxnICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZy1kZXNrdG9wOiAgICAgICAgICAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLXNtLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1tZC1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBHcmlkIHN5c3RlbVxuLy9cbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgMzBweCAhZGVmYXVsdDtcbi8vIE5hdmJhciBjb2xsYXBzZVxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKDcyMHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICg5NDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgxMTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2YmFyXG4vL1xuLy8jI1xuXG4vLyBCYXNpY3Mgb2YgYSBuYXZiYXJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGxpbmtzXG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgIzg4OCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT09IEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcbiRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2c1xuLy9cbi8vIyNcblxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcbiRuYXYtbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbi8vPT0gUGlsbHNcbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnaW5hdGlvblxuLy9cbi8vIyNcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdlclxuLy9cbi8vIyNcblxuJHBhZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHBhZ2VyLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnZXItZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IEp1bWJvdHJvblxuLy9cbi8vIyNcblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tZm9udC1zaXplOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNSkpICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWZvbnQtc2l6ZTogICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogNC41KSkgIWRlZmF1bHQ7XG5cblxuLy89PSBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgICAgIzNjNzYzZCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICNkZmYwZDggIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtc3VjY2Vzcy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1pbmZvLWJnLCAtMTApLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgI2E5NDQ0MiAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICNmMmRlZGUgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtZGFuZ2VyLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBUb29sdGlwc1xuLy9cbi8vIyNcblxuLy8qKiBUb29sdGlwIG1heCB3aWR0aFxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgdGV4dCBjb2xvclxuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG5cbi8vKiogVG9vbHRpcCBhcnJvdyB3aWR0aFxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGFycm93IGNvbG9yXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFBvcG92ZXJzXG4vL1xuLy8jI1xuXG4vLyoqIFBvcG92ZXIgYm9keSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgbWF4aW11bSB3aWR0aFxuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgZmFsbGJhY2sgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciB0aXRsZSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICAgIGZhZGVfaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAwLjA1KSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBmYWxsYmFjayBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I6ICBkYXJrZW4oJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuXG5cbi8vPT0gTGFiZWxzXG4vL1xuLy8jI1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXByaW1hcnktYmc6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIEluZm8gbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWluZm8tYmc6ICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXdhcm5pbmctYmc6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgdGV4dCBjb2xvclxuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIGEgbGlua2VkIGxhYmVsXG4kbGFiZWwtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gTW9kYWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXG4kbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3JcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXG4kbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICNlNWU1ZTUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBBbGVydHNcbi8vXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLz09IFByb2dyZXNzIGJhcnNcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgd2hvbGUgcHJvZ3Jlc3MgY29tcG9uZW50XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBQcm9ncmVzcyBiYXIgdGV4dCBjb2xvclxuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVmFyaWFibGUgZm9yIHNldHRpbmcgcm91bmRlZCBjb3JuZXJzIG9uIHByb2dyZXNzIGJhci5cbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbi8vKiogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuXG5cbi8vPT0gTGlzdCBncm91cFxuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXG4kbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIExpc3QgZ3JvdXAgYm9yZGVyIHJhZGl1c1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2Ygc2luZ2xlIGxpc3QgaXRlbXMgb24gaG92ZXJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFuZWxzXG4vL1xuLy8jI1xuXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLWJvZHktcGFkZGluZzogICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1oZWFkaW5nLXBhZGRpbmc6ICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItcGFkZGluZzogICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItYmc6ICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLXByaW1hcnktdGV4dDogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWJvcmRlcjogICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYW5lbC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWhlYWRpbmctYmc6ICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFRodW1ibmFpbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBpbWFnZVxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgcmFkaXVzXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aHVtYm5haWwgY2FwdGlvbnNcbiR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cbiR0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweCAhZGVmYXVsdDtcblxuXG4vLz09IFdlbGxzXG4vL1xuLy8jI1xuXG4kd2VsbC1iZzogICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHdlbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgZGFya2VuKCR3ZWxsLWJnLCA3JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBCYWRnZXNcbi8vXG4vLyMjXG5cbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXG4kYmFkZ2UtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGJhZGdlLWJnOiAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogQmFkZ2UgdGV4dCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1iZzogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQnJlYWRjcnVtYnNcbi8vXG4vLyMjXG5cbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgOHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIGJhY2tncm91bmQgY29sb3JcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgY3VycmVudCBwYWdlIGluIHRoZSBicmVhZGNydW1iXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBUZXh0dWFsIHNlcGFyYXRvciBmb3IgYmV0d2VlbiBicmVhZGNydW1iIGVsZW1lbnRzXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3I6ICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2Fyb3VzZWxcbi8vXG4vLyMjXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENsb3NlXG4vL1xuLy8jI1xuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENvZGVcbi8vXG4vLyMjXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGUgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjlmMmY0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBlXG4vL1xuLy8jI1xuXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweCAhZGVmYXVsdDtcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgZm9udCBzaXplXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFdpZHRoIG9mIGhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdCB0aXRsZXNcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWwgIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIC5kbC1ob3Jpem9udGFsIGJlY29tZXMgaG9yaXpvbnRhbFxuJGRsLWhvcml6b250YWwtYnJlYWtwb2ludDogICAgJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAhZGVmYXVsdDtcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxuJGhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiIsIi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy9vcGFjaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xhYmVsc1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC1maWx0ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc3BvbnNpdmUtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcIm1peGlucy9zaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYi1mb2N1c1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1vdmVyZmxvd1wiO1xuQGltcG9ydCBcIm1peGlucy92ZW5kb3ItcHJlZml4ZXNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYW5lbHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Byb2dyZXNzLWJhclwiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9jZW50ZXItYmxvY2tcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LXZlcnRpY2FsLWFsaWduXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuLy9cbi8vIEhlYWRzIHVwISB2MyBsYXVuY2hlZCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAoaGFzIGJlZW4gcmVtb3ZlZCBpbiB2NClcbkBtaXhpbiBoaWRlLXRleHQoKSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBOZXcgbWl4aW4gdG8gdXNlIGFzIG9mIHYzLjAuMVxuQG1peGluIHRleHQtaGlkZSgpIHtcbiAgQGluY2x1ZGUgaGlkZS10ZXh0O1xufVxuIiwiLy8gT3BhY2l0eVxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgLy8gSUU4IGZpbHRlclxuICAkb3BhY2l0eS1pZTogKCRvcGFjaXR5ICogMTAwKTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuQG1peGluIGltZy1yZXNwb25zaXZlKCRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLiBOb3RlIHRoYXQgdGhlXG4vLyBzcGVsbGluZyBvZiBgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvYCBpcyBpbnRlbnRpb25hbC5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTF4fVwiKSwgXCIjeyRmaWxlLTF4fVwiKSk7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMnh9XCIpLCBcIiN7JGZpbGUtMnh9XCIpKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvLyBMYWJlbHNcblxuQG1peGluIGxhYmVsLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAmW2hyZWZdIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuXG5AbWl4aW4gcmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO1xufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbn1cbiIsIi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG5cbi8vXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZSN7JHBhcmVudH0gIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ciN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgjeyRwYXJlbnR9LFxuICB0ZCN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcbiAgQGluY2x1ZGUgc2l6ZSgkc2l6ZSwgJHNpemUpO1xufVxuIiwiLy8gV2ViS2l0LXN0eWxlIGZvY3VzXG5cbkBtaXhpbiB0YWItZm9jdXMoKSB7XG4gIC8vIFdlYktpdC1zcGVjaWZpYy4gT3RoZXIgYnJvd3NlcnMgd2lsbCBrZWVwIHRoZWlyIGRlZmF1bHQgb3V0bGluZSBzdHlsZS5cbiAgLy8gKEluaXRpYWxseSB0cmllZCB0byBhbHNvIGZvcmNlIGRlZmF1bHQgdmlhIGBvdXRsaW5lOiBpbml0aWFsYCxcbiAgLy8gYnV0IHRoYXQgc2VlbXMgdG8gZXJyb25lb3VzbHkgcmVtb3ZlIHRoZSBvdXRsaW5lIGluIEZpcmVmb3ggYWx0b2dldGhlci4pXG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZS5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsIi8vIFR5cG9ncmFwaHlcblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyLFxuICBhI3skcGFyZW50fTpmb2N1cyB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIFRleHQgb3ZlcmZsb3dcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gVmVuZG9yIFByZWZpeGVzXG4vL1xuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXG4vLyBBdXRvcHJlZml4ZXIgaW4gb3VyIEdydW50ZmlsZS4gVGhleSBoYXZlIGJlZW4gcmVtb3ZlZCBpbiB2NC5cblxuLy8gLSBBbmltYXRpb25zXG4vLyAtIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIC0gQm94IHNoYWRvd1xuLy8gLSBCb3ggc2l6aW5nXG4vLyAtIENvbnRlbnQgY29sdW1uc1xuLy8gLSBIeXBoZW5zXG4vLyAtIFBsYWNlaG9sZGVyIHRleHRcbi8vIC0gVHJhbnNmb3JtYXRpb25zXG4vLyAtIFRyYW5zaXRpb25zXG4vLyAtIFVzZXIgU2VsZWN0XG5cblxuLy8gQW5pbWF0aW9uc1xuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgIC1vLWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAgICBhbmltYXRpb246ICRhbmltYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogJG5hbWU7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xufVxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkZHVyYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCRkZWxheSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xufVxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJGl0ZXJhdGlvbi1jb3VudCkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkZmlsbC1tb2RlKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbiAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xufVxuXG4vLyBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gZmxpY2tlcmluZyB3aGVuIHVzaW5nIENTUyAzRCB0cmFuc2Zvcm1zLlxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuYFxuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vXG4vLyBOb3RlOiBEZXByZWNhdGVkIGAuYm94LXNoYWRvdygpYCBhcyBvZiB2My4xLjAgc2luY2UgYWxsIG9mIEJvb3RzdHJhcCdzXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG4vLyBCb3ggc2l6aW5nXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRib3htb2RlbDtcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbkBtaXhpbiBjb250ZW50LWNvbHVtbnMoJGNvbHVtbi1jb3VudCwgJGNvbHVtbi1nYXA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuQG1peGluIGh5cGhlbnMoJG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6ICRtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6ICRtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6ICRtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6ICRtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6ICRtb2RlO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIG9wYWNpdHk6IDE7IC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG5AbWl4aW4gc2NhbGUoJHJhdGlvLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xufVxuXG5AbWl4aW4gc2NhbGVYKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG59XG5AbWl4aW4gc2NhbGVZKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG59XG5AbWl4aW4gc2tldygkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xufVxuQG1peGluIHJvdGF0ZSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVYKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVZKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47IC8vIElFOSBvbmx5XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cblxuXG4vLyBUcmFuc2l0aW9uc1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHRyYW5zaXRpb24tcHJvcGVydHkuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRyYW5zZm9ybSgkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG59XG5cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0OyAvLyBJRTEwK1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuIiwiLy8gQWxlcnRzXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkdGV4dC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJHRleHQtY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gICAgfVxuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cbiIsIi8vIFBhbmVsc1xuXG5AbWl4aW4gcGFuZWwtdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICA+IGxpIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSYsIGJ1dHRvbiYgdG8gYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LCBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfVxuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgICAmLmFjdGl2ZSxcbiAgICAmLmFjdGl2ZTpob3ZlcixcbiAgICAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBmb3Jtcy5sZXNzIHRvIGdlbmVyYXRlIHRoZSBmb3JtIHZhbGlkYXRpb24gQ1NTIGZvciB3YXJuaW5ncywgZXJyb3JzLFxuLy8gYW5kIHN1Y2Nlc3Nlcy5cblxuQG1peGluIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCR0ZXh0LWNvbG9yOiAjNTU1LCAkYm9yZGVyLWNvbG9yOiAjY2NjLCAkYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSkge1xuICAvLyBDb2xvciB0aGUgbGFiZWwgYW5kIGhlbHAgdGV4dFxuICAuaGVscC1ibG9jayxcbiAgLmNvbnRyb2wtbGFiZWwsXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lLFxuICAmLnJhZGlvIGxhYmVsLFxuICAmLmNoZWNrYm94IGxhYmVsLFxuICAmLnJhZGlvLWlubGluZSBsYWJlbCxcbiAgJi5jaGVja2JveC1pbmxpbmUgbGFiZWwgIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXItY29sb3IsIDEwJSk7XG4gICAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKCRib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuICAvLyBPcHRpb25hbCBmZWVkYmFjayBpY29uXG4gIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1ib3JkZXItZm9jdXNgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRjb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cykge1xuICAkY29sb3ItcmdiYTogcmdiYShyZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpLCAuNik7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgc2VsZWN0I3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgdGV4dGFyZWEjeyRwYXJlbnR9LFxuICBzZWxlY3RbbXVsdGlwbGVdI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvLyBQcm9ncmVzcyBiYXJzXG5cbkBtaXhpbiBwcm9ncmVzcy1iYXItdmFyaWFudCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gIC8vIERlcHJlY2F0ZWQgcGFyZW50IGNsYXNzIHJlcXVpcmVtZW50IGFzIG9mIHYzLjIuMFxuICAucHJvZ3Jlc3Mtc3RyaXBlZCAmIHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkO1xuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcbiAgLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX0sXG4gICAgPiB0aC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX0gPiB0ZCxcbiAgICAmLiN7JHN0YXRlfSA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9OmhvdmVyLFxuICAgID4gdGguI3skc3RhdGV9OmhvdmVyLFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGQsXG4gICAgJjpob3ZlciA+IC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyLFxuICBhI3skcGFyZW50fTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cblxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5cbkBtaXhpbiBuYXZiYXItdmVydGljYWwtYWxpZ24oJGVsZW1lbnQtaGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgIHBhZGRpbmctbGVmdDogIGNlaWwoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG59XG5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzLCAkaTogMSwgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLSN7JGNsYXNzfS0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbkBtaXhpbiBjYWxjLWdyaWQtY29sdW1uKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS0jeyRpbmRleH0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtMCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtI3skaW5kZXh9IHtcbiAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtMCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBvZmZzZXQpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3NcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICBmbG9vcigoJGd1dHRlciAvIDIpKTtcbiAgcGFkZGluZy1yaWdodDogY2VpbCgoJGd1dHRlciAvIDIpKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1sZWZ0OiAgY2VpbCgoJGd1dHRlciAvIC0yKSk7XG4gIG1hcmdpbi1yaWdodDogZmxvb3IoKCRndXR0ZXIgLyAtMikpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXhzLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8vXG4vLyAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuLy8gMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbi8vICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbi8vXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMVxuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbi8vXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbi8vIGFuZCBGaXJlZm94LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbi8vXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbi8vIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbi8vXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIDJcbn1cblxuLy9cbi8vIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4vLyBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuLy9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuLy8gSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuLy9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4vL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vXG4vLyBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4vLyBhY3RpdmUvaG92ZXIgc3RhdGUuXG4vL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUZXh0LWxldmVsIHNlbWFudGljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy9cbi8vIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbi8vIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuLy9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLy8gRW1iZWRkZWQgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuLy9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vL1xuLy8gQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4vL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEdyb3VwaW5nIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbi8vXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4vL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vLyBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4vLyBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4vL1xuXG4vL1xuLy8gMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4vLyAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMVxuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gM1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbi8vIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4vLyBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuLy8gQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuLy9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuLy8gICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4vLyAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4vLyAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuLy8gICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuLy9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbiAgY3Vyc29yOiBwb2ludGVyOyAvLyAzXG59XG5cbi8vXG4vLyBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuLy9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4vLyB0aGUgVUEgc3R5bGVzaGVldC5cbi8vXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLy9cbi8vIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbi8vIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4vL1xuLy8gMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbi8vIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4vLyBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuLy8gZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuLy9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vXG4vLyAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4vLyBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4vLyBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4vL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbi8vXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuLy8gMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuLy9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuLy8gTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4vL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vLyBUYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8qISBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MgKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OiBoNWJwLmNvbS9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgYVtocmVmXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIH1cblxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyLFxuICAgIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IC8vIGg1YnAuY29tL3RcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYnRuLFxuICAgIC5kcm9wdXAgPiAuYnRuIHtcbiAgICAgICAgPiAuY2FyZXQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5sYWJlbCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxufVxuIiwiLy9cbi8vIFNjYWZmb2xkaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFJlc2V0IHRoZSBib3gtc2l6aW5nXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgcmVzZXQgbWF5IGNhdXNlIGNvbmZsaWN0cyB3aXRoIHNvbWUgdGhpcmQtcGFydHkgd2lkZ2V0cy5cbi8vIEZvciByZWNvbW1lbmRhdGlvbnMgb24gcmVzb2x2aW5nIHN1Y2ggY29uZmxpY3RzLCBzZWVcbi8vIGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jdGhpcmQtYm94LXNpemluZ1xuKiB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG5cbi8vIEJvZHkgcmVzZXRcblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xufVxuXG4vLyBSZXNldCBmb250cyBmb3IgcmVsZXZhbnQgZWxlbWVudHNcbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIHRhYi1mb2N1cztcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBXZSByZXNldCB0aGlzIGhlcmUgYmVjYXVzZSBwcmV2aW91c2x5IE5vcm1hbGl6ZSBoYWQgbm8gYGZpZ3VyZWAgbWFyZ2lucy4gVGhpc1xuLy8gZW5zdXJlcyB3ZSBkb24ndCBicmVhayBhbnlvbmUncyB1c2Ugb2YgdGhlIGVsZW1lbnQuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuXG4vLyBJbWFnZXNcblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4uaW1nLXJlc3BvbnNpdmUge1xuICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZTtcbn1cblxuLy8gUm91bmRlZCBjb3JuZXJzXG4uaW1nLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbn1cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gdGh1bWJuYWlscy5sZXNzIGZvciBgLnRodW1ibmFpbGAuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZShpbmxpbmUtYmxvY2spO1xufVxuXG4vLyBQZXJmZWN0IGNpcmNsZVxuLmltZy1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIHNldCByYWRpdXMgaW4gcGVyY2VudHNcbn1cblxuXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRoci1ib3JkZXI7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudFxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBpT1MgXCJjbGlja2FibGUgZWxlbWVudHNcIiBmaXggZm9yIHJvbGU9XCJidXR0b25cIlxuLy9cbi8vIEZpeGVzIFwiY2xpY2thYmlsaXR5XCIgaXNzdWUgKGFuZCBtb3JlIGdlbmVyYWxseSwgdGhlIGZpcmluZyBvZiBldmVudHMgc3VjaCBhcyBmb2N1cyBhcyB3ZWxsKVxuLy8gZm9yIHRyYWRpdGlvbmFsbHkgbm9uLWZvY3VzYWJsZSBlbGVtZW50cyB3aXRoIHJvbGU9XCJidXR0b25cIlxuLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIiwiLy9cbi8vIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSGVhZGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRoZWFkaW5ncy1zbWFsbC1jb2xvcjtcbiAgfVxufVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMge1xuICBtYXJnaW4tdG9wOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDY1JTtcbiAgfVxufVxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgbWFyZ2luLXRvcDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gIH1cbn1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMTsgfVxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjsgfVxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMzsgfVxuaDQsIC5oNCB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDsgfVxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTsgfVxuaDYsIC5oNiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNjsgfVxuXG5cbi8vIEJvZHkgdGV4dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xufVxuXG4ubGVhZCB7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMS4xNSkpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIH1cbn1cblxuXG4vLyBFbXBoYXNpcyAmIG1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRXg6ICgxMnB4IHNtYWxsIGZvbnQgLyAxNHB4IGJhc2UgZm9udCkgKiAxMDAlID0gYWJvdXQgODUlXG5zbWFsbCxcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKDEwMCUgKiAkZm9udC1zaXplLXNtYWxsIC8gJGZvbnQtc2l6ZS1iYXNlKSk7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzdGF0ZS13YXJuaW5nLWJnO1xuICBwYWRkaW5nOiAuMmVtO1xufVxuXG4vLyBBbGlnbm1lbnRcbi50ZXh0LWxlZnQgICAgICAgICAgIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuLnRleHQtcmlnaHQgICAgICAgICAgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLnRleHQtY2VudGVyICAgICAgICAgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi50ZXh0LWp1c3RpZnkgICAgICAgIHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuLnRleHQtbm93cmFwICAgICAgICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG4udGV4dC1sb3dlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cbi50ZXh0LXVwcGVyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuLnRleHQtY2FwaXRhbGl6ZSAgICAgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogJHRleHQtbXV0ZWQ7XG59XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtcHJpbWFyeScsICRicmFuZC1wcmltYXJ5KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1zdWNjZXNzJywgJHN0YXRlLXN1Y2Nlc3MtdGV4dCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtaW5mbycsICRzdGF0ZS1pbmZvLXRleHQpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXdhcm5pbmcnLCAkc3RhdGUtd2FybmluZy10ZXh0KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1kYW5nZXInLCAkc3RhdGUtZGFuZ2VyLXRleHQpO1xuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4vLyBGb3Igbm93IHdlJ2xsIGxlYXZlIHRoZXNlIGFsb25nc2lkZSB0aGUgdGV4dCBjbGFzc2VzIHVudGlsIHY0IHdoZW4gd2UgY2FuXG4vLyBzYWZlbHkgc2hpZnQgdGhpbmdzIGFyb3VuZCAocGVyIFNlbVZlciBydWxlcykuXG4uYmctcHJpbWFyeSB7XG4gIC8vIEdpdmVuIHRoZSBjb250cmFzdCBoZXJlLCB0aGlzIGlzIHRoZSBvbmx5IGNsYXNzIHRvIGhhdmUgaXRzIGNvbG9yIGludmVydGVkXG4gIC8vIGF1dG9tYXRpY2FsbHkuXG4gIGNvbG9yOiAjZmZmO1xufVxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1zdWNjZXNzJywgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctaW5mbycsICRzdGF0ZS1pbmZvLWJnKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXdhcm5pbmcnLCAkc3RhdGUtd2FybmluZy1iZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1kYW5nZXInLCAkc3RhdGUtZGFuZ2VyLWJnKTtcblxuXG4vLyBQYWdlIGhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGFnZS1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpO1xuICBtYXJnaW46ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKiAyKSAwICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I7XG59XG5cblxuLy8gTGlzdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVW5vcmRlcmVkIGFuZCBPcmRlcmVkIGxpc3RzXG51bCxcbm9sIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gTGlzdCBvcHRpb25zXG5cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBmcm9tIGAubGlzdC11bnN0eWxlZGAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYXMgYEBtaXhpbiBsaXN0LXVuc3R5bGVkYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG5cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIH1cbn1cblxuLy8gRGVzY3JpcHRpb24gTGlzdHNcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDsgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdFxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG59XG5kdCxcbmRkIHtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xufVxuZHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbi8vIEhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdHNcbi8vXG4vLyBEZWZhdWx0cyB0byBiZWluZyBzdGFja2VkIHdpdGhvdXQgYW55IG9mIHRoZSBiZWxvdyBzdHlsZXMgYXBwbGllZCwgdW50aWwgdGhlXG4vLyBncmlkIGJyZWFrcG9pbnQgaXMgcmVhY2hlZCAoZGVmYXVsdCBvZiB+NzY4cHgpLlxuXG4uZGwtaG9yaXpvbnRhbCB7XG4gIGRkIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDsgLy8gQ2xlYXIgdGhlIGZsb2F0ZWQgYGR0YCBpZiBhbiBlbXB0eSBgZGRgIGlzIHByZXNlbnRcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZGwtaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XG4gICAgZHQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogKCRkbC1ob3Jpem9udGFsLW9mZnNldCAtIDIwKTtcbiAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93O1xuICAgIH1cbiAgICBkZCB7XG4gICAgICBtYXJnaW4tbGVmdDogJGRsLWhvcml6b250YWwtb2Zmc2V0O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXNcbmFiYnJbdGl0bGVdLFxuLy8gQWRkIGRhdGEtKiBhdHRyaWJ1dGUgdG8gaGVscCBvdXQgb3VyIHRvb2x0aXAgcGx1Z2luLCBwZXIgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy81MjU3XG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRhYmJyLWJvcmRlci1jb2xvcjtcbn1cbi5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIEBleHRlbmQgLnRleHQtdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbjogMCAwICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1mb250LXNpemU7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuXG4gIHAsXG4gIHVsLFxuICBvbCB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gTm90ZTogRGVwcmVjYXRlZCBzbWFsbCBhbmQgLnNtYWxsIGFzIG9mIHYzLjEuMFxuICAvLyBDb250ZXh0OiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjYwXG4gIGZvb3RlcixcbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA4MCU7IC8vIGJhY2sgdG8gZGVmYXVsdCBmb250LXNpemVcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwQTAnOyAvLyBlbSBkYXNoLCBuYnNwXG4gICAgfVxuICB9XG59XG5cbi8vIE9wcG9zaXRlIGFsaWdubWVudCBvZiBibG9ja3F1b3RlXG4vL1xuLy8gSGVhZHMgdXA6IGBibG9ja3F1b3RlLnB1bGwtcmlnaHRgIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMS4wLlxuLmJsb2NrcXVvdGUtcmV2ZXJzZSxcbmJsb2NrcXVvdGUucHVsbC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLy8gQWNjb3VudCBmb3IgY2l0YXRpb25cbiAgZm9vdGVyLFxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICAmOmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB9XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwwMEEwIFxcMjAxNCc7IC8vIG5ic3AsIGVtIGRhc2hcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcmVzc2VzXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbn1cbiIsIi8vXG4vLyBHcmlkIHN5c3RlbVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG4uY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHdpZHRoOiAkY29udGFpbmVyLXNtO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHdpZHRoOiAkY29udGFpbmVyLW1kO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHdpZHRoOiAkY29udGFpbmVyLWxnO1xuICB9XG59XG5cblxuLy8gRmx1aWQgY29udGFpbmVyXG4vL1xuLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aG91dCBhbnkgZGVmaW5lZFxuLy8gd2lkdGggZm9yIGZsdWlkLCBmdWxsIHdpZHRoIGxheW91dHMuXG5cbi5jb250YWluZXItZmx1aWQge1xuICBAaW5jbHVkZSBjb250YWluZXItZml4ZWQ7XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIGFuZCBjbGVhciB0aGUgZmxvYXRzIG9mIHlvdXIgY29sdW1ucy5cblxuLnJvdyB7XG4gIEBpbmNsdWRlIG1ha2Utcm93O1xufVxuXG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zO1xuXG5cbi8vIEV4dHJhIHNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgZXh0cmEgc21hbGwgZGV2aWNlcyBsaWtlXG4vLyBzbWFydHBob25lcy5cblxuQGluY2x1ZGUgbWFrZS1ncmlkKHhzKTtcblxuXG4vLyBTbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBzbWFsbCBkZXZpY2UgcmFuZ2UsIGZyb20gcGhvbmVzXG4vLyB0byB0YWJsZXRzLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKHNtKTtcbn1cblxuXG4vLyBNZWRpdW0gZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQobWQpO1xufVxuXG5cbi8vIExhcmdlIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGxhcmdlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKGxnKTtcbn1cbiIsIi8vXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7XG59XG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuLy8gQmFzZWxpbmUgc3R5bGVzXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgLy8gQ2VsbHNcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEJvdHRvbSBhbGlnbiBmb3IgY29sdW1uIGhlYWRpbmdzXG4gID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gIC8vIFJlbW92ZSB0b3AgYm9yZGVyIGZyb20gdGhlYWQgYnkgZGVmYXVsdFxuICA+IGNhcHRpb24gKyB0aGVhZCxcbiAgPiBjb2xncm91cCArIHRoZWFkLFxuICA+IHRoZWFkOmZpcnN0LWNoaWxkIHtcbiAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgbXVsdGlwbGUgdGJvZHkgaW5zdGFuY2VzXG4gID4gdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBOZXN0aW5nXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XG4gIH1cbn1cblxuXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG5cbi50YWJsZS1jb25kZW5zZWQge1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm9yZGVyZWQgdmVyc2lvblxuLy9cbi8vIEFkZCBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gdGhlYWQgPiB0ciB7XG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZy1hY2NlbnQ7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWhvdmVyO1xuICB9XG59XG5cblxuLy8gVGFibGUgY2VsbCBzaXppbmdcbi8vXG4vLyBSZXNldCBkZWZhdWx0IHRhYmxlIGJlaGF2aW9yXG5cbnRhYmxlIGNvbFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS0xMSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47XG59XG50YWJsZSB7XG4gIHRkLFxuICB0aCB7XG4gICAgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IC8vIFByZXZlbnQgYm9yZGVyIGhpZGluZyBpbiBGaXJlZm94IGFuZCBJRTktMTEgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjIzKVxuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbi8vIEdlbmVyYXRlIHRoZSBjb250ZXh0dWFsIHZhcmlhbnRzXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnYWN0aXZlJywgJHRhYmxlLWJnLWFjdGl2ZSk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdpbmZvJywgJHN0YXRlLWluZm8tYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ3dhcm5pbmcnLCAkc3RhdGUtd2FybmluZy1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBXcmFwIHlvdXIgdGFibGVzIGluIGAudGFibGUtcmVzcG9uc2l2ZWAgYW5kIHdlJ2xsIG1ha2UgdGhlbSBtb2JpbGUgZnJpZW5kbHlcbi8vIGJ5IGVuYWJsaW5nIGhvcml6b250YWwgc2Nyb2xsaW5nLiBPbmx5IGFwcGxpZXMgPDc2OHB4LiBFdmVyeXRoaW5nIGFib3ZlIHRoYXRcbi8vIHdpbGwgZGlzcGxheSBub3JtYWxseS5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwLjAxJTsgLy8gV29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTQ4MzcpXG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMC43NSk7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgICAvLyBUaWdodGVuIHVwIHNwYWNpbmdcbiAgICA+IC50YWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGNvbnRlbnQgZG9lc24ndCB3cmFwXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTcGVjaWFsIG92ZXJyaWRlcyBmb3IgdGhlIGJvcmRlcmVkIHRhYmxlc1xuICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLy8gTnVrZSB0aGUgYXBwcm9wcmlhdGUgYm9yZGVycyBzbyB0aGF0IHRoZSBwYXJlbnQgY2FuIGhhbmRsZSB0aGVtXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPbmx5IG51a2UgdGhlIGxhc3Qgcm93J3MgYm90dG9tLWJvcmRlciBpbiBgdGJvZHlgIGFuZCBgdGZvb3RgIHNpbmNlXG4gICAgICAvLyBjaGFuY2VzIGFyZSB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGB0cmAgaW4gYSBgdGhlYWRgIGFuZCB0aGF0IHdvdWxkXG4gICAgICAvLyByZW1vdmUgdGhlIGJvcmRlciBhbHRvZ2V0aGVyLlxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gRm9ybXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gTm9ybWFsaXplIG5vbi1jb250cm9sc1xuLy9cbi8vIFJlc3R5bGUgYW5kIGJhc2VsaW5lIG5vbi1jb250cm9sIGZvcm0gZWxlbWVudHMuXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIC8vIENocm9tZSBhbmQgRmlyZWZveCBzZXQgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gc28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgaXQgYmVoYXZlcyBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cbiAgbWluLXdpZHRoOiAwO1xufVxuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAkbGVnZW5kLWNvbG9yO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGVnZW5kLWJvcmRlci1jb2xvcjtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gRm9yY2UgSUU4IHRvIHdyYXAgbG9uZyBjb250ZW50IChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMzE0MSlcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuXG4vLyBOb3JtYWxpemUgZm9ybSBjb250cm9sc1xuLy9cbi8vIFdoaWxlIG1vc3Qgb2Ygb3VyIGZvcm0gc3R5bGVzIHJlcXVpcmUgZXh0cmEgY2xhc3Nlcywgc29tZSBiYXNpYyBub3JtYWxpemF0aW9uXG4vLyBpcyByZXF1aXJlZCB0byBlbnN1cmUgb3B0aW11bSBkaXNwbGF5IHdpdGggb3Igd2l0aG91dCB0aG9zZSBjbGFzc2VzIHRvIGJldHRlclxuLy8gYWRkcmVzcyBicm93c2VyIGluY29uc2lzdGVuY2llcy5cblxuLy8gT3ZlcnJpZGUgY29udGVudC1ib3ggaW4gTm9ybWFsaXplICgqIGlzbid0IHNwZWNpZmljIGVub3VnaClcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG4vLyBQb3NpdGlvbiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgYmV0dGVyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBtYXJnaW46IDRweCAwIDA7XG4gIG1hcmdpbi10b3A6IDFweCBcXDk7IC8vIElFOC05XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIE1ha2UgcmFuZ2UgaW5wdXRzIGJlaGF2ZSBsaWtlIHRleHR1YWwgZm9ybSBjb250cm9sc1xuaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBNYWtlIG11bHRpcGxlIHNlbGVjdCBlbGVtZW50cyBoZWlnaHQgbm90IGZpeGVkXG5zZWxlY3RbbXVsdGlwbGVdLFxuc2VsZWN0W3NpemVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb2N1cyBmb3IgZmlsZSwgcmFkaW8sIGFuZCBjaGVja2JveFxuaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xuICBAaW5jbHVkZSB0YWItZm9jdXM7XG59XG5cbi8vIEFkanVzdCBvdXRwdXQgZWxlbWVudFxub3V0cHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xufVxuXG5cbi8vIENvbW1vbiBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gU2hhcmVkIHNpemUgYW5kIHR5cGUgcmVzZXRzIGZvciBmb3JtIGNvbnRyb2xzLiBBcHBseSBgLmZvcm0tY29udHJvbGAgdG8gYW55XG4vLyBvZiB0aGUgZm9sbG93aW5nIGZvcm0gY29udHJvbHM6XG4vL1xuLy8gc2VsZWN0XG4vLyB0ZXh0YXJlYVxuLy8gaW5wdXRbdHlwZT1cInRleHRcIl1cbi8vIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRlXCJdXG4vLyBpbnB1dFt0eXBlPVwibW9udGhcIl1cbi8vIGlucHV0W3R5cGU9XCJ0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwid2Vla1wiXVxuLy8gaW5wdXRbdHlwZT1cIm51bWJlclwiXVxuLy8gaW5wdXRbdHlwZT1cImVtYWlsXCJdXG4vLyBpbnB1dFt0eXBlPVwidXJsXCJdXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdXG4vLyBpbnB1dFt0eXBlPVwidGVsXCJdXG4vLyBpbnB1dFt0eXBlPVwiY29sb3JcIl1cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7IC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcbiAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1czsgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgPHNlbGVjdD5zIGluIENTUy5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cyk7XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXM7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXI7XG5cbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJltkaXNhYmxlZF0sXG4gICZbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6IDE7IC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTVcbiAgfVxuXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRleHRhcmVhJiB0byB0ZXh0YXJlYS5mb3JtLWNvbnRyb2xcbn1cblxuLy8gUmVzZXQgaGVpZ2h0IGZvciBgdGV4dGFyZWFgc1xudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFNlYXJjaCBpbnB1dHMgaW4gaU9TXG4vL1xuLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4vLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8vIFNwZWNpYWwgc3R5bGVzIGZvciBpT1MgdGVtcG9yYWwgaW5wdXRzXG4vL1xuLy8gSW4gTW9iaWxlIFNhZmFyaSwgc2V0dGluZyBgZGlzcGxheTogYmxvY2tgIG9uIHRlbXBvcmFsIGlucHV0cyBjYXVzZXMgdGhlXG4vLyB0ZXh0IHdpdGhpbiB0aGUgaW5wdXQgdG8gYmVjb21lIHZlcnRpY2FsbHkgbWlzYWxpZ25lZC4gQXMgYSB3b3JrYXJvdW5kLCB3ZVxuLy8gc2V0IGEgcGl4ZWwgbGluZS1oZWlnaHQgdGhhdCBtYXRjaGVzIHRoZSBnaXZlbiBoZWlnaHQgb2YgdGhlIGlucHV0LCBidXQgb25seVxuLy8gZm9yIFNhZmFyaS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NDhcbi8vXG4vLyBOb3RlIHRoYXQgYXMgb2YgOS4zLCBpT1MgZG9lc24ndCBzdXBwb3J0IGB3ZWVrYC5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICAmLmZvcm0tY29udHJvbCB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICAgIH1cblxuICAgICYuaW5wdXQtc20sXG4gICAgLmlucHV0LWdyb3VwLXNtICYge1xuICAgICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgfVxuXG4gICAgJi5pbnB1dC1sZyxcbiAgICAuaW5wdXQtZ3JvdXAtbGcgJiB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcblxuICBsYWJlbCB7XG4gICAgbWluLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOyAvLyBFbnN1cmUgdGhlIGlucHV0IGRvZXNuJ3QganVtcCB3aGVuIHRoZXJlIGlzIG5vIHRleHRcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi10b3A6IDRweCBcXDk7XG59XG5cbi5yYWRpbyArIC5yYWRpbyxcbi5jaGVja2JveCArIC5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IC01cHg7IC8vIE1vdmUgdXAgc2libGluZyByYWRpb3Mgb3IgY2hlY2tib3hlcyBmb3IgdGlnaHRlciBzcGFjaW5nXG59XG5cbi8vIFJhZGlvcyBhbmQgY2hlY2tib3hlcyBvbiBzYW1lIGxpbmVcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnJhZGlvLWlubGluZSArIC5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lICsgLmNoZWNrYm94LWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4OyAvLyBzcGFjZSBvdXQgY29uc2VjdXRpdmUgaW5saW5lIGNvbnRyb2xzXG59XG5cbi8vIEFwcGx5IHNhbWUgZGlzYWJsZWQgY3Vyc29yIHR3ZWFrIGFzIGZvciBpbnB1dHNcbi8vIFNvbWUgc3BlY2lhbCBjYXJlIGlzIG5lZWRlZCBiZWNhdXNlIDxsYWJlbD5zIGRvbid0IGluaGVyaXQgdGhlaXIgcGFyZW50J3MgYGN1cnNvcmAuXG4vL1xuLy8gTm90ZTogTmVpdGhlciByYWRpb3Mgbm9yIGNoZWNrYm94ZXMgY2FuIGJlIHJlYWRvbmx5LlxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgZGlyZWN0bHkgb24gPGxhYmVsPnNcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuLy8gVGhlc2UgY2xhc3NlcyBhcmUgdXNlZCBvbiBlbGVtZW50cyB3aXRoIDxsYWJlbD4gZGVzY2VuZGFudHNcbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBsYWJlbCB7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3RhdGljIGZvcm0gY29udHJvbCB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSBgcGAgZWxlbWVudCB0byBtYWtlIGFueSBzdHJpbmcgb2YgdGV4dCBhbGlnbiB3aXRoIGxhYmVscyBpblxuLy8gYSBob3Jpem9udGFsIGZvcm0gbGF5b3V0LlxuXG4uZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIC8vIFNpemUgaXQgYXBwcm9wcmlhdGVseSBuZXh0IHRvIHJlYWwgZm9ybSBjb250cm9sc1xuICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgcGFkZGluZy1ib3R0b206ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBmcm9tIGBwYFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJGZvbnQtc2l6ZS1iYXNlKTtcblxuICAmLmlucHV0LWxnLFxuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBUaGUgYC5mb3JtLWdyb3VwLSogZm9ybS1jb250cm9sYCB2YXJpYXRpb25zIGFyZSBzYWRseSBkdXBsaWNhdGVkIHRvIGF2b2lkIHRoZVxuLy8gaXNzdWUgZG9jdW1lbnRlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE1MDc0LlxuXG5AaW5jbHVkZSBpbnB1dC1zaXplKCcuaW5wdXQtc20nLCAkaW5wdXQtaGVpZ2h0LXNtYWxsLCAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4uZm9ybS1ncm91cC1zbSB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtYWxsO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsO1xuICB9XG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgfVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4gIHNlbGVjdFttdWx0aXBsZV0uZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJGZvbnQtc2l6ZS1zbWFsbCk7XG4gICAgcGFkZGluZzogKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICsgMSkgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1zbWFsbDtcbiAgfVxufVxuXG5AaW5jbHVkZSBpbnB1dC1zaXplKCcuaW5wdXQtbGcnLCAkaW5wdXQtaGVpZ2h0LWxhcmdlLCAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1sYXJnZSwgJGxpbmUtaGVpZ2h0LWxhcmdlLCAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4uZm9ybS1ncm91cC1sZyB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWxhcmdlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlO1xuICB9XG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgfVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4gIHNlbGVjdFttdWx0aXBsZV0uZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJGZvbnQtc2l6ZS1sYXJnZSk7XG4gICAgcGFkZGluZzogKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICsgMSkgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1sYXJnZTtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmZWVkYmFjayBzdGF0ZXNcbi8vXG4vLyBBcHBseSBjb250ZXh0dWFsIGFuZCBzZW1hbnRpYyBzdGF0ZXMgdG8gaW5kaXZpZHVhbCBmb3JtIGNvbnRyb2xzLlxuXG4uaGFzLWZlZWRiYWNrIHtcbiAgLy8gRW5hYmxlIGFic29sdXRlIHBvc2l0aW9uaW5nXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBFbnN1cmUgaWNvbnMgZG9uJ3Qgb3ZlcmxhcCB0ZXh0XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkaW5wdXQtaGVpZ2h0LWJhc2UgKiAxLjI1KTtcbiAgfVxufVxuLy8gRmVlZGJhY2sgaWNvbiAocmVxdWlyZXMgLmdseXBoaWNvbiBjbGFzc2VzKVxuLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjsgLy8gRW5zdXJlIGljb24gaXMgYWJvdmUgaW5wdXQgZ3JvdXBzXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJGlucHV0LWhlaWdodC1iYXNlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5pbnB1dC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbn1cbi5pbnB1dC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbn1cblxuLy8gRmVlZGJhY2sgc3RhdGVzXG4uaGFzLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtc3VjY2Vzcy10ZXh0LCAkc3RhdGUtc3VjY2Vzcy10ZXh0LCAkc3RhdGUtc3VjY2Vzcy1iZyk7XG59XG4uaGFzLXdhcm5pbmcge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtd2FybmluZy10ZXh0LCAkc3RhdGUtd2FybmluZy10ZXh0LCAkc3RhdGUtd2FybmluZy1iZyk7XG59XG4uaGFzLWVycm9yIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLWRhbmdlci10ZXh0LCAkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItYmcpO1xufVxuXG4vLyBSZXBvc2l0aW9uIGZlZWRiYWNrIGljb24gaWYgaW5wdXQgaGFzIHZpc2libGUgbGFiZWwgYWJvdmVcbi5oYXMtZmVlZGJhY2sgbGFiZWwge1xuXG4gICYgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICB0b3A6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyA1KTsgLy8gSGVpZ2h0IG9mIHRoZSBgbGFiZWxgIGFuZCBpdHMgbWFyZ2luXG4gIH1cbiAgJi5zci1vbmx5IH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cblxuLy8gSGVscCB0ZXh0XG4vL1xuLy8gQXBwbHkgdG8gYW55IGVsZW1lbnQgeW91IHdpc2ggdG8gY3JlYXRlIGxpZ2h0IHRleHQgZm9yIHBsYWNlbWVudCBpbW1lZGlhdGVseVxuLy8gYmVsb3cgYSBmb3JtIGNvbnRyb2wuIFVzZSBmb3IgZ2VuZXJhbCBoZWxwLCBmb3JtYXR0aW5nLCBvciBpbnN0cnVjdGlvbmFsIHRleHQuXG5cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IC8vIGFjY291bnQgZm9yIGFueSBlbGVtZW50IHVzaW5nIGhlbHAtYmxvY2tcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogbGlnaHRlbigkdGV4dC1jb2xvciwgMjUlKTsgLy8gbGlnaHRlbiB0aGUgdGV4dCBzb21lIGZvciBjb250cmFzdFxufVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byBgLm5hdmJhci1mb3JtYCBpbiBuYXZiYXJzLmxlc3MuXG5cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBmcm9tIGAuZm9ybS1pbmxpbmVgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbkBtaXhpbiBmb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEluIG5hdmJhci1mb3JtLCBhbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5yYWRpbyxcbiAgICAuY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxuICAgIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYXMgYEBtaXhpbiBmb3JtLWlubGluZWAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuLmZvcm0taW5saW5lIHtcbiAgQGluY2x1ZGUgZm9ybS1pbmxpbmU7XG59XG5cblxuXG4vLyBIb3Jpem9udGFsIGZvcm1zXG4vL1xuLy8gSG9yaXpvbnRhbCBmb3JtcyBhcmUgYnVpbHQgb24gZ3JpZCBjbGFzc2VzIGFuZCBhbGxvdyB5b3UgdG8gY3JlYXRlIGZvcm1zIHdpdGhcbi8vIGxhYmVscyBvbiB0aGUgbGVmdCBhbmQgaW5wdXRzIG9uIHRoZSByaWdodC5cblxuLmZvcm0taG9yaXpvbnRhbCB7XG5cbiAgLy8gQ29uc2lzdGVudCB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzXG4gIC8vXG4gIC8vIExhYmVscyBhbHNvIGdldCBzb21lIHJlc2V0IHN0eWxlcywgYnV0IHRoYXQgaXMgc2NvcGVkIHRvIGEgbWVkaWEgcXVlcnkgYmVsb3cuXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7IC8vIERlZmF1bHQgcGFkZGluZyBwbHVzIGEgYm9yZGVyXG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgcGFkZGluZyB3ZSdyZSBhZGRpbmcgdG8gZW5zdXJlIHRoZSBhbGlnbm1lbnQgYW5kIG9mIGhlbHAgdGV4dFxuICAvLyBhbmQgb3RoZXIgY29udGVudCBiZWxvdyBpdGVtc1xuICAucmFkaW8sXG4gIC5jaGVja2JveCB7XG4gICAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSkpO1xuICB9XG5cbiAgLy8gTWFrZSBmb3JtIGdyb3VwcyBiZWhhdmUgbGlrZSByb3dzXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdztcbiAgfVxuXG4gIC8vIFJlc2V0IHNwYWNpbmcgYW5kIHJpZ2h0IGFsaWduIGxhYmVscywgYnV0IHNjb3BlIHRvIG1lZGlhIHF1ZXJpZXMgc28gdGhhdFxuICAvLyBsYWJlbHMgb24gbmFycm93IHZpZXdwb3J0cyBzdGFjayB0aGUgc2FtZSBhcyBhIGRlZmF1bHQgZm9ybSBleGFtcGxlLlxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgICB9XG4gIH1cblxuICAvLyBWYWxpZGF0aW9uIHN0YXRlc1xuICAvL1xuICAvLyBSZXBvc2l0aW9uIHRoZSBpY29uIGJlY2F1c2UgaXQncyBub3cgd2l0aGluIGEgZ3JpZCBjb2x1bW4gYW5kIGNvbHVtbnMgaGF2ZVxuICAvLyBgcG9zaXRpb246IHJlbGF0aXZlO2Agb24gdGhlbS4gQWxzbyBhY2NvdW50cyBmb3IgdGhlIGdyaWQgZ3V0dGVyIHBhZGRpbmcuXG4gIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgcmlnaHQ6IGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gIH1cblxuICAvLyBGb3JtIGdyb3VwIHNpemVzXG4gIC8vXG4gIC8vIFF1aWNrIHV0aWxpdHkgY2xhc3MgZm9yIGFwcGx5aW5nIGAuaW5wdXQtbGdgIGFuZCBgLmlucHV0LXNtYCBzdHlsZXMgdG8gdGhlXG4gIC8vIGlucHV0cyBhbmQgbGFiZWxzIHdpdGhpbiBhIGAuZm9ybS1ncm91cGAuXG4gIC5mb3JtLWdyb3VwLWxnIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCArIDEpO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWdyb3VwLXNtIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCArIDEpO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gRHJvcGRvd24gbWVudXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRHJvcGRvd24gYXJyb3cvY2FyZXRcbi5jYXJldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXRvcDogICAkY2FyZXQtd2lkdGgtYmFzZSBkYXNoZWQ7XG4gIGJvcmRlci10b3A6ICAgJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgXFw5OyAvLyBJRThcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICAkY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGRpdilcbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIFByZXZlbnQgdGhlIGZvY3VzIG9uIHRoZSBkcm9wZG93biB0b2dnbGUgd2hlbiBjbG9zaW5nIGRyb3Bkb3duc1xuLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51ICh1bClcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6IDE2MHB4O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWFyZ2luOiAycHggMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjsgLy8gSUU4IGZhbGxiYWNrXG4gIGJvcmRlcjogMXB4IHNvbGlkICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAvLyBBbGlnbnMgdGhlIGRyb3Bkb3duIG1lbnUgdG8gcmlnaHRcbiAgLy9cbiAgLy8gRGVwcmVjYXRlZCBhcyBvZiAzLjEuMCBpbiBmYXZvciBvZiBgLmRyb3Bkb3duLW1lbnUtW2Rpcl1gXG4gICYucHVsbC1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiB0aGUgZHJvcGRvd25cbiAgLmRpdmlkZXIge1xuICAgIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgfVxuXG4gIC8vIExpbmtzIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICB9XG59XG5cbi8vIEhvdmVyL0ZvY3VzIHN0YXRlXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG4gIH1cbn1cblxuLy8gQWN0aXZlIHN0YXRlXG4uZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuLy8gRGlzYWJsZWQgc3RhdGVcbi8vXG4vLyBHcmF5IG91dCB0ZXh0IGFuZCBlbnN1cmUgdGhlIGhvdmVyL2ZvY3VzIHN0YXRlIHJlbWFpbnMgZ3JheVxuXG4uZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGEge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gIH1cblxuICAvLyBOdWtlIGhvdmVyL2ZvY3VzIGVmZmVjdHNcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRcbiAgICBAaW5jbHVkZSByZXNldC1maWx0ZXI7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cbi8vIE9wZW4gc3RhdGUgZm9yIHRoZSBkcm9wZG93blxuLm9wZW4ge1xuICAvLyBTaG93IHRoZSBtZW51XG4gID4gLmRyb3Bkb3duLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBvdXRsaW5lIHdoZW4gOmZvY3VzIGlzIHRyaWdnZXJlZFxuICA+IGEge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8gTWVudSBwb3NpdGlvbmluZ1xuLy9cbi8vIEFkZCBleHRyYSBjbGFzcyB0byBgLmRyb3Bkb3duLW1lbnVgIHRvIGZsaXAgdGhlIGFsaWdubWVudCBvZiB0aGUgZHJvcGRvd25cbi8vIG1lbnUgd2l0aCB0aGUgcGFyZW50LlxuLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICBsZWZ0OiBhdXRvOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIGAuZHJvcGRvd24tbWVudWBcbiAgcmlnaHQ6IDA7XG59XG4vLyBXaXRoIHYzLCB3ZSBlbmFibGVkIGF1dG8tZmxpcHBpbmcgaWYgeW91IGhhdmUgYSBkcm9wZG93biB3aXRoaW4gYSByaWdodFxuLy8gYWxpZ25lZCBuYXYgY29tcG9uZW50LiBUbyBlbmFibGUgdGhlIHVuZG9pbmcgb2YgdGhhdCwgd2UgcHJvdmlkZSBhbiBvdmVycmlkZVxuLy8gdG8gcmVzdG9yZSB0aGUgZGVmYXVsdCBkcm9wZG93biBtZW51IGFsaWdubWVudC5cbi8vXG4vLyBUaGlzIGlzIG9ubHkgZm9yIGxlZnQtYWxpZ25pbmcgYSBkcm9wZG93biBtZW51IHdpdGhpbiBhIGAubmF2YmFyLXJpZ2h0YCBvclxuLy8gYC5wdWxsLXJpZ2h0YCBuYXYgY29tcG9uZW50LlxuLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogM3B4IDIwcHg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBCYWNrZHJvcCB0byBjYXRjaCBib2R5IGNsaWNrcyBvbiBtb2JpbGUsIGV0Yy5cbi5kcm9wZG93bi1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAoJHppbmRleC1kcm9wZG93biAtIDEwKTtcbn1cblxuLy8gUmlnaHQgYWxpZ25lZCBkcm9wZG93bnNcbi5wdWxsLXJpZ2h0ID4gLmRyb3Bkb3duLW1lbnUge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vL1xuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LCBicm8uXG4vLyBUT0RPOiBhYnN0cmFjdCB0aGlzIHNvIHRoYXQgdGhlIG5hdmJhciBmaXhlZCBzdHlsZXMgYXJlIG5vdCBwbGFjZWQgaGVyZT9cblxuLmRyb3B1cCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biB7XG4gIC8vIFJldmVyc2UgdGhlIGNhcmV0XG4gIC5jYXJldCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGgtYmFzZSBkYXNoZWQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgXFw5OyAvLyBJRThcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIC8vIERpZmZlcmVudCBwb3NpdGlvbmluZyBmb3IgYm90dG9tIHVwIG1lbnVcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlaXRlcmF0ZSBwZXIgbmF2YmFyLmxlc3MgYW5kIHRoZSBtb2RpZmllZCBjb21wb25lbnQgYWxpZ25tZW50IHRoZXJlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAubmF2YmFyLXJpZ2h0IHtcbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICByaWdodDogMDsgbGVmdDogYXV0bztcbiAgICB9XG4gICAgLy8gTmVjZXNzYXJ5IGZvciBvdmVycmlkZXMgb2YgdGhlIGRlZmF1bHQgcmlnaHQgYWxpZ25lZCBtZW51LlxuICAgIC8vIFdpbGwgcmVtb3ZlIGNvbWUgdjQgaW4gYWxsIGxpa2VsaWhvb2QuXG4gICAgLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gICAgICBsZWZ0OiAwOyByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBOYXZzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5uYXYge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgdWwvb2xcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmc7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlIHNldHMgdGV4dCB0byBncmF5IGFuZCBudWtlcyBob3Zlci90YWIgZWZmZWN0c1xuICAgICYuZGlzYWJsZWQgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE9wZW4gZHJvcGRvd25zXG4gIC5vcGVuID4gYSB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1saW5rLWhvdmVyLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbGluay1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBOYXYgZGl2aWRlcnMgKGRlcHJlY2F0ZWQgd2l0aCB2My4wLjEpXG4gIC8vXG4gIC8vIFRoaXMgc2hvdWxkIGhhdmUgYmVlbiByZW1vdmVkIGluIHYzIHdpdGggdGhlIGRyb3BwaW5nIG9mIGAubmF2LWxpc3RgLCBidXRcbiAgLy8gd2UgbWlzc2VkIGl0LiBXZSBkb24ndCBjdXJyZW50bHkgc3VwcG9ydCB0aGlzIGFueXdoZXJlLCBidXQgaW4gdGhlIGludGVyZXN0XG4gIC8vIG9mIG1haW50YWluaW5nIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgaW4gY2FzZSB5b3UgdXNlIGl0LCBpdCdzIGRlcHJlY2F0ZWQuXG4gIC5uYXYtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgbmF2LWRpdmlkZXI7XG4gIH1cblxuICAvLyBQcmV2ZW50IElFOCBmcm9tIG1pc3BsYWNpbmcgaW1nc1xuICAvL1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvaXNzdWVzLzk4NCNpc3N1ZWNvbW1lbnQtMzk4NTk4OVxuICA+IGxpID4gYSA+IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cblxuLy8gVGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBHaXZlIHRoZSB0YWJzIHNvbWV0aGluZyB0byBzaXQgb25cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvLyBNYWtlIHRoZSBsaXN0LWl0ZW1zIG92ZXJsYXkgdGhlIGJvdHRvbSBib3JkZXJcbiAgICAvKm1hcmdpbi1ib3R0b206IC0xcHg7Ki9cblxuICAgIC8vIEFjdHVhbCB0YWJzIChhcyBsaW5rcylcbiAgICA+IGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgJGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlLCBhbmQgaXRzIDpob3ZlciB0byBvdmVycmlkZSBub3JtYWwgOmhvdmVyXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gcHVsbGluZyB0aGlzIGluIG1haW5seSBmb3IgbGVzcyBzaG9ydGhhbmRcbiAgJi5uYXYtanVzdGlmaWVkIHtcbiAgICBAZXh0ZW5kIC5uYXYtanVzdGlmaWVkO1xuICAgIEBleHRlbmQgLm5hdi10YWJzLWp1c3RpZmllZDtcbiAgfVxufVxuXG5cbi8vIFBpbGxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2LXBpbGxzIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBMaW5rcyByZW5kZXJlZCBhcyBwaWxsc1xuICAgID4gYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuICAgICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3RhY2tlZCBwaWxsc1xuLm5hdi1zdGFja2VkIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gbm8gbmVlZCBmb3IgdGhpcyBnYXAgYmV0d2VlbiBuYXYgaXRlbXNcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXYgdmFyaWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSnVzdGlmaWVkIG5hdiBsaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgID4gYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgPiAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgPiBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW92ZSBib3JkZXJzIHRvIGFuY2hvcnMgaW5zdGVhZCBvZiBib3R0b20gb2YgbGlzdFxuLy9cbi8vIE1peGluIGZvciBhZGRpbmcgb24gdG9wIHRoZSBzaGFyZWQgYC5uYXYtanVzdGlmaWVkYCBzdHlsZXMgZm9yIG91ciB0YWJzXG4ubmF2LXRhYnMtanVzdGlmaWVkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICA+IGxpID4gYSB7XG4gICAgLy8gT3ZlcnJpZGUgbWFyZ2luIGZyb20gLm5hdi10YWJzXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlICRib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhLFxuICAgID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cbi8vIERyb3Bkb3duc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTcGVjaWZpYyBkcm9wZG93bnNcbi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7XG4gIC8vIG1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICBtYXJnaW4tdG9wOiAtMXB4O1xuICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBOYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFdyYXBwZXIgYW5kIGJhc2UgY2xhc3Ncbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0OyAvLyBFbnN1cmUgYSBuYXZiYXIgYWx3YXlzIHNob3dzIChlLmcuLCB3aXRob3V0IGEgLm5hdmJhci1icmFuZCBpbiBjb2xsYXBzZWQgbW9kZSlcbiAgbWFyZ2luLWJvdHRvbTogJG5hdmJhci1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAvLyBQcmV2ZW50IGZsb2F0cyBmcm9tIGJyZWFraW5nIHRoZSBuYXZiYXJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkbmF2YmFyLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgaGVhZGluZ1xuLy9cbi8vIEdyb3VwcyBgLm5hdmJhci1icmFuZGAgYW5kIGAubmF2YmFyLXRvZ2dsZWAgaW50byBhIHNpbmdsZSBjb21wb25lbnQgZm9yIGVhc3lcbi8vIHN0eWxpbmcgb2YgcmVzcG9uc2l2ZSBhc3BlY3RzLlxuXG4ubmF2YmFyLWhlYWRlciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgY29sbGFwc2UgKGJvZHkpXG4vL1xuLy8gR3JvdXAgeW91ciBuYXZiYXIgY29udGVudCBpbnRvIHRoaXMgZm9yIGVhc3kgY29sbGFwc2luZyBhbmQgZXhwYW5kaW5nIGFjcm9zc1xuLy8gdmFyaW91cyBkZXZpY2Ugc2l6ZXMuIEJ5IGRlZmF1bHQsIHRoaXMgY29udGVudCBpcyBjb2xsYXBzZWQgd2hlbiA8NzY4cHgsIGJ1dFxuLy8gd2lsbCBleHBhbmQgcGFzdCB0aGF0IGZvciBhIGhvcml6b250YWwgZGlzcGxheS5cbi8vXG4vLyBUbyBzdGFydCAob24gbW9iaWxlIGRldmljZXMpIHRoZSBuYXZiYXIgbGlua3MsIGZvcm1zLCBhbmQgYnV0dG9ucyBhcmUgc3RhY2tlZFxuLy8gdmVydGljYWxseSBhbmQgaW5jbHVkZSBhIGBtYXgtaGVpZ2h0YCB0byBvdmVyZmxvdyBpbiBjYXNlIHlvdSBoYXZlIHRvbyBtdWNoXG4vLyBjb250ZW50IGZvciB0aGUgdXNlcidzIHZpZXdwb3J0LlxuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgcGFkZGluZy1yaWdodDogJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmctbGVmdDogICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgJi5pbiB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBzZXR0aW5nXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuaW4ge1xuICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBVbmRvIHRoZSBjb2xsYXBzZSBzaWRlIHBhZGRpbmcgZm9yIG5hdmJhcnMgd2l0aCBjb250YWluZXJzIHRvIGVuc3VyZVxuICAgIC8vIGFsaWdubWVudCBvZiByaWdodC1hbGlnbmVkIGNvbnRlbnRzLlxuICAgIC5uYXZiYXItZml4ZWQtdG9wICYsXG4gICAgLm5hdmJhci1zdGF0aWMtdG9wICYsXG4gICAgLm5hdmJhci1maXhlZC1ib3R0b20gJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWF4LWhlaWdodDogJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0O1xuXG4gICAgQG1lZGlhIChtYXgtZGV2aWNlLXdpZHRoOiAkc2NyZWVuLXhzLW1pbikgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3RoIG5hdmJhciBoZWFkZXIgYW5kIGNvbGxhcHNlXG4vL1xuLy8gV2hlbiBhIGNvbnRhaW5lciBpcyBwcmVzZW50LCBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBoZWFkZXIgYW5kIGNvbGxhcHNlLlxuXG4uY29udGFpbmVyLFxuLmNvbnRhaW5lci1mbHVpZCB7XG4gID4gLm5hdmJhci1oZWFkZXIsXG4gID4gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbWFyZ2luLWxlZnQ6ICAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBOYXZiYXIgYWxpZ25tZW50IG9wdGlvbnNcbi8vXG4vLyBEaXNwbGF5IHRoZSBuYXZiYXIgYWNyb3NzIHRoZSBlbnRpcmV0eSBvZiB0aGUgcGFnZSBvciBmaXhlZCBpdCB0byB0aGUgdG9wIG9yXG4vLyBib3R0b20gb2YgdGhlIHBhZ2UuXG5cbi8vIFN0YXRpYyB0b3AgKHVuZml4ZWQsIGJ1dCAxMDAlIHdpZGUpIG5hdmJhclxuLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXI7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRml4IHRoZSB0b3AvYm90dG9tIG5hdmJhcnMgd2hlbiBzY3JlZW4gcmVhbCBlc3RhdGUgc3VwcG9ydHMgaXRcbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhci1maXhlZDtcblxuICAvLyBVbmRvIHRoZSByb3VuZGVkIGNvcm5lcnNcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xufVxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG92ZXJyaWRlIC5uYXZiYXIgZGVmYXVsdHNcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xufVxuXG5cbi8vIEJyYW5kL3Byb2plY3QgbmFtZVxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gID4gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgLm5hdmJhciA+IC5jb250YWluZXIgJixcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lci1mbHVpZCAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZVxuLy9cbi8vIEN1c3RvbSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBgLm5hdmJhci1jb2xsYXBzZWAsIHBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlXG4vLyBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLm5hdmJhci10b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZzogOXB4IDEwcHg7XG4gIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigzNHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gV2UgcmVtb3ZlIHRoZSBgb3V0bGluZWAgaGVyZSwgYnV0IGxhdGVyIGNvbXBlbnNhdGUgYnkgYXR0YWNoaW5nIGA6aG92ZXJgXG4gIC8vIHN0eWxlcyB0byBgOmZvY3VzYC5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIEJhcnNcbiAgLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIH1cbiAgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2IGxpbmtzXG4vL1xuLy8gQnVpbGRzIG9uIHRvcCBvZiB0aGUgYC5uYXZgIGNvbXBvbmVudHMgd2l0aCBpdHMgb3duIG1vZGlmaWVyIGNsYXNzIHRvIG1ha2Vcbi8vIHRoZSBuYXYgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBob3Jpem9udGFsIG5hdiAoYWJvdmUgNzY4cHgpLlxuXG4ubmF2YmFyLW5hdiB7XG4gIG1hcmdpbjogKCRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAvIDIpICgtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWwpO1xuXG4gID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogICAgMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgID4gbGkgPiBhLFxuICAgICAgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNXB4O1xuICAgICAgfVxuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVW5jb2xsYXBzZSB0aGUgbmF2XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAgICAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGZvcm1cbi8vXG4vLyBFeHRlbnNpb24gb2YgdGhlIGAuZm9ybS1pbmxpbmVgIHdpdGggc29tZSBleHRyYSBmbGF2b3IgZm9yIG9wdGltdW0gZGlzcGxheSBpblxuLy8gb3VyIG5hdmJhcnMuXG5cbi5uYXZiYXItZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIG1hcmdpbi1yaWdodDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiAxMHB4ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgJHNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcblxuICAvLyBNaXhpbiBiZWhhdmlvciBmb3Igb3B0aW11bSBkaXNwbGF5XG4gIEBpbmNsdWRlIGZvcm0taW5saW5lO1xuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbGx5IGNlbnRlciBpbiBleHBhbmRlZCwgaG9yaXpvbnRhbCBuYXZiYXJcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgLy8gVW5kbyAxMDAlIHdpZHRoIGZvciBwdWxsIGNsYXNzZXNcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93biBtZW51c1xuXG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0c1xuLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0IHN1cHBvcnQgZm9yIGRyb3B1cHMgdmlhIGV4dHJhIGRyb3B1cCBjbGFzc1xuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG59XG5cblxuLy8gQnV0dG9ucyBpbiBuYXZiYXJzXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgYSBidXR0b24gd2l0aGluIGEgbmF2YmFyICh3aGVuICpub3QqIGluIGEgZm9ybSkuXG5cbi5uYXZiYXItYnRuIHtcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgJi5idG4tc20ge1xuICAgIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkaW5wdXQtaGVpZ2h0LXNtYWxsKTtcbiAgfVxuICAmLmJ0bi14cyB7XG4gICAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKDIyKTtcbiAgfVxufVxuXG5cbi8vIFRleHQgaW4gbmF2YmFyc1xuLy9cbi8vIEFkZCBhIGNsYXNzIHRvIG1ha2UgYW55IGVsZW1lbnQgcHJvcGVybHkgYWxpZ24gaXRzZWxmIHZlcnRpY2FsbHkgd2l0aGluIHRoZSBuYXZiYXJzLlxuXG4ubmF2YmFyLXRleHQge1xuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlcHVycG9zZSB0aGUgcHVsbCB1dGlsaXRpZXMgYXMgdGhlaXIgb3duIG5hdmJhciB1dGlsaXRpZXMgdG8gYXZvaWQgc3BlY2lmaWNpdHlcbi8vIGlzc3VlcyB3aXRoIHBhcmVudHMgYW5kIGNoYWluaW5nLiBPbmx5IGRvIHRoaXMgd2hlbiB0aGUgbmF2YmFyIGlzIHVuY29sbGFwc2VkXG4vLyB0aG91Z2ggc28gdGhhdCBuYXZiYXIgY29udGVudHMgcHJvcGVybHkgc3RhY2sgYW5kIGFsaWduIGluIG1vYmlsZS5cbi8vXG4vLyBEZWNsYXJlZCBhZnRlciB0aGUgbmF2YmFyIGNvbXBvbmVudHMgdG8gZW5zdXJlIG1vcmUgc3BlY2lmaWNpdHkgb24gdGhlIG1hcmdpbnMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICB+IC5uYXZiYXItcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBuYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBEZWZhdWx0IG5hdmJhclxuLm5hdmJhci1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJnO1xuICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG4gIH1cblxuICAvLyBEcm9wZG93biBtZW51IGl0ZW1zXG4gIC5uYXZiYXItbmF2IHtcbiAgICAvLyBSZW1vdmUgYmFja2dyb3VuZCBjb2xvciBmcm9tIG9wZW4gZHJvcGRvd25cbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5IHdoZW4gY29sbGFwc2VkXG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gTGlua3MgaW4gbmF2YmFyc1xuICAvL1xuICAvLyBBZGQgYSBjbGFzcyB0byBlbnN1cmUgbGlua3Mgb3V0c2lkZSB0aGUgbmF2YmFyIG5hdiBhcmUgY29sb3JlZCBjb3JyZWN0bHkuXG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEludmVyc2UgbmF2YmFyXG5cbi5uYXZiYXItaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1iZztcbiAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGFya2VuIHRoZSByZXNwb25zaXZlIG5hdiB0b2dnbGVcbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCA3JSk7XG4gIH1cblxuICAvLyBEcm9wZG93bnNcbiAgLm5hdmJhci1uYXYge1xuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXlcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiAuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gUGFnaW5hdGlvbiAobXVsdGlwbGUgcGFnZXMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGdyZWVuLWNvbG9yOiAjNDJiZGE1O1xuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46ICRsaW5lLWhlaWdodC1jb21wdXRlZCAwO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgLy8gUmVtb3ZlIGxpc3Qtc3R5bGUgYW5kIGJsb2NrLWxldmVsIGRlZmF1bHRzXG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDsgLy8gQ29sbGFwc2Ugd2hpdGUtc3BhY2VcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXI7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAuZmEge1xuICAgICAgICBjb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gbGkgPiBhLFxuICA+IGxpID4gc3BhbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgICAgIC5mYSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBzcGFuIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuXG4gID4gLmRpc2FibGVkIHtcbiAgICA+IHNwYW4sXG4gICAgPiBzcGFuOmhvdmVyLFxuICAgID4gc3Bhbjpmb2N1cyxcbiAgICA+IGEsXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIExhcmdlXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1sYXJnZSwgJGxpbmUtaGVpZ2h0LWxhcmdlLCAkYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG5cbi8vIFNtYWxsXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4iLCIvL1xuLy8gUHJvZ3Jlc3MgYmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXIgYW5pbWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBXZWJLaXRcbkAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cbi8vIFNwZWMgYW5kIElFMTArXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MHB4IDA7IH1cbiAgdG8gICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuXG4vLyBCYXIgaXRzZWxmXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE91dGVyIGNvbnRhaW5lclxuLnByb2dyZXNzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJnO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cztcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSkpO1xufVxuXG4vLyBCYXIgb2YgcHJvZ3Jlc3Ncbi5wcm9ncmVzcy1iYXIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iZztcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4xNSkpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIC42cyBlYXNlKTtcbn1cblxuLy8gU3RyaXBlZCBiYXJzXG4vL1xuLy8gYC5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXJgIGlzIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGluIGZhdm9yIG9mIHRoZVxuLy8gYC5wcm9ncmVzcy1iYXItc3RyaXBlZGAgY2xhc3MsIHdoaWNoIHlvdSBqdXN0IGFkZCB0byBhbiBleGlzdGluZ1xuLy8gYC5wcm9ncmVzcy1iYXJgLlxuLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhcixcbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4O1xufVxuXG4vLyBDYWxsIGFuaW1hdGlvbiBmb3IgdGhlIGFjdGl2ZSBvbmVcbi8vXG4vLyBgLnByb2dyZXNzLmFjdGl2ZSAucHJvZ3Jlc3MtYmFyYCBpcyBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBpbiBmYXZvciBvZiB0aGVcbi8vIGAucHJvZ3Jlc3MtYmFyLmFjdGl2ZWAgYXBwcm9hY2guXG4ucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLmFjdGl2ZSB7XG4gIEBpbmNsdWRlIGFuaW1hdGlvbihwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGUpO1xufVxuXG5cbi8vIFZhcmlhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnByb2dyZXNzLWJhci1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmZvIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJHByb2dyZXNzLWJhci1pbmZvLWJnKTtcbn1cblxuLnByb2dyZXNzLWJhci13YXJuaW5nIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJHByb2dyZXNzLWJhci13YXJuaW5nLWJnKTtcbn1cblxuLnByb2dyZXNzLWJhci1kYW5nZXIge1xuICBAaW5jbHVkZSBwcm9ncmVzcy1iYXItdmFyaWFudCgkcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZyk7XG59XG4iLCIvL1xuLy8gUmVzcG9uc2l2ZTogVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElFMTAgaW4gV2luZG93cyAoUGhvbmUpIDhcbi8vXG4vLyBTdXBwb3J0IGZvciByZXNwb25zaXZlIHZpZXdzIHZpYSBtZWRpYSBxdWVyaWVzIGlzIGtpbmQgb2YgYm9ya2VkIGluIElFMTAsIGZvclxuLy8gU3VyZmFjZS9kZXNrdG9wIGluIHNwbGl0IHZpZXcgYW5kIGZvciBXaW5kb3dzIFBob25lIDguIFRoaXMgcGFydGljdWxhciBmaXhcbi8vIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgYSBzbmlwcGV0IG9mIEphdmFTY3JpcHQgdG8gc25pZmYgdGhlIHVzZXIgYWdlbnQgYW5kXG4vLyBhcHBseSBzb21lIGNvbmRpdGlvbmFsIENTUyB0byAqb25seSogdGhlIFN1cmZhY2UvZGVza3RvcCBXaW5kb3dzIDguIExvb2sgYXRcbi8vIG91ciBHZXR0aW5nIFN0YXJ0ZWQgcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIGJ1Zy5cbi8vXG4vLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBmb2xsb3dpbmc6XG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTA0OTdcbi8vIERvY3M6IGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTMvMDEvd2luZG93cy1waG9uZS04LWFuZC1kZXZpY2Utd2lkdGgvXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduL1xuXG5AYXQtcm9vdCB7XG4gIEAtbXMtdmlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG4gIH1cbn1cblxuXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS14cywgLnZpc2libGUtc20sIC52aXNpYmxlLW1kLCBhbmQgLnZpc2libGUtbGcgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXNtJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1sZycpO1xuXG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUteHMnKTtcbn1cbi52aXNpYmxlLXhzLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbn1cbi52aXNpYmxlLXNtLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbn1cbi52aXNpYmxlLW1kLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG59XG4udmlzaWJsZS1sZy1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4teHMnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tc20nKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbWQnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLWxnJyk7XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG4vL1xuLy8gTWVkaWEgcXVlcmllcyBhcmUgcGxhY2VkIG9uIHRoZSBpbnNpZGUgdG8gYmUgbWl4aW4tZnJpZW5kbHkuXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnZpc2libGUtcHJpbnQgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1wcmludCcpO1xuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG59XG4udmlzaWJsZS1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1wcmludCcpO1xufVxuIiwiQGltcG9ydCBcIl92YXJpYWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcIl9taXhpbnMuc2Nzc1wiO1xuQGltcG9ydCBcIl9jb21tb24uc2Nzc1wiO1xuQGltcG9ydCBcIl9zZXR0aW5ncy5zY3NzXCI7XG5AaW1wb3J0IFwiX2VsZW1lbnRzLnNjc3NcIjsiLCIvLyBCb2R5XG4kZ3JheS1iZzogI2YwZjBmMDtcbiRmb290ZXItYmc6ICMyMzIzMjM7XG5cbi8vIENvbG9yc1xuJGdyZWVuLWNvbG9yOiAjNDJiZGE1O1xuJGdyZWVuLWNvbG9yLWhvdmVyOiAjMzU5Nzg0O1xuJHllbGxvdy1jb2xvcjogI2ZmZmMwMDtcbiR0ZXh0LWNvbG9yOiAjNTU1NDU0O1xuJHJlZC1jb2xvcjogI2VhNTg1NjtcbiRyZWQtY29sb3ItaG92ZXI6ICNlNDJiMjk7XG4kd2hpdGUtY29sb3I6ICNmZmY7XG4kZ3JheS1jb2xvcjogI2ExYTFhMTtcbiRib3JkZXItY29sb3I6ICNlN2U3ZTc7XG4kZm9vdGVyLXRleHQtY29sb3I6ICNhOGE4YTg7XG5cbi8vQ29sbG9ycyBmcm9tIHBhZ2UgY2FsZW5kYXJcbiRyZXNlcnZlZDogIzAwYjlhNTtcbiRyZXN0cmljdGVkOiAjMDBiOTcwO1xuJGNsb3NlZDogI2VkNTQ1NDtcbiRzb2xkOiAjYzFhNTYyO1xuJHVuZXhpc3Q6ICNlMGUzMjk7XG5cbi8vIFR5cG9ncmFwaHlcbiRmb250LWJsYWNrOiA5MDA7XG4kZm9udC1ib2xkOiA3MDA7XG4kZm9udC1ub3JtYWw6IDQwMDtcblxuXG4vLyBCdXR0b25zXG4kcGFkZGluZy1idG4tdmVydGljYWw6IDEwcHg7XG4kYnRuLWJvcmRlci1yYWRpdXMtYmFzZTogNHB4O1xuXG4vLyBJbnB1dHNcbiIsIi8vIEJsb2NrLW1vZGVsXG5AbWl4aW4gYm9yZGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbn1cblxuLy8gQnV0dG9uc1xuQG1peGluIGJ0bi1zaXplKCRidG4td2lkdGgpIHtcbiAgd2lkdGg6ICRidG4td2lkdGg7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLWJ0bi12ZXJ0aWNhbCAwO1xuICBib3JkZXItcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXMtYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbn1cblxuLy9JbWFnZXNcbkBtaXhpbiBiZy1pbWcge1xuICBiYWNrZ3JvdW5kOiB7XG4gICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgc2l6ZTogY292ZXI7XG4gICAgY29sb3I6ICRncmF5LWJnO1xuICB9XG59XG5cbi8vIFRyaWFuZ2xlXG5AbWl4aW4gY3NzX3RyaWFuZ2xlKCRkaXIsICRib3JkZXItdG9wLXNpemUsICRib3JkZXItcmlnaHQtc2l6ZSwgJGNvbG9yKSB7XG5cbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBAaWYgJGRpciA9PSB1cCB7XG4gICAgYm9yZGVyLWxlZnQ6ICRib3JkZXItcmlnaHQtc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6ICRib3JkZXItcmlnaHQtc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXRvcC1zaXplIHNvbGlkICRjb2xvcjtcblxuICB9IEBlbHNlIGlmICRkaXIgPT0gZG93biB7XG4gICAgYm9yZGVyLWxlZnQ6ICRib3JkZXItcmlnaHQtc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6ICRib3JkZXItcmlnaHQtc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiAkYm9yZGVyLXRvcC1zaXplIHNvbGlkICRjb2xvcjtcblxuICB9IEBlbHNlIGlmICRkaXIgPT0gbGVmdCB7XG4gICAgYm9yZGVyLXRvcDogJGJvcmRlci10b3Atc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXRvcC1zaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogJGJvcmRlci1yaWdodC1zaXplIHNvbGlkICRjb2xvcjtcblxuICB9IEBlbHNlIGlmICRkaXIgPT0gcmlnaHQge1xuICAgIGJvcmRlci10b3A6ICRib3JkZXItdG9wLXNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci10b3Atc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogJGJvcmRlci1yaWdodC1zaXplIHNvbGlkICRjb2xvcjtcbiAgfVxufVxuXG4vLyBNZWRpYS1xdWVyaWVzXG5AbWl4aW4gcmVzcG9uZC10bygkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB4cyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NTlweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWEgPT0geGwge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gUG9zaXRpb25cbkBtaXhpbiBwc2V1ZG8oJHRvcCwgJHJpZ2h0LCAkYm90dG9tLCAkbGVmdCwgJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkdG9wO1xuICByaWdodDogJHJpZ2h0O1xuICBib3R0b206ICRib3R0b207XG4gIGxlZnQ6ICRsZWZ0O1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbkBtaXhpbiBwdXNoLWF1dG8oJG1heC13aWR0aCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gSGVhZGVyXG5oZWFkZXIge1xuICAubWFpbi1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzoge1xuICAgICAgdG9wOiAxM3B4O1xuICAgICAgYm90dG9tOiAxM3B4O1xuICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgLmJyYW5kIHtcbiAgICAgICAgICB3aWR0aDogMTM1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICNhdXRoZW50aWNhdGlvbiB7XG4gICAgICAuY29sdW1uLXJpZ2h0IHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5idG4tZ3JlZW4ge1xuICAgICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICNwcm9ncmVzc0JhciB7XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgLmNvbHVtbi1yaWdodCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgICAgICAucHJvZ3Jlc3Mge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogODIlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAmLWJhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2NvbnRyb2xQYW5lbEhlYWRlciB7XG4gICAgICB1bCBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAvLyBCdXJnZXJDb250ZW50XG4gICAgICAuYnVyZ2VyLWNvbnRlbnQge1xuICAgICAgICB0b3A6IDcwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgIC5idG4tcmVkIHtcbiAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAucHVuY3Qge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHggMHB4IDEwcHg7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4IDEwcHggMHB4IDEwcHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAgICAuaGVhZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuXG4gICAgICAgICAgICAgbGk6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDFcIjtcbiAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogLjVzO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIC8qICNidXJnZXIgPiAjY29udHJvbFBhbmVsSGVhZGVyIC5idXJnZXItY29udGVudCB7XG4gICAgICB0b3A6IDcwcHg7XG4gICAgfSAqL1xuICB9XG59XG4vL9Cf0YDQuNC20LDRgtC40LUg0YTRg9GC0LXRgNCwXG5ib2R5LFxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubWFpbiB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IC0xMDBweDtcbn1cblxuKiBodG1sIC5tYWluIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucGFnZS1idWZmZXIge1xuICBoZWlnaHQ6IDEwMHB4O1xufVxuLy8gSW5kZXgtcGFnZVxuLmNoZWNrZWQge1xuICBjb2xvcjogcmVkO1xufVxuXG4ubWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG5cbiAgJl9faG9tZSB7XG4gICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgQGluY2x1ZGUgYmctaW1nO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vcHVibGljL2ltZy9iZy1ob21lLmpwZycpO1xuXG4gICAgJi10aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgNDJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKyAxNHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh4bCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxnKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtZm9ybSB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhsKSB7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxnKSB7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7XG4gICAgICB9XG5cbiAgICAgIC5uYXYtdGFicyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLWNvbG9yLCAwLjUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIgYSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aXZlIGEge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGFiLWNvbnRlbnQge1xuICAgICAgICAuZm9ybSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDQyMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG5cbiAgICAgICAgICAubXktaW5wdXQsXG4gICAgICAgICAgLm15LXNlbGVjdCB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bi1yZWQge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgICAgd2lkdGg6IDkyJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWIge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDNweDtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYWR2YW50YWdlcyxcbiAgJl9faG93LXdvcmsge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC5jb21tb24tdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBAaW5jbHVkZSBwdXNoLWF1dG8gKDYwMHB4KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgMjRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgIEBpbmNsdWRlIHB1c2gtYXV0byAoNTAwcHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyO1xuICAgICAgaGVpZ2h0OiA0MjBweDtcbiAgICAgIHBhZGRpbmc6IDMwcHggMzBweCAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgICAgLmZhLWNoZWNrLWNpcmNsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgMTQ0cHg7XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLWNvbG9yO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgMjRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogOTBweDtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYmxhY2s7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSArIDZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2hvdy13b3JrIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgIC5mYXEge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyO1xuICAgICAgcGFkZGluZzoge1xuICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgICAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc2VydmljZXMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG4gICAgLml0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyO1xuICAgICAgaGVpZ2h0OiAyNzBweDtcbiAgICAgIHBhZGRpbmc6IDMwcHggMzBweCAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgICAgLmZhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKyAxNDRweDtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsZykge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgMTA0cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgMTA0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3Jldmlld3Mge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgLml0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IDMwcHggMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG5cbiAgICAgIC5hdmF0YXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlIC0gM3B4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIC5ncmVlbiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZGF0ZSxcbiAgICAgICAgLnRpbWUge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4tcmVkIHtcbiAgICAgIEBpbmNsdWRlIHB1c2gtYXV0byAoMzIwcHgpO1xuICAgIH1cbiAgfVxufVxuLy8gRm9vdGVyXG5mb290ZXIge1xuICBwYWRkaW5nOiB7XG4gICAgdG9wOiAzNXB4O1xuICAgIGJvdHRvbTogMzVweDtcbiAgfVxuICBjb2xvcjogJGZvb3Rlci10ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWJnO1xuICAucGFnZS1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHMpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG4iLCJcbi8vIENvbW1vbiBQcm9wZXJ0aWVzXG5cbi5ncmVlbiB7XG4gICBjb2xvcjogJGdyZWVuLWNvbG9yICFpbXBvcnRhbnQ7XG4gfVxuLnJlZCB7XG4gIGNvbG9yOiAkcmVkLWNvbG9yICFpbXBvcnRhbnQ7XG59XG4uZ3JheSB7XG4gIGNvbG9yOiAkZ3JheS1jb2xvciAhaW1wb3J0YW50O1xufVxuLndoaXRlIHtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4uZ3JheS1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWJnICFpbXBvcnRhbnQ7XG59XG4uYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xufVxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuLmZhIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLmZhLXF1ZXN0aW9uLWNpcmNsZSB7XG4gIGNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gSW5kZW50c1xuLnBiLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLm10LTIwIHtcbiAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xufVxuLm1iLTIwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xufVxuLm1iLTE1IHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xufVxuLm1iLTEwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xufVxuXG4vL0hlYWRlcnNcbi5tYWluLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSArIDlweDtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSArIDRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlLXNtIHtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSArIDJweDtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIH1cblxuLy9HcmlkXG4uc3VwZXIteHMge1xuICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuLmZsZXgtYWxpZ24sXG4uZmxleC1hbGlnbi1ib3R0b217XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLmZsZXgtYWxpZ24tY2VudGVye1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uYWxpZ24tY2VudGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gRnJhbWVcbi5mcmFtZSB7XG4gIEBpbmNsdWRlIGJvcmRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuXG4vLyBGb3Jtc1xuLm15LXNlbGVjdCxcbi5teS1pbnB1dCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uaW5wdXQtYmcge1xuICBAaW5jbHVkZSBib3JkZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDBweCAxMHB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIGlucHV0IHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbn1cblxuLnNlbGVjdC1iZyB7XG4gIEBpbmNsdWRlIGJvcmRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG1hcmdpbi10b3A6IDVweDtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHBzZXVkbygwLCAwLCBhdXRvLCBhdXRvLCAzOHB4LCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHBzZXVkbygxMHB4LCAxMnB4LCBhdXRvLCBhdXRvLCAxMnB4LCAxNHB4KTtcbiAgICBjb250ZW50OiBcIlxcZjEwN1wiO1xuICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSArIDJweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICBzZWxlY3Qge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG4udGV4dC1mb3JtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgLyogRmlyZWZveCAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8qIFNhZmFyaSBhbmQgQ2hyb21lICovXG4gIHotaW5kZXg6IDIwMDtcbiAgY29sb3I6ICNhMmEyYTI7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc21hbGwtc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgLnNlbGVjdC1iZyB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgcHNldWRvKDAsIDAsIGF1dG8sIGF1dG8sIDI0cHgsIDI0cHgpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwc2V1ZG8oM3B4LCA2cHgsIGF1dG8sIGF1dG8sIDEycHgsIDE0cHgpO1xuICAgICAgY29udGVudDogXCJcXGYxMDdcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICBzZWxlY3Qge1xuICAgICAgY29sb3I6ICRncmF5LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uc21hbGwtaW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAuaW5wdXQtYmcge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gIH1cbn1cblxuLmNoZWNrYm94LFxuLnJhZGlvIHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgLnBvaW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDNweDtcbiAgICBsZWZ0OiA2cHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gIH1cbiAgbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtYWw7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHBzZXVkbygtM3B4LCBhdXRvLCBhdXRvLCAwLCAyNnB4LCAyNnB4KTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICB9XG4gIH1cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi8uLi9wdWJsaWMvaW1nL2NoZWNrLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIH1cbn1cbi5yYWRpbyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgfiAucG9pbnQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnJhZGlvLWdyb3VwIC5yYWRpbyB7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxudGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICByZXNpemU6IG5vbmU7XG59XG5cbi8vIEJ1dHRvbnNcbiVidG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gRm9yIGlucHV0LmJ0blxuICBwYWRkaW5nOiAxMHB4IDE1cHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgQGluY2x1ZGUgYnRuLXNpemUoMTAwJSk7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgdHJhbnNpdGlvbjogMC41cztcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAzcHg7XG4gIH1cbn1cblxuLmJ0biB7XG4gICYtYWRkIHtcbiAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgfVxuICAmLWdyZWVuIHtcbiAgICBAZXh0ZW5kICVidG47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWNvbG9yLWhvdmVyO1xuICAgIH1cbiAgfVxuICAmR3JlZW4ge1xuICAgIEBleHRlbmQgJWJ0bjtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tY29sb3IgIWltcG9ydGFudDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1jb2xvci1ob3ZlciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAmLXJlZCB7XG4gICAgQGV4dGVuZCAlYnRuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQtY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLWNvbG9yLWhvdmVyO1xuICAgIH1cbiAgfVxuICAmLXdoaXRlIHtcbiAgICBAZXh0ZW5kICVidG47XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAgIH1cbiAgfVxufVxuXG4uaW5wdXQtZmlsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4iLCIvLyBNb2RhbFxuXG4uc3dlZXQtbW9kYWwtb3ZlcmxheSB7XG4gIC5zd2VldC1tb2RhbC5zd2VldC1hbGVydCB7XG4gICAgbWF4LXdpZHRoOiAxMTcwcHg7XG4gICAgbWF4LWhlaWdodDogOTAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAuc3dlZXQtYm94LWFjdGlvbnMgLnN3ZWV0LWFjdGlvbi1jbG9zZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLWNvbG9yO1xuICAgIH1cblxuICAgIC5zd2VldC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXI7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIEBhdC1yb290IHtcbiAgICAgICAgICAudGF4LWNvdW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLm1hcmtlciB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQtY29sb3I7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh4cykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlIC0gM3B4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLm15LXNlbGVjdCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgIC5zZWxlY3QtYmcge1xuICAgICAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkbygwLCAwLCBhdXRvLCBhdXRvLCAyNHB4LCAyNHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG8oM3B4LCA2cHgsIGF1dG8sIGF1dG8sIDEycHgsIDE0cHgpO1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwN1wiO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgY29sb3I6ICRncmF5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3B0aW9ucyB7XG4gICAgICAgIC5mcmFtZSB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuXG4gICAgICAgICAgLm9wdGlvbnNUaXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNoZWNrYm94IHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5vcGVuaW5nSG91cnMsXG4gICAgICAua2lkc1Jlc3RhdXJhbnRzLFxuICAgICAgLmtpZHNSZWxheGF0aW9uIHtcbiAgICAgICAgLm15LXNlbGVjdCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIGNvbG9yOiAjOWE5YTlhO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc2VsZWN0LWJnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc3RhZmYge1xuICAgICAgICAucm93IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5teS1pbnB1dCxcbiAgICAgICAgLm15LXNlbGVjdCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAyMTBweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmFkZC1hdmF0YXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgLmF2YXRhciB7XG4gICAgICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDExMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktYmc7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5idG4tZ3JvdXAge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIC5idG4tcmVkLFxuICAgICAgICAgICAgLmJ0bi1ncmVlbiB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmFkZEhhbGwge1xuICAgICAgICAuYnRuLXJlZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjVweDs7XG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh4cykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubWVudVNldHRpbmdzIHtcbiAgICAgICAgLmRpc2hEZXNjcmlwdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgfVxuICAgICAgICAuZGlzaFRpbWUge1xuICAgICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyO1xuICAgICAgICAgICAgLmNoZWNrYm94IHtcbiAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDEwcHggMHB4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgIC5idG4tcHJldmlldyB7XG4gICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnN3ZWV0LWJ1dHRvbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIC5idG4tcmVkIHtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVnVlU2xpZGVyXG4udnVlLXNsaWRlci1jb21wb25lbnQudnVlLXNsaWRlci1ob3Jpem9udGFsIC52dWUtc2xpZGVyLXByb2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tY29sb3I7XG59XG5cbi8vIEluZm9cbi5pbmZvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCA1MHB4O1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDNweDtcbiAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWNvbG9yO1xuXG4gIC5mYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOHB4O1xuICAgIGxlZnQ6IDE0cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi8vIERhdGVwaWNrZXJcbi5zZWxlY3QtcGVyaW9kIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMTBweDtcbiAgQGluY2x1ZGUgYm9yZGVyO1xuICBAaW5jbHVkZSByZXNwb25kLXRvKGxnKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5jb2x1bW4tbGVmdCB7XG4gICAgcCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0LWJnIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLnRheC1jb3VudCB7XG4gICAgLm1hcmtlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgei1pbmRleDogMTAwO1xuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh4cykge1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1yZWQge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuYnRuLXdoaXRlIHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhsZykge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuI2RhdGVwaWNrZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyNDBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAuY29udHJvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh4cykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuZmEge1xuICAgICYtY2FsZW5kYXIge1xuICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICB9XG5cbiAgICAmLXRpbWVzIHtcbiAgICAgIGNvbG9yOiAkcmVkLWNvbG9yO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5uZXh0TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5wcmV2TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5lbmRSYW5nZTpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlOmhvdmVyLFxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQsXG4uZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5uZXh0TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5wcmV2TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5zZWxlY3RlZDpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LnNlbGVjdGVkOmhvdmVyLFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UubmV4dE1vbnRoRGF5LFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5wcmV2TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlOmZvY3VzLFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICRncmVlbi1jb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JlZW4tY29sb3I7XG59XG5cbi5mbGF0cGlja3ItZGF5IHtcbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG4uZmxhdHBpY2tyLWRheS50b2RheSB7XG4gIGJvcmRlci1jb2xvcjogJGdyZWVuLWNvbG9yO1xuXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgfVxufVxuIiwiLm1haW4ge1xuICAmX19yZWdpc3RyYXRpb24sXG4gICZfX2NvbnRyb2wtcGFuZWwge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgIC5jdXN0b20tbmF2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHggMTVweCA0NXB4O1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgICAgICAuZmEtYW5nbGUtcmlnaHQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5mYS1jaGVjayxcbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgICBsZWZ0OiAxNnB4O1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgIC5hY3RpdmUsXG4gICAgICAgIGE6aG92ZXIgbGkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICAuZmEtYW5nbGUtcmlnaHQsXG4gICAgICAgICAgLmZhLWNoZWNrLFxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAgIC5ibGFuayB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgICAgICAvLyByZWxheGF0aW9uXG5cbiAgICAgICAgLnByb3BlcnR5LWFjdHMge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgICAgICAgIC5teS1pbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogMTg2cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5idG4tZ3JlZW4ge1xuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmJ0bi1yZWQge1xuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubWFwLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICB9XG59XG4iLCIubWFpbiB7XG4gICZfX3JlZ2lzdHJhdGlvbiB7XG4gICAgLmJsYW5rIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgLnBheW1lbnRzIHtcbiAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDIxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4IDAgMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZmEge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSArIDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3RhdGUge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBhdC1yb290IHtcbiAgICAgICNhY2NvcmRpb25Db21taXNzaW9uIHtcbiAgICAgICAgLnBhbmVsIHtcbiAgICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICAgICAgLmZhLWFuZ2xlLWRvd24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNTU1MjUyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5mYSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYtY29sbGFwc2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluIHtcbiAgJl9fcmVnaXN0cmF0aW9uIHtcbiAgICAuYmxhbmsge1xuICAgICAgLmNvbnRhY3RzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucmVxdWlzaXRlcyB7XG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50ZXh0LFxuICAgICAgICAucHJpbnQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb25maXJtLWJsb2NrIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4IDIwcHggMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLmNoZWNrYm94IGxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDNweDtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogIzU1NTQ1NDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluIHtcbiAgJl9fcmVnaXN0cmF0aW9uIHtcbiAgICAuYmxhbmsge1xuICAgICAgLm1haW4tdGl0bGUge1xuICAgICAgICAuYnRuLXJlZCB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAucm9vbXMtdGFibGUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAzcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICB0cjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHNwYW4ge1xuICAgICAgICAgICAgICBjb2xvcjogJHJlZC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRkOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgICBjb2xvcjogJHJlZC1jb2xvclxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmFkZC1ibG9jayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICAgICAgICAuYnRuLWdyb3VwIHtcbiAgICAgICAgICAgIC5idG4tZ3JlZW4sXG4gICAgICAgICAgICAuYnRuLXJlZCB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHMpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYm9keSB7XG4gICAgICAgICAgcGFkZGluZzogNjBweCAyMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAuYnRuLXdoaXRlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgcHVzaC1hdXRvKDI1MHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGF0LXJvb3Qge1xuICAgICAgLmJlZC10eXBlIHtcbiAgICAgICAgLmFkZC1idXR0b24ge1xuICAgICAgICAgIC5idG4td2hpdGUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5idG4tcmVkIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmJ0bi13aGl0ZSxcbiAgICAgICAgICAuYnRuLXJlZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHhcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmJ0bi13aGl0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHB1c2gtYXV0bygxOTBweCk7XG4gICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZhY2lsaXRpZXMge1xuICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgLmNoZWNrYm94IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmV4dHJhLWJlZHNfb3B0aW9ucyxcbiAgICAgICAgLnJlc2VydmF0aW9uLXR5cGUge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnJlc2VydmF0aW9uLXR5cGUge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgICAgICAgLnJlZCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDNweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwdXNoLWF1dG8oNTAwcHgpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiB7XG4gICAgICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgICAgICAgYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgOXB4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgI2FjY29yZGlvbkZhY2lsaXRpZXMge1xuICAgICAgICAgICAgLnBhbmVsIHtcbiAgICAgICAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSArIDRweDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICAgICAgICAgIC5mYS1hbmdsZS1kb3duIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM1NTUyNTI7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYtY29sbGFwc2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBob3RvcyB7XG4gICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnRuLXJlZCB7XG4gICAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHVzaC1hdXRvKDE4MHB4KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZ2FsbGVyeSB7XG4gICAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY4Zjc7XG4gICAgICAgICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC5mYSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDNweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtbGFzdC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjoge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1haW4ge1xuICAmX19jb250cm9sLXBhbmVsIHtcbiAgICAuYmxhbmsge1xuICAgICAgLnN0YXRpc3RpY3Mge1xuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgYm90dG9tOiA2MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAuZ3JlZW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKyA1NHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJsYWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgICAucGVyaW9kIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogI2FmYWZhZjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgI2NvbnRyb2xQYW5lbE5hdiB7XG4gICAgICAucGFuZWwtZ3JvdXAge1xuICAgICAgICAucGFuZWwge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIC5wYW5lbC1oZWFkaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAyNXB4IDE1cHggNDVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAuZmEtYW5nbGUtcmlnaHQsXG4gICAgICAgICAgICAgICAgLmZhLWFuZ2xlLWRvd24ge1xuICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmFjdGl2ZSBoNSxcbiAgICAgICAgIC5wYW5lbC1oZWFkaW5nIGE6aG92ZXIgaDUge1xuICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gICAgICAgICAgIC5mYS1hbmdsZS1yaWdodCxcbiAgICAgICAgICAgLmZhLWFuZ2xlLWRvd24sXG4gICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgICAgICAgICB9XG4gICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgICAgIC5wYW5lbC1jb2xsYXBzZSB7XG4gICAgICAgICAgIC5wYW5lbC1ib2R5IHtcbiAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXI7XG4gICAgICAgICAgICAgcGFkZGluZzogMTVweCAyNXB4IDVweCA0NXB4O1xuICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjY7XG4gICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIC5hY3RpdmUsXG4gICAgICAgICAgICAgICBhOmhvdmVyIGxpIHtcbiAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgIH1cbiAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWFpbiB7XG4gICZfX2NvbnRyb2wtcGFuZWwge1xuICAgIC5ibGFuayB7XG4gICAgICAuc2Nyb2xsLXgsXG4gICAgICAubGVnZW5kIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgLnJlc2VydmVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVzZXJ2ZWQ7XG4gICAgICAgIH1cbiAgICAgICAgLnJlc3RyaWN0ZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZXN0cmljdGVkO1xuICAgICAgICB9XG4gICAgICAgIC5jbG9zZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjbG9zZWQ7XG4gICAgICAgIH1cbiAgICAgICAgLnNvbGQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzb2xkO1xuICAgICAgICB9XG4gICAgICAgIC51bmV4aXN0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5leGlzdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNjcm9sbC14IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE0LjI1cHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogMC4wMSU7XG4gICAgICAgIC5jYWxlbmRhci10YWJsZSB7XG4gICAgICAgICAgbWluLXdpZHRoOiA5MzBweDtcbiAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICB3aWR0aDogMTkwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZmEtcGVuY2lsLXNxdWFyZS1vIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC50aXRsZS1zbSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5zdGFuZGFydC1yYXRlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgLmZhIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAucm9vbS1udW1iZXIge1xuICAgICAgICAgICAgdGQ6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53aGl0ZS1ib3gge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnR5cGUsXG4gICAgICAgICAgLnJhdGUsXG4gICAgICAgICAgLnJvb20tbnVtYmVyIHtcbiAgICAgICAgICAgIHRkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmxlZ2VuZCB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXI7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgbWFyZ2luOiB7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNvbG9yLWN1YmUge1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluIHtcbiAgJl9fY29udHJvbC1wYW5lbCB7XG4gICAgLmJsYW5rIHtcbiAgICAgIC5jaG9pY2UtcGVyaW9kIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAuYnRuLXJlZCxcbiAgICAgICAgICAuYnRuLWdyZWVuIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2hlY2tib3gtZ3JvdXAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAuY2hlY2tib3ggbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAxcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgIGhlaWdodDogMzQwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAjYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIC5idG4td2hpdGUge1xuICAgICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgIH1cbiAgICAgICAgLmJ0bi13aGl0ZSB7XG4gICAgICAgICAgLmZhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idG5HcmVlbiB7XG4gICAgICAgICAgLmZhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluIHtcbiAgJl9fY29udHJvbC1wYW5lbCB7XG4gICAgLmJsYW5rIHtcbiAgICAgIC5idG4td2hpdGUge1xuICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDNweDtcbiAgICAgIH1cbiAgICAgIC50YWJsZSB7XG4gICAgICAgIHRkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXI7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnJvb20ge1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZmFjaWxpdGllcyB7XG4gICAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICAgIC5mcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMTVweCA1MHB4IDE1cHggNzBweDtcbiAgICAgICAgLmZhLTJ4IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh4cykge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgLmZhLTJ4IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubmV3LWNhdGVnb3J5IHtcbiAgICAgICAgLmdyYXkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlIC0gM3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucm9vbS10eXBlIHtcbiAgICAgICAgLmNoZWNrYm94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucG9saWNpZXMsXG4gICAgICAuZGluaW5nLXRhYmxlIHtcbiAgICAgICAgICAucmFkaW8ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5kaW5pbmctdGFibGUge1xuICAgICAgICAuY2hlY2tib3gtZ3JvdXAge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC53aGVuLWRpc3BsYXkge1xuICAgICAgICAuZ3JheSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAzcHg7XG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5pbnB1dC1iZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5taW4tc3RheSB7XG4gICAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICAgIC5ncmF5IHtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDNweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1haW4ge1xuICAmX19jb250cm9sLXBhbmVsIHtcbiAgICAuYmxhbmsge1xuICAgICAgLmxvY2F0aW9uLFxuICAgICAgLmNvbW1pc3Npb24sXG4gICAgICAuY2FsZW5kYXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNTBweCAxNXB4IDcwcHg7XG4gICAgICAgIC5mYS0yeCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHMpIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgIC5mYS0yeCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnJlc2V0LWRhdGUge1xuICAgICAgICBtYXJnaW46IHtcbiAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucmVzZXQtZGF0ZSxcbiAgICAgIC5hZGQtbmV3IHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNzBweDtcbiAgICAgIH1cbiAgICAgIC50aXRsZS1zbSB7XG4gICAgICAgIC5ib2xkIHtcbiAgICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgICBsZWZ0OiA1cHg7XG4gICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubG9jYXRpb24ge1xuICAgICAgICAucmFkaW8tZ3JvdXAge1xuICAgICAgICAgIC5yYWRpbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5ncmF5IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDNweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNob29zZS1jb3VudHJ5IHtcbiAgICAgICAgICAubXktc2VsZWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh4bCkge1xuICAgICAgICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmJ0bi1ncmVlbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC52aXNpYmlsaXR5IHtcbiAgICAgICNkYXRlcGlja2VyIHtcbiAgICAgICAgLmZsYXRwaWNrci1jYWxlbmRhciB7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluIHtcbiAgJl9fY29udHJvbC1wYW5lbCB7XG4gICAgLmJsYW5rIHtcbiAgICAgIC5mcmFtZVdpdGhIZWFkZXIge1xuICAgICAgICAuZnJhbWUge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICAgICAgICAuYnRuLWRlbGV0ZSxcbiAgICAgICAgICAuYnRuLWVkaXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5iZW5lZml0LWZyb20sXG4gICAgICAgICAgLnByZXBheW1lbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIC5yYWRpbyB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnN1bW1hcnkge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAyMHB4IDVweCAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jcmVhdGUtcG9saWN5IHtcbiAgICAgICAgICAgIHdpZHRoOiAyNzBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAueW91bmdEcml2ZXJUYXhlLFxuICAgICAgICAgIC5taWxlYWdlTGltaXQge1xuICAgICAgICAgICAgLnJhZGlvLWdyb3VwIC5yYWRpbyB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnlvdW5nRHJpdmVyVGF4ZSAuYWdlLXJhbmdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAyMHB4IDVweCAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIC50aXRsZS1zbSB7XG4gICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5idG4td2hpdGUge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluIHtcbiAgJl9fY29udHJvbC1wYW5lbCB7XG4gICAgLmJsYW5rIHtcbiAgICAgIC5yZXNlcnZhdGlvbi10YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB0ZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlIC0gMnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAubnVtYmVyLXBlcnNvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAudG90YWwtY29tbWlzc2lvbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWFpbiB7XG4gICZfX2NvbnRyb2wtcGFuZWwge1xuICAgIC5ibGFuayB7XG4gICAgICAubmV3LW1lc3NhZ2VzIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgfVxuICAgICAgI2NvbnZlcnNhdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIC5idG4tZ3JvdXAge1xuICAgICAgICAgIEBpbmNsdWRlIHB1c2gtYXV0byg0ODVweCk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAuYnRuLXdoaXRlIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHMpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZXNzYWdlcy10YWJsZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgICAgIC5mYS10cmFzaC1vIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYgKyBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNvbnZlcnNhdGlvbi1ibG9jayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweCA1cHggMjBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIC5ncmVlbiB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAubWFuYWdlciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5mYS10aW1lcyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJvZHkge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICAgICAgICAubWVzc2FnZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgLmF2YXRhcixcbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmF2YXRhciB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAycHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSA0cHg7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm1hbmFnZXItbWFzc2FnZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyJTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E2ZTVkNjtcbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM0Zjc0NmI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDVweCk7XG4gICAgICAgICAgICAgICAgbGVmdDogLTE1cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY3NzX3RyaWFuZ2xlKGxlZnQsIDVweCwgMTVweCwgI2E2ZTVkNik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAgMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVzZXItbWFzc2FnZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmE3YTk7XG4gICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNmE0ZjRmO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gNXB4KTtcbiAgICAgICAgICAgICAgICByaWdodDogLTE1cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY3NzX3RyaWFuZ2xlKHJpZ2h0LCA1cHgsIDE1cHgsICNmZmE3YTkpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mb290ZXIge1xuICAgICAgICAgIGhlaWdodDogOTVweDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIHdpZHRoOiA4NyU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh4cykge1xuICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEyJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHMpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDI4JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluIHtcbiAgJl9fY29udHJvbC1wYW5lbCB7XG4gICAgLmJsYW5rIHtcbiAgICAgIC5yZXZpZXdzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgIC5oZWFkZXIsXG4gICAgICAgICAgLmJvZHkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgLmF2YXRhciB7XG4gICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW5mb3JtYXRpb24ge1xuICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDRweDtcbiAgICAgICAgICAgICAgICAuZ3JlZW4ge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAudXNlci1uYW1lLFxuICAgICAgICAgICAgICAucmF0aW5nIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuYm9keSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5mb290ZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5sb2FkLW1vcmUge1xuICAgICAgICAgIEBpbmNsdWRlIHB1c2gtYXV0bygyNzBweCk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuIiwiLm1haW4ge1xuICAmX19jb250cm9sLXBhbmVsIHtcbiAgICAuYmxhbmsge1xuICAgICAgLnllYXItYmlscyB7XG4gICAgICAgIGxhYmVsLFxuICAgICAgICAubXktc2VsZWN0IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLm15LXNlbGVjdCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgfVxuICAgICAgICAuYnRuLXJlZCB7XG4gICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRhYmxlLWludm9pY2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgICAgICB0ZCB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAycHg7XG4gICAgICAgIH1cbiAgICAgICAgLmJ0bi1ncmVlbiB7XG4gICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAuZ3JlZW4ge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudGFibGUtYm9yZGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXI7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICAgICAgLnRhYmxlLWludm9pY2VzLWluZm8ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgLnN3aXRjaCB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdHI6bm90KDpsYXN0LWNoaWxkKSB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWFpbiB7XG4gICZfX2NvbnRyb2wtcGFuZWwge1xuICAgIC5ibGFuayB7XG4gICAgICAuZnJhbWVXaXRoSGVhZGVyIHtcbiAgICAgICAgLnByb3BlcnR5LWRldGFpbHMge1xuICAgICAgICAgIHAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRheGVzLWRldGFpbHMge1xuICAgICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdHI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZnJhbWUge1xuICAgICAgICAgIC5hZGQtYXZhdGFyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC5hdmF0YXIge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwdXNoLWF1dG8oMTIwcHgpO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnRuLXJlZCB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jdXN0b20tbWVzc2FnZSB7XG4gICAgICAgICAgICAjYWRkTGFuZ3VhZ2Uge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAuYnRuLWdyZWVuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAuZmEge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZmEtdGltZXMge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAuZmEtdGltZXMge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLmZhLWdsb2JlIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5idG4td2hpdGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm15LXNlbGVjdCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudGV4dGFyZWEtYWJvdXQge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgIC5ncmVlbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYWJvdXQtcHJvcGVydHkge1xuICAgICAgICAgIC5yZW50LXN0YXJ0LFxuICAgICAgICAgIC55ZWFyLXJlY29uc3Qge1xuICAgICAgICAgICAgLm15LXNlbGVjdCxcbiAgICAgICAgICAgIC5teS1pbnB1dCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh4cykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubXktc2VsZWN0IHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh4cykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAueWVhci1wcm9wZXJ0eSB7XG4gICAgICAgICAgICAubXktaW5wdXQge1xuICAgICAgICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluIHtcbiAgJl9fY29udHJvbC1wYW5lbCB7XG4gICAgLmJsYW5rIHtcbiAgICAgICNwcm9wZXJ0eU1vZGFsIHtcbiAgICAgICAgLml0ZW0sXG4gICAgICAgIC5hZGQtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODUsNzYsNzEsIDAuOCk7XG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDNweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuYm9sZCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5lZGl0IHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLmZhIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlIC0gM3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtYXV0byB7XG4gICAgICAgICAgICAgIC5lZGl0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjhweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYWRkLWl0ZW0ge1xuICAgICAgICAgIHBhZGRpbmc6IDU4cHggMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIC5mYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDNweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluIHtcbiAgJl9fY29udHJvbC1wYW5lbCB7XG4gICAgLmJsYW5rIHtcbiAgICAgIC5oYWxsLXNldHRpbmdzIHtcblx0XHRwYWRkaW5nOiAxNXB4IDIwcHg7XG5cdFx0LmdlbmVyYWwtaW5mb3JtYXRpb24ge1xuXHRcdCAgbWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHR9XG5cdFx0LnRhYmxlcyB7XG5cdFx0ICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAudGFibGUtc2hhcGUsXG4gICAgICAgIC5zZWF0cy1udW1iZXIsXG4gICAgICAgIC50YWJsZS1udW1iZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgIC5zbWFsbC1zZWxlY3Qge1xuICAgICAgICAgIFx0bWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50YWJsZS1udW1iZXIge1xuICAgICAgICBcdG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgICAgICAudGFibGUtc2hhcGUgLnNtYWxsLXNlbGVjdCAuc2VsZWN0LWJnIHtcbiAgICAgICAgXHR3aWR0aDogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnNlYXRzLW51bWJlcixcbiAgICAgICAgLnRhYmxlLW51bWJlciB7XG4gICAgICAgIFx0LnNtYWxsLXNlbGVjdCAuc2VsZWN0LWJnIHtcbiAgICAgICAgXHRcdHdpZHRoOiA2MHB4O1xuICAgICAgICBcdH1cbiAgICAgICAgfSBcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBcdHdpZHRoOiAxMTVweDtcblx0XHRcdHBhZGRpbmc6IDNweCAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluIHtcbiAgJl9fY29udHJvbC1wYW5lbCB7XG4gICAgLmJsYW5rIHtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAjYWRkVHJhbnNwb3J0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAuYnRuLXdoaXRlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDIxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuYnV0dG9uLWNvbnRyb2xzIHtcbiAgICAgICAgICAgIG1hcmdpbjoge1xuICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5idG4tcmVkLFxuICAgICAgICAgICAgLmJ0bi1ncmVlbiB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgIG1hcmdpbjoge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICNhZGRTaG9wLFxuICAgICAgICAgICNhZGRPYmplY3Qge1xuICAgICAgICAgICAgLmJ0bi1ncmVlbiB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWFpbiB7XG4gICZfX2NvbnRyb2wtcGFuZWwge1xuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSArIDlweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIH1cblxuICAgIC5ibGFuayB7XG4gICAgICAuZGVzY3JpcHRpb24tZmllbGQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7XG4gICAgICB9XG5cbiAgICAgICNrZXlzIHtcbiAgICAgICAgLm15LXNlbGVjdCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MzBweDtcbiAgICAgICAgfVxuICAgICAgICAubXktaW5wdXQge1xuICAgICAgICAgIG1heC13aWR0aDogNDMwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluIHtcbiAgJl9fY29udHJvbC1wYW5lbCB7XG4gICAgLmJsYW5rIHtcbiAgICAucGF5bWVudC1vcHRpb25zLFxuICAgIC5ob3QsXG4gICAgLmd1ZXN0LWluZm8sXG4gICAgLmV4dHJhLWV4cGVuc2VzIHtcbiAgICAgIC5yYWRpby1ncm91cCB7XG4gICAgICAgIC5yYWRpbyB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtb3B0aW9ucyB7XG4gICAgICAjcGF5bWVudE9wdGlvbnMgPiAucm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAgIC5ob3Qge1xuICAgICAgICAuY2hlY2tib3gtZ3JvdXAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAuY2hlY2tib3gge1xuICAgICAgICAgICAgICBsYWJlbCBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAubXktc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgLnNlbGVjdC1iZyB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMjZweDtcblxuICAgICAgICAgICAgICAgICAgLnRleHQtZm9ybSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYTFhMWExO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICNob3QxLFxuICAgICAgICAgICAgICAjaG90MixcbiAgICAgICAgICAgICAgI2hvdDMge1xuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCB+IC5teS1zZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucm93IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAu0YFhbmNlbGxhdGlvbiB7XG4gICAgICAgIC5jaGVja2JveCBsYWJlbCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRlbXBsYXRlLW1lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogMTAwcHggMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi8uLi8uLi8uLi8uLi9wdWJsaWMvaW1nL3NldHRsZW1lbnQvY29udHJvbC1wYW5lbC90ZW1wbGF0ZS1tZXNzYWdlcy1pbWcucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAxMHB4O1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnRleHQtY2VudGVyIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMzAwcHg7XG4gICAgICAgICAgLmJ0bi1ncmVlbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluIHtcbiAgJl9fY29udHJvbC1wYW5lbCB7XG4gICAgLmJsYW5rIHtcbiAgICAgIC5jaGFydC1wcmV2aWV3IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXI7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAgIC5jaGFydCxcbiAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICAgIHRyIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHMpIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlIC0gMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJ0bi1yZWQge1xuICAgICAgICAgICAgICB3aWR0aDogMTgwcHg7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmxpbmUtY2hhcnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgICAubXktc2VsZWN0IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc2VsZWN0LWJnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi50YWJsZXNQbGFuIHtcbiAgLnNldHRpbmdzIHtcbiAgICAuc2V0dGluZ3MtaXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXI7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgLmhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmJvZHkge1xuICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC5idG4tcmVkIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuaGFsbHNTcXVhcmUge1xuICAgICAgLmJvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLmhhbGxTaXplIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC5mYSB7XG4gICAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubXktaW5wdXQge1xuICAgICAgICAgIG1hcmdpbjoge1xuICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuaW5wdXQtYmcge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgLnRleHQtZm9ybSB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5idG4tcmVkIHtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9XG4gICAgLmFkZFRhYmxlLFxuICAgIC5hZGRpdGlvbmFsIHtcbiAgICAgIC5ib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh4cykge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAgICYtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgIGltZyxcbiAgICAgICAgLmZhIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5idG4tcmVkIHtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgIH1cbiAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHMpIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZpZWxkIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgLmhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTUzNTM7XG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cbiAgICAgICAgLmluc3RydW1ldHNMYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaW5zdHJ1bWV0R3JlZWQge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgLnJhZGlvIHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wb2ludCB7XG4gICAgICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh4cykge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAgICAgPiB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5lbmxhcmdlLFxuICAgICAgLmRlY3JlYXNlLFxuICAgICAgLnVuZGVyU2l6ZSxcbiAgICAgIC5yb3RhdGVSaWdodCxcbiAgICAgIC5yb3RhdGVMZWZ0IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAuYm9keSB7XG4gICAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICAgIHBhZGRpbmc6IDcwcHggNDBweCA0NXB4IDQwcHg7XG4gICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICRib3JkZXItY29sb3IsIHRyYW5zcGFyZW50IDFweFxuICAgICAgICApLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDkwZGVnLFxuICAgICAgICAkYm9yZGVyLWNvbG9yLCB0cmFuc3BhcmVudCAxcHhcbiAgICAgICAgKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMzBweCAzMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAuZmllbGQtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIC5mYS1wZW5jaWwtc3F1YXJlLW8ge1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZhLXRyYXNoIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkLWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZmEge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMTBweCAwcHggMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG59XG4iLCIuc2FsZXMtcG9saWN5LFxuLnJlbnRhbC1wb2xpY3kge1xuICAjYWRkQWdlbnQge1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5mcmFtZSAge1xuICAgIHBhZGRpbmc6IDI1cHg7XG4gIH1cbiAgLmRvd25sb2FkLWxvZ28ge1xuICAgIC5idG4tcmVkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTU5cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIC5ncmF5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgfVxuICB9XG4gIC53aGF0LWdldCB7XG4gICAgLmJhbm5lciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXI7XG4gICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uLy4uL3B1YmxpYy9pbWcvc2FsZXMvcmVnaXN0cmF0aW9uL2Jhbm5lci1iZy5wbmdcIik7XG4gICAgICB9O1xuICAgICAgaGVpZ2h0OiAyOTRweDtcbiAgICB9XG4gIH1cbn1cblxuI2FkZEFnZW50IHtcbiAgLmFnZW50LWNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgQGluY2x1ZGUgYm9yZGVyO1xuICAgIC5hdmF0YXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAub3B0aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOGY3O1xuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAuZmEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAzcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBib3JkZXI6IHtcbiAgICAgICAgICAgICAgcmlnaHQ6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZWRpdCB7XG4gICAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAuZGVsZXRlIHtcbiAgICAgICAgICBjb2xvcjogJHJlZC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY29udGFjdHMge1xuICAgICAgcGFkZGluZzoge1xuICAgICAgICBsZWZ0OiAyNXB4O1xuICAgICAgICByaWdodDogMjVweDtcbiAgICAgIH1cbiAgICAgIC5tYWluLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgIH1cbiAgICAgIC5yb3cge1xuICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5mYSB7XG4gICAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYWRkLWZvcm0ge1xuICAgIC5hdmF0YXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHNpemU6IDEwMCU7XG4gICAgICAgIGltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi8uLi9wdWJsaWMvaW1nL3NhbGVzL3JlZ2lzdHJhdGlvbi9hdmF0YXItYmcucG5nXCIpO1xuICAgICAgfTtcbiAgICAgIGhlaWdodDogMjA0cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBpbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLm5lYXJieSB7XG4gIC5kaXN0YW5jZSB7XG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIC5teS1zZWxlY3Qge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEyNXB4O1xuICAgIH1cbiAgfVxuICAuYnRuLWdyZWVuIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cbn0iLCIubWFpbiB7XG4gICZfX2NvbnRyb2wtcGFuZWwge1xuICAgIC5yb3cgLmhhcy1hZGRvbnMgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5ibGFuayB7XG4gICAgICAucHJvcGVydHktY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlcjtcbiAgICAgICAgLnByb3BlcnR5LWltYWdlLFxuICAgICAgICAucHJvcGVydHktZGVzY3JpcHRpb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSAge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByb3BlcnR5LWltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IDM4MHB4O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgICAuZmEge1xuICAgICAgICAgICAgICBjb2xvcjogIzhlZTNjZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3VudCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc3ViIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucHJvcGVydHktZGVzY3JpcHRpb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAuZmEge1xuICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLm9wdGlvbnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjhmNztcbiAgICAgICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IDIzLjUlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAuZmEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlIC0gM3B4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6bnRoLWxhc3Qtb2YtdHlwZSgzKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiB7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpudGgtbGFzdC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQGltcG9ydCBcInBlcnNvbmFsLWFjY291bnRcIjtcbkBpbXBvcnQgXCJyZXNlcnZhdGlvblwiO1xuQGltcG9ydCBcIm1lc3NhZ2VzXCI7XG5AaW1wb3J0IFwicmV2aWV3c1wiO1xuLnVzZXItcGFuZWwge1xuJl9fYmcge1xuICBoZWlnaHQ6IDQwMHB4O1xuICBiYWNrZ3JvdW5kOiB7XG4gICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgc2l6ZTogY292ZXI7XG4gICAgaW1hZ2U6IHVybCgnLi4vLi4vLi4vLi4vcHVibGljL2ltZy91c2VyLXBhbmVsL3VzZXItcGFuZWxfX2JnLmpwZycpO1xuICB9XG4gIC5jb250YWluZXItZmx1aWQsXG4gIC5yb3csXG4gIC5jb2wteHMtMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuICAmX19oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG4gICZfX2F2YXRhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjU2cHg7XG4gICAgaGVpZ2h0OiAyNTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiA0cHggc29saWQgIzRjYjlhNTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgYmFja2dyb3VuZDoge1xuICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgc2l6ZTogY29udGFpbjtcbiAgICAgIGltYWdlOiB1cmwoJy4uLy4uLy4uLy4uL3B1YmxpYy9pbWcvdXNlci1wYW5lbC91c2VyLXBhbmVsX19hdmF0YXIucG5nJyk7XG4gICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICB9XG4gICAgJi1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDM1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJl9fZmlsdGVyIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxufSIsIi5wZXJzb25hbC1hY2NvdW50IHtcbiAgJl9faXRlbXMge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbiAgJl9faXRlbSB7XG4gICAgaGVpZ2h0OiAzMjBweDtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IDJzO1xuICAgICAgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgwLDAsMCwwLjI1KSwgMCAxMHB4IDEwcHggcmdiYSgwLDAsMCwwLjIyKTtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gIH1cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAkcmVkLWNvbG9yO1xuICB9XG4gIC5zaW1wbGlmeS1wcm9jZWR1cmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMCwwLDAsMC4yNSksIDAgMTBweCAxMHB4IHJnYmEoMCwwLDAsMC4yMik7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAmX19pdGVtIHtcbiAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICAgIC5idG4tcmVkIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuICAmX19zcGVjaWFsIHtcbiAgICAuc3BlY2lhbCB7XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgIH07XG4gICAgICAgICYtZmlsdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgfVxuICAgICAgICAmLWxpc3Qge1xuICAgICAgICAgIGNvbG9yOiAkeWVsbG93LWNvbG9yO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICAgIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAycztcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDAsMCwwLDAuMjUpLCAwIDEwcHggMTBweCByZ2JhKDAsMCwwLDAuMjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcbiAgLnJlc2VydmF0aW9uIHtcbiAgICAmX19pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICYtaW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgJi1wcmljZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICBsZWZ0OiAtMTNweDtcbiAgICAgICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZC1jb2xvcjtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IC0xMHB4O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgIzk0MzYzYTtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogLTEwcHg7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDQwcHggc29saWQgJHJlZC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAvKkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgICAgfSovXG4gICAgICB9XG4gICAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAudW5kb25lIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLWNvbG9yO1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzNXB4IHNvbGlkICRyZWQtY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgIzk0MzYzYTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvbmZpcm1lZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzNXB4IHNvbGlkICRncmVlbi1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAjMzY4MDczO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAud2FpdGluZyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTQ1NDtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMzVweCBzb2xpZCAjNTU1NDU0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICMxYzFjMWM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAmX19zdGlja2VyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTNweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBib3R0b206IC0xMHB4O1xuICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDEycHggc29saWQgdHJhbnNwYXJlbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgICAgICAgIHRvcDogLTI4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19zdGFycyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJHllbGxvdy1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19mb290ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbnVtYmVyIHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtY291bnQge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fYnV0dG9ucyB7XG4gICAgICAgICAgICAmLXJlbW92ZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgY29sb3I6ICRyZWQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLXJlc2VydmUge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi1yZXZpZXdzIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgfSIsIi51c2VyLXBhbmVsX19tZXNzYWdlcyB7XG4gIC5tZXNzYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICBpbWFnZTogdXJsKFwiLi4vLi4vLi4vLi4vcHVibGljL2ltZy91c2VyLXBhbmVsL21lc3NhZ2VzLWJnLnBuZ1wiKTtcbiAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuICAgICAgc2l6ZTogY29udGFpbjtcbiAgICB9XG4gIH1cbiAgLmNvbnZlcnNhdGlvbnMtbGlzdCB7XG4gICAgLnRhYmxlIHtcbiAgICAgIHRyIHRkLFxuICAgICAgdHIgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgICAuYnRuLWdyb3VwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgICAuYnRuLXJlZCxcbiAgICAgIC5idG4tZ3JlZW4ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICAgIC5idG4tZ3JlZW4ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnVzZXItcGFuZWxfX3Jldmlld3MtdGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yZXZpZXdzLWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucmV2aWV3cy1zZWxmIHtcblxuICAmX19pdGVtIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgJi1oZWFkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OS45OXB4KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1pbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgICYtc3RhcnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIC5mYS1zdGFyIHtcbiAgICAgICAgY29sb3I6ICR5ZWxsb3ctY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgICYtaW5mbyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuICAgICYtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gICAgfVxuICAgICYtZGF0ZXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgJi1kYXRlIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgICAgc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1yYXRpbmcge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIC5pdGVtLXJhdGluZ19faWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAgIC5pdGVtLXJhdGluZ19fY291bnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMThweDtcbiAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNjM3M2Y7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIGNvbG9yOiAkeWVsbG93LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaXRlbS1yYXRpbmdfX3RleHQge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAkcmVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtYm9keSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiA0MHB4IDI1cHggMTVweCAxNXB4O1xuICAgICAgLmZhIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBjb2xvcjogIzczNzI3MjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAmLWNvbW1lbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgbGVmdDogLTE0cHg7XG4gICAgICAgICAgdG9wOiAxOHB4O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtcG9zaXRpdmUge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgJGdyZWVuLWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi1uZWdhdGl2ZSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQtY29sb3I7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgJHJlZC1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWZvb3RlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAuZm9vdGVyX19pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgICAmLXRleHQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgICAgICAmLWNvdW50IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM2MzczZjtcbiAgICAgICAgICBzcGFuICB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk5cHgpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAuZm9vdGVyX19pdGVtIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAuZm9vdGVyX19pdGVtIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUNBQTs7OztHQUlHO0FpQ0pILDRFQUE0RTtBQVE1RSxBQUFBLElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLG9CQUFvQixFQUFFLElBQUk7RUFDMUIsd0JBQXdCLEVBQUUsSUFBSTtDQUMvQjs7QUFNRCxBQUFBLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFDO0NBQ1Y7O0FBWUQsQUFBQSxPQUFPO0FBQ1AsQUFBQSxLQUFLO0FBQ0wsQUFBQSxPQUFPO0FBQ1AsQUFBQSxVQUFVO0FBQ1YsQUFBQSxNQUFNO0FBQ04sQUFBQSxNQUFNO0FBQ04sQUFBQSxNQUFNO0FBQ04sQUFBQSxNQUFNO0FBQ04sQUFBQSxJQUFJO0FBQ0osQUFBQSxJQUFJO0FBQ0osQUFBQSxHQUFHO0FBQ0gsQUFBQSxPQUFPO0FBQ1AsQUFBQSxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSztDQUNmOztBQU9ELEFBQUEsS0FBSztBQUNMLEFBQUEsTUFBTTtBQUNOLEFBQUEsUUFBUTtBQUNSLEFBQUEsS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLFlBQVk7RUFDckIsY0FBYyxFQUFFLFFBQVE7Q0FDekI7O0FBT0QsQUFBQSxLQUFLLEFBQUEsSUFBSyxFQUFBLEFBQUEsQUFBQSxRQUFDLEFBQUEsR0FBVztFQUNwQixPQUFPLEVBQUUsSUFBSTtFQUNiLE1BQU0sRUFBRSxDQUFDO0NBQ1Y7O0NBT0QsQUFBQSxBQUFBLE1BQUMsQUFBQTtBQUNELEFBQUEsUUFBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLElB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QUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsVUFBVSxFQUFFLEFBQUEsVUFBVSxFQUFFLEFBQUEsVUFBVSxFQUFFLEFBQUEsVUFBVSxFQUFFLEFBQUEsVUFBVSxFQUFFLEFBQUEsVUFBVSxFQUFFLEFBQUEsVUFBVSxFQUFFLEFBQUEsVUFBVSxFQUFFLEFBQUEsVUFBVSxFQUFFLEFBQUEsVUFBVSxFQUFFLEFBQUEsVUFBVSxFQUFFLEFBQUEsVUFBVSxDQUFqaEI7RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUVsQixVQUFVLEVBQUUsR0FBRztFQUVmLFlBQVksRUFBRyxJQUE4QjtFQUM3QyxhQUFhLEVBQUUsSUFBK0I7Q0FDL0M7O0FBU0QsQUFBQSxTQUFTLEVBQUUsQUFBQSxTQUFTLEVBQUUsQUFBQSxTQUFTLEVBQUUsQUFBQSxTQUFTLEVBQUUsQUFBQSxTQUFTLEVBQUUsQUFBQSxTQUFTLEVBQUUsQUFBQSxTQUFTLEVBQUUsQUFBQSxTQUFTLEVBQUUsQUFBQSxTQUFTLEVBQUUsQUFB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 */